花了一个下午的时间…本来想做的事情只好推迟了
记录一下吧 希望能帮到更多人
现象回顾
上午还在跑程序的,中午ssh连不上了
主机风扇在转,连上屏幕之后一片黑,ping不通ip
手动重启之后,进不了GUI卡在这个界面,此时能ping通
Ctrl+Alt+F2 F3 F4
不一定能切换,有概率会失败
(还有个玄学现象 轻按一下电源有时候突然又有反应了)
解决方案
openssh重装
因为报错有OpenBSD 而且ssh连不上 考虑重装一下openssh
–待补充 报错情况
修复图形化界面
此时发现tty2 tty3 - tty6 都可以切换了,当时tty1还不行
所以尝试下面的步骤
1 gdm切换成lightdm
两步即可切换
1、安装 sudo apt install lightdm
2、切换 sudo dpkg-reconfigure lightdm
然后发现tty1就能切过去了,只不过还是命令行,还不是GUI界面
2 重装ubuntu桌面
发现apt的记录里其实还在的 索性重装一下
sudo apt-get --reinstall install ubuntu-desktop
然后在tty1执行startx
,看别人的博客,这里应该就可以显示GUI界面了,但我这边还不行
报错提示
/usr/lib/xorg/Xorg: /usr/local/lib/lbz.so.1: ersion 'Zlib 1.2.9' not found (required by /usr/libsx86.64-limx- guvslbpng16.so.16)
xinit:giving up
xinit:unable connect to X server: Connection refused
xinit:server errol
3 重装 zlib 1.2.9
参考这个博客重装zlib
wget http://www.zlib.net/fossils/zlib-1.2.9.tar.gz
tar xf zlib-1.2.9.tar.gz
cd zlib-1.2.9/
./configure
make && make install
发现这里如果用 sudo make && make install
会报错,权限不够
拆分成两句 sudo make
和 sudo make install
就可以了!
此时再执行startx
终于OK了!Ubuntu登录界面重现!
复盘
ubuntu自动更新
最后发现问题应该是是linux内核趁着联网自动更新了
uname -v
查一下内核版本
同时期装的另一台机器是 #46-Ubuntu SMP Fri Jul 10 00:24:02 UTC 2020
,这台直接变到了#163~18.04.1-Ubuntu SMP Mon Mar 20 15:2:59 UTC 2023
,估计是2023的最新版本了属于是…
所以现在复盘起来
最好的方法可能是想办法回滚到之前的内核版本?可能是更优的解法?
我们可以使用以下命令降级内核:参考Linux禁止内核更新
sudo dpkg --get-selections | grep linux #查看已安装的内核
sudo apt remove linux-image-x.xx.x-xx-generic #删除新内核
sudo apt install linux-image-x.xx.x-xx-generic #安装原内核
既然已经升级了,目前还是保留现在的版本,要是后面碰到解决不了的问题再回滚吧
- 平时不用网的时候服务器一定要记得断网!!!
禁止自动更新
- 这里参考这个博客 卸载无人值守更新
sudo apt remove unattended-upgrades
直接把无人值守更新功能卸载掉 - 真要更新的时候再手动
sudo apt update sudo apt upgrade
- 设置自动更新周期为0
- 参考这个博客关闭自动更新设置
sudo vim /etc/apt/apt.conf.d/10periodic APT::Periodic::Update-Package-Lists "0"; APT::Periodic::Download-Upgradeable-Packages "0"; APT::Periodic::AutocleanInterval "0"; APT::Periodic::Unattended-Upgrade "0";
- 参考这个博客关闭自动更新设置
- 在apt中将内核设置为不可更新
- 参考这个两个博客
如何阻止apt更新Linux内核 ubuntu禁止和启动内核更新的两种方式 - 使用以下命令阻止apt更新内核:
sudo apt-mark hold linux-image-generic linux-headers-generic
使用以下命令解除阻止:
sudo apt-mark unhold linux-image-generic linux-headers-generic
使用以下命令查看当前apt里面哪些包被阻止了
sudo apt-mark showhold
- 参考这个两个博客