Yanıtlar:
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.
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 .
chkconfig off servicename && chkconfig on servicename
Ç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.
rcorder
bir süredir varlığını sürdürüyor.
svc
, ama xml şeyler olmadan yapabilirdi
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.