如何使用‘apt-get’重新安装软件包?

如何使用‘apt-get’重新安装软件包?

看来我的aptitude不知何故坏了:

sudo aptitude update
0% [Working]Segmentation fault

dmesg
[223282.616599] aptitude[30972]: segfault at 67707f ip 7f954dcfae5d sp 7ffff5a5f950 error 4 in libapt-pkg-libc6.7-6.so.4.6.0[7f954dca5000+bd000]

所以我想aptitude使用重新安装apt-get

不幸的是,它似乎apt-get没有重新安装选项。

我怎样才能aptitude再次去工作?

我可能找到了 aptitude 段错误的根本原因。下面是我如何重现它:

  1. 通过 Cygwin 的 rxvt 终端(来自 Windows 7 64 位德语版)以“ssh”远程登录 Debian 机器。
  2. 放大 rxvt 窗口,使其跨越两个显示器(是的,我有两个显示器)
  3. 运行aptitude update。注意:当我将 rxvt 终端调整为正常大小时,就不会出现这些分段错误!

答案1

$ man apt-get | grep reinsta -A2
       --reinstall
           Re-Install packages that are already installed and at the newest
           version. Configuration Item: APT::Get::ReInstall.

因此,要使用它重新安装aptitude

sudo apt-get install --reinstall aptitude

答案2

您可以使用 重新安装软件包sudo apt-get install --reinstall packagename。这将完全删除该软件包(但不删除依赖于它的软件包),然后重新安装该软件包。

当包具有许多反向依赖关系时,这会很方便。

答案3

有时您也需要恢复配置文件!而不仅仅是重新安装。

sudo apt-get install --reinstall xxxx

重新安装应用程序,保留配置文件。

这可能会有所帮助,但有时你需要重新开始,所以我使用的是这个:

sudo dpkg -r xxxx //to remove that xxxx package
sudo dpkg -P xxxx //to purge all related files

然后

sudo apt-get install xxxx

答案4

如果您想要重新安装并完全清除配置: sudo apt remove --purge package sudo apt install package

就好像你之前从未安装过该软件包。我经常在处理动作和类似的事情时这样做。

相关内容