我不小心删了我的DE,然后打破了dpkg

基本上我决定从GNOME 3切换到MATE。 所以我安装了MATE( mate_desktop_environment_extras并运行它然后(仍然在MATE中)我错误地咨询了Debian Wiki我应该如何删除GNOME。

 aptitude purge dpkg --get-selections | grep gnome | cut -f 1 aptitude -f install aptitude purge `dpkg --get-selections | grep deinstall | cut -f 1 aptitude -f install 

除了在终端的ob告中写的GNOME的依赖关系之外,还有核心的MATE包。 当然,我关掉电脑,希望不会有任何必要的东西被删除。 我错了。 GRUB可以正常工作,但是标准启动会将我带到基于文本的日志,而这些日志无效。

因此,下一个问题是如何获得Internet连接(安装软件包),因为我使用的wifi必须通过PEAP进行身份validation,或者我发现无法使用标准iwconfig进行身份validation。 相反,我在手机上设置了一个我正在使用的热点。 上网后,我试图用能力重新安装我丢失的任何东西(我不完全确定)。

没有用,所以我安装了Synaptic,试图为我安装丢失的东西。 大多数软件包安装,有些没有安装,但这并不重要。 基本上我分阶段安装了包,无论突然发生什么突然袭击我(卡住了)。 在不同的点,dpkg将被“中断”,我需要

 sudo dpkg --configure -a 

直到我遇到一个警告,它无法写入/var/lib/dpkg/status因为"no space left on device" 。 一个df告诉我dev/loop0dev/loop1已满。 我查看它们的用途,但所有恢复空间的方法都涉及dpkg。

在/ var / lib / dpkg / status我发现如果我删除了一些,那么就会有更多的空间来写它。 除了我打破了文件。 所以我尝试删除它并重新创建它。 没工作。

所以,基本上我根本不知道如何专门修复dpkg和我的电脑。

所有这一切的一线希望是,我至少足够安全地安装grml作为备份。 这就是我打字的方式。 它有效,但我仍然喜欢我的电脑。

对不起,咆哮。 起初我会说我不想从头开始,但在这一点上我真的不在乎。 问题是我没有现场CD。

嗯,我该怎么办? 我会尽力回答你的任何问题。

更新:(因为我无法评论)所以我不确定这个grml( http://grml.org/files/ )备份是如何从其他垃圾分区的,但/var/backups/dpkg.status.0不能统计,因为它不存在。 非常感谢你花时间写这个回复。 有什么? ls -av(grml @ grml)显示

 . boot grml-live initrd.img.old media proc sbin tmp vmlinuz .. dev home lib mnt root srv usr vmlinuz.old bin etc initrd.img lib64 opt run sys var 

找不到dpkg状态的备份。 为了澄清我做了df并且学习了“dev / loop”的0和1已经满了。 为了清理空间,我有一个打破dpkg状态的好主意,还记得吗? 所以我根本不知道如何在那里清理空间。 另外,我应该提到它,但我正在使用debian。 我知道这是askubuntu,但是我们女儿发行的用户社区很棒,所以我想我会给它一个机会。 我应该早点这样做但是uname -a

 Linux grml 3.16.0-1-grml-amd64 #1 SMP Debian 3.16.7-1+grml.1 (2014-11-05) x86_64 GNU/Linux 

grml用于系统救援,但我想这是一个相当模糊的工具。 基本上我想删除其他所有内容并使用此wifi在新分区上安装新的deb。

再次更新:所以我刚刚在这个grml分区上打破了dpkg。 它在我的主分区上。 问题是我不能上网连接那里(debian救援)。 我的热点是开放的,但无论这意味着什么,我都无法获得相关的接入点。

最后更新:结果我忘了ifconfig wlan0了。 我的电脑在配偶上运行得非常漂亮,gnome被清除了,我没有丢失任何其他数据! 美好结局。

在这一点上,你的系统可能非常干杯,而且已经经历了很多。

虽然修复它是可能的 (但现在非常困难),可能会有许多非常大的问题需要用比鸭带强的东西来解决。

理想情况下,您应该只是重新安装系统,备份以后要恢复的任何重要信息。


现在,如果重新安装不是一个选项,您可以使用磁带系统尝试修复它。

首先,获取/var/lib/dpkg/status (方便)备份。 你有一个,没有? 如果你不这样做, 对不起,你是干杯 Linux决定对你很好。 您在/var/backups/dpkg.status.0有一个工作版本。

复制备份:

 sudo cp /var/backups/dpkg.status.0 /var/lib/dpkg/status 

现在,您需要重新启动并运行dpkgcd /tmp到达不重要的地方,并获取`dpkg二进制文件:

 apt download dpkg 

尝试重新安装它,并祈祷它的工作原理。 如果没有,我们有更大的问题。

 sudo dpkg -i dpkg*.deb 

一旦工作,重新安装您的Ubuntu基地:

 apt-get download base-files sudo dpkg -i base-files*.deb 

如果一切看起来都很好,请指示dpkg清理并重建所有内容:

 dpkg --audit sudo apt-get update sudo apt-get check 

一旦所有内容都回到它所属的位置和当天的教训(不要中断活动的dpkg任务,或者弄乱dpkg/status ),我们需要重新安装你的图形界面:

 sudo apt install --reinstall ubuntu-mate-desktop 

然后,这将获取MATE所需的所有内容并再次安装(以确保一切正常运行)。

至于清理硬盘空间,你可以使用dudf来追踪所有空间的位置,并用手清理它。

一些信息来自这里