1.1 部署虚拟环境安装 Linux 系统
1.1.1 部署虚拟环境
创建新的虚拟机
↓
典型(推荐),下一步
↓
稍后安装操作系统,下一步
↓
Linux
版本:Red Hat Enterprise Linux 7 64 位,下一步
↓
虚拟机名字:xxxxxxx
位置:选择安装位置,下一步
↓
最大磁盘大小:20GB
将虚拟机拆分成多个文件,下一步
↓
自定义硬件
内存:2GB
处理器:1
CD/DVD(SATA):导入iso文件
网络适配器:仅主机模式
USB:移除
声卡:移除
打印机:移除
↓
关闭
↓
完成
1.1.2 Linux系统安装
开启虚拟机
↓
“Install Red Hat Enterprise Linux 7”
↓
“English (United States)”
↓
DATE & TIME,手动设定为Shanghai
SOFTWARE SELECTION,选择"Server with GUI",Done
NETWORK & HOSTNAME,Hostname: linuxprobe.com,Done
Installation Destination,Done,Begin installation
↓
ROOT PASSWORD,redhat123.com,Done
USER CREATION,
Full Name: linuxprobe,
Username: linuxprobe,
Password: redhat123.com,
Done
↓
Restart
↓
LICENSE INFORMATION,勾选"I accept the license agreement.",Done
Finish Configuration
↓
Kdump,取消勾选"Enable Kdump?",Forward
↓
选择"No, I prefer to register at a later time.",Finish
↓
进入登录界面,点击"Not listed?",使用root用户登录。
1.2 RPM 红帽软件包管理器
RPM 有点像 Windows 系统中的控制面板,会建立统一的数据库文件,详细记录软件信息并能够自动分析依赖关系。
命令 | 作用 |
---|---|
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 的命令格式 |
1.3 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 软件包组 | 查询指定的软件包组信息 |
1.4 systemd 初始化进程
Linux 操作系统的开机过程是这样的,即从 BIOS 开始,然后进入 Boot Loader,再加载系统内核,然后内核进行初始化,最后启动初始化进程。
初始化进程作为 Linux 系统的第一个进程,它需要完成 Linux 系统中相关的初始化工作,为用户提供合适的工作环境。
RHEL 7 系统选择 systemd 初始化进程服务后,抛弃了“运行级别”这个概念,Linux 系统在启动时要进行大量的初始化工作,比如挂载文件系统和交换分区、启动各类进程服务等,这些都可以看作是一个一个的单元(Unit),systemd 用目标(target)代替了 System V init 中运行级别的概念,这两者的区别如下表所示。
System V init 运行级别 | systemd 目标名称 | 作用 |
---|---|---|
0 | runlevel0.target, poweroff.target | 关机 |
1 | runlevel1.target, rescue.target | 单用户模式 |
2 | runlevel2.target, multi-user.target | 等同于级别 3 |
3 | runlevel3.target, multi-user.target | 多用户的文本界面 |
4 | runlevel4.target, multi-user.target | 等同于级别 3 |
5 | runlevel5.target, graphical.target | 多用户的图形界面 |
6 | runlevel6.target, reboot.target | 重启 |
emergency | emergency.target | 紧急 Shell |
systemctl 管理服务的启动、重启、停止、重载、查看状态等常用命令,见下表。
在 RHEL 7 系统中是使用systemctl命令来管理服务的。.service
可以省略。
System V init 命令 (RHEL 6 系统) | systemctl 命令 (RHEL 7 系统) | 作用 |
---|---|---|
service foo start | systemctl start foo.service | 启动服务 |
service foo restart | systemctl restart foo.service | 重启服务 |
service foo stop | systemctl stop foo.service | 停止服务 |
service foo reload | systemctl reload foo.service | 重新加载配置文件(不终止服务) |
service foo status | systemctl status foo.service | 查看服务状态 |
systemctl 设置服务开机启动、不启动、查看各级别下服务启动状态等常用命令,见下表。
System V init 命令 (RHEL 6 系统) | systemctl 命令 (RHEL 7 系统) | 作用 |
---|---|---|
chkconfig foo on | systemctl enable foo.service | 开机自动启动 |
chkconfig foo off | systemctl disable foo.service | 开机不自动启动 |
chkconfig foo | systemctl is-enabled foo.service | 查看特定服务是否为开机自动启动 |
chkconfig --list | systemctl list-unit-files --type=service | 查看各个级别下服务的启动与禁用情况 |
1.5 复习题
1.为什么建议读者校验下载的系统镜像或工具?
答:为了保证软件包的安全与完整性。
2.使用虚拟机安装 Linux 系统时,为什么要先选择稍后安装操作系统,而不是去选择 RHEL 7系统镜像光盘?
答:在配置界面中若直接选择了 RHEL 7 系统镜像,则 VMware Workstation 虚拟机会使用内置的安装向导自动进行安装,最终安装出来的系统跟我们后续进行实验所需的系统环境会不一样。
3.RPM(红帽软件包管理器)只有红帽企业系统在使用,对吗?
答:RPM 已经被 CentOS、Fedora、openSUSE 等众多 Linux 系统采用,它真的很好用
4.简述 RPM 与 Yum 软件仓库的作用。
答:RPM 是为了简化安装的复杂度,而 Yum 软件仓库是为了解决软件包之间的依赖关系。
5.RHEL 7 系统采用了 systemd 作为初始化进程,那么如何查看某个服务的运行状态?
答:执行命令“systemctl status 服务名.service”可查看服务的运行状态,其中服务名后的.service 可以省略。