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/system
4つのディレクトリです。
データベース/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
このインスタンス化されたテンプレートは、クライアント - サーバー接続を確立して進捗情報を表示し、それを順番に実行するプログラムを実行するサービスですfsck
。 systemd-fsck
解釈されたスクリプトではなく、コンパイルされたCプログラムです。
追加読書
- 「新機能:システムとサービス」。 Red Hat Enterprise Linux 7 リリースノート。赤い帽子。
- ウェイドリー、スティーブン(2014)。 「8. systemd を使用したサービスの管理」 Red Hat Enterprise Linux 7 システム管理者ガイド。赤い帽子。
- systemd-fstab-ジェネレータ。システムのマニュアルページ。 freedesktop.org.
- [Eメール保護]。システムのマニュアルページ。 freedesktop.org.
- マウントシステム。システムのマニュアルページ。 freedesktop.org.
- https://unix.stackexchange.com/a/204075/5132
- https://unix.stackexchange.com/a/196014/5132
答え2
CentOS 7がまだSysV設定を使用している場合は、呼び出される場所を表示する必要がある/etc/rc.d
すべてのスクリプトを簡単に見てみましょう。grep
スクリプト自体はディレクトリに接続されています(名前の下、優先順位が前に表示されます)/etc/rc/X
。ソートするのはそれほど難しくありません。スクリプトを理解することはまったく異なることです。
すでに使用している場合systemd
(例:ここ概要)設定ファイルが配置され/lib/systemd
、特定の設定が配置されます/etc/systemd
。もう一度信頼をつかみ、grep(1)
深く掘り下げてみてください。