df vs du 私のディスクは本当にいっぱいですか?


13

奇妙な問題...

完全/パーティションが使用されているのに、実際には使用されないのはなぜですか?

速い情報:

xwing ~ # df -h
Filesystem      Size  Used Avail Use% Mounted on
rootfs           16G   15G   75M 100% /
/dev/root        16G   15G   75M 100% /
devtmpfs        5,9G     0  5,9G   0% /dev
tmpfs           5,9G  552K  5,9G   1% /run
rc-svcdir       1,0M   72K  952K   8% /lib64/rc/init.d
cgroup_root      10M     0   10M   0% /sys/fs/cgroup
shm             5,9G     0  5,9G   0% /dev/shm
cachedir        4,0M  4,0K  4,0M   1% /lib64/splash/cache
/dev/sda1       124M   43M   76M  36% /boot
/dev/sda5        63G   25G   36G  42% /home
/dev/sda6       483G  147G  312G  33% /mnt/data
tmpfs           8,0G     0  8,0G   0% /var/tmp/portage

たぶんiノードですか?いや...

xwing ~ # df -i
Filesystem       Inodes  IUsed    IFree IUse% Mounted on
rootfs          1048576 548459   500117   53% /
/dev/root       1048576 548459   500117   53% /
devtmpfs        1525561    517  1525044    1% /dev
tmpfs           1525918    374  1525544    1% /run
rc-svcdir       1525918     61  1525857    1% /lib64/rc/init.d
cgroup_root     1525918      5  1525913    1% /sys/fs/cgroup
shm             1525918      1  1525917    1% /dev/shm
cachedir        1525918      2  1525916    1% /lib64/splash/cache
/dev/sda1         32768    314    32454    1% /boot
/dev/sda5       4194304 145765  4048539    4% /home
/dev/sda6      32153600  11325 32142275    1% /mnt/data
tmpfs           1525918      1  1525917    1% /var/tmp/portage

だが:

xwing ~ # du -sxh /
8,3G    /

たぶん、マウントで何かが壊れていますか?(とにかく、/ filesystemからのみファイルを計算する-xでduを使用していることに注意してください...)

/読みやすさのために追加されたスペース/

xwing ~ # mount
rootfs      on /                        type rootfs   (rw)
/dev/root   on /                        type ext4     (rw,noatime,data=ordered)
devtmpfs    on /dev                     type devtmpfs (rw,relatime,size=6102244k,nr_inodes=1525561,mode=755)
proc        on /proc                    type proc     (rw,nosuid,nodev,noexec,relatime)
tmpfs       on /run                     type tmpfs    (rw,nosuid,nodev,relatime,mode=755)
rc-svcdir   on /lib64/rc/init.d         type tmpfs    (rw,nosuid,nodev,noexec,relatime,size=1024k,mode=755)
sysfs       on /sys                     type sysfs    (rw,nosuid,nodev,noexec,relatime)
debugfs     on /sys/kernel/debug        type debugfs  (rw,nosuid,nodev,noexec,relatime)
cgroup_root on /sys/fs/cgroup           type tmpfs    (rw,nosuid,nodev,noexec,relatime,size=10240k,mode=755)
cpuset      on /sys/fs/cgroup/cpuset    type cgroup   (rw,nosuid,nodev,noexec,relatime,cpuset)
cpu         on /sys/fs/cgroup/cpu       type cgroup   (rw,nosuid,nodev,noexec,relatime,cpu)
cpuacct     on /sys/fs/cgroup/cpuacct   type cgroup   (rw,nosuid,nodev,noexec,relatime,cpuacct)
freezer     on /sys/fs/cgroup/freezer   type cgroup   (rw,nosuid,nodev,noexec,relatime,freezer)
devpts      on /dev/pts                 type devpts   (rw,nosuid,noexec,relatime,gid=5,mode=620)
shm         on /dev/shm                 type tmpfs    (rw,nosuid,nodev,noexec,relatime)
cachedir    on /lib64/splash/cache      type tmpfs    (rw,nosuid,nodev,noexec,noatime,size=4096k,mode=755)
/dev/sda1   on /boot                    type ext2     (rw,noatime)
/dev/sda5   on /home                    type ext4     (rw,noatime)
/dev/sda6   on /mnt/data                type ext4     (rw,noatime)
tmpfs       on /var/tmp/portage         type tmpfs    (rw,size=8G)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)

