Debian'da bir arka plan programının başlatılmasını durdurmak nasıl


16

Açılışta başlamayı devre dışı bıraktığım birkaç cin var. Örnek olarak aşağıdakileri kullanıyorum:

 sudo update-rc.d -f postgresql remove

Bu komutun doğru olup olmadığından bile emin değilim ve nereden aldığımı hatırlamıyorum.

Her neyse, her yükselttiğimde postgresql, ayar kaybolur (yani arka plan programı yeniden başlatıldığında başlar).


1
SysVinit ile Debian üzerinde, seviyorum file-rc. Sembolik bağlantıları yönetmek yerine, çalışma düzeyi yapılandırmalarımla bir metin dosyasını yönetiyorum.
Gilles 'SO- kötü olmayı durdurun'

Yanıtlar:


22

update-rc.dbaşlangıçta paket yükseltme komut dosyaları tarafından kullanıldı. removepaket kaldırıldığında çağrılır ve tüm bağlantıları kaldırır, paket yüklemesinde defaultsçağrılır enableveya disabledebconf'a bağlı olarak kullanılabilir ve sistem yöneticileri için yararlıdır. Temizlemeler removeaslında bir hizmeti devre dışı bırakmak için kullanışlı değildir. Man sayfasından:

Yaygın bir sistem yönetimi hatası, bunun hizmeti "devre dışı bırakacağı" yani hizmetin başlatılmasını engelleyeceği düşüncesiyle bağlantıları silmektir. Ancak, tüm bağlantılar silindiyse, paket bir sonraki yükseltildiğinde, paketin postinst komut dosyası update-rc.d dosyasını yeniden çalıştırır ve bu, bağlantıları fabrika varsayılan konumlarına yeniden yükler. Hizmetleri devre dışı bırakmanın doğru yolu, hizmeti varsayılan olarak başlatıldığı tüm çalışma düzeylerinde durdurulmuş olarak yapılandırmaktır. System V init sisteminde, hizmetin S'den K'ya sembolik bağlantılarının yeniden adlandırılması anlamına gelir.

sudo update-rc.d postgresql disablerc.d sembollerini tutar, ancak K (öldürüldü, durduruldu) önekiyle istediğinizi yapar. İle geri döndür enable. Bazı hizmetler dosyalarından devre dışı bırakılmayı destekler /etc/defaults/$service, ancak ne yazık ki istisnalar vardır. Bir hizmeti devre dışı bırakmanın diğer yolları, /etc/init.d/$servicedosyayı chmod -x olarak yerleştirmek veya exit 0en üstüne bir eklemektir .


6

Tobu'nun verdiği cevaba benzer en iyi çözümü açıklığa kavuşturmak için:

  1. Do not kullanmak update-rc.dile removeseçeneğiyle.
  2. Bunun yerine, seçenekle update-rc.dbirlikte disablekullanın.

Misal: update-rc.d postgresql disable


ARTI, ile diğer daha spesifik hizmetleri de bulabilir (ve devre dışı bırakabilirsiniz) systemctl.

Misal: systemctl disable pppd-dns.service


KALDIR seçeneğini kullanmama tavsiyesi için +1
PYK

3

Tobu kesinlikle doğru olduğunu, ancak şeyiyle size akıllı bakış sunmak amacıyla bir aracı vardır: sysv-rc-conf. Kopyalama ve patse için:

apt-get install sysv-rc-conf

Çalıştırıldığında sysv-rc-confhangi komut dosyasının hangi çalışma düzeyinde yürütüldüğünü göreceksiniz. Etkinleştirebilir / aracılığıyla devre dışı hizmetler olabilir spaceve birlikte çıkın q.


2
Ben de rcconf, standart depolarda gibi. Bunların hiçbirinin Ubuntu'da varsayılan olan uptart ile çalışmadığını unutmayın. Birçok şey hala eski init kullanıyor olsa da.
JM Becker
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.