看来我的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 段错误的根本原因。下面是我如何重现它:
- 通过 Cygwin 的 rxvt 终端(来自 Windows 7 64 位德语版)以“ssh”远程登录 Debian 机器。
- 放大 rxvt 窗口,使其跨越两个显示器(是的,我有两个显示器)
- 运行
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
就好像你之前从未安装过该软件包。我经常在处理动作和类似的事情时这样做。