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-nodes? Noo ...

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    /

บางทีฉันอาจมีบางสิ่งบางอย่างแตกหักบนภูเขา? (แต่อย่างไรก็ตามแจ้งให้ทราบฉันใช้ du กับ -x ซึ่งคำนวณไฟล์เท่านั้นจาก / ระบบแฟ้ม ... )

/ ช่องว่างที่เพิ่มโดยฉันเพื่อการอ่านที่ดีขึ้น /

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)

kernel:

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

จริง ๆ ... ฉันมีความคิดที่เป็นไปไม่ได้เกี่ยวกับเรื่องนี้

สิ่งที่ฉันพยายาม:

  • ตรวจสอบว่ามีบาง fd ยังคงเปิดอยู่หลังจาก rm -rf / usr / portage / distfiles / *
  • ซิงค์
  • รีบูต
  • fsck

แก้ไขและแก้ไข:

ฉันพบวิธีแก้ปัญหาเสมอหลังจากขอความช่วยเหลือ (-;

การติดตั้ง (ตามที่ Luke404 พูด) / พาร์ติชั่นที่อื่นและทำ du -sh / mnt / บางอย่างบอกว่ามีข้อมูล 15G ดังนั้นเหมือนใน df

ปัญหาคืออะไร?

ติด!

ฉันสร้าง / โฮมพาร์ติชันภายหลังเพิ่ม / etc / fstab ฉันคัดลอกไฟล์จาก / home (บน / พาร์ติชัน) ไปที่ / home (บน / โฮมพาร์ติชัน) แต่ฉันลืมที่จะลบไฟล์ออกจาก / home at / partition

ดังนั้นฉันจึงยังมีไฟล์เก่าของฉันอยู่ที่ / home (เปิด / พาร์ติชัน)

แต่ทำไม du-sxh บอกฉัน 8G? ง่าย...

-x บังคับให้ไม่ตรวจสอบจุดเมานท์ที่แตกต่างกันดังนั้น ... มันไม่ได้ตรวจสอบ / home ในขณะที่เมานท์ และมีบ้านของฉันหายไป

ขอบคุณ Luke404 และ pidpawel ที่ช่วยฉันใน IRC

หลังจากเขียนส่วนแก้ไขนี้ฉันเห็นคำตอบที่นี่และ Scrivener ได้จุดที่นี่!

ปัญหาโง่ ๆ คือโง่ (-;


โปรดบริจาคคำตอบของคุณเองและยอมรับเมื่อระยะเวลาหมดอายุ อีกทางเลือกหนึ่งคือยอมรับ Scrivener เพราะจะนำคุณไปสู่สิ่งนี้
Andrew B

ที่จริงแล้วการติดตั้งในที่อื่น ๆ บอกฉันทุกอย่าง แต่คำตอบของ Scrivener ดีที่สุดในการอธิบายดังนั้นให้คนในอนาคตเห็นว่ามันดี (-;
morsik

ประเด็นก็คือคำถามนี้ต้องการคำตอบที่ได้รับการยอมรับไม่ว่าจะเป็นคำถามที่คุณตอบ (คุณได้รับอนุญาตให้โพสต์คำตอบสำหรับคำถามของคุณเอง) หรือคำถามของพวกเขา :) ขอบคุณ!
Andrew B

เกี่ยวกับคำตอบที่ยอมรับ - ฉันรู้ แต่ฉันไม่รู้ว่าฉันสามารถยอมรับตัวเองได้ (-; ขอบคุณสำหรับข้อมูล
morsik

คำตอบ:


13

ปัญหาแบบนี้สนุกจริงๆเสมอ

ฉันเดา คุณมีไฟล์อยู่ใต้จุดเมานต์อย่างใดอย่างหนึ่ง นั่นหมายความว่าอย่างไร? ดี -sh จะไปด้วยมือผ่านไฟล์ทั้งหมดที่สามารถค้นหา

สมมติว่าฉันมีไดเรกทอรี A. ถ้าฉันถ่ายโอนไฟล์ไปยัง A แล้วติดตั้งพูด / dev / sdb ที่ด้านบนของ A, df -h จะบอกว่าฉันมีไฟล์มากมายที่ du จะไม่ หาได้!

สิ่งนี้มักเกิดขึ้นกับจุดเมานท์ที่เมานต์และเมานท์เป็นประจำเช่นไดรฟ์ 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.