我在 Ubuntu 10.10 上,刚刚加入了来自 OS X 的 Linux 世界。我正在学习运行级别和rc
目录/etc/
,以及我正在阅读的任何地方(手册、教程等)inittab
。但我在我的 Ubuntu 安装中找不到它。为什么?Ubuntu 是否遵循运行级别模型?没有 和 级别是如何rc
加载的inittab
?
我在 Ubuntu 10.10 上,刚刚加入了来自 OS X 的 Linux 世界。我正在学习运行级别和rc
目录/etc/
,以及我正在阅读的任何地方(手册、教程等)inittab
。但我在我的 Ubuntu 安装中找不到它。为什么?Ubuntu 是否遵循运行级别模型?没有 和 级别是如何rc
加载的inittab
?
如果你
man inittab
在你的终端上这样做,一切都会被揭露:回到过去,在 Ubuntu 中使用 “ System-V ”初始化服务,它使用了该
/etc/inittab
文件。前段时间(大约 2006 年)“ Upstart ”初始化服务取代了 SysV。在这些日子里,您可以关注最佳答案并使用
man inittab
来获取有关此更改的信息。在撰写本文时(例如,对于 Ubuntu 16.04),“ systemd ”引导进程正在使用中,并且没有对“inittab”的引用(例如,如果您这样做
apropos inittab
了,您可能什么也找不到)。相反,您可以man runlevel
获取类似的信息。底线:该
/etc/inittab
文件不存在,可能是因为您使用具有不同 init 服务(例如 systemd)的 Ubuntu 的较新版本。在各种论坛中搜索此内容时,我知道 /etc/inittab 不再在 debian 发行版中使用。
它用
/etc/init/rc-sysinit.conf
不,它不遵循运行级别模型。Ubuntu 已经从 sysV init 转移到了新贵。这样做的主要原因是并行化初始化过程以大大减少启动时间。
正如这里的大多数答案所述,Debian/Ubuntu 已经从 sysV 切换到 systemd,并且systemd有自己的方式来管理引导目标(称为运行级别)这里是用于设置默认值或切换到另一个目标的命令由 systemctl 提供:
systemctl isolate
用于在目标之间切换systemctl isolate multi-user
切换到多用户目标systemctl isolate graphical
切换到图形界面目标systemctl get-default
输出当前的默认目标systemctl set-default
更改默认引导目标systemctl set-default multi-user
将默认启动目标设置为多用户目标,这将通过创建符号链接/etc/systemd/system/default.target
指向/lib/systemd/system/graphical.target
systemctl set-default graphical
将默认引导目标设置回图形界面资源:Shawn Powers在这个 YouTube 视频中进行了惊人的解释