【版本】
当前版本号v20241102
| 版本 | 修改说明 | 
|---|---|
| v20241102 | 修改部分容易出错步骤 | 
| v20241026 | 新增常见问题 | 
| v20240922 | 改善部分容易出错的步骤 | 
| v20240904 | 改善部分步骤和截图 | 
| v20230915 | 新增常见问题 | 
| v20230914 | 根据学生反馈修正部分步骤和截图,并新增常见问题 | 
| v20230907 | 新增退出Virtualbox控制的按键说明 | 
| v20230611 | 换用 RockyLinux 8 | 
任务1 虚拟化软件安装安装 RockyLinux
【任务目的】
- 掌握搭建 RockyLinux 模板镜像
 - 熟练掌握 Linux命令(vi、tar、mv等等)的使用
 - 掌握使用 VirtualBox 或 VMWare Workstation Pro 新建和配置虚拟机
 - 掌握使用 SSH 客户端连接虚拟机
 
【任务环境】
- 内存:至少4G
 - 硬盘:至少空余40G
 - 操作系统: 64位 Windows系统。
 
【任务资源】
- FinalShell
 - RockyLinux 8 系统镜像
 - VirtualBox 7 或 VMWare Workstation Pro
 
【任务步骤】
安装虚拟化软件
- 本任务在使用 VirtualBox情况下通过测试,所以优先推荐安装 VirtualBox 7。如果无法安装成功,可以选择VMWare Workstation Pro。
 
安装 FinalShell
- 安装 FinalShell。过程略。
 
新建虚拟机
- 使用 VirtualBox 或者 VMWare WorkStation Pro (二选一)来新建一台名字为
tmpl的虚拟机,步骤如下。
 
启动
tmpl主机。在安装界面选择
Install Rocky Linux 8.8
提示:进入Virtualbox的窗口,你会发现鼠标被限制在窗口内活动。 如果要退出 Virtualbox 的窗口,默认按下键盘右边的
Ctrl键就可以退出了。
语言和时间配置
系统安装语言选择默认英语,点击
Continue。
在地图点击中国位置,
Region对应asia,City对应Shanghai,注意调整时间为你当前安装的实际时间。设置好以后点击Done。

语言支持勾选中文简体,可以通过输入关键字找到。

网络和主机配置
网口设置,并设置 Host Name 为
tmpl。

开启网络,并设置网卡信息。

地址:10.0.0.70
掩码:255.255.255.0 或者 24
网关:10.0.0.254
DNS:223.5.5.5
- 回到主界面,进入软件选择界面,选择最小化安装“Minima Install”。

 
磁盘分区设置
进入系统安装位置菜单。

选择自定义分区。

选择标准分区格式,点击
Done完成。
新建3个分区(Partition)
swap分区:2048M
/boot 分区:300M
/ 根分区:剩余所有空间
点击
+按钮可以新增分区。

Desired Capacity栏留空则表示所有剩余空间都分配给该目录分区
分区完成点击
Done完成
点击
Accept Changes应用所有分区修改。
禁用 KDUMP
- 禁用 KDUMP。
 
kdump是Linux内核的一个功能,可在发生内核错误时创建核心转储。当被触发时,kdump会导出一个内存映像,该映像可用于调试和确定崩溃的原因。在生产环境下,该选项不该被禁用,但是在本任务中为了提高系统运行效率和节约内存,才进行禁用。

用户设置
设置 root 密码。

创建 cdc 用户。

开始安装系统

系统开始安装

等待系统安装完毕以后,点击重启。

重启以后,尝试使用 cdc 账户登录。

查看系统版本
cat /etc/redhat-release
- 正常会输出系统版本信息
 
Rocky Linux release 8.8 (Green Obsidian)
- 登录成功以后,输入以下命令,提升切换为
root用户。 
su
- 把
cdc用户加入 wheel 用户组。如果你修改了用户名,请用替换cdc为你的用户名。 
在 CentOS 中,wheel 用户组是一个特殊的用户组,它通常用于限制对某些系统命令的访问权限。默认情况下,只有 root 用户和 wheel 用户组的成员可以使用 sudo 命令来执行需要超级用户权限的操作。
这意味着,如果你是 wheel 用户组的成员,你可以使用 sudo 来执行一些需要超级用户权限的命令,而不需要直接以 root 用户身份登录系统。这有助于提高系统的安全性,因为它减少了直接以 root 用户身份操作系统的频率。
sudo usermod -aG wheel cdc
网络设置验证
- 输入以下命令查看 enp0s3 的端口IP是否配置正常。
 
ip a
- 正常情况应该可以看到类似以下信息,
enp0s3网卡有对应 IP 地址 10.0.0.70。如果没看到,请参考常见问题2,启用网卡。 
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:b7:05:51 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.70/24 brd 10.0.0.255 scope global noprefixroute enp0s3
       valid_lft forever preferred_lft forever
    inet6 fe80::4977:e0ed:4338:25f8/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
打开 Windows 文件浏览器,进入
控制面板的网络连接界面。可以看到有很多的网卡(网络适配器)。

