Làm thế nào tôi có thể vô hiệu hóa avahi-daemon?


39

Làm cách nào tôi có thể vô hiệu hóa avahi-daemon và bạn có thể giải thích cho tôi cách nó chạy nếu nó xuất hiện dưới dạng dịch vụ nhưng nó không có trong RCN.d?


Bạn có thể dừng đọc ở đây. Trong thực tế, xin vui lòng làm trừ khi bạn muốn DẠY một số Ubuntu. Câu hỏi trên phải đủ rõ ràng để được trả lời. Phần còn lại chỉ là tôi kêu gọi một số cách có cấu trúc hơn để tìm cách đi vòng quanh Ubuntu. Tôi ít nhiều có thể sử dụng các hệ thống "giống như UNIX" khác.

Tôi là người mới bắt đầu nên nếu tôi hành động vô nghĩa, hãy xem tôi là WTF hàng ngày của bạn nhưng làm ơn giúp tôi cải thiện.

Tại mỗi lần khởi động, /sbin/initdường như đang khởi chạy một quá trình được gọi làavahi-daemon

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

là người dùng avahi

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

a ps -efww efcho thấy 2 quá trình đang hoạt động, cả hai được gọi avahi-daemonvà thực tế PPIDđầu tiên avahi-daemon1quá trình thứ hai chỉ là con của quy trình đầu tiên. Các PPID= 1là những gì làm cho tôi nghĩ rằng đây là tính năng tự động bắt đầu.


Tùy chọn:

Tôi thực sự không biết làm thế nào để kiểm tra đúng những gì được thực thi khi khởi động hệ thống, nghĩ về nó.

Đây có phải là cách để có được một danh sách các dịch vụ chạy khi khởi động? initctl list | sort


dù sao, tôi dường như có thể tạm thời dừng "dịch vụ" này thông qua lệnh này:

service avahi-daemon stop

hoặc thực sự lệnh này

/etc/init.d/avahi-daemon stop

trực tiếp, đó là những gì điều này /usr/sbin/servicedường như đang sử dụng:

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

Khi được khởi chạy, tập lệnh nhắc nhở tôi rằng tôi đang kiểm soát dịch vụ "Khởi động" và tôi nên sử dụng lệnh gọi đơn giản hơn stop avahi-daemon. Tôi đoán tôi sẽ cần học về Upstart nhưng bây giờ, tất cả những gì tôi cần học là thế này:

Làm cách nào để tắt dịch vụ trong Ubuntu?

Đây là những gì tôi đã thử (đây có phải là cách thích hợp để làm điều đó hay không?):

update-rc.d avahi-daemon disable

nhưng nó phàn nàn:

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

Vì vậy, tôi đã đi săn đường dẫn đến nhị phân:

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

đây là cái gì

/usr/sbin/avahi-daemon

và bất cứ điều gì có thể được coi là "tập tin thực thi" trong etc:

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

nghĩ rằng tôi sẽ tìm thấy các kịch bản khởi động trong /etc/rcN.d. Tôi đã tìm thấy những thứ khác thay thế:

/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

Có vẻ như avahi-daemonđiều này được đưa ra trên các thay đổi trạng thái mạng? Có cách nào tốt hơn để săn lùng nhị phân tự động bắt đầu trên một hệ thống không?

Tôi thường sẽ xóa sạch các liên kết trong nhiều rc{3,5}.dgiai đoạn khác nhau nhưng bây giờ tôi không chắc lắm. Chính xác thì cái gì bắt đầu con thú này? Làm thế nào để vô hiệu hóa nó mà không apt-get removehoặc apt-get purge?

Nó không có quá nhiều tài nguyên mở, theo như tôi có thể thấy:

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

Nó cũng không sử dụng quá nhiều chu kỳ CPU, dựa trên cái nhìn nhanh chóng htop.

Tôi đã viết một lớp lót này để xem liệu nó có thú vị với CPU sử dụng trong khoảng thời gian một phút không, và nó không bao giờ làm điều đó, nhưng hãy cho tôi biết nếu có những cách tốt hơn để kiểm tra xem:

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
Acho nỗ lực!
Geoff

