一次 Ubuntu 执行 update 后的问题排查记录
公众号后台回复:「Ubuntu20.10」,即可获取本文安装包。
问题背景
前两天,为验证 PCAP 包,在虚拟机里正常安装了个 Ubuntu 20.10 版本的操作系统。
安装好后,反复执行不同的命令,都提示没有此命令。因为我网络适配器设置的桥接模式,可直接连接物理网络。可是为什么不能通过终端连接工具进行连接呢?
经过检查环境发现,原来是未安装 openssh-server。初次安装,系统可能会有一些命令不存在的情况,则需要手动进行安装。
首先在 Ubuntu 系统中更新源,执行sudo apt-get update
命令,它主要用于从软件源获取最新的软件包信息。然而,当我在执行这个命令后,遇到了问题,导致无法正常更新。
本文将详细记录一次我在 Ubuntu 系统上,执行sudo apt-get update
后出现如下错误问题时的排查过程,并提供相应的解决方案。
解决方案
第一步:
执行如下命令,查看 Ubuntu 系统版本。
lsb_release -a
前期,我在排查的时候,不仅通过查看系统版本,还调试过系统设置 >>> 软件更新 >>> Ubuntu 软件 >>> 勾选如下四个选项,并将源代码下载自改为:中国的服务器。
第二步:
通过如下网站,找到 Ubuntu (/etc/apt/sources.list) 部分,选择 groovy(20.10)版本,即可下载 sources.list 源配置文件。
https://mirrors.ustc.edu.cn/repogen/
第三步:
如果你要直接将所下载的 sources.list 源配置文件替换到 /etc/apt/ 目录下的话,可先进行备份后在做替换操作。
cp /etc/apt/sources.list /etc/apt/sources.list.bak
系统如果装好 openssh-server 服务和 vim 的话,可以通过终端连接工具,使用 vim 编辑源配置文件。
vim /etc/apt/sources.list
系统如果没有装好 openssh-server 服务和 vim 的话,则可以通过 gedit 打开 sources.list 源配置文件。
sudo gedit /etc/apt/sources.list
然后将上述网站找到的 20.10 版本的内容,配置到 sources.list 文件中。
执行sudo apt-get update
命令即可更新完毕,这样就可以安装自己需要的包了。比如:sudo apt install tree
上述为官方源的配置步骤。
如果 Ubuntu 虚拟机系统与本机不是桥接的模式,不通外网,首先要确保虚拟机安装 VMware Tools,在 Ubuntu 桌面上新建个文件夹,解压 VMware Tools 的压缩包。进入如下目录:
cd /home/jacktian/桌面/123/VMwareTools-10.3.22-15902021/vmware-tools-distrib
执行命令:./vmware-install.pl
进行安装,一路 yes,直到安装成功后即可实现本地拖拽文件到虚拟机中。
第一步:
创建挂载点
mkdir /mnt/cdrom
挂载 ISO 镜像文件
umount /dev/sr0
mount -t iso9660 /dev/sr0 /cdrom
或
sudo mount -t iso9660 -o loop /home/jacktian/桌面/123/ubuntu-20.10-desktop-amd64.iso /mnt/cdrom
修改 apt 配置
cp /etc/apt/sources.list /etc/apt/sources.list.bak
groovy 是 20.10 版本的代号,根据自身环境需求,换为相应版本的代号。
deb file:///cdrom groovy main restricted
或者,先清空 /etc/apt/sources.list 源配置文件中的内容,执行如下命令,自动写入。
sudo apt-cdrom add
查看 sources.list 源配置文件中的内容
cat /etc/apt/sources.list
deb cdrom:[Ubuntu 20.10 _Groovy Gorilla_ - Release amd64 (20201022)]/ groovy main restricted
清理和更新
sudo apt clean all
sudo apt update
然后尝试安装所需的命令
sudo apt install tree
第二步:
如果按上述操作步骤,配置好本地源后,还是无法直接安装所需命令,则需要下载 deb 的包,进行安装。因为我这的环境,是为了验证 PCAP 包,需要具备安装 net-tools 和 openssh-server 两个环境包,这样能够通过终端连接工具连接 Ubuntu 系统,会更加便捷些。
因此,我下载了 net-tools_1.60+git20180626.aebd88e-1ubuntu1_amd64.deb 和 openssh-server-installer.zip 两个环境包,执行如下命令进行安装。
sudo dpkg -i net-tools_1.60+git20180626.aebd88e-1ubuntu1_amd64.deb
Ubuntu 环境安装 openssh-server,需要用到很多依赖包,都打包在如下 zip 压缩包中了,解压后,安装全部 deb 包即可。
unzip openssh-server-installer.zip
sudo dpkg -i *.deb
这样,就可以通过终端连接工具,在 PC 无法上外网的情况下,正常连接 Ubuntu 系统了。