引导 Linux 是否需要 systemd-udevd(及其 systemd-udevd-control.socket 和 systemd-udevd-kernel.socket)?

引导 Linux 是否需要 systemd-udevd(及其 systemd-udevd-control.socket 和 systemd-udevd-kernel.socket)?

为了强化服务器,我每次重新启动后都会登录并手动执行

systemctl stop systemd-udevd systemd-udevd-control.socket systemd-udevd-kernel.socket

效果很好。 udevd毕竟,守护进程处理设备更改事件,例如新的 USB 设备等。由于服务器位于数百英里外的数据中心,我不太可能插入任何设备。

我的问题是:

我可以完全禁用systemd-udevd(以及相应的套接字)还是系统会停止启动?

那么,我可以做吗

systemctl disable systemd-udevd systemd-udevd-control.socket systemd-udevd-kernel.socket

我想问题是systemd-udevd在启动过程中是否使用它来查找磁盘,或者用于md软件 RAID,或者其他诸如网络设置之类的事情。

(恐怕我无法通过真正禁用它来尝试这一点,因为没有远程控制台,并且计算机可能会挂起,需要昂贵的远程操作。)

答案1

它肯定在启动期间使用,并且通常没有必要停止服务,因为它的内存占用相当小(它使用的大部分内存与其他进程共享),并且您需要它来热插拔硬盘,这是服务器环境中的典型任务。

答案2

自从您上次发表评论以来,您可以通过设置 udev 规则来禁用本地 USB 插件:

sudo vi /etc/udev/rules.d/01-lockusb.rules

附上以上内容:

ACTION=="add", SUBSYSTEMS=="usb", RUN+="/bin/sh -c 'for host in /sys/bus/usb/devices/usb*; do echo 0 > $host/authorized_default; done'"

重新加载规则和触发器:

sudo udevadm control --reload-rules && udevadm trigger

最好不要禁用启动期间使用的整个服务,并且主要是检测网络和存储设备(如多路径磁盘和 raid)的一部分。

相关内容