当我在终端上输入以下命令后,我的 Ubuntu 不再启动:
sudo apt-get autoremove eclipse
然后注销。
现在它继续尝试启动,但在启动屏幕上的一些后台进程中失败(如果我在启动屏幕上按下某些键,我可以看到失败的进程)。
当我进入 Ubuntu 高级选项->Ubuntu(恢复模式)并尝试执行某些操作(例如修复包)时,它显示:
"libapt-pkgso.4.12: cannot open shared file"[...]
或类似的东西。
我会尝试说得更清楚一点:
我的控制台上缺少 apt-get,我无法通过 apt-get 获取东西!
我该怎么办?如何在不启动 Ubuntu 的情况下安装此软件包?Ubuntu 中是否有任何我可以使用的类型“恢复点”?
我不能丢失 Ubuntu 分区里的文件!
答案1
选项1
如果你还没有尝试过,那就试一试吧:
$ sudo apt-get install --reinstall libapt-pkg4.12
选项 2
否则,你可能需要手动执行此操作。查看评论 #4升级问题,apt-get update 导致错误信息:libapt-pkg.so.4.12: file帮助您。(请注意,这是针对 Ubuntu 12.04 的,因此您可能需要针对您的 Ubuntu 版本进行调整)。
您可能需要另一台计算机来下载所需文件并将其放入 USB 记忆棒,以便修复系统。您可以通过单击此处的 amd64 或 i386 链接获取适用于 Ubuntu 13.04 的 libapt-pkg4.12 文件:libapt-gp4.12 版
使用超级用户权限提取(使用dpkg -x
)并将文件从 deb 包复制到您的计算机。
选项 3
无需提取 deb 文件,只需手动重新安装 libapt-pkg4 包。
- 在另一台计算机上,转到libapt-gp4.12 版并通过单击 amd64 或 i386(取决于您的架构)下载适用于 Ubuntu 13.04 的 libapt-pkg4.12 包。
将这些 *.deb 文件复制到 USB 记忆棒上。
在您要修复的计算机上,打开一个终端窗口,然后键入
su -
以将您的权限提升到超级用户级别(因为您提到 sudo 不起作用,但 su 起作用)。4. 将 USB 棒插入您需要修复的计算机并打开一个终端窗口。- 类型
cd /media
如果您在 中看到 USB 文件夹或文件
/media
,请直接跳至步骤 6。如果您在 中没有看到任何内容/media
,请键入dmesg
并按回车键。查看底部,您将看到一堆指定您刚刚插入的 USB 设备的行。在输出的底部附近,您将看到类似于“[27161.701717] sdb: sdb1
”的行。请注意“sdb1
”部分(您的计算机上可能有所不同)。现在,按照以下步骤手动安装 USB 棒(替换sdb1
为您从命令中获得的您自己的值dmesg
)。mkdir /media/temp
mount -t vfat /dev/sdb1 /media/temp -o uid=1000,gid=1000,utf8,dmask=027,fmask=137
cd /media/temp/
键入
ls -l
以查看您的 *.deb 文件。(如果您没有看到您的 *.deb 文件,您可能需要cd
进入 USB 记忆棒上的子目录)。如果你已经下载了x32位软件包,请输入以下命令进行安装:
dpkg -i libapt-pkg4.12_0.9.7.7ubuntu4_i386.deb
或者,如果您已经下载了 x64 位软件包,请键入以下命令进行安装:
dpkg -i libapt-pkg4.12_0.9.7.7ubuntu4_amd64.deb
答案2
从恢复模式,进入 root shell。然后输入此命令
sudo apt-get install --reinstall libapt-pkgso.4.12
重新启动电脑并重试。