如何在不卸载的情况下禁用 avahi-daemon

Cai*_*ain 8 debian avahi kali-linux

我正在运行 Kali 2.0 64 位,最近我注意到 avahi-daemon 在启动时启动,监听几个 udp 端口​​。

如何在不清除软件包本身的情况下完全禁用它?

我试过了 sudo rcconf --off avahi-daemon

但是有一个警告: 服务“avahi-daemon”已经关闭。跳过...

然后我尝试 sudo update-rc.d -f avahi-daemon remove

它不会产生任何错误或警告,但 avahi-daemon 在启动时仍然存在。

然后我尝试通过添加来编辑/etc/default/avahi-daemon文件AVAHI_DAEMON_START = 0

但这也行不通。

我终于使用了 UPSTART 手动覆盖 -->> echo manual | sudo tee /etc/init/avahi-daemon.override

而且还是不行。

请帮忙,

我已经无计可施了!

谢谢你。

Mun*_*nir 15

sudo systemctl disable avahi-daemon 禁用引导时启动。

其他一些选项systemctl list-units用于列出所有已知单元,systemctl enable启用引导时启动,systemctl start从终端启动服务,但不启用引导时加载和systemctl stop停止已启动的服务。man systemctl并且man systemd将提供一套完整的方案。

大多数(虽然不是全部)现代 Linux 发行版已经或正在从传统的 SysV init 脚本切换到 systemd。此外,http://blog.jorgenschaefer.de/2014/07/why-systemd.html涵盖了 systemd 的一些基础知识。

  • systemd `.socket` 单元旨在在其他需要时自动启动服务。这种需求是通过与 IPC 或网络套接字的连接检测到的,然后 systemd 将其传递给服务,类似于 inetd。如果你不想要这种行为,你也应该禁用套接字单元:`systemctl disable avahi-daemon.socket`。或者,`systemctl mask avahi-daemon.service` 会出于任何原因明确阻止服务启动。 (4认同)
  • 不幸的是,经过一些实验,我发现让 avahi-daemon 停止的唯一方法 - 即使是暂时的 - 是使用 [@Daniel 下面的答案](https://unix.stackexchange.com/a /432821/41735)。我唯一要添加的是“disable”命令的“--now”标志,该命令既_停止又禁用_该单元,而不是仅仅阻止它在启动时启动:“sudo systemctl disable --now avahi-daemon”。套接字&& sudo systemctl禁用--now avahi-daemon.service` (2认同)

sea*_*der 7

使用以下命令停止服务,避免在下次启动时重新启动,并防止触发套接字的应用程序重新启动它。

sudo systemctl mask avahi-daemon
sudo systemctl disable avahi-daemon
sudo systemctl stop avahi-daemon
Run Code Online (Sandbox Code Playgroud)


小智 6

我的解决方案是编辑/etc/avahi/avahi-daemon.conf并进行以下更改: use-ipv4=no use-ipv6=no

然后做一个 root@magrf# service avahi-daemon restart

验证 avahi 守护进程是否已停止: root@magrf# ps -ef | grep avahi root 8311 8220 0 17:50 pts/0 00:00:00 grep avahi root@magrf#

如您所见,avahi 进程没有运行。如果重新启动失败,请尝试显式 root@magrf# service avahi-daemon stop root@magrf# service avahi-deamon start

重新启动很重要,因此 avahi 可以重新读取配置并关闭服务进程。然后它优雅地退出了。

  • 这真是天才!avahi 多年来一直是我的皮塔饼,我曾经使用 chmod -x 二进制文件,这曾经有效。但现在,这使得其他 gnome 功能挂起,等待这个绝望顶峰的答案。 (2认同)