这是来自https://help.ubuntu.com/community/LiveCDCustomizationFromScratch。
在这里我应该在 chroot 环境中做,
dpkg-divert --local --rename --add /sbin/initctl
它是否告诉操作系统“从现在开始,当您安装软件包时,无论软件包是什么(--local),如果该软件包尝试安装/sbin/initctl,请将其安装(--add)到/sbin/initctl。分发(--重命名)”?我试图理解手册,但无法完全理解。
是不是如果一个文件通过这个dpkg-divert命令被一个包转移到另一个文件(比如,xfile到xfile.distrib),那么当使用这个包时,使用xfile.distrib而不是原来的xfile?
我试过cat /var/lib/dpkg/diversions
了,它给了我这个清单。
/usr/share/dict/words
/usr/share/dict/words.pre-dictionaries-common
dictionaries-common
/usr/share/man/man1/sh.1.gz
/usr/share/man/man1/sh.distrib.1.gz
dash
/usr/share/man/man1/dh_gstscancodecs.1.gz
...
该文件包含文件列表而不是包名称,我无法理解。例如第一行/usr/share/dic/words
是什么意思?
请有人确认我的理解是否正确以及列表的含义。
--rename
告诉它立即移动任何现有文件--add
“告诉操作系统”旁边不。设置转移的人必须提供一些东西来代替它
xfile
(在这种情况下,就是你)。在该页面中,他们执行以下操作:该
diversions
文件由三行组组成:所以对于以下三行:
dpkg
会将 的安装从(例如,例如)/usr/share/dict/words
以外的软件包转移到. 如果你安装,你可以看到这个:dictionaries-common
wamerican
/usr/share/dict/words.pre-dictionaries-common
wamerican
该指南有点过时:
initctl
是 Upstart,不再使用。你甚至不能再安装它了。服务管理是使用 systemd 完成的,现在您使用它systemctl
来代替。