在 Debian 中,如何恢复 /usr/share/doc?

在 Debian 中,如何恢复 /usr/share/doc?

在运行 Debian Jessie 的旧笔记本电脑上,我正在进行升级

sudo apt-get upgrade

但在此过程中,我检查了可用空间df看到很快,不到20秒,就没有空间了。所以我做了

sudo rm -rf /usr/share/doc

释放的空间足以正确终止升级过程。

现在,我想重新安装所有丢失的文档。如何列出所有已安装的包含文件的软件包/usr/share/doc并修复它们?

答案1

您可以使用它apt-get --reinstall install …来重新安装一堆软件包中的所有文件。要获取包含特定文件的包列表,请使用dpkg -S.dpkg -S /usr/share/doc搜索文件名的子字符串,因此它将找到路径包含 的所有文件/usr/share/doc,包括假设的/usr/lib/foo/usr/share/doc/,但这在这里并不重要。

dpkg -S /usr/share/doc | sed 's/:.*//' | sort -u |
xargs sudo apt-get --reinstall install

答案2

Debian 中的每个软件包都至少在 中附带一个符号链接/usr/share/doc,以提供copyright详细说明软件包许可证的文件。所以你几乎需要重新安装所有东西!

包的文件列于/var/lib/dpkg/info/package.listpackage根据需要进行替换);以下命令将重新安装受影响的软件包:

grep -l /usr/share/doc /var/lib/dpkg/info/*.list |
sed 'sX.*/XXg;s/\.list$//g' |
sudo xargs apt-get --reinstall install

相关内容