Câu trả lời:


22

Các kịch bản khởi động mới nổi sống ở /etc/initnơi bạn có thể tìm thấy avahi-daemon.conf. Tất cả những thứ được liệt kê initctl listphù hợp với tập lệnh trong /etc/initvà chúng không thể thực thi được, do đó bạn findđã bỏ lỡ chúng.

Để vô hiệu hóa dịch vụ được kiểm soát Upstart, hãy xem Upstart cookbook về việc vô hiệu hóa các dịch vụ : thêm #vào start ondòng hoặc sử dụng các tệp ghi đè (ví dụ sudo sh -c "echo manual > /etc/init/avahi-daemon.override":).


hoặc nhận xét toàn bộ khổ start onthơ, để được kỹ thuật. Tôi nhận xét ra ba dòng, ví dụ.
noobninja

Nó tốt hơn để sử dụngservice avahi-daemon stop
Martijn van Wezel

16
sudo systemctl disable avahi-daemon

làm việc cho tôi trên Ubuntu Gnome 15.10


2
Bạn cũng có thể chạy "sudo systemctl stop avahi-daemon" để dừng ngay lập tức. Đây là câu trả lời thực sự cho câu hỏi.
EnzoR

8

Tôi thấy rằng ngay cả khi tôi dừng avahi-daemon(và avahi-daemon.socket), Firefox luôn khởi động lại nó. Tuy nhiên, điều này hoạt động và vô hiệu hóa trình nền phiền phức này vĩnh viễn:

apt-get remove avahi-daemon

Firefox có liên quan gì đến câu hỏi này?
Mxx

2
@Mxx firefox chỉ kích hoạt ổ cắm khởi động lại Avahi. Tôi đã phải gỡ cài đặt nó để làm cho wget và curl không sử dụng nó.
qwertzguy

giải pháp quyết liệt, nhưng nhanh chóng và làm việc một!
andilabs

Đọc tất cả các câu trả lời, coi đây là một trò đùa, đã thử những câu khác nhưng không có kết quả, cuối cùng đã sử dụng câu trả lời này và nâng cấp nó
golimar

5

Bạn có thể không cần ngăn nó khởi động khi PC khởi động, nhưng có thể ngăn không cho respawnnó hoạt động khi bạn giết nó.

Vì vậy, chỉ cần bình luận respawntrong/etc/init/avahi-daemon.conf

Giết quá trình đó luôn thất bại, vì vậy không thể airmon-ng checkvượt qua. Nhận xét về sự hồi sinh, nó giết chết và không bao giờ quay lại săn lùng tôi.


1

dịch vụ avahi-daemon dừng

Dùng cái này. Công trình kỳ diệu.

Sau đó sử dụng airmon-ng kiểm tra wlo1 để kiểm tra các dịch vụ chồng chéo. Bạn không nên tìm.


0

Cách sử dụng

sysv-RC-conf

Đối với những điều này? Nó rất tiện dụng!

(tức là trước tiên cài đặt nó với apt-get và sau đó chạy nó dưới dạng sudo)


0

Chỉ cần sử dụng cái này và hoạt động tốt trên Ubuntu 16.04

service avahi-daemon stop


Tôi biết OP sử dụng dòng này, nhưng để tóm tắt cho những ai đang tìm kiếm một lệnh đơn giản (như bản thân tôi).


0

Chỉ cần thanh lọc nó. Hoặc vô hiệu hóa nó trong RC3.d, rc4.d và rc5.d Vì vậy, như su / root

apt-get thanh trừng avahi-daemon

Vâng

Hơn nó nên được tắt hệ thống của bạn. Kiểm tra /etc/rc3.d của bạn và những người khác và nó sẽ bị xóa khi khởi động.

Không sử dụng systemd để vô hiệu hóa cách tốt nhất là xóa hoặc thay đổi runcript thành K thay vì S trong các lớp chạy.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.