在通过大量帖子、Youtube 视频和有关 systemd 问题的“文档”中搜索了大量内容后,我仍然不知所措。
链接(https://wiki.archlinux.org/index.php/systemd#Create_custom_target)看起来很有希望,但有点含糊(对我来说)。
如何创建自定义 systemd 目标(即: foo.target ),以便可以使用选择的 .service 单元启动?
我只是想创建一个自定义目标来快速启动一个 X 程序。我很乐意排除所有我不需要的服务。
提前致谢!
systemd 还有运行级别的概念吗?例如,使用没有意义telinit <number>吗?
我在 BusyBox 中编译了一个自定义的 linux 内核。BusyBoxinit不支持运行级别。当内核在 BusyBox 中启动时,它首先执行init它在/etc/inittab. BusyBoxinit没有/etc/inittab. 当没有inittab找到时,它具有以下行为:
::sysinit:/etc/init.d/rcS
Run Code Online (Sandbox Code Playgroud)
这部分对我来说很清楚,但我想知道如何管理启动网络、创建串行端口或启动java进程的守护进程。我查看了驻留在其中的脚本,/etc/init.d/但我不明白如何管理它们。我正在寻找一个很好的教程或解决方案来自己控制这些服务,而无需像buildroot. 我想了解这些脚本是如何工作的以及如何在中创建设备/dev/(现在我只有console和ttyAM0)。
我已将行配置/etc/inittab如下:
# The default runlevel.
id:2:initdefault:
Run Code Online (Sandbox Code Playgroud)
但是登录后的输出runlevel如下:
N 5
Run Code Online (Sandbox Code Playgroud)
那么为什么我的运行级别是 5,而不是 2?
注意:作为附加信息,这里是uname -a我系统的输出
Linux d3bi4n 3.16.0-4-amd64 #1 SMP Debian 3.16.7-2 (2014-11-06) x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
和输出dpkg -S /sbin/init是
systemd-sysv: /sbin/init
Run Code Online (Sandbox Code Playgroud) 我从运行级别中了解到的是,在每个级别中,有些程序具有执行权限,有些则没有。运行级别 3 将系统引导至 CLI,运行级别 5 启动默认 GUI。
但我不明白 0(shutdown) 和 6(reboot) 是什么意思?(以关机/重启模式启动?!)。如果将 initdefault 设置为这些值会发生什么?
主要出于测试目的,我希望修改/etc/inittab并向我的系统添加新的运行级别 ( /etc/rc7.d)。我还没有保存我的修改,因为我对Vim行为感到困惑。事实上,编辑器似乎没有将新的运行级别识别为……一个新的运行级别(诸如此类rc 2,3,4)。这是一个屏幕截图:

如您所见,Vim数字 7 以红色高亮显示,并将配置文件的地址从黄色“低亮”到标准绿色(例如未特别识别的东西)。我想知道为什么不Vim使用新的运行级别,因为它是标准的运行级别?
我已经安装了 Debian 8,但我只需要使用多用户文本模式,运行级别 3,而不是出现我的 Gnome 3。
但我看到那不存在/etc/inittab。
现在?
systemd仍然通过“目标”保持运行级别的总体思路,但是如何通过 更改系统运行级别systemd?
我想做一些相当于旧的init-script 方法的事情:
init 3 # Multi-user
init 5 # Graphical
Run Code Online (Sandbox Code Playgroud) 我一直想知道发出重启命令是否可以安全地停止运行 LAMP 进程,如 MySQL 或 Apache?