从Ubuntu 20.04升级到22.04时APT脚本执行出错的问题求助
从Ubuntu 20.04升级到22.04时APT脚本执行出错的问题求助
针对你遇到的这个APT脚本执行错误,我之前处理过类似的升级后问题,下面是几个经过验证的解决步骤,你可以逐一尝试:
方法一:修复command-not-found相关文件与权限
这个错误的核心是cnf-update-db脚本执行失败,先从这个工具本身入手排查:
- 先手动运行脚本,看具体报错信息:
如果提示权限问题,执行以下命令修正权限:sudo /usr/lib/cnf-update-dbsudo chmod 755 /usr/lib/cnf-update-db sudo chown root:root /usr/lib/cnf-update-db sudo chmod 755 /var/lib/command-not-found/ - 彻底重装
command-not-found包,确保文件完整无损坏:sudo apt purge command-not-found sudo apt autoremove sudo apt install command-not-found
方法二:临时禁用出错的APT钩子
如果方法一没解决,你可以先暂时关闭这个触发错误的APT后置钩子,避免每次执行APT都弹出报错:
- 编辑对应的APT配置文件:
sudo nano /etc/apt/apt.conf.d/50command-not-found - 找到包含
APT::Update::Post-Invoke-Success的那一行,在行首添加//注释掉该行,或者直接删除这一行。 - 保存退出后,运行
sudo apt update测试是否还会报错。
方法三:修复系统整体依赖完整性
升级过程中可能存在依赖包损坏的情况,执行以下命令修复系统依赖:
sudo apt --fix-broken install sudo dpkg --configure -a sudo apt update && sudo apt upgrade -y
通常方法一就能解决大部分此类问题,如果还是不行,可以结合方法二临时规避错误,再用方法三修复系统的依赖链。
备注:内容来源于stack exchange,提问作者skniep
相关产品推荐
相关产品推荐

