Fsckスクリプトの場所

Fsckスクリプトの場所

CentOS 7で起動時にfsckを実行するスクリプトの種類を知る必要がありますか?すべてのシナリオは/etc/rc.dディレクトリにあることを知っています。しかし、このスクリプトがどこにあるのかわかりません。

答え1

/etc/rc.d私はすべてのシーンがディレクトリにあることを知っています。

あなたが知っているすべてが間違っています。

CentOS 7へようこそ。世界は変わりました。特にRed Hat Enterprise Linux 7ベースが変更されました。システム化されたLinuxオペレーティングシステムを使用しています。 Linuxに対する多くの一般的な信念は、この種のシステムには適用されません。

fsckはいどのスクリプトでもまったく実行されません。systemd Linuxオペレーティングシステムで。

systemdのデフォルト形式は次のとおりです。単位、これサービスユニットまたは設置単位。 systemdのサービス管理は、システム全体で読み取られた内容.service.mountファイルが存在する可能性がある9つのディレクトリのうちの1つに基づいて適切なタスクのみを実行します。 /etc/systemd/system、、、/run/systemd/systemおよび/usr/local/lib/systemd/system/usr/lib/systemd/system4つのディレクトリです。

データベース/etc/fstabは、というプログラムによってインストール単位に変換されますsystemd-fstab-generator。プログラムは/usr/lib/systemd/system-generators/ディレクトリにリストされているため、起動するたびに起動プロセスの最初にsystemdによって自動的に実行され、後でsystemdに設定を再ロードするように指示されたときはいつでも再実行されます。

このアプリは発電機、この9つのディレクトリのうち、追加の3つを含むtmpfsに単位ファイルを動的に生成するタスクを実行するヘルパーユーティリティです(コンストラクタでのみ使用されます)。ボリュームをマウントするための単位をsystemd-fstab-generator作成します。.mountこれは順番に.service運用単位を表しますfsck

これらのfsckサービスユニットはファイルシステム自体にファイルとして存在せず(tmpfsにもない)、ジェネレータの製品ではありません。彼らインスタンス化でシステム化する金型という名前のサービスユニットファイルは、[email protected]デバイス名をサービスユニットインスタンス名として使用します。インスタンス化は、単位Requires=After=参照の生成の結果として発生します。systemd-fsck@device.service.mount

systemd-fsckこのインスタンス化されたテンプレートは、クライアント - サーバー接続を確立して進捗情報を表示し、それを順番に実行するプログラムを実行するサービスですfscksystemd-fsck解釈されたスクリプトではなく、コンパイルされたCプログラムです。

追加読書

答え2

CentOS 7がまだSysV設定を使用している場合は、呼び出される場所を表示する必要がある/etc/rc.dすべてのスクリプトを簡単に見てみましょう。grepスクリプト自体はディレクトリに接続されています(名前の下、優先順位が前に表示されます)/etc/rc/X。ソートするのはそれほど難しくありません。スクリプトを理解することはまったく異なることです。

すでに使用している場合systemd(例:ここ概要)設定ファイルが配置され/lib/systemd、特定の設定が配置されます/etc/systemd。もう一度信頼をつかみ、grep(1)深く掘り下げてみてください。

関連情報