文件已损坏,如何在 Debian 上重新安装软件包?

use*_*408 4 debian package-management

在非正常关机后,fsck 报告文件系统的几个部分损坏,显然影响了已安装的软件包(幸运的是没有影响用户数据)。

有没有一种简单的方法可以从头开始重新安装这些软件包,例如告诉 apt 或 dpkg 再次安装相同的软件包,而无需更改其标志(尤其是保留自动安装的标志)?

我有一份受影响文件的列表,通过一些努力,可以找出我需要重新安装哪些软件包。另一种方法是重新安装系统上安装的所有内容。

xhi*_*nne 10

对于每个损坏的文件,可以通过以下方式获取安装文件的软件包:

dpkg -S /full/path/of/the/corrupted/file
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用以下命令重新安装它:

apt-get --reinstall install package
Run Code Online (Sandbox Code Playgroud)

如果所有损坏的文件都在一个文件中list.txt,那么您可以通过以下方式获取所有关联的包:

dpkg -S $(cat list.txt) | cut -d: -f1 | sort -u
Run Code Online (Sandbox Code Playgroud)

当然,使用该单个命令安装所有这些软件包:

apt-get --reinstall install $(dpkg -S $(cat list.txt) | cut -d: -f1 | sort -u)
Run Code Online (Sandbox Code Playgroud)