执行checkinstall安装CUPS驱动后系统异常,/usr/bin下命令无法识别且无法打开新终端
哇,这情况真的太棘手了!从你贴出来的操作过程和报错信息来看,问题根源出在那行写错的checkinstall命令上——sudo checkinstall --install=no sudo dpkg -i *.debwell不仅格式完全错误,还可能误操作覆盖了系统里的关键文件,导致现在连gettext、rm这些核心命令都找不到,bash挂了自然也开不了新终端。
别慌,你现在还有一个可用终端,抓紧按下面的步骤尝试修复:
先确认核心命令是否还存在:系统可能只是PATH环境变量乱了,试试用绝对路径调用命令验证:
/bin/echo "测试基本命令是否可用"如果能正常输出,说明命令本身没丢,只是找不到路径而已。
临时修复PATH变量:把系统核心命令的路径手动加到当前终端的PATH里,这样不用打绝对路径也能操作:
export PATH=/bin:/usr/bin:/sbin:/usr/sbin:$PATH执行完后试试
rm --version、gettext --version,如果能正常运行,那PATH就是主要问题。恢复checkinstall备份的文件:报错里提到checkinstall正在尝试恢复备份文件,但因为缺命令失败了。它的备份文件一般存在
/var/tmp/checkinstall_backup/目录下,先找到这个目录:/bin/find /var/tmp -name "checkinstall_backup" -type d找到后把备份里的文件复制回原路径:
/bin/cp -r /var/tmp/checkinstall_backup/usr/bin/* /usr/bin/ /bin/cp -r /var/tmp/checkinstall_backup/usr/lib/* /usr/lib/复制前可以先看看备份里的文件是不是完整的,避免越搞越乱。
修复损坏的包依赖:之前错误的dpkg操作可能搞乱了系统包状态,执行下面的命令修复:
sudo dpkg --configure -a sudo apt --fix-broken install恢复bash默认shell:如果bash本身没坏,只是默认shell被改了,用下面的命令改回去:
sudo chsh -s /bin/bash hutber
最后说下正确的CUPS驱动安装方式,别再用错误的checkinstall命令了:
# 先安装CUPS本体 sudo apt install cups # 安装对应的驱动deb包(注意是.deb后缀,不是你之前写的.debwell) sudo dpkg -i 你的驱动文件名.deb # 如果有依赖问题,修复一下 sudo apt --fix-broken install
备注:内容来源于stack exchange,提问作者Jamie Hutber

