0

0

Linux runlevel 与 target 的使用方法

冰川箭仙

冰川箭仙

发布时间:2026-02-25 16:41:32

|

450人浏览过

|

来源于php中文网

原创

systemd 中 runlevel 命令仅是兼容层,实际状态由 target 单元(如 multi-user.target、graphical.target)决定;切换用 systemctl isolate,设默认用 set-default,runlevel 输出不反映真实激活目标。

linux runlevel 与 target 的使用方法

systemd 里没有 runlevel,但 runlevel 命令还能用?

能用,只是它现在是个兼容层包装:实际查的是 /proc/sys/kernel/bootloader/etc/init.d/rc 的遗留逻辑,不是真实状态。systemd 真正管理启动目标的是 target 单元,比如 multi-user.targetgraphical.target

常见错误现象:runlevel 显示 N 3,但 systemctl get-default 返回 graphical.target —— 这说明系统已切到 systemd 模式,runlevel 输出只是历史映射(3→multi-user.target,5→graphical.target),不能反映当前激活的 target。

  • runlevel 命令只读取 /var/run/utmp 中的旧式记录,不参与运行时控制
  • 真正决定系统状态的是当前激活的 target,用 systemctl list-units --type=target --state=active 查最准
  • 修改默认启动目标,必须改 systemctl set-default,改 /etc/inittab/etc/init.d/rc 完全无效

怎么切换当前 target(类似传统 runlevel 切换)

systemctl isolate,不是 systemctl start —— 后者只启动目标本身,不停掉无关服务;isolate 才是“切换”,会终止不属于目标依赖集的所有服务。

使用场景:临时进命令行环境(比如图形界面卡死时)、调试服务依赖、避免 GUI 资源占用。

  • 切到无图形多用户模式:systemctl isolate multi-user.target
  • 切回图形界面:systemctl isolate graphical.target
  • 注意:isolate 不会改变默认启动目标,重启后仍按 get-default 结果加载
  • 如果 isolate 卡住,大概率是某个服务没正确声明 Conflicts=StopWhenUnneeded=,导致依赖清理失败

multi-user.targetgraphical.target 的关键区别在哪

核心差异在是否自动拉起显示管理器(如 gdm3sddm)和图形会话服务。两者都包含网络、SSH、日志等基础服务,但 graphical.targetmulti-user.target 的扩展,多了图形栈依赖链。

SmartB2B行业电子商务
SmartB2B行业电子商务

SmartB2B 是一款基于PHP、MySQL、Smarty的B2B行业电子商务网站管理系统,系统提供了供求模型、企业模型、产品模型、人才招聘模型、资讯模型等模块,适用于想在行业里取得领先地位的企业快速假设B2B网站,可以运行于Linux与Windows等多重服务器环境,安装方便,使用灵活。 系统使用当前流行的PHP语言开发,以MySQL为数据库,采用B/S架构,MVC模式开发。融入了模型化、模板

下载

参数差异体现在单元文件中:graphical.targetWants= 包含 display-manager.service,而 multi-user.target 没有;同时,multi-user.targetConflicts= 通常列出图形相关服务,确保隔离干净。

  • 性能影响:启用 graphical.target 会多加载约 20–40 个额外 unit(取决于桌面环境),冷启动慢 3–8 秒
  • 兼容性:老脚本若硬编码 telinit 3,在纯 systemd 系统上会被重定向到 isolate multi-user.target,但行为不完全等价(比如不会触发 rc.local
  • 自定义 target 时,别直接 Wants= 图形服务,应继承 graphical.target 并覆盖所需部分

为什么 systemctl set-default rescue.target 启动后还是进图形界面

因为 rescue.target 被设计为“单用户维护模式”,但它默认不关闭图形服务——systemd 认为显示管理器属于“可选基础设施”,除非明确冲突或被 stop,否则继续运行。

真正生效的救援模式需要两步:设默认 target + 确保图形服务被正确 stop。常见错误是只改了 default,却没检查 rescue.targetConflicts= 列表是否包含 display-manager.service

  • 检查方法:systemctl show rescue.target | grep Conflicts,若没列出图形相关 service,就得手动加 Conflicts=display-manager.service gdm3.service sddm.service
  • 更稳妥做法:用 systemctl emergency 替代,它强制停所有非 essential unit(包括 display-manager),且不依赖 target 配置
  • 注意:rescue.target 默认仍启用网络,若需彻底断网,得额外 mask systemd-networkd.service 或禁用对应 .wants 链接

target 的依赖关系不是扁平列表,而是 DAG 图;一个 target 是否真“生效”,取决于它的所有 WantsRequiresConflicts 是否被满足或解除——这点比 runlevel 复杂得多,也容易被忽略。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

423

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

596

2023.08.10

default gateway怎么配置
default gateway怎么配置

配置default gateway的步骤:1、了解网络环境;2、获取路由器IP地址;3、登录路由器管理界面;4、找到并配置WAN口设置;5、配置默认网关;6、保存设置并退出;7、检查网络连接是否正常。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

232

2023.12.07

磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1541

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

715

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

300

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

792

2023.07.05

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

584

2023.07.06

batoto漫画官网入口与网页版访问指南
batoto漫画官网入口与网页版访问指南

本专题系统整理batoto漫画官方网站最新可用入口,涵盖最新官网地址、网页版登录页面及防走失访问方式说明,帮助用户快速找到batoto漫画官方平台,稳定在线阅读各类漫画内容。

65

2026.02.25

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 9.7万人学习

Git 教程
Git 教程

共21课时 | 3.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号