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 segfault的根本原因。这是我如何重现它的方法:
通过Cygwin的rxvt终端(来自Windows 7 64位德语版)远程登录Debian机器。
放大rxvt窗口,使其跨两个监视器(是的,我有两个监视器)
运行
aptitude
。注意:当我将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
重新安装软件包。这会完全删除该软件包(但不会删除依赖它的软件包),然后重新安装该软件包。反向依赖性。
评论
感谢您是唯一正确,完整,不言而喻的答案。
–塞林
13-4-5在4:55
@Cerin:我不会称呼其他答案过于刻板:甚至“阅读手册页”实际上也给出了答案以及查找方法。
– David Spillett
13-4-5在13:50
@DavidSpillett,我非常不同意。手册页通常写得很差,对新手也不友好。例如,“-reinstall”选项上的段落没有提到您必须将其与“ install”参数一起使用。新手可能会正确地问“为什么我必须告诉它安装并重新安装?”告诉某人使用RTFM的答案是最糟糕的一种,让我看到票数最高的答案让我很痛苦,尤其是当一个完整且实际有用的答案接近最低点时。
–塞林
13-4-5在21:34
#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
评论
而且,如果仅需要还原配置文件,则在某些情况下(如果它们由ucf管理),应使用UCF_FORCE_CONFFMISS = 1 apt-get --reinstall install [pkgname]。
–Skippy le Grand Gourou
2015年2月23日在18:04
这个答案值得大赞。这是您要“完全重新安装”软件包时需要的。例如。一个简单的--vsftpd重新安装-不会重新创建配置文件,即使该文件不再存在。而是执行“删除+清除+(重新)安装”。
– Kar.ma
19-2-22在15:31
#4 楼
您应该安全删除aptitude并重新安装,因为这不会影响其他apt实用程序。因此:先执行apt-get remove aptitude
,再执行apt-get install aptitude
,或者仍然失败,请尝试执行apt-get purge aptitude
,然后执行apt-get install aptitude
。导致问题的问题所在(取决于问题,如果有的话,进一步的活动可能会使情况更糟)。另外,请确保您在继续进行操作之前先检查在“删除/清除”步骤中将要删除的内容(如果由于删除该程序包而进行了其他更改,应该暂停一下以寻求许可),再次检查我的想法是安全的。评论
非常感谢! apt-get remove然后apt-get install达到了目的!
– Vokuhila-Oliba
2010-1-30在0:32
很久以前,我做了诸如完整文件系统检查之类的工作。您能给我一个简短的提示怎么做吗?
– Vokuhila-Oliba
2010年1月30日,0:50
fsck -f
– David Spillett
2010-1-30在1:24
您可以使用tune2fs将文件系统标记为已挂载的次数超过其设置的限制,这将强制检查下一次引导。假设文件系统是ext2 / 3/4:tune2fs -C 99
– David Spillett
2010年1月30日13:20
触摸/ forcefsck;重启
–user23307
2010-1-30 14:53
#5 楼
如果您想使用完整的配置擦除进行重新安装:我经常用运动之类的东西做这件事。评论
该技术的问题在于它会删除您对/ etc / ...下的设置所做的所有更改,这可能不是您想要的...
– Alexis Wilke
20-09-29在17:45
在其他情况下,它可能正是您想要的。有时您只想找回原始配置或进行清理
– Niwla23
20 Dec 30 '12:30
绝对。实际上,当我测试新软件包时,我会做很多事情,直到对安装过程感到满意为止。因此它可能非常有用。另一方面,如果您不首先使用一些其他地方没有的特定数据来备份设置,那可能是一个难题(您可能会再次提出来,但可能会很耗时)。
– Alexis Wilke
20/12/30在18:06
评论
您正在欺骗的-A5是什么?
– Vokuhila-Oliba
2010-1-30在12:51
man grep | grep-“ -A”
–user1686
2010-1-30在13:04
那是什么-您正在抱怨吗?
– Desty
2014年9月11日上午9:55
男人getopt,在解析下看
– Tino
2014年11月17日下午16:43
-A5显示匹配的行以及以下5行。 -停止对选项的解析,从而将其后的所有内容解释为位置参数,避免了不必转义表达式-A中的破折号,否则将其解释为grep自身的选项。
– jjmontes
2014年11月18日在18:20