dfに複数のtmpfsエントリが含まれているのはなぜですか?

dfに複数のtmpfsエントリが含まれているのはなぜですか?

私が知っている限り、これにはdf -a「偽、重複、およびアクセスできないファイルシステム」が含まれます。これにより、次のような多数のマウントが隠されます。

udev             8055632         0   8055632   0% /dev
devpts                 0         0         0    - /dev/pts

-a...該当するオプションを通過しないと表示されません。ただし、失敗した場合は何が含まれているかに興味があります-a

Filesystem     1K-blocks      Used Available Use% Mounted on
tmpfs            1624300      3292   1621008   1% /run
/dev/sda1      122485360  12664524 103552780  11% /
tmpfs            8121496     60308   8061188   1% /dev/shm
tmpfs               5120         4      5116   1% /run/lock
/dev/sdb1      460366888 154205092 282702932  36% /home
tmpfs            1624296      1688   1622608   1% /run/user/1000
/dev/sdc2      488282108 324162964 164119144  67% /media/jez/Picard - Main [C]

私の観点から見ると、3つの「物理」パーティションは、、、およびです。sda1これsdb1sdc2物理ディスクの物理パーティションを指します。df基本出力に他のマウントも含まれることはどのように決定されますかtmpfstmpfs「医師」ファイルシステムではありませんか?

答え1

一時ファイルシステム擬似ファイルシステムではなく、仮想メモリに内容を格納する物理ファイルシステムです。違いは、疑似ファイルシステムが以下を提供することです。表現する実際のファイルシステムはアーティファクトを直接保存します。

重要なのは、df疑似ファイルシステムはデータを直接追加できないため、通常の方法でストレージ容量を消費できないことです。物理ファイルシステムできる不十分なストレージスペース、それがdf本当に「気になる」部分です。 tmpfs ファイルシステムはいっぱいになる可能性があるため、デフォルトで一覧表示されます。

答え2

df(POSIXにはこのフラグがないため、GNUで動作します。)ゼロ以外のサイズでマウントされたファイルシステムはデフォルトで表示され-aますdf

はい

df -ah

Filesystem      Size  Used Avail Use% Mounted on
/dev/root       7.9G  5.6G  2.0G  74% /
devtmpfs        458M     0  458M   0% /dev
proc               0     0     0    - /proc
sysfs              0     0     0    - /sys
tmpfs           462M  1.1M  461M   1% /dev/shm
devpts             0     0     0    - /dev/pts
tmpfs           185M  1.5M  184M   1% /run
tmpfs           5.0M  8.0K  5.0M   1% /run/lock
cgroup2            0     0     0    - /sys/fs/cgroup
systemd-1          -     -     -    - /proc/sys/fs/binfmt_misc
mqueue             0     0     0    - /dev/mqueue
sunrpc             0     0     0    - /run/rpc_pipefs
debugfs            0     0     0    - /sys/kernel/debug
tracefs            0     0     0    - /sys/kernel/tracing
fusectl            0     0     0    - /sys/fs/fuse/connections
configfs           0     0     0    - /sys/kernel/config
ramfs              0     0     0    - /run/credentials/systemd-sysctl.service
ramfs              0     0     0    - /run/credentials/systemd-sysusers.service
ramfs              0     0     0    - /run/credentials/systemd-tmpfiles-setup-dev.service
/dev/mmcblk0p1   63M   22M   42M  35% /boot
ramfs              0     0     0    - /run/credentials/systemd-tmpfiles-setup.service
binfmt_misc        0     0     0    - /proc/sys/fs/binfmt_misc
tmpfs            93M     0   93M   0% /run/user/1001

デフォルトでは、サイズ0の項目(2番目の列)は省略されます。つまり、次のファイルシステムは次のようになります。

Filesystem      Size  Used Avail Use% Mounted on
proc               0     0     0    - /proc
sysfs              0     0     0    - /sys
devpts             0     0     0    - /dev/pts
cgroup2            0     0     0    - /sys/fs/cgroup
systemd-1          -     -     -    - /proc/sys/fs/binfmt_misc
mqueue             0     0     0    - /dev/mqueue
sunrpc             0     0     0    - /run/rpc_pipefs
debugfs            0     0     0    - /sys/kernel/debug
tracefs            0     0     0    - /sys/kernel/tracing
fusectl            0     0     0    - /sys/fs/fuse/connections
configfs           0     0     0    - /sys/kernel/config
ramfs              0     0     0    - /run/credentials/systemd-sysctl.service
ramfs              0     0     0    - /run/credentials/systemd-sysusers.service
ramfs              0     0     0    - /run/credentials/systemd-tmpfiles-setup-dev.service
ramfs              0     0     0    - /run/credentials/systemd-tmpfiles-setup.service
binfmt_misc        0     0     0    - /proc/sys/fs/binfmt_misc

その結果、次の基本出力が表示されます。

df -h

Filesystem      Size  Used Avail Use% Mounted on
/dev/root       7.9G  5.6G  2.0G  74% /
devtmpfs        458M     0  458M   0% /dev
tmpfs           462M  1.1M  461M   1% /dev/shm
tmpfs           185M  1.5M  184M   1% /run
tmpfs           5.0M  8.0K  5.0M   1% /run/lock
/dev/mmcblk0p1   63M   22M   42M  35% /boot
tmpfs            93M     0   93M   0% /run/user/1001

infoこれはとの文書と一致しませんman

引数がない場合は、df現在マウントされているすべてのファイルシステム(すべてのタイプ)の使用済みスペースと空きスペースを報告します。

だけでなく

-a --allデフォルトでは、無視される仮想、重複、またはアクセスできないファイルシステムをリストに含めます。

これはソースコード(coreutils、)df.cで確認されます。以下は、コマンドラインに明示的にリストされているファイルシステムによって設定されたfsu_blocksファイルシステムブロックの数です。show_all_fs-ashow_listed_fs

if (fsu.fsu_blocks == 0 && !show_all_fs && !show_listed_fs)
  return;

関連情報