找到虚拟网卡,并设置以下选项。
- VirtualBox 设置

 
IP地址:10.0.0.2
子网掩码:255.255.255.0
默认网关:10.0.0.254
- VMWare Workstation Pro 设置
找到“VMware Network Adapter VMnet1”这个网卡进行设置

 
- 打开 FinalShell,使用 root 用户SSH方式登录虚拟机。
 
连接名称:root@tmpl
IP:10.0.0.70
端口:22
用户名:root

- 把
cdc用户加入wheel组,让cdc用户可以sudo提升权限。 
usermod -aG wheel cdc
调整开机顺序
- 调整硬盘为启动的第一顺位。注意:此项设置需要关闭虚拟机才能操作。

 
源替换
- 为了提升软件安装速度,我们选择使用本地安装镜像作为软件的
源。首先确保虚拟机加载了 RockyLinux 的安装光盘镜像。
 
- 使用 root 用户登录。
 
su
- 解挂目录
/mnt目录,准备把光盘挂载到此目录。 
umount /mnt
如果没有挂载的情况下执行,会提示以下信息,表示目录状态是未挂载。这是正常的提示。
umount: /mnt:not mounted
- 挂载光盘内容到
/mnt目录下 
mount /dev/cdrom /mnt
重复执行挂载命令会提示类似以下信息,表示 /mnt 已经挂载:
mount: /mnt: WARNING: device write-protected, mounted read-only.
- 查看
/mnt目录, 
ls /mnt
正常会出现以下目录或文件。如果内容为空,需要重新执行步骤34的挂载命令;如果出现内容与以下不符合,有可能你的ISO镜像错误或者损坏。
AppStream  BaseOS  EFI  images  isolinux  LICENSE  media.repo  TRANS.TBL
- 进入源配置目录。
 
cd  /etc/yum.repos.d/
- 新建 test 目录,并把原来
.repo后缀的源配置文件备份到 test 目录下。 
mkdir test -p
mv *.repo test
注意:
mv *.repo test命令只运行一次,再次运行会提示文件或目录不存在。
- 创建本地源
local.repo。 
vi /etc/yum.repos.d/local.repo
- 输入以下内容,把源指向光盘镜像的挂载目录
/mnt。此步骤主要安装软件资源包的时候,直接从光盘镜像安装。 
注意:进入vi要进入插入模式才能粘贴,否则粘贴内容容易缺失。
[local-baseos]
name=Rocky Linux $releasever - Local - BaseOS
baseurl=file:///mnt/BaseOS
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
[local-appstream]
name=Rocky Linux $releasever - Local - AppStream
baseurl=file:///mnt/AppStream
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
- 输出源配置,与上面步骤的内容进行核对。
 
cat /etc/yum.repos.d/local.repo
- 清理源缓存
 
dnf clean all
dnf makecache
- 尝试从源安装一些软件。
 
dnf -y install vim net-tools bind-utils traceroute telnet nmap
- 如果出现类似以下信息,则表示安装成功。
 
已安装:
  gpm-libs-1.20.7-17.el8.x86_64                       
  vim-common-2:8.0.1763-19.el8_6.4.x86_64             
  vim-enhanced-2:8.0.1763-19.el8_6.4.x86_64           
  vim-filesystem-2:8.0.1763-19.el8_6.4.noarch         
  net-tools-2.0-0.52.20160912git.el8.x86_64
  bind-utils-32:9.11.36-16.el8_10.2.x86_64
  traceroute-3:2.1.0-8.el8.x86_64 
  telnet-1:0.17-76.el8.x86_64
  nmap-2:7.92-1.el8.x86_64
  nmap-ncat-2:7.92-1.el8.x86_64 
完毕!
实现开机自动挂载/mnt
- 切换到
root用户。 
su
- 执行以下命令,把挂载命令加入开机自动执行脚本。
 
echo 'mount /dev/cdrom /mnt'>> /etc/rc.local
- 加入运行的权限
 
sudo chmod +x /etc/rc.local
- 执行脚本实现挂载
/mnt 
source /etc/rc.local
- 查看
/mnt目录下是否有内容。 
ls /mnt
- 正常会出现以下内容
 
AppStream  BaseOS  EFI  images  isolinux  LICENSE  media.repo  TRANS.TBL
【常见问题】
1. 如何查看 CentOS/Rocky Linux 虚拟机网卡信息。
ip a
2. 如何启用网卡
遇到网卡没有开机启用的情况,可以编辑网卡设置。如果网卡名称为enp0s3,则可以使用以下命令编辑enp0s3网卡配置。如果网卡名称不同,则需要修改以下命令为相应网卡名。
- (1)先提升root权限
 
su
- (2)编辑配置
 
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
(3)把
ONBOOT=no修改为ONBOOT=yes(4)启用网卡
ifup enp0s3
3. 如何修改 CentOS/Rocky Linux 网卡的 IP 地址
- (1)先提升root权限
 
