昨天我将笔记本电脑从 Kubuntu 9.04(Lucid)升级到了 9.10(Karmic)。之后我尝试安装一些软件
$ sudo aptitude install dont-remember-what-it-was
我得到了
sudo: aptitude: command not found
等等,什么?aptitude 怎么会丢失?不仅如此,它还apt-get
以dpkg
某种方式神秘地从系统中消失了。我手动检查了/usr/bin
所有其他目录,$PATH
并确认这些文件实际上并不存在。
$ ls /usr/bin/aptitude
ls: cannot access /usr/bin/aptitude: No such file or directory
幸好我有两个可用的图形化软件包管理器,Adept Installer 和 KPackageKit。它们都报告软件包aptitude
已安装。为了安全起见,我尝试通过 GUI 卸载并重新安装,卸载/重新安装似乎顺利进行。但实际的程序二进制文件仍然缺失。
这是正常现象吗?如果不是,有人听说过这种情况吗?如果我升级到 10.04,丢失的程序会神奇地重新出现吗?
编辑:我不知道发生了什么,但在电脑关机一夜并重启几次后,问题似乎已经自行解决。所有正确的文件似乎都在那里。
答案1
这绝对不正常!
要恢复 dpkg 和 apt-get,您可以执行以下操作:下载dpkg_1.15.8.2ubuntu3_i386.deb和apt_0.7.25.3ubuntu9.1_i386.deb
ar x dpkg_1.15.8.2ubuntu3_i386.deb
sudo tar -C / -xzf data.tar.gz
ar x apt_0.7.25.3ubuntu9.1_i386.deb
sudo tar -C / -xzf data.tar.gz
请注意,有些软件包在内部使用 lzma 而不是 gzip 进行压缩,因此必须使用
sudo tar --lzma -xf data.tar.lzma
之后你应该能够使用apt-get update
以下命令安装 aptitude
apt-get install --reinstall aptitude
警告!
我真的不建议大家安装这样的软件包!一定要查看特定软件包的配置,看看是否缺少任何依赖项!如果可能的话,之后通过 apt 或 dpkg 重新安装软件包。
答案2
这肯定是不正常的。我建议你进行文件系统检查,并使用 md5sum 检查已安装的文件,如下所示:
md5sum -c /var/lib/dpkg/info/*.md5sums 2>/dev/null | grep -v OK$
然后也许使用以下命令重新安装受影响的软件包:
sudo apt-get install --reinstall aptitude
答案3
升级后,Aptitude 因某些未知原因被卸载。很可能是升级过程中出现了错误。或者,Aptitude 与新软件不兼容。