突然间,aptitude 和 apt 都因段错误而崩溃;这似乎与缓存有关,因为在 aptitude 中,我在它死机之前看到了“正在加载缓存”的消息:
Ouch! Got SIGSEGV, dying..
从 apt-get 更新:
Ign http://archive.ubuntu.com trusty/universe Translation-en_US
Fetched 3,438 kB in 27s (125 kB/s)
Segmentation fault
E: Problem executing scripts APT::Update::Post-Invoke-Success 'test -x /usr/bin/apt-show-versions || exit 0 ; apt-show-versions -i'
E: Sub-process returned an error code
从 aptitude 运行后的 syslog 中:
Oct 8 10:28:22 etown kernel: [ 4807.432466] aptitude[5868]: segfault at 7f13ee640fc4 ip 00007f13f21180d7 sp 00007fff1d7ce6a0 error 6 in libapt-pkg.so.4.12.0[7f13f2029000+144000]
从 apt-get update 运行后的 syslog 中:
Oct 8 11:01:48 etown kernel: [ 6814.538186] apt-show-versio[6794]: segfault at 7f56ef3cdfc4 ip 00007f56f04310d7 sp 00007ffd2bb5e060 error 6 in libapt-pkg.so.4.12.0[7f56f0342000+144000]
我尝试增加配置文件中的缓存限制,但无济于事:
APT::Cache-Limit "10000000000";
大师们,有什么想法我可以尝试吗?
答案1
在ubuntu 错误报告,需要在后面追加一个新行/etc/apt/apt.conf.d/70debconf
:
APT::Cache-start 200000000;
这可以解决这个问题。我不明白为什么我需要告诉 APT 分配超过默认数量的内存来阻止它出现段错误,但我确实这么做了!这里某处有一个错误。
非常感谢@LittleByBlue 和@Sagar 通过关注为我指明了正确的方向libapt-pkg.so.4.12.0
。
答案2
这以上评论对我有用:
rm -rf /var/cache/apt/*.bin
如果这不行,你也可以尝试
rm -rf /var/cache/apt/*
请注意,此段错误非常具体,因此在您的情况下可能不起作用。