カーネル:

morsik@xwing ~ $ uname -a
Linux xwing 3.6.2-gentooxwing #8 SMP Sun Oct 21 21:36:53 CEST 2012 x86_64 Intel(R) Core(TM) i7-3610QM CPU @ 2.30GHz GenuineIntel GNU/Linux

本当に...私はそれについて考えられる考えからです。

私が試したもの:

  • rm -rf / usr / portage / distfiles / *の後にまだfdが開いているかどうかを確認します
  • 同期する
  • リブート
  • fsck

編集と解決策:

いつものように、私は助けを求めた後に解決策を見つけました(-;

Luke404が述べたように、どこか別の場所にマウント/パーティションを作成し、du -sh / mnt / somethingを実行すると15Gのデータがあると通知されるため、dfと同じです。

なにが問題だったの?

マウント!

後で/ homeパーティションを作成し、/ etc / fstabに追加し、/ home(/パーティション)から/ home(/ homeパーティション)にファイルをコピーしましたが、/ partの/ homeからファイルを削除するためにFORGOTをコピーしました。

そのため、古いファイルは/ home(/ partition)にありました。

しかし、なぜdu -sxhが8Gを教えてくれたのですか?簡単...

-xは、異なるマウントポイントをチェックしないように強制するため、...マウント中に/ homeをチェックしませんでした。そして、私の行方不明の/ homeがありました。

IRCで私を助けてくれたLuke404とpidpawelに感謝します。

この編集セクションを書いた後、私はここで答えを見ました、そしてScrivenerはここでポイントを得ました!

愚かな問題は愚かです(-;


ご自身の回答を投稿し、期間が終了したら受け入れてください。あるいは、Scrivenerを受け入れてください。
アンドリューB

実際、これを他の場所にマウントするとすべてがわかりますが、Scrivenerの答えは説明が一番なので、将来の人々にそれが良いことを見せてください(-;
morsik

まあ、ポイントは、あなたが貢献したもの(あなた自身の質問への回答を投稿することを許可されているもの)であろうと、彼らのものであろうと、この質問には受け入れられた答えが必要だということでした。:)ありがとう!
アンドリューB

受け入れられた答えについて-私は知っています。しかし、私は自分自身を受け入れることができることを知りませんでした(-;情報ありがとう。
morsik

回答:


13

この種の問題は常に本当に楽しいものです。

私の推測?マウントポイントの1つの下にファイルがあります。どういう意味ですか?さて、du -shはすべてのファイルを手作業で検索します。

Aというディレクトリがあるとしましょう。Aにたくさんのファイルをダンプし、Aの上に/ dev / sdbをマウントすると、df -hはduしないファイルがたくさんあると言います見つけることができます!

これは、USBドライブ、ネットワークドライブなど、定期的にマウントおよびアンマウントするマウントポイントで最も頻繁に発生します。ブート中にマウントが自動的に発生する場合、発生するウィンドウが非常に小さいため、これを見るのは非常にまれです。


2
Linuxでは、mount --bindファイルシステムをアンマウントせずにこれらを識別するのに非常に便利です。つまりmount --bind / /mnt/tmp、マウントポイントの下を確認します。マスクされたファイルを見つけて、安全に削除できます。
アンドリューB

3

(現在)到達不能な場所にあるファイルをチェックアウトしましたか?下のもののような/home ルートファイルシステム上、ごというduあなたは上の別のファイルシステムをマウントしているので、缶を見ていませんか/home

ファイルシステムをどこか他の場所にバインドマウントすることでそれらを見ることができます:

# mkdir /foo
# mount -o bind / /foo
# cd /foo
# du...
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.