Şu anda runlevel ve üstünde başlayan bir hizmet foo
var. update-rc.d foo stop 3 .
Kullanmadan bunu nasıl durdurabilirim (doğru anlarsam) her çalışma düzeyi değişikliğinde hizmeti kapatır.
(örn., çalışma düzeyi 1 ve foo
etkinliğinde olsaydım, çalışma düzeyi olarak değiştirdiğimde devre dışı bırakılırdı, değil mi?)
Debian GNU/Linux Lenny'yi çalıştırmak.
"Durdur" terimi, arka plan programının başlatılmasını engellemez, bunun yerine belirtilen çalışma seviyesine girerken onu kapatır.
Bir hizmeti/arka plan programını tek bir çalışma düzeyinden kaldırmak istiyorsanız, update-rc.d
belirtildiği gibi bei freiheit veya basitçe işaret penceresini kaldırın/etc/rcX.d/
, burada X sizin çalışma seviyenizdir. Hizmetin otomatik olarak başlamasını istemiyorsanız update-rc.d -f foo remove
hile yapacak.
Linux Başlangıç Uygulamalarını sysv-rc-conf ile yapılandırın :
apt-get install sysv-rc-conf
Diğerlerinin de belirttiği gibi, cmd hattı için de pdate-rc.d .
Örneğin,
update-rc.d Apache2 disable
apache2'yi tüm çalışma seviyelerinden devre dışı bırakmak için.
Kısa:
Bunu hızlı bir şekilde yapmanın güvenilir bir yolu yoktur.
Uzun:
Mevcut Debian'ın (2012-06-01 itibariyle dengesiz) şu anda bir hizmeti/arka plan programını tutarlı bir şekilde devre dışı bırakmanın güvenilir bir kısa yolu yoktur. - Bir daemon paketinin yükseltilmesi koşulsuz olarak “/etc/init.d/package restart” komutunu çalıştırdığından, bu çalışma düzeyi için devre dışı bırakılmış olsun veya olmasın.
Bir arka plan programının başlamadığından emin olmak için şunları yapabilirsiniz:
Debian'da init betikleri için bu eksik işlevselliği doldurması gereken bazı init-policy-bir şey adımı var/oldu (?). - Kullanmaya çalıştım, karmaşık buldum, bir hata buldum ve bir daha asla dokunmadım.
Güncelleme:
“İnitd” ye alternatif olarak “systemd” ye geçin. Debian paketi var ve böyle bir şeyle bir hizmeti devre dışı bırakabilirsiniz:
cd /etc/systemd/system
ln -s /dev/null xyz.service
Bu komutu çalıştır
apt-get install rcconf
Kurulduktan sonra, SSH'de rcconf'u çalıştırın ve önyükleme sırasında çalıştırılacak tüm hizmetleri gösteren bir iletişim kutusu alacaksınız. Belirli olanı devre dışı bırakmak/etkinleştirmek için Space tuşuna basarak olanları seçin ve işiniz bittiğinde Ok) üzerine tıklayın ve bu hizmet bir sonraki önyüklemede yeniden başlamak için uğraşmayacaktır. benim gibi Debian/Ubuntu kullanıcıları için kullanışlı bir araç.
Bence bu işi yapar: insserv -r foo
Yapmaya çalıştığın şeyin kafası karıştı.
Foo'nun hangi koşu seviyelerinde koşmasını istiyorsunuz?
Her zaman çalışmasını istiyorsanız update-rc.d foo defaults
; 0, 1 ve 6'da durduracak, 2, 3, 4 ve 5'te çalışacak şekilde bırakacak.
Tam olarak hangi çalıştırma seviyelerinde çalıştırılacağını belirlemek istiyorsanız:
update-rc.d foo stop 0 1 6 3 . start 2 4 5 .
Debian7'den insserv'i kullanmaya başlayın
Tüm hizmetlerin çıktısını alır ve çalışma düzeyi bilgilerini sağlar
insserv --showall
Listelenen komut dosyalarını tüm çalışma düzeylerinden kaldır
insserv --remove [specify_script]
Neden başlangıç komut dosyasını başka bir yere yedeklemiyor ve /etc/init.d/ dosyasından kaldırmıyorsunuz? Update-rc.d çalışmazsa.
Ubuntu'nun Önyükleme Yöneticisi bir çeşit sysv-rc-conf ışık , daha kolay, GUI sürümü ve bu konuyu okuyan birçok kişi bunu takdir edecektir.
Red Hat tabanlı bir sistemde
chkconfig httpd off
chkconfig httpd --del
sunucuyu çalışma düzeylerinden kaldırmak için
debian tabanlı sistemde tüm hizmetlerin /etc/rc?.d/ dizinlerinde bulunan dosyalar tarafından başlatılması beklenir, bu dosyalar /etc/init.d/ dizinindeki ilgili dosyalara sembolik olarak bağlanır. Bir hizmetin varsayılan olarak başlatılmamasını istiyorsanız, /etc/rc?.d dizininden yeniden adlandırabilir/kaldırabilirsiniz ve başlangıç bağlantılarından birinde hala görünen bağlantılardan biri hala göründüğü sürece değişikliğiniz paket yükseltmesinde korunur diğer (3,4 ve 5) dizinler. Ya da link (leri) değiştirmek için update-rc.d komutunu kullanabilirsiniz ve daha sonra hizmeti başlatmak istiyorsanız, başlangıcı bitirirseniz /etc/init.d/service_name start komutunu kullanabilirsiniz. size dur, yeniden başlat, yeniden yükle gibi kullanılabilecek seçenekler sunar ...
Sanırım devre dışı bırakmak için sysv-rc-conf kullanabilirsiniz.
Sudo update-rc.d SERVICE disable
Çalışma seviyelerini belirtmek istiyorsanız.
Sudo update-rc.d SERVICE disable|enable [S|2|3|4|5]
Program adını service olarak değiştirmeyi unutmayın.
Sudo service SERVICE restart