su
- (2)编辑配置,如果网卡名称为
enp0s3,则可以使用以下命令编辑enp0s3网卡配置。如果网卡名称不同,则需要修改以下命令为相应网卡名。 
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
- (3)修改以下选项,并保存。
 
#IP 地址
IPADDR="10.0.0.70"
#掩码
PREFIX="24"
#网关
GATEWAY="10.0.0.254"
#DNS地址
DNS1="223.5.5.5"
- (4)重新加载网卡配置
 
sudo nmcli c reload
- (5)再次查看IP地址是否更改成功
 
ip a
4. 遇到 VirtualBox 无法选择仅主机Host-Only网络,或者选择后出错的情况。
- (1)关闭虚拟机,关闭VirtualBox。以管理员权限运行VirtualBox。
 - (2)从菜单“管理”->“主机网络管理器”

 - (3)创建一个新的网卡

 - (4)在虚拟机的网络设置选择新的网卡。

 
5. 实现开机挂载/mnt目录
- (1) 提升到 root 权限
 
su
- (2) 执行以下命令
 
echo 'mount /dev/cdrom /mnt'>> /etc/rc.local
sudo chmod +x /etc/rc.local
source /etc/rc.local
6. 挂载/mnt不成功,提示找不到媒体。
[root@tmpl ~]# mount /dev/cdrom /mnt
mount: 在 /dev/sr0 上找不到媒体
答:
(1)检查虚拟光驱是否已经插入镜像文件。

(2)解挂,再重新挂载。
umount /mnt
mount /dev/cdrom /mnt
7. 安装软件不成功,提示“Error downloading packages:” 或者“ No more mirrors to try”
答:
(1)检查虚拟光驱是否已经插入镜像文件。

(2)解挂,再重新挂载。
umount /mnt
mount /dev/cdrom /mnt
- (3)检查源的内容是否正确。
 
cat /etc/yum.repos.d/local.repo 
正常会展示以下内容
[local-baseos]
name=Rocky Linux $releasever - Local - BaseOS
baseurl=file:///mnt/BaseOS
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
[local-appstream]
name=Rocky Linux $releasever - Local - AppStream
baseurl=file:///mnt/AppStream
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
- (4)清理源缓存
 
dnf clean all
dnf makecache
- (5)重新执行安装命令
 
8. 安装完成后,重启又进入安装界面。
答:这是因为没有调整虚拟机的启动顺序,安装以后,硬盘的启动顺序应该在光盘之前。关闭虚拟机,参考步骤36。
9. FinalShell 连接不上虚拟机
答:
(1)检查虚拟机 IP 地址,在虚拟机输入以下命令,正常应该能够查看到10.0.0.70。
ip a

- 如果看不到IP,可能是网卡没启用,使用以下命令启用网卡,其中
enp0s3是 VirtualBox 默认网卡名称,如果使用 VMWare 请替换网卡名为ens33。 
sudo nmcli connection up enp0s3
(2)检查虚拟机对应的虚拟网络适配器(网卡)的IP设置。
IP地址:10.0.0.2
子网掩码:255.255.255.0
网关:10.0.0.254

(3)确认你的虚拟机使用的是 Host-Only 网络。
VirtualBox

VmWare Workstation Pro

(4)关闭虚拟网卡的DHCP自动分配功能
- 如果你使用的是 VirtualBox,请进入
网络管理器,去掉启用DHCP服务器勾选选项。

 
10. 如何对虚拟机进行备份(生成快照)
答:
虚拟机的备份称为快照,允许用户创建快照并且进行恢复。
(1)点击虚拟机的选项菜单,点击
备份。
(2)点击
生成,输入快照名称和描述,可以创建快照。
如果需要恢复,可以右键点击对应的快照,选择恢复备份。

11. 挂载光盘到/mnt显示错误“wrong fs type bad option bad superblock”
答: 这是因为 Rocky Linux 的 iso 镜像损坏导致挂载失败。请重新下载镜像或者找老师重新拷贝完整镜像文件。
12. 安装 Virtualbox 提示缺失“Microsoft Visual C++ 2019 Redistributable Package”
答: 这是因为 Windows 系统缺失了Microsoft Visual C++ 发行包。可以在以下链接选择对应的版本安装缺失的包。
13. 安装 Virtualbox 后找不到对应的虚拟网卡。
答:
(1)在 Windows 系统控制面板下,卸载 Virtualbox。

(2)安装 CCCleaner 扫描注册表。

(3)清理注册表前选择备份注册表。

(4)清理注册表。

(5)重启 Windows系统,并重新安装 Virtualbox。
14. VMWare Workstation 挂载/mnt,提示cdrom is not a block device。
答:编辑虚拟机,在CD/DVD 驱动器光驱设备处,点击高级,切换为IDE类型。

15. 在命令行终端运行命令总是显示“Failed to set locale, defaulting to C.UTF-8”消息。
答:这是由于没有配置正确的语言环境导致的。
- (1)使用 root 用户登录,运行以下命令写入语言环境设置。
 
sudo echo "export LC_ALL=en_US.UTF8" >> /etc/profile
source /etc/profile
