admin 管理员组

文章数量: 887021

从ubuntu14 向ubuntu16 升级历险记

问题总找新手, bug总是欺生! 有时候你总是会被狠狠的被撞一下,被挤一下,从生变熟.
在解决问题的过程中,你必然会查阅很多帖子, 学习相关知识.

1. 救活屏幕


在从ubuntu14 向 ubuntu16升级过程中,需要一个长时间的下载,安装过程.
我真应该考虑是否可以用U盘直接安装系统,考虑到已有那么多安装的文件及现有工作,还是升级吧
期间,我浏览着firefox, 忽然,界面停止了相应, 风扇声响起,只有鼠标可以移动, 但却没有了鼠标响应,
界面死掉了,也不知安装进行到什么程度,几乎束手无策了. 后悔为什么不盯着安装呢?为什么要浏览firefox呢?
先别后悔,看看还能不能救活桌面,救活系统.

无奈中按prtScr,无反应,按Caplock,大小写灯还受控制,鼠标移动还可以显示,说明键盘,鼠标还没有死,,,
屏幕已死,风扇再转. 屏幕就是我们的眼睛,我们的眼睛瞎掉了!!! 需要重启机器吗? 慢,


用ctrl-alt-f1, 切换到了控制台界面,太好了,马上杀掉firefox, 露出了后面的控制台,一切恢复了正常!太棒了,
F7 还能回到界面,又看见它安装的过程. 可以与电脑交互了, 升级花了1个上午,期间有几次交互操作,一次成功了.
嗯, 屏幕就是我们的眼睛,当屏幕被卡死后的时候,试试ctrl-alt-f1 进入控制台,你还有反败为胜的机会.

原因: 也许你在操作某个软件时(例如firefox),升级文件也要操作某个软件(例如firefox)而引起冲突. 结果不可预料!

2. 救活网络, 采用静态IP


升级一切似乎很顺利,连上了公司的wifi网络,
但是,当我下班背着电脑回家,打开自己的手机热点wifi, 电脑却无论如何链接不上了!!
我的电脑可以连上公司的wifi
我的电脑连不上手机wifi
win7电脑可以连上手机wifi.
看起来是我的电脑连不上部分wifi
我搜索了网上几乎所有的记录帖子,解决不了我的问题.
问题出在哪呢? 估计是一个缺胳膊的,碰到一个缺腿的。
后来我通过抓包分析,发现公司wifi wlan0 的地址获取通过EAP协议分配,
手机wifi 我的电脑获取不到ip地址,它不走dhcp协议, 我看了看手机wifi热点只有开关选项,
无从设置其它功能(例如启动EAP或设置IP分配地址)
手机wifi win7电脑通过dhcp 可获取到ip地址,

解决办法:
原因大概是我的电脑申请IP不走DHCP协议,而走EAP认证, 而手机热点(红米4)只支持DHCP协议.
无奈之下,想到了静态IP, 好在我知道手机wifi 分配的IP 地址范围,通过设置静态IP实现了手机wifi上网


3. 救活nfs, 先要启动rpcbind 服务

其实真正的解决办法并不是删除相关文件重新安装, 而是要启动rpcbind 服务

sudo systemctl start rpcbind

sudo systemctl start nfs-kernel-server

如此启动成功。

我们总不能每次都手工这样启动nfs 服务吧,想开机就启动服务,

我们需要使能rpcbind 和 nfs-kernel-server

sudo systemctl enable rpcbind  # 该命令会给出提示,好像并不能开机启动,没有细究,所以要在multi-user.target.wants中添加链接

sudo systemctl enable nfs-kernel-server

还有一点很重要,在/etc/systemd/system/multi-user.target.wants中添加链接

sudo ln -s /lib/systemd/system/rpcbind.service  /etc/systemd/system/multi-user.target.wants/rpcbind.service

如此进入多用户target时便会启动rpcbind 服务

 

当我不知道上面的原因时,我是胡乱操作,靠彻底删除相关文件重新安装,瞎猫碰见死耗子治理好1次临时救急.

可操作性不强,第二次又折腾很久才搞起来, 真正查到原因是2次乱搞之后,找到了上面的方法,根治了问题!

当我根治了问题,删除nfs-kernel-server 再重新安装就可以正常工作,但没有根治问题前,删除再安装根本不能正常工作。

所以我也不知道,到底是怎么根治的,为什么一开始就不能启动服务呢,所以删除相关文件也可能起到清理环境消除隐患的作用.

记录一下当时情景:

嵌入式开发需要nfs,否则我只能不断的把文件copy到U盘,再从U盘copy到嵌入式. 但是nfs-kernel-server由于
dependency 启动失败, 卸载重新安装也解决不了问题。似乎是rpcbind 的问题, mound.service 启动失败!
我又查阅了网上所有资料,无济于事!
service status,systemctl status, journal -xe, syslog, 它们可以帮助定位问题但并没有解决问题.

我开始删除我当前不用的服务,mysql,phpd,tftpd,dhcpd,,,还没有解决问题,
我再删除nfs, 利用locate命令 查找相关文件,
然后再安装nfs,它变好了,谢天谢地! 贴一个它的正常执行图
$ ps -ef |grep nfs
root      6261     2  0 14:00 ?        00:00:00 [nfsd4_callbacks]
root      6264     2  0 14:00 ?        00:00:00 [nfsd]
root      6265     2  0 14:00 ?        00:00:00 [nfsd]
root      6266     2  0 14:00 ?        00:00:00 [nfsd]
root      6267     2  0 14:00 ?        00:00:00 [nfsd]
root      6268     2  0 14:00 ?        00:00:00 [nfsd]
root      6269     2  0 14:00 ?        00:00:00 [nfsd]
root      6270     2  0 14:00 ?        00:00:00 [nfsd]
root      6271     2  0 14:00 ?        00:00:00 [nfsd]
hjj       7073  2803  0 14:42 pts/7    00:00:00 grep --color=auto nfs

原因,也许升级的时候有些文件被锁定影响了后来服务的安装.

系统重又恢复来平静,ubuntu16 占稳了脚跟,不至于再回退了.
后续系统管理应该向systemd进军了.

从18升级到20也碰到了类似情况, 大体情况是在升级mysql 时, 屏幕迟迟没有反应,用top看

cpu 也是等待状态, 实在等的不耐烦,按了一下Ctrl-C ,  它竟然停止安装,退出了.

然后重启系统, 嗯!灾难发生,进不了系统了,说kernel panic, 找不到根系统.

当时升级到了5.4内核, 立即重启,用旧版本内核4.15启动, 也是找不到根系统,

再重启,用4.15内核救援模式, 检查package , 系统从断掉的mysql 处又恢复了安装,又装了很久,装完了,

提示说要重启,才正常了.

以为还是下载安装盘,最好用安装盘安装,比升级快,而且不出问题. 缺点是还要安装你以前的应用.

 

本文标签: 历险记