MTD フラッシュ デバイスで busybox と UBI ファイル システムを使用すると、du コマンドと df コマンドが無効な値を提供します。

MTD フラッシュ デバイスで busybox と UBI ファイル システムを使用すると、du コマンドと df コマンドが無効な値を提供します。

MTD パーティションに UBIFS がインストールされており、サイズは 191.9 MB です。

mtdinfo -a を実行すると、パーティションに以下が表示されます。

mtd6
Name:  data2fs
Type:  nor
Eraseblock size:  65536 (64KB)
Amount of Erase Blocks: 3071 (201261056 bytes, 191.9MB)
etc...

ただし、df -hを実行すると、次の結果が表示されます。

               size     used    free
ubi2:data2fs   680.2G   20.0K   664.2G

なぜですか? - 私のすべてのマウントは次のとおりです(この質問に対して私が選択したマウントです)。

特定のファイル「test.log」の場合:

  • data2fsでdu -ahを実行すると、次の結果が表示されます。4.0K test.log
  • ls -l を実行すると、次のような結果が得られます。 (test.log 40 bytesこれは実際の値です。)

なぜlsがうまくいくのかわかりませんが、du / dfは他の結果をもたらします...

修正する

テストの結果、stat -f /mnt/data2fs正解が出たようです。

Block Size: 4096
Total: 43738 (4096 x 43738 = 170.85MB)
Free: 43732
Avail: 42522

これはおおよその推定値です(UBIFSのオーバーヘッドが5〜10%なので、191MBではありません)。

ベストアンサー1

おすすめ記事