重新安装软件包及其已安装的依赖项

For*_*age 31 apt dpkg

我安装了一个损坏的包(包本身,而不是它的依赖项)。重新安装它sudo dpkg-reconfigure <package>sudo apt-get --reinstall install <package>没有解决问题。我想尝试重新安装该软件包,包括其当前安装的所有依赖项。有没有办法做到这一点?

Seb*_*iak 44

您可以使用以下命令检查所有包依赖项apt-cache

$ sudo apt-cache depends <package>
Run Code Online (Sandbox Code Playgroud)

使用该命令的结果,我们得到以下命令,它重新安装<package>及其依赖项:

$ sudo apt-cache depends <package> | grep '[ |]Depends: [^<]' | cut -d: -f2 | tr -d ' ' | xargs sudo apt-get --reinstall install -y
Run Code Online (Sandbox Code Playgroud)

  • 就是这样!谢谢你。我将 grep 参数从 `'Depends'` 修改为 `'[ |]Depends: [^&lt;]'` 以排除 _PreDepends_ 和替代包 (_Depends: &lt;package&gt;_) 条目。apt-get 参数需要是 `--reinstall install` 才能进行我所追求的实际重新安装。 (12认同)
  • 因为你还没有测试过它,所以不作进一步解释就张贴它是非常勇敢的。毕竟你删除了几个包。 (3认同)