sysctl.conf
過去のゲームに関する公式文書はどこで見つけることができますか?
したがって、ファイルには2つの項目があります/etc/sysctl.conf
。
vm.swappiness=10
vm.swappiness=11
どちらが勝ちますか?最後のもの?ディレクトリにファイルがあるとどうなりますか/etc/sysctl.d
?
ベストアンサー1
このような正式な文書はないようです。sysctl
アイテムは次のように処理されます。procps
とシステムですが、両方のプロジェクトのドキュメントは、同じ設定ファイル内のエントリを処理する方法を説明しています。
つまり、sysctl.conf
他のファイル(そのファイルまたは別の場所)があっても、/etc/sysctl.d
どのシステムロード設定が使用されているかに関係なく、最後のエントリが適用されます。
procps
アイテムの処理方法を理解するには、次の点procps
を見てください。ソースコードsysctl
。これは、前の項目の知識なしに後の項目が処理されるため、最後の項目が勝利することを示します(該当するPreload
関数を参照)。複数の設定ファイルがコマンドラインに提供されると、設定ファイルは次の説明に従って順番に処理されます。マニュアルページ:
このオプションは、引数が
sysctl
指定された順序で読み取られるファイルであることを意味します。
このオプションを使用すると、状況が少し複雑になります--system
。しかし、少なくとも文書化されています。
すべてのシステム構成ファイルから設定をロードします。上から下に与えられた順序で、次のリストのディレクトリからファイルを読み込みます。指定されたファイル名を持つファイルがロードされると、後続のディレクトリにある同じ名前のファイルはすべて無視されます。
/run/sysctl.d/*.conf
/etc/sysctl.d/*.conf
/usr/local/lib/sysctl.d/*.conf
/usr/lib/sysctl.d/*.conf
/lib/sysctl.d/*.conf
/etc/sysctl.conf
文書が完全ではありません。前述のように、特定のファイルのエントリは順次適用され、同じ設定に対して以前に指定されたすべての値をオーバーライドします。さらにPreloadSystem
関数を見ると、ファイルは名前順に処理され、/etc/sysctl.conf
無条件(つまり以前のディレクトリの同じ名前のファイルは上書きされません。)
システム
systemdには独自のsysctl
ハンドラがあり、次のドキュメントで説明されています。このsysctl.d
ヘルプページ;優先順位に関するセクションがあります:
/etc/
設定ファイルは、、、/run/
および優先順位に従ってディレクトリから読み取られます。/usr/lib/
これらの構成ディレクトリの各構成ファイルは、次の形式で名前が付けられます。filename
.conf
。のファイルは/etc/
、と同じ名前のファイルを上書きします。のファイルを上書きします。/run/
/usr/lib/
/run/
/usr/lib/
[...] すべての構成ファイルは、そのファイルが置かれているディレクトリに関係なく、ファイル名に基づいてアルファベット順にソートされます。複数のファイルが同じオプションを指定する場合は、アルファベット順に最新の名前を持つファイルエントリが優先されます。ファイルの並べ替えを簡素化するには、すべてのファイル名の前に2桁の数字とダッシュを付けることをお勧めします。
同様に、単一の構成ファイルの後続の項目は前の項目を上書きします。