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    /

어쩌면 마운트에 문제가 있습니까? (그러나 어쨌든, 나는 / 파일 시스템에서만 파일을 계산하는 -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

편집 및 솔루션 :

항상 도움을 요청한 후에 해결책을 찾았습니다 (-;

마운트 (Lucy404가 말했듯이) / 다른 곳에서 파티션하고 du -sh / mnt / something을 수행하면 15G의 데이터가 있다고 말 했으므로 df와 같습니다.

문제는 무엇 이었습니까?

산!

나중에 / home 파티션을 작성하고 / etc / fstab에 추가 한 후 / home (on / partition)에서 / home (/ home partition)으로 파일을 복사했지만 / home at / partition에서 파일을 제거하기 위해 FORGOT을 수행했습니다.

그래서 나는 여전히 / home (on / partition)에 오래된 파일을 가지고있었습니다.

그런데 왜 du-sxh가 8G를 말했습니까? 쉬운...

-x는 다른 마운트 포인트를 강제로 검사하지 않으므로 마운트되는 동안 / home을 확인하지 않았습니다. 그리고 내 실종 / 집이 있었다.

IRC에 도움을 준 Luke404와 pidpawel에게 감사드립니다.

이 편집 섹션을 작성한 후 여기에서 답변을 보았으며 Scrivener가 여기에 포인트를 얻었습니다!

바보 같은 문제는 바보입니다 (-;


답변을 제출하고 기간이 만료되면 수락하십시오. 또는 Scrivener의 안내에 따라 수락하십시오.
Andrew B

사실, 이것을 다른 곳에 설치하면 모든 것이 나에게 말해졌지만 Scrivener의 대답은 설명하는 것이 가장 좋으므로 미래 사람들에게 그것이 좋을 것입니다 (-;
morsik

요점은이 질문이 당신이 기고 한 질문이든 (자신의 질문에 대한 답변을 게시 할 수 있는지), 또는 그들의 질문이든 받아 들여진 대답이 필요하다는 것입니다. :) 감사!
Andrew B

허용 된 답변에 대해-알고 있습니다. 그러나 나는 내가 내 자신을 받아 들일 수 있다는 것을 몰랐다 (-; 정보 주셔서 감사합니다.
morsik

답변:


13

이런 종류의 문제는 항상 정말 재미 있습니다.

내 추측? 마운트 지점 중 하나 아래에 파일이 있습니다. 그게 무슨 뜻이야? du-sh는 찾을 수있는 모든 파일을 직접 살펴볼 것입니다.

디렉토리 A가 있다고 가정 해 봅시다. 파일을 A에 덤프 한 다음 A 위에 / dev / sdb를 마운트하면 df -h는 파일이 없다고 말할 것입니다. 찾을 수 있습니다!

이는 USB 드라이브, 네트워크 드라이브 등과 같이 정기적으로 마운트 및 마운트 해제되는 마운트 지점에서 가장 자주 발생합니다. 부팅하는 동안 창이 너무 작기 때문에 마운트 중에 마운트가 자동으로 수행되는 경우보기가 훨씬 더 어렵습니다.


2
Linux에서는 mount --bind파일 시스템을 마운트 해제하지 않고이를 식별하는 데 매우 유용합니다. 즉 mount --bind / /mnt/tmp, 마운트 지점을 확인하십시오. 마스크 된 파일을 찾아 안전하게 제거 할 수 있습니다.
Andrew B

3

(현재) 접근 할 수없는 장소에있는 파일을 체크 아웃 했습니까? 아래 물건처럼 /home 루트 파일 시스템에 , 당신의 것을 du당신에 다른 파일 시스템을 장착했기 때문에 캔 보지 /home?

파일 시스템을 다른 곳에 바인드 마운트하여 해당 파일을 살펴볼 수 있습니다.

# mkdir /foo
# mount -o bind / /foo
# cd /foo
# du...
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.