关于外网机升级docker导致ubuntu无法开机停留在clean/block的问题

昨天在外网机使用github上的dockerfile创建镜像,遇到如下问题

Err:1 http://security.ubuntu.com/ubuntu jammy-security InRelease
  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 871920D1991BC93C
Err:2 http://archive.ubuntu.com/ubuntu jammy InRelease

经过搜索,基本得知是由于docker版本低的原因,从 Ubuntu 20 开始,Ubuntu 使用更安全的系统调用,这在旧版本的 docker 上会导致权限错误而不是“不支持”错误,从而导致误导性错误消息。虽然从技术上讲,它可以在 Ubuntu 映像中进行修补,但这会降低它们的安全性,因此这不是一个长期的解决方案。最简单的解决方案是更新docker.

于是我尝试更新docker,在我执行完一些安装命令以后,发现电脑卡死了,于是我长按电源关机了,注意,这里最好不要强制关机,其实可以通过其他电脑ssh本机,然后命令关机.

在开机以后就一直停留在clean....的界面,等了一个多小时也没有变化,这个时候我意识到估计安装或者更新导致了问题.

于是我按住ctrl+alt+delte进入开机选择,选择高级模式,再进入recovery模式,在进入root模式.

进入root模式以后,我尝试的第一种方案是重装显卡,因为以前遇到开机问题基本上都是显卡导致的,但是这次重装以后,问题依然存在.

然后我有查了以下,按照网友说的清理一下

apt-get autoclean
apt-get clean
apt-get autoremove
rm -rf /home/用户名/.local/share/Trash*

试了以后依然没用.

我又尝试把docker卸载,毕竟是因为更新docker导致的

apt-get purge docker-ce
apt-get purge --auto-remove docker-ce

结果还是没有用.

后来我是不是缺少包,使用apt-get update 和apt-get upgrade更新修补一下,又遇到在recovery模式下网络不通, 使用'ifconfig 网卡名 up' 开启网卡,这样可以ping通同一网段下的其他主机,但是无法连接互联网.在我ping www.baidu.com的时候提示我unknown host,这说明是没有dns,于是我又对dns进行配置

# 打开配置文件
vim /etc/resolv.conf
# 打开文件以后,在文件的最后一行加入如下:
nameserver 114.114.114.114
#退出
#重启网卡
/etc/init.d/networking restart

这样以后,就可以连接互联网了

然后我就可以继续更新软件,更新完以后重启,发现系统没有出现clean...的问题,直接进入了终端,此时没有ubuntu桌面,此时我在想是不是lightdm没有开启,于是service lightdm start 手动开始,但是失败了.经过查找问题,于是重装lightdm:

apt-get remove --purge lightdm
apt-get update
apt-get install lightdm

重启,问题依然存在

然后重装桌面

apt-get install ubuntu-desktop --reinstall

重启,此时出现桌面系统,但是一点击用户登录,就黑屏,通过安装unity解决

apt-get install unity

至此,问题已经得到解决.

总结来看,此次问题就是更新某些软件导致的问题,主要通过更新软件和重装桌面系统来解决

 

posted @ 2023-05-16 21:15  海_纳百川  阅读(296)  评论(0)    收藏  举报
本站总访问量