标签: sysv

查找 Linux 系统是如何启动的

我有一台远程服务器,运行 Linux 5.19.0-41-generic x86_64,我试图找出它是如何启动的。

显然,它不使用 systemd :

PID 1 进程是bash。

ps -p 1 -o comm=
bash
Run Code Online (Sandbox Code Playgroud)

显然,没有 GRUB,至少 /usr/sbin 中没有,并且

grub-install --version
-bash: grub-install: command not found
Run Code Online (Sandbox Code Playgroud)

我猜想,启动时并没有使用GRUB。

看起来不是虚拟机。我检查了一些文件。它似乎在裸机上运行。但配置很小:顶部仅显示少数进程,并且在 ssh 上,如果我需要更完整的功能,系统会提示我“取消最小化”。

我倾向于认为使用了 SysV:

ls /etc/init.d
apport          bluetooth  hwclock.sh  network-manager  procps                       rsync  udev
avahi-daemon    dbus       iwpmd       nfs-common       pulseaudio-enable-autospawn  saned  unattended-upgrades
binfmt-support  gdm3       kmod        pppd-dns         rpcbind                      ssh    x11-common
Run Code Online (Sandbox Code Playgroud)

但:

runlevel
unknown
Run Code Online (Sandbox Code Playgroud)

并且 /etc/inittab 不存在。

Q1:如何诊断是什么东西启动的?

Q2:如何重启?理想情况下,使用 systemd。

sudo reboot
System has not been booted with systemd as init system (PID 1). Can't …
Run Code Online (Sandbox Code Playgroud)

grub boot sysv systemd reboot

13
推荐指数
3
解决办法
2852
查看次数

Centos 6.5 auditd 无法启动 service or /etc/init.d/audit start

失败:

# service auditd start
Starting auditd:                                           [FAILED]
Run Code Online (Sandbox Code Playgroud)

失败:

# /etc/init.d/auditd start
Starting auditd:                                           [FAILED]
Run Code Online (Sandbox Code Playgroud)

令人沮丧的是 - 有效:

# bash /etc/init.d/auditd start
Starting auditd:                                           [  OK  ]
Run Code Online (Sandbox Code Playgroud)

我在 bash /etc/init.d/auditd 的不同地方添加了类似 echo 1 echo 2 的东西,所以看看脚本采用的路径,但无济于事。

最终运行但失败的命令是

env -i PATH=/sbin:/usr/sbin:/bin:/usr/bin TERM=xterm /etc/init.d/auditd start
Run Code Online (Sandbox Code Playgroud)

为什么添加 bash 使它起作用?寻找故障排除的想法。

根据 Michaels 建议使用 run_init,我可以从 bash 中获得一些有意义的调试:

# run_init bash -x /etc/init.d/auditd start
[...]
+ /bin/bash -c 'ulimit -S -c 0 >/dev/null 2>&1 ; auditd '
+ '[' 6 -eq 0 ']'
+ failure 'auditd …
Run Code Online (Sandbox Code Playgroud)

init.d auditd sysv centos6.5

6
推荐指数
1
解决办法
1万
查看次数

Debian Jessie UpStart / Systemd / SysV 不再重启

我已经在安装了 Upstart 的 Jessie 服务器上进行了一些测试,并将其替换为 SysV,反之亦然。

在此之后,我无法再重新启动。

root@amoo-001:~# reboot
Failed to talk to init daemon.

root@amoo-001:~# systemctl reboot
Failed to get D-Bus connection: Unknown error -1
Run Code Online (Sandbox Code Playgroud)

debian upstart sysv systemd

3
推荐指数
1
解决办法
4724
查看次数

标签 统计

sysv ×3

systemd ×2

auditd ×1

boot ×1

centos6.5 ×1

debian ×1

grub ×1

init.d ×1

reboot ×1

upstart ×1