Centos8怎么更改运行级别

发布时间:2022-02-16 16:42:37 作者:iii
来源:亿速云 阅读:161
# CentOS 8怎么更改运行级别

## 一、运行级别基础概念

### 1.1 什么是运行级别
运行级别(Runlevel)是类Unix操作系统中的一个核心概念,它定义了系统在不同状态下应该启动哪些服务。传统Linux系统通常有7个预定义的运行级别(0-6),每个级别对应特定的系统状态:

| 运行级别 | 描述                     |
|----------|--------------------------|
| 0        | 系统停机状态             |
| 1        | 单用户模式(救援模式)   |
| 2        | 多用户模式(无NFS)      |
| 3        | 完整的多用户文本模式     |
| 4        | 保留未使用               |
| 5        | 图形界面模式             |
| 6        | 系统重启                 |

### 1.2 CentOS 8的变化
在CentOS 8/RHEL 8中,传统的SysV init系统已被systemd取代。systemd引入了**目标(target)**概念来替代传统的运行级别:

| 传统运行级别 | systemd target          | 描述                   |
|--------------|-------------------------|------------------------|
| 0            | poweroff.target         | 关机                   |
| 1            | rescue.target           | 救援模式               |
| 2,3,4        | multi-user.target       | 多用户命令行模式       |
| 5            | graphical.target        | 图形界面模式           |
| 6            | reboot.target           | 重启                   |

## 二、查看当前运行级别

### 2.1 传统方法兼容
```bash
# 查看当前运行级别(兼容模式)
runlevel

2.2 systemd专用命令

# 查看当前目标
systemctl get-default

# 查看所有活动的目标
systemctl list-units --type target

三、临时更改运行级别

3.1 切换到图形界面

sudo systemctl isolate graphical.target

3.2 切换到命令行模式

sudo systemctl isolate multi-user.target

3.3 进入救援模式

sudo systemctl rescue

3.4 进入紧急模式

sudo systemctl emergency

四、永久更改默认运行级别

4.1 设置默认目标

# 设置为图形界面
sudo systemctl set-default graphical.target

# 设置为命令行模式
sudo systemctl set-default multi-user.target

4.2 验证设置

# 查看新的默认目标
ls -l /etc/systemd/system/default.target

五、运行级别与服务管理

5.1 查看服务状态

systemctl list-unit-files --type=service

5.2 启用/禁用服务

# 启用服务(开机自启)
sudo systemctl enable httpd

# 禁用服务
sudo systemctl disable httpd

5.3 服务与目标的关联

# 查看某个目标下的所有服务
systemctl list-dependencies graphical.target

六、常见问题解决方案

6.1 忘记root密码

  1. 重启系统
  2. 在GRUB菜单按’e’编辑启动参数
  3. linux行末尾添加rd.break
  4. 按Ctrl+X启动进入紧急模式
  5. 执行以下命令:
mount -o remount,rw /sysroot
chroot /sysroot
passwd root
touch /.autorelabel
exit
reboot

6.2 图形界面无法启动

# 重新安装图形界面
sudo dnf groupinstall "Server with GUI"

# 修复显示管理器
sudo systemctl enable gdm --now

七、高级配置技巧

7.1 自定义目标

  1. 创建目标单元文件:
sudo vi /etc/systemd/system/custom.target

内容示例:

[Unit]
Description=Custom Target
Requires=multi-user.target
After=multi-user.target
  1. 创建服务依赖:
sudo mkdir /etc/systemd/system/custom.target.wants
sudo ln -s /usr/lib/systemd/system/httpd.service /etc/systemd/system/custom.target.wants/

7.2 切换至旧版运行级别

虽然不推荐,但可以通过符号链接实现:

sudo ln -sf /usr/lib/systemd/system/runlevel3.target /etc/systemd/system/default.target

八、性能优化建议

  1. 服务器环境:建议使用multi-user.target减少资源占用
  2. 桌面环境graphical.target提供完整用户体验
  3. 最小化启动
sudo systemctl set-default basic.target

九、总结

CentOS 8通过systemd实现了更现代化的服务管理方式。虽然运行级别的概念有所变化,但通过target机制提供了更灵活的配置选项。关键要点:

  1. 使用systemctl isolate临时切换目标
  2. 使用systemctl set-default永久修改默认目标
  3. 通过systemd-analyze blame分析启动耗时
  4. 重要操作前建议创建系统快照

注意:修改运行级别会影响系统服务启动状态,生产环境建议先在测试环境验证。

附录:常用命令速查表

命令 功能描述
systemctl get-default 查看当前默认目标
systemctl list-units --type target 查看所有活动目标
systemctl isolate graphical.target 临时切换到图形界面
systemctl set-default multi-user.target 设置为命令行默认模式
systemctl rescue 进入救援模式
systemctl emergency 进入紧急模式

”`

注:本文实际约1200字,完整1400字版本可扩展以下内容: 1. 增加各运行级别的详细应用场景 2. 添加systemd与SysV的对比表格 3. 补充更多故障排查案例 4. 增加安全性配置建议 5. 添加性能测试数据对比

推荐阅读:
  1. linux几个运行级别
  2. Linux运行级别的重要性

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

centos

上一篇:CentOS中怎么部署Squid代理服务

下一篇:Centos中怎么安装NTP

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》