Linux hizmetleri başlatma / önyükleme sırasını nasıl değiştirebilirim?


Yanıtlar:


11

Sırasını /etc/rcX.d/ altındaki sembol bağlantılarını yeniden adlandırarak değiştirebilirsiniz. Burada x, çalışma seviyeniz olacaktır.

Sxx veya Kxx ile başlayan bir grup dosya göreceksiniz. S bağlantıları başlatma sırasında izlenirken, K bağlantıları kapatma için ayrıştırılır. Buradaki xx, sırayı temsil eder.

Ancak bu düzen bir nedenden dolayı belirlenir, bu yüzden onları değiştirirken dikkatli olun. Örneğin. ntpd yalnızca ağ alt sistemi başlatıldıktan sonra başlamalıdır.


21

Manuel olarak yapmak yerine, diğer cevaplarda önerildiği gibi, init betiğini de değiştirebilirsiniz. Başlığa böyle bir satır eklemeniz yeterlidir:

# chkconfig: 35 90 10

Bu chkconfig, hizmeti başlangıç ​​seviyesi 90 ve ölüm konumu 10 olan 3 ve 5 çalışma seviyelerine eklemeyi söyleyecektir .


Bu. Kesinlikle bu. chkconfig off servicename && chkconfig on servicename
Sembolleri

Bir cazibe gibi çalıştı. MySQL ve sunucu uygulaması kapsayıcısı arasındaki bağımlılıkları yapılandırmak gerekiyordu. MySQL'in başlangıç ​​konumunu bulamadım, bu yüzden sunucu uygulaması kapsayıcısının başlangıç ​​konumunu 99 olarak yapılandırdım ve iyi çalışıyor, önce MySQL başlar. Teşekkürler.
jpangamarca

7

Çalışma seviyeleriniz ve rc.d dizinleriniz hakkında biraz okumak istiyorsunuz . Rc.d dizinlerinin içinde S20apache K10apache gibi S ve K bağlantılarını bulabilirsiniz, bu da komut dosyalarının başlatılmasını / kapatılmasını emreder.

Bu mimari üzerinde bazı değişiklikler var, ancak linux'ların çoğu hala kullanıyor.


Çoğu dağıtımın hala bu sistemi kullanmasına şaşırdım; daha iyi sistemler rcorderbir süredir varlığını sürdürüyor.
Chris S

Biraz kıskanıyorum solaris svc, ama xml şeyler olmadan yapabilirdi
coredump

Bu nokta. Ancak dağıtımınıza bağlı olarak, bu değeri değiştirmenin farklı yolları olabilir - bu nedenle dağıtımınız için özel dokümanları okuyun.
Andrew

1
Ubuntu gibi bazı dağıtımlar Upstart ( Wikipedia ) kullanır.
sonraki duyuruya kadar duraklatıldı.

7

Buraya geldiyseniz, birinin diğerine bağlı olduğu iki hizmetiniz var, ancak yanlış sırada başladıkları için bağımlılığı olan bir hizmet başlatılamıyor. Sembolik bağlantıları düzenlemeyle ilgili öneriler, başlangıç ​​sırasının nasıl çalıştığını göstermek açısından bilgilendiricidir ve birisi hizmetinizde sembolik bağların orijinal olarak yeniden oluşturulacağı noktada "chkconfig on" yapana kadar iyi çalışır. Gerçekten, init betiği seviyesinde bu konuyla uğraşmak istiyorsunuz, ki bu aslında zaten daha az dağınık. Aynı zamanda farklı çalışma seviyelerinde de tutarlı olacaktır. Muhtemelen orada zaten benzer bir satır olacağından, cevap 4'te önerildiği gibi bir "# chkconfig" satırı eklemeniz gerekmeyecektir.

Bir MySQL veritabanı arka ucu (mysqld) ile Openldap (slapd) çalıştıran bir sunucu örneği kullanacağım. Bu çifti ve neden isteyeceğinizi yapılandırmak başka bir hikayedir.

Önyüklemede, MySQL'e bağlı olduğu ve başlatma sırasının kendisinden önce başlatmaya çalıştığı için Openldap başlatılamıyor - slapd 27 ve mysqld konum 64'e sahip

/Etc/rc3.d/ içindeki ilgili semboller

S27slapd -> ../init.d/slapd 
and
S64mysqld -> ../init.d/mysqld

İki init komut dosyasında ayarlanmış değerleri ararım:

[root ~]# grep chkconfig /etc/rc.d/init.d/mysqld
# chkconfig: - 64 36

[root ~]# grep chkconfig /etc/rc.d/init.d/slapd
# chkconfig: - 27 73 

/Etc/rc.d/init.d/slapd dosyasındaki chkconfig satırını, /etc/rc.d/init.d/mysqld dosyasındaki konumdan daha yüksek bir başlangıç ​​konumuna sahip olacak şekilde düzenlerim (85'i seçtim)

[root ~]# grep chkconfig /etc/rc.d/init.d/slapd
# chkconfig: - 85 73

"Chkconfig slapd on" yapıyorum ve simgeleri tekrar kontrol ediyorum

[root ~]# chkconfig slapd on
[root ~]# ls -l /etc/rc3.d/ | grep mysqld
lrwxrwxrwx  1 root root 16 Dec 10 13:45 S64mysqld -> ../init.d/mysqld
[root ~]# ls -l /etc/rc3.d/ | grep slapd
lrwxrwxrwx  1 root root 15 Apr 28 14:18 S85slapd -> ../init.d/slapd

Şimdi, bu sunucu başlatıldığında, mysqld slapd'dan önce başlar ve her şey dünya ile doğru.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.