Bagaimana saya bisa menonaktifkan avahi-daemon dan dapatkah Anda menjelaskan kepada saya cara kerjanya jika muncul sebagai layanan tetapi tidak ada di rcN.d?
Anda bisa berhenti membaca di sini. Bahkan, silakan lakukan kecuali jika Anda ingin MENGAJAR noob beberapa Ubuntu. Pertanyaan di atas harus cukup jelas untuk dijawab. Sisanya hanya saya yang memanggil beberapa cara terstruktur untuk menemukan jalan di Ubuntu. Saya kurang lebih dapat menggunakan sistem "mirip UNIX" lainnya.
Saya seorang pemula jadi jika saya bertindak tidak masuk akal, anggap saya sebagai WTF harian Anda, tetapi tolong bantu saya meningkatkannya.
Di setiap boot, /sbin/init
tampaknya akan meluncurkan proses yang disebutavahi-daemon
# initctl list | grep avahi
avahi-daemon start/running, process 1280
sebagai pengguna avahi
# id avahi
uid=107(avahi) gid=118(avahi) groups=118(avahi)
a ps -efww ef
menunjukkan 2 proses aktif, keduanya disebut avahi-daemon
, dan PPID
yang pertama avahi-daemon
memang 1
, proses kedua hanyalah anak dari yang pertama. The PPID
= 1
adalah apa yang membuat saya berpikir ini adalah auto-dimulai.
Opsional:
Saya tidak benar-benar tahu cara memeriksa dengan benar apa yang dijalankan pada startup sistem, memikirkannya.
Apakah ini cara untuk mendapatkan daftar layanan yang berjalan saat startup? initctl list | sort
Lagi pula, saya tampaknya dapat menghentikan sementara "layanan" ini melalui perintah ini:
service avahi-daemon stop
atau memang perintah ini
/etc/init.d/avahi-daemon stop
secara langsung, yang /usr/sbin/service
tampaknya digunakan:
env -i LANG="$LANG" PATH="$PATH" TERM="$TERM" "$SERVICEDIR/$SERVICE"
Ketika diluncurkan, skrip mengingatkan saya bahwa saya mengendalikan layanan "pemula", dan bahwa saya harus menggunakan doa yang lebih sederhana stop avahi-daemon
. Saya kira saya perlu belajar tentang pemula, tetapi untuk sekarang, yang perlu saya pelajari adalah ini:
bagaimana cara menonaktifkan layanan di Ubuntu?
Inilah yang saya coba (ini seharusnya cara yang tepat untuk melakukannya, atau bukan?):
update-rc.d avahi-daemon disable
tapi itu mengeluh:
System start/stop links for /etc/init.d/avahi-daemon do not exist
jadi saya pergi mencari jalan menuju biner:
# 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"
yang ini:
/usr/sbin/avahi-daemon
dan apa pun yang dapat dianggap sebagai "file yang dapat dieksekusi" di etc
:
find /etc -type f -name '*avahi*' -perm -u+x
berpikir saya akan menemukan skrip startup di /etc/rcN.d
. Saya malah menemukan hal-hal lain:
/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
Sepertinya avahi-daemon
hal ini sedang diluncurkan pada perubahan status jaringan? Apakah ada cara yang lebih baik untuk memburu binari secara otomatis dimulai pada suatu sistem?
Saya biasanya akan menghapus symlink di berbagai rc{3,5}.d
pada tahap ini, tetapi sekarang saya tidak terlalu yakin. Apa sebenarnya yang memulai binatang ini? Bagaimana cara menonaktifkannya tanpa apt-get remove
atau apt-get purge
?
Itu tidak memiliki terlalu banyak sumber daya terbuka, sejauh yang saya bisa lihat:
lsof -p $(echo `ps --no-headers -o pid -C avahi-daemon | head -n 1`)
juga tidak menggunakan siklus CPU terlalu banyak, berdasarkan pandangan sekilas htop
.
Saya menulis ini satu-liner untuk melihat apakah itu berjalan funky pada util CPU selama satu menit, dan itu tidak pernah terjadi, tetapi beri tahu saya jika ada cara yang lebih baik untuk memeriksa itu:
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
A
untuk usaha!Jawaban:
Skrip startup pemula tinggal
/etc/init
, di mana Anda dapat menemukanavahi-daemon.conf
. Semua hal yang tercantuminitctl list
cocok dengan skrip/etc/init
, dan mereka tidak dapat dieksekusi, sehingga Andafind
melewatkannya.Untuk menonaktifkan layanan Upstart dikendalikan, lihat Upstart masak di menonaktifkan layanan : baik menambah
#
kestart on
baris, atau file penggunaan menimpa (misalnya:sudo sh -c "echo manual > /etc/init/avahi-daemon.override"
).sumber
start on
bait, untuk menjadi teknis. Saya berkomentar tiga baris, misalnya.service avahi-daemon stop
bekerja untuk saya di Ubuntu Gnome 15.10
sumber
Saya menemukan bahwa meskipun saya berhenti
avahi-daemon
(danavahi-daemon.socket
), Firefox selalu memulai ulang. Namun, ini berhasil, dan menonaktifkan daemon yang mengganggu ini secara permanen:sumber
Anda mungkin tidak perlu menghentikannya dari memulai ketika PC boot, tetapi mungkin mencegahnya
respawn
seperti itu, ketika Anda membunuhnya.Jadi, cukup beri komentar
respawn
di/etc/init/avahi-daemon.conf
Membunuh proses itu selalu gagal, jadi tidak bisa
airmon-ng check
dilewati. Mengomentari respawning, itu membunuh dan tidak pernah kembali memburuku.sumber
layanan avahi-daemon berhenti
Gunakan ini. Keajaiban bekerja.
Kemudian gunakan airmon-ng check wlo1 untuk memeriksa layanan yang tumpang tindih. Anda seharusnya tidak menemukannya.
sumber
Bagaimana kalau menggunakan
sysv-rc-conf
Untuk benda ini? Ini sangat berguna!
(mis. instal dulu dengan apt-get dan jalankan sebagai sudo)
sumber
Hanya menggunakan ini dan berfungsi dengan baik di Ubuntu 16.04
service avahi-daemon stop
Saya tahu OP menggunakan baris ini, tetapi untuk meringkas siapa yang mencari perintah sederhana (seperti saya).
sumber
Bersihkan saja. Atau nonaktifkan di rc3.d, rc4.d, dan rc5.d Jadi sebagai su / root
apt-get purge avahi-daemon
iya nih
Daripada seharusnya mematikan sistem Anda. Periksa /etc/rc3.d Anda dan orang lain dan itu harus hilang dari startup.
Jangan gunakan systemd untuk menonaktifkan cara terbaik adalah menghapus atau mengubah skrip naskah menjadi K alih-alih S di lapisan jalankan.
sumber