Search K
Appearance
Appearance
工具准备齐全后请一定要校验完整性!!!
下载地址:软件资源库 | 《Linux 就该这么学》 (linuxprobe.com)
注意
虚拟机的好处


INFO
自定义虚拟机软件的安装路径。一般情况下无须修改安装路径,但如果您担心 C 盘容量不足,则可以考虑修改安装路径,将其安装到其他位置。


注意


INFO

INFO
设置 CPU 处理器信息。设置 "处理器数量" 和 "每个处理器的内核数量",大家可以根据自身电脑的情况进行选择。可以在网络上搜索一下自己的 CPU 处理器的型号信息,或者在 Windows 系统中打开 "任务管理器",然后访问 "性能" 选项卡,该选项卡右下侧的逻辑处理器数量就是您的 CPU 内核数量。如果上述方法都不奏效,可以暂时将处理器和内核数量都设置成 1(见图 1),后期再随时修改,不影响实验。
设置分配给虚拟机的内存值。如果物理机的内存小于 4GB,则建议分配给虚拟机 1GB;如果物理机的内存大于 4GB(不论是 8GB 还是更大),则建议分配给虚拟机 2GB,如图 2 所示。

INFO
设置网络类型
设置虚拟磁盘类型:这里我们选择工作中更常使用的 SATA 接口类型,如果选择了 IDE 与 NVMe 接口类型的磁盘,则在第 6 章的实验中磁盘名称不是 /dev/sda ,这容易让新手产生疑惑。

INFO

INFO

INFO
在界面中,Test this media & install Red Hat Enterprise Linux 8.0.0 和 Troubleshooting 的作用分别是校验光盘完整性后再安装以及启动救援模式。此时通过键盘的方向键选择 Install Red Hat Enterprise Linux 8.0.0 选项直接安装 Linux 系统。

INFO
Keyboard 和 Language Support 分别指的是键盘类型和语言支持,这两项默认都是英文的,不用修改(除非想换成中文界面)。Time & Date 按钮,设置系统的时区和时间。在地图上单击中国境内即可显示出上海的当前时间,确认后单击左上角的 Done 按钮。Server with GUI(带图形化的服务器)、Server(服务器)、Minimal Install(最小化安装)、Workstation(工作站)、Custom Operating System(自定义操作系统)和 Virtualization Host(虚拟化主机)。只要检查当前模式是默认的 Server with GUI 即可,右侧额外的软件包不要选择,可以在后续学习过程中慢慢安装,这样才有乐趣。
INFO
Installation Destination 指的是想把系统安装到哪个硬盘。此时仅仅是让我们进行确认,不需要进行任何修改。KDUMP 服务的配置界面。KDUMP 服务用于收集系统内核崩溃数据,但是考虑到短时间内我们并不打算调试系统内核参数,所以这里建议取消选中 Enable kdump 复选框,这可以节省约 160MB 物理内存。NETWORK & HOST NAME 配置界面。首先单击右上角的开关按钮,设置成 ON(开启)状态。然后在左下角将 Host Name(主机名称)修改为 linuxprobe.com 并单击右侧的 Apply 按钮进行确认,这样可以保证后续的命令提示符前缀一致,以免产生学习上的歧义。
INFO
SECURITY POLICY 与 System Purpose 暂时不需要配置。单击界面右下侧的 Begin Installation 按钮开始正式安装操作系统,如图 1 所示。整个安装过程大约持续 20 ~ 30 分钟。Root Password 按钮,设置管理员的密码,如图 2 所示。这个操作非常重要,密码马上会在登录系统时用到。这里需要多说一句,当在虚拟机中做实验的时候,密码无所谓强弱,但在生产环境中一定要让 root 管理员的密码足够复杂,否则系统将面临严重的安全问题。User Creation 按钮,为 RHEL 8 系统创建一个本地的普通用户。该账户的名字叫 linuxprobe,密码统一设置为 redhat,这个账户将会在第 5 章使用到。
INFO
Subscription Manager。它指的是红帽产品订阅服务,是红帽公司的一项收费服务,我们暂时不需要,所以也就不用单击了。License Information 按钮进入红帽产品许可信息界面,如图 3 所示。该界面中的内容大意是版权说明、双方责任、法律风险等。没什么好犹豫的,直接选中 I accept the license agreement 复选框,然后单击左上角的 Done 按钮即可。
INFO
FINISH CONFIGURATION 按钮进行确认后,系统将会进行最后一轮的重启。Not listed?,手动输入管理员账号(root)以及所设置的密码。在 RPM(红帽软件包管理器)公布之前,要想在 Linux 系统中安装软件,只能采取编译源码包的方式。所以,早期安装软件是一件非常困难、耗费耐心的事情,而且大多数的服务程序仅仅提供自身的源代码,还需要运维人员编译代码后自行解决软件之间的依赖关系。因此要安装好一个服务程序,运维人员不仅需要具备丰富的知识、高超的技能,还要有良好的耐心。
| 命令 | 作用 |
|---|---|
rpm -ivh filename.rpm | 安装软件 |
rpm -Uvh filename.rpm | 升级软件 |
rpm -e filename.rpm | 卸载软件 |
rpm -qpi filename.rpm | 查询软件描述信息 |
rpm -qpl filename.rpm | 列出软件文件信息 |
rpm -qf filename | 查询文件属于哪个 RPM |
尽管 RPM 能够帮助用户查询软件之间的依赖关系,但问题还是要运维人员自己来解决,而有些大型软件可能与数十个程序都有依赖关系,在这种情况下安装软件依然很繁琐。
Yum 软件仓库便是为了进一步降低软件安装难度和复杂度而设计的技术。Yum 软件仓库可以根据用户的要求分析出所需软件包及其相关的依赖关系,然后自动从服务器下载软件包并安装到系统。Yum 软件仓库的技术拓扑图如下图所示。

