Ubuntu18.04 报错 apt-get: relocation error

在尝试使用aptitude解决依赖问题后,发现apt-get无法使用。通过查看历史记录和系统库文件,发现可能是因为安装的libapt-pkg版本不匹配。通过检查已下载的libapt包,从Ubuntu官方仓库下载对应版本的libapt-pkg和apt进行安装,以解决relocation error。最后,如果libapt-private.so.0.0.0缺失,还需安装apt的相应版本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

我是由于一冲动装了aptitude,想解决依赖包的问题,结果问题没解决,apt-get不能用了

1. 可以通过查看apt/history.log来查看自己执行过什么apt操作

vim /var/log/apt/history.log

Start-Date: 2022-06-15  02:11:20
Commandline: apt-get install aptitude

2. 到这个路径下,查看libapt相关文件

cd /usr/lib/x86_64-linux-gnu
ll libapt-*
lrwxrwxrwx 1 root root   19 Oct 17  2018 libapt-pkg.so.5.0 -> libapt-pkg.so.5.0.0
-rw-r--r-- 1 root root 1.5M Oct 17  2018 libapt-pkg.so.5.0.0
lrwxrwxrwx 1 root root   23 Apr 29 04:14 libapt-private.so.0.0 -> libapt-private.so.0.0.0
-rw-r--r-- 1 root root 415K Apr 29 04:14 libapt-private.so.0.0.0

可以看到存在文件,但是仍然报错。可能是装的libapt-pkg 版本不对

3. 如何确定libapt-pkg的版本

ls /var/cache/apt/archives/libapt*

/var/cache/apt/archives/libapt-inst2.0_1.6.14_amd64.deb  /var/cache/apt/archives/libapt-pkg5.0_1.6.14_amd64.deb

4. 然后去apt网站上找到对应版本的libapt-pkg

wget http://archive.ubuntu.com/ubuntu/pool/main/a/apt/libapt-pkg5.0_1.6.14_amd64.deb

sudo dpkg --install --force-all libapt-pkg5.0_1.6.14_amd64.deb 

安装了正确版本的就不会报relocation error,网上说直接重装libapt-pkg 如果没对上版本还是会有问题

5. 在2.中如果你连 libapt-private.so.0.0.0都没有,可以装一下apt_1.6.15_amd64.deb

wget http://security.ubuntu.com/ubuntu/pool/main/a/apt/apt_1.6.15_amd64.deb
sudo dpkg --install --force-downgrade ~/apt_1.6.15_amd64.deb

参考文献: relocation error: /usr/lib/x86_64-linux-gnu/libapt-private.so.0.0:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值