Avahi-daemon'u nasıl devre dışı bırakabilirim?


39

Avahi-daemon'u nasıl devre dışı bırakabilirim ve bir hizmet olarak gözüktüğü halde rcN.d'de olmadığını bana nasıl çalıştığını açıklayabilir misiniz?


Burada okumayı bırakabilirsin. Aslında, lütfen bir noob bazı Ubuntu öğretmek istemediğiniz sürece yapın. Yukarıdaki sorunun cevaplanacak kadar açık olması gerekir. Gerisi sadece benim Ubuntu etrafında bir yolunu bulmak için daha yapılandırılmış bir yol için arıyorum. Diğer "UNIX benzeri" sistemleri daha az kullanabiliyorum.

Ben bir acemiyim, bu yüzden saçma sapan davranırsam, günlük WTF'nizi düşünün ama gelişmeme yardım edin, lütfen.

Her açılışta, /sbin/initdenilen bir işlemi başlatıyor gibi görünüyoravahi-daemon

# initctl list | grep avahi
avahi-daemon start/running, process 1280

kullanıcı olarak avahi

# id avahi
uid=107(avahi) gid=118(avahi) groups=118(avahi)

Bir ps -efww ef2 işlem aktif gösterir, hem de adı avahi-daemonve PPIDilk avahi-daemongerçekten de 1ikinci işlem birinci bir çocuk. PPID= Bunun 1otomatik olarak başladığını düşündüren şey.


İsteğe bağlı olarak:

Sistem başlangıcında ne yapıldığını, nasıl düşünüleceğini doğru şekilde kontrol etmeyi gerçekten bilmiyorum.

Başlangıçta çalışan hizmetlerin listesini alma yolu bu mu? initctl list | sort


Neyse, bu "hizmeti" bu komutla geçici olarak durdurabilirim:

service avahi-daemon stop

ya da gerçekten bu komut

/etc/init.d/avahi-daemon stop

doğrudan, bunun ne /usr/sbin/servicekullandığı görünüyor:

env -i LANG="$LANG" PATH="$PATH" TERM="$TERM" "$SERVICEDIR/$SERVICE"

Başlatıldığında, komut dosyası bana bir "Upstart" hizmetini kontrol ettiğimi ve daha basit bir çağrı kullanmam gerektiğini hatırlattı stop avahi-daemon. Sanırım Upstart hakkında bir şeyler öğrenmem gerekecek ama şimdilik öğrenmem gereken tek şey bu:

Ubuntu'da hizmetleri nasıl devre dışı bırakabilirim?

İşte ne denedim (bu yapmanın doğru yolu olmalı mı, değil mi?):

update-rc.d avahi-daemon disable

ama şikayet ediyor:

System start/stop links for /etc/init.d/avahi-daemon do not exist

bu yüzden ikiliye giden yolu aramaya gittim:

# Let me know if there is a better way to get the path above
readlink "/proc/$(echo `ps --no-headers -o pid -C avahi-daemon | head -n 1`)/exe"

ki bu:

/usr/sbin/avahi-daemon

ve "çalıştırılabilir dosya" olarak kabul edilebilecek herhangi bir şey etc:

find /etc -type f -name '*avahi*' -perm -u+x

Başlangıç ​​komut dosyalarını bulacağımı düşünüyorum /etc/rcN.d. Bunun yerine başka şeyler buldum:

/etc/dhcp/dhclient-exit-hooks.d/zzz_avahi-autoipd
/etc/dhcp/dhclient-enter-hooks.d/avahi-autoipd
/etc/resolvconf/update-libc.d/avahi-daemon
/etc/network/if-up.d/avahi-autoipd
/etc/network/if-up.d/avahi-daemon
/etc/network/if-down.d/avahi-autoipd
/etc/avahi/avahi-autoipd.action

bu avahi-daemondurum ağ durumu değişikliklerinde başlatılıyor gibi görünüyor ? Bir sistemde otomatik olarak başlatılan ikili dosyaları avlamanın daha iyi bir yolu var mı?

Normalde rc{3,5}.dbu noktada çeşitli sembolik sembolik bağlantıları yok ederdim ama şimdi pek emin değilim. Bu canavara tam olarak ne başlıyor? Olmadan apt-get removeveya nasıl devre dışı bırakılır apt-get purge?

Görebildiğim kadarıyla çok fazla açık kaynağı yok:

