在运行 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.list
(package
根据需要进行替换);以下命令将重新安装受影响的软件包:
grep -l /usr/share/doc /var/lib/dpkg/info/*.list |
sed 'sX.*/XXg;s/\.list$//g' |
sudo xargs apt-get --reinstall install