我在深入研究dhcpcd的行为,我发现了一些让我困惑的东西:dhcpcd和dhcpcd5。
$ which dhcpcd
/sbin/dhcpcd但是dhcpcd只是一个链接:dhcpcd -> /etc/alternatives/dhcpcd,它反过来指向:dhcpcd -> /sbin/dhcpcd5。所以- dhcpcd和dhcpcd5 -都在sbin。
在我的Raspberry上,dhcpcd显然是在启动时从/etc/systemd/system/dhcpcd.service.d/wait.conf调用的,使用的命令是:ExecStart=/usr/lib/dhcpcd5/dhcpcd -q -w。AFAIK,系统中的任何其他地方都不调用dhcpcd或dhcpcd5。
我猜想这一切一定是有原因的,但在寻找之后,我找不到任何解释。为什么dhcpcd被重命名为dhcpcd5?另外,如果systemd在引导时只调用一次,那么为什么所有的链接都是替代/同义词呢?
发布于 2020-08-23 03:15:22
发布于 2020-08-23 07:23:35
这是正在实施的“替代”制度。在这个系统中,程序的常规名称是指向/etc/alternatives/的符号链接,而实际的程序二进制文件是其他地方不同名称的文件。
您可以在设置为使用“替代”系统的其他程序中看到这一点。例如:虽然/usr/bin/vim是VIM的传统名称,但是"alternatives“系统允许在不同的/usr/bin/vim.tiny、/usr/bin/vim.nox等之间切换的实际程序二进制文件。
在这种情况下,过去有两种选择,/sbin/dhcpcd5由这个dhcpcd5套餐提供,/sbin/dhcpcd3由这个dhcpcd套餐提供。在安装后维护程序包的脚本(dhcpcd5 杜克)中,他们每个人都会使用update-alternatives来使“替代”系统在常规名称下创建dhcpd符号链接,从而选择安装的底层二进制文件的最高优先级。
正如M. Kitt所指出的,提供dhcpcd3的包裹已经被移除。因此,这现在是一个“替代”配置,只有一个可能的选择。☺
https://unix.stackexchange.com/questions/605831
复制相似问题