Deepin执行autoremove无法启动系统

标签: Deepin 分类: 操作系统 创建时间:2019-10-09 01:09:57 更新时间:2025-01-17 10:39:22

1.慎用apt autoremove

问题发生的过程是这样的,使用sudo apt-get install 安装某些软件,或者使用 sudo apt update && sudo apt dist-upgrade 更新的时候,会提示说有些软件用不到了,没有依赖了,需要使用sudo apt auturemove进行清除,我竟然信了,结果,就是没有结果,我的dde什么都被卸载了,导致了进不去系统了。刚开始我还以为是因为我安装了kali linux的源(因为我在升级的时候,确实是重新安装了一遍gurb),后来在启动到logo的时候,我按Esc键,打开了启动命令行,显示”Failed start lightdm”,”Failed to start Deepin login”… 等字样,经过一查,才发现可能是因为卸载掉了dde导致的。

具体的症状和:https://bbs.deepin.org/forum.php?mod=viewthread&tid=180223&highlight=autoremove 这篇文章是一样的,也是进不去tty,会出现三个点等等。

解决办法是什么呢?—— 重装吧。
使用深度操作系统启动盘引导电脑启动,待进入安装界面后,进入选择安装语言界面,按下Ctrl+Alt+F1(这个不行的话,就Ctrl+Alt+F4,我是F1不行,用了F4才进入的tty4),执行以下命令,稍等片刻,进入Live CD模式,将重要的东西备份一下,然后重装吧。

1
2
$ sudo service lightdm stop  
$ startx

总结起来就是
不要执行:sudo apt autoremove
不要执行:sudo apt autoremove
不要执行:sudo apt autoremove

8.apt-get autoremove 命令你敢不敢用?:https://blog.csdn.net/shenquanxi/article/details/6695990
9.Ubuntu 执行’autoremove’之后灾难恢复过程:https://www.jianshu.com/p/2e838424a0be

2.解决:”a start job is running for hold until boot process finishes up”

在出现了卡在logo的界面的时候,我使用了Ctrl+Alt+F1打开了后台启动进程,发现最后出现了”a start job is running for hold until boot process finishes up”这么一个东西,根据参考文章1,要启动lightdm,可是已经是lightdm默认了,结果啥都没有。
不过经过启发,是不是修改/etc/X11/default-display-manager 里面的值就可以切换窗口管理器了?循着这个思路,我来到了参考文章二,进入Deepin 的live CD环境后,我把/etc/X11/default-display-manager里面的值改为了false,虽然不知道是不是起作用了,但是重启后按住Ctrl+Alt+F4还是进入了命令行界面(以前一直进不去,不知道是不是我的命令有问题,还是操作的时机不正确。)
当然我也尝试了参考文章3的方法,结果不是很理想。

参考文章:
1.Ubuntu 16.04 启动错误 “a start job is running for hold until boot process finishes up”:https://www.cnblogs.com/wzc0066/p/5678882.html
2.ubuntu桌面环境配置及切换:https://www.cnblogs.com/rusking/p/4187933.html
3.【问题收录】Ubuntu14.04无法进入到tty1-6的解决办法:https://blog.csdn.net/chichoxian/article/details/60138909

3.apt-get中Unmet dependencies问题

后来即使进入了tty4,使用sudo apt install dde也安装不上dde环境,提示有很多依赖存在Unmentdeendencies问题,“The following packages have unmet dependencies” (忘记拍照了) 反正就是包括dde-desktop在内的很多的dde软件包都缺少了。

参考文章:
1.如何解决apt-get中Unmet dependencies问题:https://blog.csdn.net/jinguangliu/article/details/78145423

总结
折腾了两天,查阅了不知道多少文章,最后还是没有解决,重新安装系统,只花了不到半个小时的时间。你要非得纠结到底意义在哪里,其实我也说不上来,其实我做的很多的事情都是没有意义的,比如我以前弄的虚拟机里安装苹果,现在没有那么好的设备了,自然也就没有用了。还有学习的electron,都没有继续下去了。说不上来的意义,却也无法停止我对他们的探索。

小额赞助
本人提供免费与付费咨询服务,感谢您的支持!赞助请发邮件通知,方便公布您的善意!
**光 3.01 元
Sun 3.00 元
bibichuan 3.00 元
微信公众号
广告位
诚心邀请广大金主爸爸洽谈合作
每日一省
isNaN 和 Number.isNaN 函数的区别?

1.函数 isNaN 接收参数后,会尝试将这个参数转换为数值,任何不能被转换为数值的的值都会返回 true,因此非数字值传入也会返回 true ,会影响 NaN 的判断。

2.函数 Number.isNaN 会首先判断传入参数是否为数字,如果是数字再继续判断是否为 NaN ,不会进行数据类型的转换,这种方法对于 NaN 的判断更为准确。

每日二省
为什么0.1+0.2 ! == 0.3,如何让其相等?

一个直接的解决方法就是设置一个误差范围,通常称为“机器精度”。对JavaScript来说,这个值通常为2-52,在ES6中,提供了Number.EPSILON属性,而它的值就是2-52,只要判断0.1+0.2-0.3是否小于Number.EPSILON,如果小于,就可以判断为0.1+0.2 ===0.3。

每日三省
== 操作符的强制类型转换规则?

1.首先会判断两者类型是否**相同,**相同的话就比较两者的大小。

2.类型不相同的话,就会进行类型转换。

3.会先判断是否在对比 null 和 undefined,是的话就会返回 true。

4.判断两者类型是否为 string 和 number,是的话就会将字符串转换为 number。

5.判断其中一方是否为 boolean,是的话就会把 boolean 转为 number 再进行判断。

6.判断其中一方是否为 object 且另一方为 string、number 或者 symbol,是的话就会把 object 转为原始类型再进行判断。

每日英语
Happiness is time precipitation, smile is the lonely sad.
幸福是年华的沉淀,微笑是寂寞的悲伤。