我有三个 Ubuntu 16.04 安装。
运行之后dpkg -V
我发现,/etc/default/chromium-browser
所有 都缺少 ,/etc/init.d/keyboard-setup
其中两个 缺少 ,但都包含keyboard-setup.dpkg-bak
。
这些文件为什么丢失了?
/etc/default/chromium-browser
即使我删除并清除chromium-browser
,然后重新安装这些软件包,仍然会丢失chromium-browser-i18n
。 中没有任何相关信息dpkg.log
。
后来编辑:这个问题与给定的可能重复不同,因为我不想修复它,我正在寻找原因,为什么这些文件丢失了。它们不是意外删除的。(但我已经得到了 muru 的一个 - 可能 - 很好的答案)
答案1
事实证明,这两个文件都是特殊情况。
/etc/init.d/keyboard-setup
早已过时 - 当 Ubuntu 使用 Upstart 时,有一个 Upstart 作业用于此,因此 init.d 脚本从未正确使用过。当 Ubuntu 转向 systemd 时,应该会更改这一点,但被忽略了。发布后更新添加了 systemd keyboard-setup.service
,从而正确淘汰了/etc/init.d/keyboard-setup
。如果您从原始 ISO 安装 16.04 并升级keyboard-setup
,您会在 apt 的输出中看到类似以下内容:
Obsolete conffile /etc/init.d/keyboard-setup has been modified by you, renaming to .dpkg-bak
(不是说你修改了它,但是...)这就是为什么有一个dpkg-bak
文件/etc/init.d/keyboard-setup
。你可以忽略它。参见LP#1579267了解详情。
/etc/default/chromium-browser
更奇怪,因为chromium-browser
的postinst
脚本实际上立即将其删除:
$ dpkg-deb --ctrl-tarfile chromium-browser_70.0.3538.77-0ubuntu0.16.04.1_amd64.deb | tar x -O ./postinst
#!/bin/sh
set -e
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] ; then
update-alternatives --install /usr/bin/x-www-browser \
x-www-browser /usr/bin/chromium-browser 40
update-alternatives --install /usr/bin/gnome-www-browser \
gnome-www-browser /usr/bin/chromium-browser 40
fi
rm -f /etc/default/chromium-browser
从那时起一直如此2009。在黑暗时代曾经/usr/bin/chromium-browser
使用过 source /etc/default/chromium-browser
,但现在它使用 sources /etc/chromium-browser/default
(可能这样所有的chromium-browser
配置文件都可以保存在同一个目录中)。
这个丢失的文件也可以被忽略。