Debian'da bir hizmeti devre dışı bırakmanın önerilen yolu


10

Debian'da bir hizmeti devre dışı bırakmanın "önerilen bir yolu" var mı? (Disable = Hizmet kurulur, ancak makine önyüklendiğinde otomatik olarak başlamaz.)

Yapabileceğinizi biliyorum update-rc.d -f service remove(ki bu temelde bağlantıları kaldırır rcX.d), ancak bunu yaparak hizmetin sıra numarasını kaybedersiniz ( SXXserviceXX sıra numarası olmakla birlikte), hizmeti yeniden etkinleştirmek istediğinizde hayatı zorlaştırır. Bağlantıları yeniden başlatabileceğimi de biliyorum, rcX.dböylece başlamıyorlar S(veya başka bir yere taşıyorlar), ama bunu yapmak için bazı "Debian onaylı en iyi uygulama" yolu olup olmadığını merak ettim.

Yanıtlar:


12

Update-rc.d man sayfasına bir göz atın. Init Komut Dosyası Bağlantılarını Yükleme adlı bölümün üçüncü paragrafı ...

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.

Son iki cümle sorunuzu cevaplamalıdır. :-)


örneğin:sudo update-rc.d postgresql disable
Lluís

5

Hayatınızı biraz daha kolay hale getirmek için "sysv-rc-conf" yardımcı programını deneyebilirsiniz. Daha çok diğer sistemin chkconfig aracıdır.

Sadece bilgi istemine şunu yazın:

sudo uygun-get install sysv-rc-conf

Şerefe!


Güzel araç, teşekkürler. Ben de doğru hizmetleri devre dışı bıraktığını görüyorum (yani symlink K ... yeniden adlandırarak).
Heinzi

2

Aslında, sysv-rc-confupdate-rc.d man sayfası tarafından bile önerilen yaklaşım:

Bu programın paket bakımcı komut dosyalarında kullanılmak üzere tasarlandığını ve bu nedenle yalnızca bu tür komut dosyalarının gerektirdiği çok sınırlı işlevselliğe sahip olduğunu lütfen unutmayın. Sistem yöneticilerinin çalışma düzeylerini yönetmek için update-rc.d'yi kullanmaları önerilmez. Bağlantıları doğrudan düzenlemeli veya bunun yerine sysv-rc-conf ve bum gibi çalışma düzeyi editörlerini kullanmalıdırlar.


0

Anladığım kadarıyla, "Debian en iyi uygulaması" paketi kaldırmaktır . Eğer kullanmıyorsanız paketleri yüklememelisiniz. Bu nedenle Debian paketlerinin tümü yüklemeye başlayacak şekilde yapılandırılmıştır.

(Çalıştırmadan yüklenmiş olması yararlı olabilecek bu birkaç paketin genellikle /etc/default/<packagename>yapılandırma dosyalarında başlatmayı devre dışı bırakmak için bir ayarı vardır .)


2
yanlış anlıyorsun. "önyüklemede otomatik olarak başlatılmaz", "paketi hiç kullanmamak" anlamına gelmez. basit bir örnek olarak, SSH sunucumun önyükleme sırasında bir daemon olarak başlamak yerine, gerektiğinde xinetd tarafından başlatılmasını isteyebilirim.
quack quixote
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.