我刚刚编写了一个小程序,用于记录启动过程中 bash 的所有调用。这是产生的输出的一部分:
(root) '/bin/bash-' '-c' 'gzip -d -c /usr/share/kbd/keymaps/i386/qwerty/us.map.gz'
(root) '/bin/bash-' '-c' 'gzip -d -c /usr/share/kbd/keymaps/i386/qwerty/../include/euro1.map.gz'
(root) '/bin/bash-' '/etc/rc.multi'
(root) '/bin/bash-' '/etc/rc.d/syslog-ng' 'start'
(root) '/bin/bash-' '/etc/rc.d/dbus' 'start'
(root) '/bin/bash-' '/etc/rc.d/network' 'start'
(root) '/bin/bash-' '/usr/lib/dhcpcd/dhcpcd-run-hooks'
(root) '/bin/bash-' '/usr/lib/dhcpcd/dhcpcd-run-hooks'
(root) '/bin/bash-' '/usr/lib/dhcpcd/dhcpcd-run-hooks'
(root) '/bin/bash-' '/etc/rc.d/netfs' 'start'
第一列是用户,第二列是调用的程序(我在这里只记录 bash),第三列是参数。现在假设我想替换其中一个调用:我在哪里可以找到它们?我假设一定有一些程序/脚本/数据文件包含所有这些调用?!?
答案1
对于 Arch,引导过程使用init
,它从 读取配置/etc/initab
。也可以在 中进行自定义/etc/rc.conf
,但我认为您必须深入研究 中指定的初始化脚本/etc/initab
。看Arch 启动过程了解更多信息。