init プログラムの中身を確認したい

投稿者: Anonymous

Ubuntu システムの初期化処理として何が行われるのかを理解したくなりました。

自分の理解ですと、システムのスタート時、 init プロセスが最初に起動されるプロセスで、このプロセスからすべてのその他プロセスを fork していくのだと理解しています。init プロセスの実体は /sbin/init ではないかとあたりをつけ、中身をのぞこうとしたのですが、これはバイナリでした。

init が中身で何をやっているのかを確認したいのですが、そのソースはどうやったら or どこから取得できますか?

解決

現在、Ubuntu の init は Systemd です。
(774RRさんの回答で気付きましたが、一つ前の LTS が 14.04 で現役で、Systemd のデフォルト採用は 15.04 以降ですから、Ubuntuサーバはまだ Upstart で動いている物が多いのかもしれません)


パッケージシステムによって管理されていそうなファイルは、それがどのパッケージに属しているか検索する方法があります。
Ubuntu のような Debian 系であれば、dpkgコマンドです。

dpkg -S /sbin/init
# 所属パッケージは systemd-sysv

apt show systemd-sysv
# systemd-sysv はリンクを提供するパッケージとの事

ls -l /sbin/init
# /sbin/init -> /lib/systemd/systemd
# 最初に確認しておく方がよい

dpkg -S /lib/systemd/systemd
# 実行ファイル本体は systemd パッケージに所属
回答者: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *