# 虚拟环境安装Linux ## 1.安装配置VM虚拟机 `VMware WorkStation`虚拟机软件是一款桌面计算机虚拟软件,让用户能够在单一主机上同时运行多个不同的操作系统。 > 每个虚拟操作系统的硬盘与数据都是独立。 > 多台虚拟机可以构建为一个中小企业集群架构。 > 虚拟机支持快照与克隆,虚拟网络,网络安装等。 第1步: 运行下载完成的`Vmware Workstation`虚拟机软件包,将会看到如图1-1所示的虚拟机程序安装向导初始界面。 ## 2.安装Linux操作系统 安装`RHEL/CentOS7`系统时需要注意:您电脑的`CPU`需要支持`VT(Virtualization Technology虚拟化技术)`所谓VT,指的是让单台计算机能够分割出多个独立资源区,并让每个资源区按照需要模拟出系统的一项技术,其本质就是通过中间层实现计算机资源的管理和再分配,让系统资源的利用率最大化 > 注意:如果开启虚拟机后依然提示`CPU`不支持`VT`技术”报错信息,请重启电脑并进入到`BIOS`中把`CPU`的`VT`虚拟化功能开启即可。 第1步:在虚拟机管理界面中单击“开启此虚拟机”按钮后数秒就看到`RHEL 7`系统安装界面,如图1-所示。  | 描述 | 含义 | | ---------------------------------------------------- | ---------------------- | | Install Red Hat Enterprise Linux 7 | 安装Redhat Linux7系统 | | Test this media & install Red Hat Enterprise Linux 7 | 校验光盘完整性后再安装 | | Troubleshooting | 启动救援模式 | 第2步:接下来按回车键后开始加载安装镜像,所需时间大约在30~60秒,请耐心等待,如图1-27所示。 ........ ## 3.重置Linux root密码 平时日常练习过程中如果不小心将`Linux`系统的密码忘记了并不用慌,只需简单几步就可以完成密码的重置工作。 要先确定是否为`RHEL/CentOS 7`系统。如果是,然后再进行下面的操作。 ``` [root@bgx-Linux ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.4.1708 (Core) ``` 第1步:重启Linux系统主机并出现引导界面时,按下键盘上的e键进入内核编辑界面  第2步:在`linux16`参数这行的最后面追加`rd.break`参数,然后按下`Ctrl + X`组合键来运行修改过的内核程序  第3步:大约5秒过后,进入到系统的紧急求援模式,依次输入以下命令,等待系统重启操作完毕,然后就可以使用新密码来登录Linux系统了。命令行执行效果如图所示。  救援模式重置`Linux`系统的`root`管理密码命令如下: ``` mount -o remount,rw /sysroot chroot /sysroot echo "123" | passwd --stdin root touch /.autorelabel exit reboot ``` ## 4.Systemd初始化进程 `Linux7`系统的开机启动过程如下: > 1.首先BIOS开机自检 > 2.然后进入启动菜单,加载系统内核 > 3.然后内核进行初始化 > 4.最后启动初始化进程 初始化进程作为`Linux`系统的第一个进程,它需要完成Linux系统中相关的初始化工作,为用户提供合适的工作环境。`RHEL/CentOS 7`系统已经替换掉了熟悉的初始化进程服务`System V init`正式采用全新的`systemd`初始化进程服务。如果您之前学习的是`RHEL/CentOS 6或7`系统,可能会不习惯。`systemd`初始化进程服务采用了并发启动机制,开机速度得到了不小的提升。 CentOS6系统, 管理员可以使用如下指令来管理服务器的启动与停止 ``` //关机相关命令 shutdown -h now //立即关机,常用 init 0 //切换系统关机级别,容易理解 //重启相关命令 reboot //重启命令,常用 init 6 //切换系统重启级别,容易理解 ``` CentOS7系统, 管理员可以使用`systemctl`命令来管理服务器启动与停止 ``` //关机相关命令 systemctl poweroff //立即关机,常用 //重启相关命令 systemctl reboot //重启命令,常用 ``` ## 5.Systemd目标名称 无论如何, `RHEL/CentOS 7`已经没有了“运行级别”这个概念,`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 | runlevel3.target, multi-user.target | 多用户的文本界面 | | 4 | runlevel4.target, multi-user.target | | | 5 | runlevel5.target, graphical.target | 多用户的图形界面 | | 6 | runlevel6.target, reboot.target | 重启 | | emergency | emergency.target | 救援模式 | | shutdown | systemctl | 救援模式 | | reboot | emergency.target | 救援模式 | | powef | emergency.target | 救援模式 | | emergency | emergency.target | 救援模式 | `RHEL/CentOS6`系统运行级别管理 ``` //查看运行级别 [root@student ~]# runlevel N 3 //如果N是其他数字,代表上一次运行级别 //切换运行级别 [root@student ~]# init 3 //永久修改配置文件 [root@student ~]# /etc/inittab ``` `RHEL/CentOS7`系统目标管理 ``` //查看系统默认启动运行级别 [root@student ~]# systemctl get-default //修改默认启动运行级别(永久生效) [root@student ~]# systemctl set-default TARGET.target # multi-user.target: analogous to runlevel 3 # graphical.target: analogous to runlevel 5 ``` ## 6.systemd服务管理 由于之前长期使用`RHEL/CentOS 6`系统, 已经习惯使用`service chkconfig`等命令来管理系统服务,但在`RHEL/CentOS 7`系统中是使用`systemctl`命令来管理服务的。 如下是`RHEL/CentOS 6`系统中`System V init`命令与`RHEL/CentOS 7`系统中`systemctl`命令的对比,后续课程中会经常用到它们。 `systemctl`管理服务的启动、重启、停止、重载、查看状态等常用命令 | System V init(6系统) | systemctl命令(7系统) | 作用 | | ---------------------- | -------------------------------- | ------------------------ | | service crond start | systemctl start crond.service | 启动服务 | | service crond stop | systemctl stop crond.service | 停止服务 | | service crond restart | systemctl restart crond.service | 重启服务 | | service crond reload | systemctl reload crond.service | 重新加载配置(不终止服务) | | service crond status | systemctl status crond.servre | 查看服务运行状态 | | | systemctl is-active sshd.service | 查看服务是否在运行中 | | | systemctl mask crond.servre | 禁止服务运行 | | | systemctl unmask crond.servre | 取消禁止服务运行 | `systemctl`设置服务开机启动、不启动、查看各级别下服务启动状态等常用命令 | System V init(6系统) | systemctl命令(7系统) | 作用 | | ---------------------- | ---------------------------------- | ------------------------------ | | chkconfig crond on | systemctl enable crond.service | 开机自动启动 | | chkconfig crond off | systemctl disable crond.service | 开机不自动启动 | | chkconfig --list | systemctl list-unit-files | 查看各个级别下服务的启动与禁用 | | chkconfig --list crond | systemctl is-enabled crond.service | 查看特定服务是否为开机自启动 | | chkconfig--add crond | systemctl daemon-reload | 创建新服务文件或者变更设置 | `systemctl`服务状态说明 | 服务状态 | 状态说明 | | --------------- | ----------------------------------------------------------------------- | | loaded | 服务单元的配置文件已经被处理 | | active(running) | 服务的一个或多个进程在运行中 | | active(exited) | 一次性运行的服务成功被执行并退出(服务运行后完成任务,相关进程会自动退出) | | active(waiting) | 服务已经运行但在等待某个事件 | | inactive | 服务没有在运行 | | enabled | 服务设定为开机运行 | | disabled | 服务设定为开机不运行 | | static | 服务不能被设定开机启动,但可以由其他服务启动该服务 | Loading... # 虚拟环境安装Linux ## 1.安装配置VM虚拟机 `VMware WorkStation`虚拟机软件是一款桌面计算机虚拟软件,让用户能够在单一主机上同时运行多个不同的操作系统。 > 每个虚拟操作系统的硬盘与数据都是独立。 > 多台虚拟机可以构建为一个中小企业集群架构。 > 虚拟机支持快照与克隆,虚拟网络,网络安装等。 第1步: 运行下载完成的`Vmware Workstation`虚拟机软件包,将会看到如图1-1所示的虚拟机程序安装向导初始界面。 ## 2.安装Linux操作系统 安装`RHEL/CentOS7`系统时需要注意:您电脑的`CPU`需要支持`VT(Virtualization Technology虚拟化技术)`所谓VT,指的是让单台计算机能够分割出多个独立资源区,并让每个资源区按照需要模拟出系统的一项技术,其本质就是通过中间层实现计算机资源的管理和再分配,让系统资源的利用率最大化 > 注意:如果开启虚拟机后依然提示`CPU`不支持`VT`技术”报错信息,请重启电脑并进入到`BIOS`中把`CPU`的`VT`虚拟化功能开启即可。 第1步:在虚拟机管理界面中单击“开启此虚拟机”按钮后数秒就看到`RHEL 7`系统安装界面,如图1-所示。  | 描述 | 含义 | | ---------------------------------------------------- | ---------------------- | | Install Red Hat Enterprise Linux 7 | 安装Redhat Linux7系统 | | Test this media & install Red Hat Enterprise Linux 7 | 校验光盘完整性后再安装 | | Troubleshooting | 启动救援模式 | 第2步:接下来按回车键后开始加载安装镜像,所需时间大约在30~60秒,请耐心等待,如图1-27所示。 ........ ## 3.重置Linux root密码 平时日常练习过程中如果不小心将`Linux`系统的密码忘记了并不用慌,只需简单几步就可以完成密码的重置工作。 要先确定是否为`RHEL/CentOS 7`系统。如果是,然后再进行下面的操作。 ``` [root@bgx-Linux ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.4.1708 (Core) ``` 第1步:重启Linux系统主机并出现引导界面时,按下键盘上的e键进入内核编辑界面  第2步:在`linux16`参数这行的最后面追加`rd.break`参数,然后按下`Ctrl + X`组合键来运行修改过的内核程序  第3步:大约5秒过后,进入到系统的紧急求援模式,依次输入以下命令,等待系统重启操作完毕,然后就可以使用新密码来登录Linux系统了。命令行执行效果如图所示。  救援模式重置`Linux`系统的`root`管理密码命令如下: ``` mount -o remount,rw /sysroot chroot /sysroot echo "123" | passwd --stdin root touch /.autorelabel exit reboot ``` ## 4.Systemd初始化进程 `Linux7`系统的开机启动过程如下: > 1.首先BIOS开机自检 > 2.然后进入启动菜单,加载系统内核 > 3.然后内核进行初始化 > 4.最后启动初始化进程 初始化进程作为`Linux`系统的第一个进程,它需要完成Linux系统中相关的初始化工作,为用户提供合适的工作环境。`RHEL/CentOS 7`系统已经替换掉了熟悉的初始化进程服务`System V init`正式采用全新的`systemd`初始化进程服务。如果您之前学习的是`RHEL/CentOS 6或7`系统,可能会不习惯。`systemd`初始化进程服务采用了并发启动机制,开机速度得到了不小的提升。 CentOS6系统, 管理员可以使用如下指令来管理服务器的启动与停止 ``` //关机相关命令 shutdown -h now //立即关机,常用 init 0 //切换系统关机级别,容易理解 //重启相关命令 reboot //重启命令,常用 init 6 //切换系统重启级别,容易理解 ``` CentOS7系统, 管理员可以使用`systemctl`命令来管理服务器启动与停止 ``` //关机相关命令 systemctl poweroff //立即关机,常用 //重启相关命令 systemctl reboot //重启命令,常用 ``` ## 5.Systemd目标名称 无论如何, `RHEL/CentOS 7`已经没有了“运行级别”这个概念,`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 | runlevel3.target, multi-user.target | 多用户的文本界面 | | 4 | runlevel4.target, multi-user.target | | | 5 | runlevel5.target, graphical.target | 多用户的图形界面 | | 6 | runlevel6.target, reboot.target | 重启 | | emergency | emergency.target | 救援模式 | | shutdown | systemctl | 救援模式 | | reboot | emergency.target | 救援模式 | | powef | emergency.target | 救援模式 | | emergency | emergency.target | 救援模式 | `RHEL/CentOS6`系统运行级别管理 ``` //查看运行级别 [root@student ~]# runlevel N 3 //如果N是其他数字,代表上一次运行级别 //切换运行级别 [root@student ~]# init 3 //永久修改配置文件 [root@student ~]# /etc/inittab ``` `RHEL/CentOS7`系统目标管理 ``` //查看系统默认启动运行级别 [root@student ~]# systemctl get-default //修改默认启动运行级别(永久生效) [root@student ~]# systemctl set-default TARGET.target # multi-user.target: analogous to runlevel 3 # graphical.target: analogous to runlevel 5 ``` ## 6.systemd服务管理 由于之前长期使用`RHEL/CentOS 6`系统, 已经习惯使用`service chkconfig`等命令来管理系统服务,但在`RHEL/CentOS 7`系统中是使用`systemctl`命令来管理服务的。 如下是`RHEL/CentOS 6`系统中`System V init`命令与`RHEL/CentOS 7`系统中`systemctl`命令的对比,后续课程中会经常用到它们。 `systemctl`管理服务的启动、重启、停止、重载、查看状态等常用命令 | System V init(6系统) | systemctl命令(7系统) | 作用 | | ---------------------- | -------------------------------- | ------------------------ | | service crond start | systemctl start crond.service | 启动服务 | | service crond stop | systemctl stop crond.service | 停止服务 | | service crond restart | systemctl restart crond.service | 重启服务 | | service crond reload | systemctl reload crond.service | 重新加载配置(不终止服务) | | service crond status | systemctl status crond.servre | 查看服务运行状态 | | | systemctl is-active sshd.service | 查看服务是否在运行中 | | | systemctl mask crond.servre | 禁止服务运行 | | | systemctl unmask crond.servre | 取消禁止服务运行 | `systemctl`设置服务开机启动、不启动、查看各级别下服务启动状态等常用命令 | System V init(6系统) | systemctl命令(7系统) | 作用 | | ---------------------- | ---------------------------------- | ------------------------------ | | chkconfig crond on | systemctl enable crond.service | 开机自动启动 | | chkconfig crond off | systemctl disable crond.service | 开机不自动启动 | | chkconfig --list | systemctl list-unit-files | 查看各个级别下服务的启动与禁用 | | chkconfig --list crond | systemctl is-enabled crond.service | 查看特定服务是否为开机自启动 | | chkconfig--add crond | systemctl daemon-reload | 创建新服务文件或者变更设置 | `systemctl`服务状态说明 | 服务状态 | 状态说明 | | --------------- | ----------------------------------------------------------------------- | | loaded | 服务单元的配置文件已经被处理 | | active(running) | 服务的一个或多个进程在运行中 | | active(exited) | 一次性运行的服务成功被执行并退出(服务运行后完成任务,相关进程会自动退出) | | active(waiting) | 服务已经运行但在等待某个事件 | | inactive | 服务没有在运行 | | enabled | 服务设定为开机运行 | | disabled | 服务设定为开机不运行 | | static | 服务不能被设定开机启动,但可以由其他服务启动该服务 | Last modification:March 30, 2025 © Allow specification reprint Support Appreciate the author AliPayWeChat Like 如果觉得我的文章对你有用,请随意赞赏