特定のディレクトリにアクセスすると、Rancherコンテナのシェルで権限エラーが発生しますが、権限が正しく設定されています。次に、そのディレクトリのリンク数が次のようにゼロであることを確認しました。
ただし、すべてのディレクトリの最小リンク数はself.
とparentの2つです..
。では、ここにゼロが表示されるのはなぜですか?私は理解できません。今、私はこのシェルがどのinodeを指しているかを確認するためにこのシェルにアクセスできませんが(ls -i)空になると思います(本当にわかりません、TBH)。
問題が解決したら、削除してもう一度確認してみましょうmkdir
。しかし、なぜこれが起こるのか本当に知りたいです。
ありがとうございます! !
PS:Rancherコンテナとしてどのような影響を与えるのかわかりません。
答え1
POSIXでは、少なくとも2つのリンク数が必要です。通常、2 +サブディレクトリの数(ディレクトリがrmdir'dではない場合)が必要です。ディレクトリが削除されると、リンクの数は通常ゼロです。
ただし、すべてのファイルシステムがPOSIXであるわけではありません。通常のファイルシステムはUNIXではルートファイルシステムとして使用できますが、btrfsはルートファイルシステムとしてはうまく機能しますが、POSIXではないため、唯一の例外です。
GNU/Linux (および他のすべての POSIX システムではありませんが、ほとんど) でファイルシステムが POSIX セマンティクスに従わない場合、通常はリンク数 1 を使用します。いいえ。 GNU findなどのユーティリティは、リンク数が1の特殊ディレクトリをPOSIXではないものとして扱い、それに適応し、パフォーマンスが低下する可能性があります。
あなたの場合、リンク数が1の場合、これはPOISIXではなくファイルシステムであることを示し、リンク数が0の場合は合理的な値ではないため、ファイルシステムの実装のバグに似ています。