在非正常关机后,fsck 报告文件系统的几个部分损坏,显然影响了已安装的软件包(幸运的是没有用户数据受到影响)。
有没有一种简单的方法可以让我从头开始重新安装这些软件包,例如告诉 apt 或 dpkg 再次安装相同的软件包,而不更改其标志(特别是保留自动安装的标志)?
我有受影响文件的列表,并且通过一些努力,可以找出我需要重新安装哪些软件包。另一种方法是重新安装系统上安装的所有内容。
答案1
对于每个损坏的文件,可以通过以下方式获取安装该文件的软件包:
dpkg -S /full/path/of/the/corrupted/file
然后您可以使用以下命令重新安装它:
apt-get --reinstall install package
如果所有损坏的文件都在一个文件中list.txt
,那么您可以通过以下方式获取所有关联的包:
dpkg -S $(cat list.txt) | cut -d: -f1 | sort -u
当然,使用单个命令安装所有这些软件包:
apt-get --reinstall install $(dpkg -S $(cat list.txt) | cut -d: -f1 | sort -u)