Yum 软件仓库中的 RPM 软件包可以是由红帽官方发布的,也可以是由第三方发布的,当然也可以是自己编写的。
| 命令 | 作用 |
|---|---|
yum repolist all | 列出所有仓库 |
yum list all | 列出仓库中所有软件包 |
yum info 软件包名称 | 查看软件包信息 |
yum install 软件包名称 | 安装软件包 |
yum reinstall 软件包名称 | 重新安装软件包 |
yum update 软件包名称 | 升级软件包 |
yum remove 软件包名称 | 移除软件包 |
yum clean all | 清除所有仓库缓存 |
yum check-update | 检查可更新的软件包 |
yum grouplist | 查看系统中已经安装的软件包组 |
yum groupinstall 软件包组 | 安装指定的软件包组 |
yum groupremove 软件包组 | 移除指定的软件包组 |
yum groupinfo 软件包组 | 查询指定的软件包组信息 |
init 程序的类型
/etc/inittab。/etc/inittab, /etc/init/*.conf。/usr/lib/systemd/system、 /etc/systemd/system。systemd 与 System V init 的区别以及作用:
| System V init 运行级别 | systemd 目标名称 | systemd 目标作用 |
|---|---|---|
| 0 | poweroff.target | 关机 |
| 1 | rescue.target | 救援模式 |
| 2 | multi-user.target | 多用户的文本界面 |
| 3 | multi-user.target | 多用户的文本界面 |
| 4 | multi-user.target | 多用户的文本界面 |
| 5 | graphical.target | 多用户的图形界面 |
| 6 | reboot.target | 重启 |
| emergency | emergency.target | 救援模式 |
如果想要将系统默认的运行目标修改为 "多用户的文本界面" 模式,可直接用 ln 命令把多用户模式目标文件链接到 /etc/systemd/system/ 目录。
ln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target服务的启动、重启、停止、重载、查看状态等常用命令:
| 老系统命令 | 新系统命令 | 作用 |
|---|---|---|
service foo start | systemctl start httpd | 启动服务 |
service foo restart | systemctl restart httpd | 重启服务 |
service foo stop | systemctl stop httpd | 停止服务 |
service foo reload | systemctl reload httpd | 重新加载配置文件(不终止服务) |
service foo status | systemctl status httpd | 查看服务状态 |
服务开机启动、不启动、查看各级别下服务启动状态等常用命令:
| 老系统命令 | 新系统命令 | 作用 |
|---|---|---|
chkconfig foo on | systemctl enable httpd | 开机自动启动 |
chkconfig foo off | systemctl disable httpd | 开机不自动启动 |
chkconfig foo | systemctl is-enabled httpd | 查看特定服务是否为开机自启动 |
chkconfig --list | systemctl list-unit-files --type=httpd | 查看各个级别下服务的启动与禁用情况 |
假设您刚刚接手了一台 Linux 系统,要先确定是否为 RHEL 8 系统。如果是,然后再进行下面的操作。
# cat /etc/redhat-release
Red Hat Enterprise Linux release 8.0 (Ootpa)
INFO
e 键进入内核编辑界面,如图 1 所示。linux 参数这行的最后面追加 rd.break 参数,然后按下 Ctrl + X 组合键运行修改过的内核程序,如图 2 所示。
INFO
然后依次输入以下命令:
mount -o remount,rw /sysroot
chroot /sysroot
passwd
touch /.autorelabel再连续按下两次 Ctrl + D 组合键盘来退出并重启。等待系统再次重启完毕后便可以使用新密码登录 Linux 系统。这一系列命令的执行效果如上图所示。
[!question]- 为什么建议读者在下载系统文件后先进行校验而不是直接安装呢? 为了保证系统和软件包的安全与完整性,避免因为外部因素导致安装失败—磨刀不误砍柴工。
[!question]- 使用虚拟机安装 Linux 系统时,为什么要先选择稍后安装操作系统,而不是去选择 RHEL 8 系统镜像文件? 在配置界面中若直接选择了 RHEL 8 系统镜像文件,则 VMware Workstation 虚拟机会使用内置的安装向导自动进行安装,最终安装出来的系统跟我们后续进行实验所需的系统环境会不一样。
[!question]- 在安装系统时如果出现类似于 "CPU 不支持虚拟化 " 这样的报错信息,该怎么解决? 遇到此类报错,最大的可能原因是 BIOS 中没有开启 VT 功能,手动开启后重启即可。
[!question]- RPM(红帽软件包管理器)只有红帽企业系统在使用,对吗? RPM 已经被 CentOS、Fedora、openSUSE 等众多 Linux 系统采用,它真的很好用!
[!question]- 简述 RPM 与软件仓库的作用。 RPM 是通过将源代码与安装规则打包在一起,降低了单个软件的安装难度。而 Yum 与 DNF 软件仓库则是将大量常用的 RPM 软件包打包到一起,解决了软件包之间的依赖关系,这进一步降低了软件的整体安装难度。
[!question]- RHEL 7/8 系统采用了 systemd 作为初始化进程,那么如何查看某个服务的运行状态呢? 执行命令
systemctl status 服务名可以查看服务的运行状态。