ファイルシステムの標準にはどんな継続的なメンテナンスが必要ですか? 要件の微妙な変化への適応 - 今日のセキュリティ関連の要件は非常に異なる - パフォーマンス関連の要件や特性も非常に異なる - 様々なエッジケースへのニーズも異なるし、最後に、うまくいったこととそうでないことに基づいて適応する必要があります。記事でまだ言及されていないいくつかの例を挙げると、 - /boot -- efistubブートを使うと死んでいるか、少なくとも異なる使われ方をしています - /etc/X11 -- waylandでは半分死んでいます - /etc/xml, /etc/sgml -- 死んでいます、私の意見では存在すべきではありませんでした - そもそも、なぜ/etc/{X11,xml,sgml}が標準の明示的な部分だったのか? /etcの仕様が、例えばX11が使われている限り、すでにそれを暗示しているのに。?? - /media -- ディストリビューションによっては死んでいる/半分死んでいる、/run/media/{username}/{mount}に置き換えられています - /sbin -- 「論争の的」;もはや必要ないという頻繁に繰り返される議論があり、意図した通りには機能しませんでした。非常に古いスタイルのシンクライアントには役立ちましたが、/sbinはストレージにあり、/binはマウントされていました。今でも意味があるエッジケースもありますが、大半は「別の問題のための回避策で、適切に修正する方が良い」です。 - /tmp -- 「論争の的」、セキュリティ問題の長い歴史があり、プログラムごとの/tmpディレクトリがセキュリティ問題を解決します(例:systemdサービスのPrivateTmpオプション)が、「実行中のプロセス」ではなく「プログラム」の概念が必要です(例:systemdサービスやflatpakプログラムによって)。また、tmpfiles.dもここで役立ちます。 - /usr/libexec -- 死んでいます、良いアイデアですが、不要な複雑さを引き起こし、suidなどと組み合わせると非常に誤解を招くことがあります - /usr/sbinは/sbinを参照 - /usr/share/{color,dict,man,misc,ppd,sgml,xml} -- 標準に含まれるべきではなく、/usr/shareの定義によって暗示されています;少なくともsqml,xmlは死んでいます。dictはスペルチェック/オートコンプリート用でしたが、どちらもdictが期待するようには機能しなくなっています - /var/account -- 一部の部分的に死んだプログラムのサブセットに特有すぎて、標準に含まれるべきではありません - /var/crash -- ディストリビューション特有の混乱 - /var/games -- 基本的に死んでいる/セキュリティの混乱、99%のゲームは今日、ユーザーごとにインストールされています(例:Steam)し、パッケージ化されたものでも、可変のダウンロードデータはユーザーごとに異なり、共有すると権限/セキュリティの混乱を引き起こします - /var/lock -- すでに言及したように、今ではより良い技術的解決策があります。例えば、「ファイルの存在」ではなくflockを使用するなど。他にも、クラッシュしたプログラムが「ロックファイル」をクリーンアップしない問題を避ける傾向があります。 - /var/mailは、メールを管理する非常に古い形式を前提としており、特定のプログラムに特有です。非常にプログラム特有なので、私の意見では標準に含まれるべきではありません - 様々なレガシープログラム特有の、非「一般的」なファイルシステム要件、例えば/usr/lib/sendmailが存在し、sendmail互換プログラムへのリンクでなければならないというもの。また、欠けている部分: - /run/user/{uid} - /var/run/user/{uid} - /proc - /sys - ユーザー側のバージョン(例:XDG仕様からのもので、私の個人的な経験ではややゾンビ状態です。例:.config, .local/{bin,share}) - 軽量サンドボックスへの言及、例:プログラムごとの/tempなど - 工場出荷時リセットのためのもの(/usr/share/factory)、Linuxで販売されるデバイスとデバイス特有のディストリビューションのカスタマイズのための均一な方法を持つために必要です(例:steam deck)ので、はい、かなり古くなっています。