it-swarm-tr.com

Bir hizmetin tüm çalışma düzeylerinde başlatılmasını devre dışı bırakmak istiyor musunuz?

Ş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.

61
lfaraone

"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.

58
PEra

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.

56
Not Now

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:

  • kaldır onu
  • /etc/init.d/xyz komut dosyasının yerel yönlendirmesini yap (bu şekilde hiçbir araç bulamaz)
  • bu komut dosyasının erken çıkışını provoke etmek için ilgili paketin bir yapılandırma dosyasını kullanın/kötüye kullanın (örneğin, init komut dosyasından kaynaklanması durumunda/etc/default/xyz içine erken bir “çıkış” koyun)
  • o daemon'u başlatmamanız için önceden tanımlanmış “resmi” yollar için bu init-script'e bakın

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
15
Robert Siemer

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ç.

5
Mark Levinsky

Bence bu işi yapar: insserv -r foo

3
user38551

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 .
2
freiheit

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]
1
cocoa

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.

0
Kosaka Honoka

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.

http://www.marzocca.net/linux/bum.html

0
the_guv

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.

0
Rodent43
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
0
Eddie