systemd を使用して、開始シーケンス中に実際のサービス名を印刷します。

systemd を使用して、開始シーケンス中に実際のサービス名を印刷します。

非自動起動を有効にしており、次の代わりに起動サービスの実際の名前を簡単に管理する方法を知りたいです。

[Started] Manage, install and generate color profile

特にLinuxですべてが隠されているのが本当に嫌です。どうすれば次のように表示できますか?

[Started] service colord

明らかにこれは単なる例であり、非常に難しい詳細なデバッグ情報(可能な場合)を有効にせずに説明の代わりに開始されたサービス名を単に印刷したいと思います。

答え1

メモ:これは、systemdのログレベルを調整し、サービス名の詳細を取得する方法を示しています。


systemdのログレベルを確認するには、次のコマンドを使用できます。

$ systemctl -pLogLevel show
LogLevel=debug

次のように変更できます。

$ systemd-analyze set-log-level notice

$ systemctl -pLogLevel show
LogLevel=notice

さまざまなレベルは次のとおりです。

   --log-level=
       Set log level. As argument this accepts a numerical log level or the
       well-known syslog(3) symbolic names (lowercase): emerg, alert, crit, 
       err, warning, notice, info, debug.

再起動の間に永続的にするには、systemdの設定ファイルで編集できます。

$ grep LogLevel /etc/systemd/system.conf
#LogLevel=info

または/etc/default/grubのファイル定義で設定します。GRUB_CMDLINE_LINUXGRUB_CMDLINE_LINUX_DEFAULT

GRUB_CMDLINE_LINUX="console=tty1 console=ttyS0,115200n8 earlyprintk=ttyS0,115200 rootdelay=300 net.ifnames=0 quiet loglevel=5 rd.systemd.show_status=auto systemd.log_level=debug"
GRUB_CMDLINE_LINUX_DEFAULT="console=tty1 console=ttyS0,115200n8 earlyprintk=ttyS0,115200 rootdelay=300 net.ifnames=0 quiet loglevel=5 rd.systemd.show_status=auto systemd.log_level=debug"

その後、initramfsを再構築してください。

$ grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-693.21.1.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-693.21.1.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-1ec1e304541e429e8876ba9b8942a14a
Found initrd image: /boot/initramfs-0-rescue-1ec1e304541e429e8876ba9b8942a14a.img
done

レベルがに設定されている場合、debugsystemdのメッセージは次のようになります。

$ journalctl -b | less
Jul 13 12:06:44 centos7 systemd[1]: Activating default unit: default.target
Jul 13 12:06:44 centos7 systemd[1]: Trying to enqueue job initrd.target/start/isolate
Jul 13 12:06:44 centos7 systemd[1]: Installed new job local-fs.target/start as 20
Jul 13 12:06:44 centos7 systemd[1]: Installed new job systemd-udev-trigger.service/start as 18
Jul 13 12:06:44 centos7 systemd[1]: Installed new job systemd-udevd-control.socket/start as 8
Jul 13 12:06:44 centos7 systemd[1]: Installed new job remote-fs.target/start as 38
Jul 13 12:06:44 centos7 systemd[1]: Installed new job sysroot.mount/start as 31
Jul 13 12:06:44 centos7 systemd[1]: Installed new job swap.target/start as 17
Jul 13 12:06:44 centos7 systemd[1]: Installed new job kmod-static-nodes.service/start as 21
Jul 13 12:06:44 centos7 systemd[1]: Installed new job slices.target/start as 26
Jul 13 12:06:44 centos7 systemd[1]: Installed new job systemd-journald.service/start as 9
Jul 13 12:06:44 centos7 systemd[1]: Installed new job initrd-root-fs.target/start as 30
Jul 13 12:06:44 centos7 systemd[1]: Installed new job systemd-tmpfiles-setup-dev.service/start as 19
Jul 13 12:06:44 centos7 systemd[1]: Installed new job paths.target/start as 27
Jul 13 12:06:44 centos7 systemd[1]: Installed new job initrd.target/start as 1
Jul 13 12:06:44 centos7 systemd[1]: Installed new job initrd-fs.target/start as 42
...
...
Jul 13 12:06:44 centos7 systemd[1]: dracut-pre-udev.service: cgroup is empty
Jul 13 12:06:44 centos7 systemd[1]: ConditionPathIsReadWrite=/sys succeeded for systemd-udevd.service.
Jul 13 12:06:44 centos7 systemd[1]: About to execute: /usr/lib/systemd/systemd-udevd
Jul 13 12:06:44 centos7 systemd[1]: Forked /usr/lib/systemd/systemd-udevd as 226
Jul 13 12:06:44 centos7 systemd[1]: systemd-udevd.service changed dead -> start
Jul 13 12:06:44 centos7 systemd[1]: Starting udev Kernel Device Manager...
Jul 13 12:06:44 centos7 systemd[1]: Got cgroup empty notification for: /system.slice/dracut-pre-udev.service
Jul 13 12:06:44 centos7 systemd[1]: dracut-pre-udev.service: cgroup is empty
Jul 13 12:06:44 centos7 systemd[226]: Executing: /usr/lib/systemd/systemd-udevd
Jul 13 12:06:44 centos7 systemd-udevd[226]: ctrl=4 netlink=3

上記の出力でサービス名を明確に表示できます。systemd-journald.service

引用する

関連情報