Ubuntu 18.04到20.04系统升级
预备工作
升级中断报错
在执行升级指令sudo do-release-upgrade -d
时出现中断
方案一:换升级源,中止PPA源
网上的一种建议是选官方源升级,并且停止所有PPA源
我这样设置之后并没有解决问题,不过我还是把换源的方法留在这里
命令行操作着实繁琐,所以我选择图形界面……
打开“软件与更新”(Software&Updates)
在ubuntu software里面选择源,我选的是阿里云的源,官方源我也试过但是失败,所以就默认用阿里云了
把Other software里勾选的源都取消掉了
方案二:查报错log
实际上第二种方案算是碰运气碰对了,网上说的方法就是照着官方提示的信息,先查log,然后删掉坏了的软件重装
查log代码
得到了二百多行报错代码,各种奇怪的依赖损坏之类的……
我想着总不能挨行删吧,继续查大家都在哪儿出问题,然后看到有个人也是同样的报错,见An unresolvable problem occurred while calculating the upgrade
评论区删了几个包,我正好看到我的报错日志里面也有mutter
mutter跟ubuntu18新加的GNOME有关,我想到我的GNOME桌面不能用的问题都没解决,可能是跟这个包有关就尝试了
其实gsettings-desktop-schemas
好像也有报错但是我没管,就打算再试试升级
重装之后,这个升级中断的报错得到解决
解决根目录容量不足的问题
结果升级之中上面的报错没有了,又跟我说根目录剩余空间不足
df -h
查看根目录,根目录所在位置确实剩余不多
多余软件包清理
有一些常规清理指令
还有日志目录,多余内核等等
参考7 Simple Ways to Free Up Space on Ubuntu
扩容
因为安装20.04的官方就建议硬盘至少有25G空间,我想了想干脆还是别删了,扩容才是大势所趋,于是就去查找了根目录扩容的方法
注意 1GB=1024MB
扩容主要用到两个东西,一个是gparted
软件,一个是18.04的启动盘
1.安装gparted
注意,解决gparted不启动的问题参考
据说该问题跟wayland有关,总之
2.制作18.04启动盘
从官网下载iso文件,用Universal-USB-Installer制作一个启动盘,注意格式为FAT32
本次使用的是Universal-USB-Installer-1.9.9.5
3.重启机器,从启动盘启动,选择试用ubuntu
4.进系统之后sudo gparted
,就可以开始分区了
首先右上角选择硬盘位置
本机的情况是,/dev/sda
是个固态硬盘,用来安装windows7的C盘,/dev/sdb
是个机械硬盘,前面分区了100G是win7的D盘/dev/sdb1
,用来装软件,然后700多G另分一个盘/dev/sdb2
放各种资源,最后100G/dev/sdb3
用来装的ubuntu。
选了/dev/sdb
后看到详细分布,现在/dev/sdb3
下有个linux-swap
分区还有小钥匙标志,所以先右键这个分区选择swapoff
停止它,这样就可以开始扩容了。
右键分区/dev/sdb2
,选Resize/Move
因为需要扩容的部分在该分区下面,所以在Free space following
这里填压缩出来的大小,我扩30G于是填写30720MB,点一下剩下的容量(New size部分)就会自动算出,然后点Resize
按钮。此时分区/dev/sdb2
下面就出现了一个unallocated部分。
同样操作/dev/sdb3
,把未分区的全部容纳进去。这时未分区的部分就跑到了/dev/sdb5
上端。如下图
因为未分区部分职能按顺序挨个分区移动,所以所经过的分区修改的时候New size
部分大小不变,而只是考虑修改Free space preceding
和Free space following
即可。例如下面这个图,是把未分区部分从linux-swap
分区上面挪到下面。
我的根目录挂接在/dev/sdb7
,所以最后只要把/dev/sdb7
扩容即可。
然后可以重新启用linux-swap
部分。(我不确定这步骤是否有必要,反正我操作了)
然而这些操作其实是预设,真正的应用需要在上面菜单里面选择Edit » Apply all Operations » Apply
应用之后才真的进行操作,如下图
未解决
解决前述问题的时候查到一个软件叫synaptic
用来可视化管理文件,不过因为无法使用管理员身份运行这个软件而作罢
可参考问题Launcher starts synaptic without administrative privileg
升级之后
新的循环登录问题
在显卡驱动完全没问题的情况下,升级到20.04的系统依旧出现了登录循环问题,在登录界面依旧是输入密码,屏幕一闪,再次要求输入密码
怎么跟18.04一样!!!
一开始试图用之前写的那篇博客的方法解决,但是发现显卡驱动好着呢!
哦,有一点不太一样,上一篇博客进入文字终端的方法失效了,直接在那个进不去的图形登录界面按Ctrl+Alt+F1就能进入tty1。
于是开始查找新的解决方法。
Well, they made an improvement: an old solution does not work anymore.
(艹皿艹 )
网上的常规解决方法(对本机无效)
这个问题,网上针对20.04的解决方法大同小异,修显卡,查看/tmp文件夹权限啊,查看.Xauthority
权限啊,重装lightdm或者gdm3,重装桌面系统,注释显示管理器自动登录啊等等
有篇文章总结很好,请戳Ubuntu 20.04 Login loop fix
但是恭喜我!以上方法均无效……
修复Ubuntu 20.04登录循环问题
说是修复,其实还是用了迂回的方式,即放弃优雅的gdm3和lightdm,另谋其他生路。
反正这个登录循环无非是因为显示管理器,X窗口,GNOME一类的玩意儿跟显卡不对付。但是startx
能进去感觉也不算GNOME类桌面系统的问题,于是怎么分析都觉得是该死的显示管理器的问题。
我是先将lightdm卸了装
没用!!!当然对gdm3也没用。
于是我想起来刚升级18.04后去查显示管理器的时候看到的一篇博客
决定尝试sddm
重启系统后……虽然登录界面难看了很多
但是,能正常登录了!!!
另外,查看当前显示管理器的指令为
补充
另外有篇升级博客挺好的写给工程师的 Ubuntu 20.04 最佳配置指南
我就是参考这篇博客才确定问题是显示管理器的
博客提交
题外话,上一篇博客git push
遇到了问题,可能是因为多传了几张照片。
git-bash报错
网上提供的两种解决方式,参考
一种是忽略SSL证书
另一种是加缓冲区
还有就是升级一下git,当时因为家里网不好,命令行没反应,windows系统就直接去官网下载重装
总之报错就解决了orz
另有一说是网不好的原因。总之就别在大晚上网络堵塞的时候搞……