dpkg 警告文件 缺少软件包的列表文件

khm*_*khm 3 apt dpkg

我尝试安装一个包,它安装了,而且它似乎工作得很好。但是,当我安装它时,我收到了几个关于缺少软件包的警告。

dpkg: warning files list file for package '...' missing, assuming package has no files currently installed.
Run Code Online (Sandbox Code Playgroud)

由于这只是一个警告并且它似乎仍然有效,因此我认为这无关紧要,但我希望有人确认这一点。

丢失的软件包是我故意卸载的软件包,因为它们不是必需的并且占用了很多空间。

编辑:包是 tzdata。使用dpkg -i上的.deb文件进行安装。以上基本上是整个警告。只是而不是......它列出了包。python2.7-minimal, libsqlite3-0, libaprutill-dbd-sqlite3, python-minimal`

编辑:“你到底做了什么?” 我运行了命令

dpkg -i tzdata_2017b-2_all.deb
Run Code Online (Sandbox Code Playgroud)

安装软件包 tzdata。

“你想达到什么目的?” 我想要安装这个包。

“相反发生了什么?您是否遇到任何警告或错误消息?” 该软件包已安装并运行良好。但是,上述包出现了上述警告。

我无法复制和粘贴,因为这是在单独的服务器上发生的。但我会在这里重写它:

dpkg: warning files list file for package python2.7-minimal missing, assuming package has no files currently installed.
dpkg: warning files list file for package libsqlite3-0 missing, assuming package has no files currently installed.
dpkg: warning files list file for package libaprutill-dbd-sqlite3, assuming package has no files currently installed.
dpkg: warning files list file for package python-minimal, assuming package has no files currently installed.
Run Code Online (Sandbox Code Playgroud)

不是在寻找解决办法。我只是好奇 dpkg 在这种情况下给我警告是否真的很重要。无论如何,该程序仍然可以运行,并且我的系统上没有其他任何东西需要这些包。

fro*_*onk 6

看看这个 Serverfault 问题

你可能想尝试这样的事情:

for package in $(apt-get upgrade 2>&1 |\
                 grep "warning: files list file for package '" |\
                 grep -Po "[^'\n ]+'" | grep -Po "[^']+"); do
    apt-get install --reinstall "$package";
done
Run Code Online (Sandbox Code Playgroud)

在一行中复制/粘贴友好:

for package in $(apt-get upgrade 2>&1 | grep "warning: files list file for package '" | grep -Po "[^'\n ]+'" | grep -Po "[^']+"); do apt-get install --reinstall "$package"; done
Run Code Online (Sandbox Code Playgroud)

请注意,运行此命令需要一些时间,因为它会在每个包中循环。

在我发现这个之前,我想提出类似于那里接受的答案的建议。而且我没有足够的声誉将其添加为评论。

不幸的是,我无法回答为什么会发生这种情况。我在 dist 升级后遇到了这个问题,并通过重新安装软件包来修复它。