lsof -p $(echo `ps --no-headers -o pid -C avahi-daemon | head -n 1`)

ne de hızlı bir bakışta dayalı çok fazla CPU döngüsü kullanmaz htop.

Bu bir liner'ı bir dakikalık bir süre zarfında CPU kullanımlarında korkak olup olmadığını görmek için yazdım ve hiçbir zaman yapmıyor, ancak bunu kontrol etmenin daha iyi yolları olup olmadığını bana bildirin:

for i in {1..59}; do ps -p $(echo `ps --no-headers -o pid -C avahi-daemon | head -n 1`) --no-headers -o pcpu; sleep 1; done

9
Açaba için!
Geoff,

Yanıtlar:


22

Başlangıç ​​başlangıç ​​komut dosyaları /etc/initbulabileceğiniz yerde yaşıyor avahi-daemon.conf. Listelenen her şey initctl list, komut dosyalarına uyuyor /etc/initve çalıştırılamazlar, bu nedenle findonları kaçırdınız.

Bir Sonradan görme kontrollü hizmeti devre dışı bırakmak için, bkz hizmetlerini devre dışı bırakma hakkında Sonradan görme yemek kitabı : ya eklemek #için start onçizgi veya kullanım geçersiz kılma dosyaları (örnek: sudo sh -c "echo manual > /etc/init/avahi-daemon.override").


ya start onda teknik açıdan tüm stanzaya yorum yapın . Mesela üç satır yorum yaptım.
noobninja

Kullanımı daha iyiservice avahi-daemon stop
Martijn van Wezel

16
sudo systemctl disable avahi-daemon

Ubuntu Gnome 15.10'da benim için çalıştı


2
Hemen durdurmak için "sudo systemctl stop avahi-daemon" da çalıştırabilirsiniz. Bu sorunun asıl cevabı.
EnzoR

8

Durduğumda avahi-daemon(ve avahi-daemon.socket) bile , Firefox'un her zaman yeniden başlattığını buldum . Ancak, bu çalışır ve bu sinir bozucu daemonu kalıcı olarak devre dışı bırakır:

apt-get remove avahi-daemon

Firefox'un bu soru ile ilgisi nedir?
Mxx

2
@Mxx firefox sadece Avahi'yi yeniden başlatan soketi tetikler. Bunu kullanmamak için wget ve curl yapmak için de kaldırmalıydım.
qwertzguy

sert çözüm, ancak hızlı ve çalışan biri!
andilabs

Tüm cevapları oku, bunu şaka olarak kabul et, diğerlerini boşuna bulmaya çalıştı, sonunda bunu kullandı ve yeniledi
golimar

5

Bilgisayar önyüklenirken başlamasını durdurmanız gerekmeyebilir, ancak respawnöldürdüğünüzde olduğu gibi olmasını engellemeniz gerekmeyebilir .

Yani, sadece açıklama respawnin/etc/init/avahi-daemon.conf

Bu süreci öldürmek her zaman başarısız oldu, bu yüzden airmon-ng checkgeçemedi. Yeniden doğuşa yorum yaptığında öldürür ve asla beni avlamaya gelmez.


1

hizmet avahi-daemon durağı

Bunu kullan. Harikalar yaratıyor.

Ardından üst üste binen hizmetleri kontrol etmek için klima kontrolünü kullanın. U hiçbirini bulamamalı.


0

Nasıl kullanmaya

sysv rc-conf

Bunlar için mi? Çok kullanışlı!

(yani önce apt-get ile kurun ve sonra sudo olarak çalıştırın)


0

Sadece bunu kullandım ve Ubuntu 16.04’te iyi çalışıyor

service avahi-daemon stop


OP'nin bu satırı kullandığını biliyorum, ancak basit bir komutu kimin aradığını (kendim gibi) özetlemek için.


0

Sadece temizle. Veya rc3.d, rc4.d ve rc5.d içinde devre dışı bırakın.

apt-get purge avahi-daemon

Evet

Sisteminizden uzak olmalı. /Etc/rc3.d dosyasını ve diğerlerini kontrol edin ve başlangıçtan itibaren kaldırılması gerekir.

En iyi şekilde devre dışı bırakmak için systemd kullanmayın, runscript'i run katmanlarında S yerine K olarak değiştirmek veya değiştirmek.

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.