ไม่มีพื้นที่เหลือบนอุปกรณ์แม้ว่าจะมี


14

แล็ปท็อปที่มีหน้าจอแตกที่ฉันเข้าถึงผ่าน SSH sudo apt-get autoremoveคำสั่งให้ฉันข้อผิดพลาดดังต่อไปนี้

cp: error writing ‘/tmp/mkinitramfs_zN6ZvT//lib/x86_64-linux-gnu/libpthread.so.0’: No space left on device
cp: failed to extend ‘/tmp/mkinitramfs_zN6ZvT//lib/x86_64-linux-gnu/libpthread.so.0’: No space left on device
cp: error writing ‘/tmp/mkinitramfs_zN6ZvT//sbin/modprobe’: No space left on device
cp: failed to extend ‘/tmp/mkinitramfs_zN6ZvT//sbin/modprobe’: No space left on device
cp: error writing ‘/tmp/mkinitramfs_zN6ZvT//sbin/rmmod’: No space left on device
cp: failed to extend ‘/tmp/mkinitramfs_zN6ZvT//sbin/rmmod’: No space left on device

ฉันได้รับข้อผิดพลาดที่คล้ายกันจากคำสั่งอื่น ๆ แต่gpartedบอกฉันว่ามีพื้นที่เหลือมากกว่า 20GB ในพาร์ติชัน (เดี่ยว) บนแล็ปท็อป นี่คือผลลัพธ์ของdf

$ df -i
Filesystem      Inodes  IUsed   IFree IUse% Mounted on
udev            502644    484  502160    1% /dev
tmpfs           505433    503  504930    1% /run
/dev/sda1      7331840 214087 7117753    3% /
none            505433      2  505431    1% /sys/fs/cgroup
none            505433      3  505430    1% /run/lock
none            505433      4  505429    1% /run/shm
none            505433     16  505417    1% /run/user
overflow        505433    401  505032    1% /tmp

และ:

$ df -k
Filesystem     1K-blocks     Used Available Use% Mounted on
udev             2010576       12   2010564   1% /dev
tmpfs             404348     1284    403064   1% /run
/dev/sda1      115247656 83994028  25809372  77% /
none                   4        0         4   0% /sys/fs/cgroup
none                5120        0      5120   0% /run/lock
none             2021732      204   2021528   1% /run/shm
none              102400       16    102384   1% /run/user
overflow            1024     1024         0 100% /tmp

sudo apt-get upgradeข้อผิดพลาดเริ่มต้นหลังจากที่ฉันวิ่ง


โปรดลบไฟล์ที่ไม่จำเป็นด้วย: sudo apt autoremoveและตรวจสอบพื้นที่ของคุณอีกครั้ง
George Udosen

คุณเคยลองsudo apt autocleanไหม
Ravexina

Ehmm ในคำถามที่กล่าวถึงว่า autoremove ให้ฉันข้อผิดพลาด autoclean ไม่ทำอะไรเลย
Reza

คำตอบ:


6

ในบางจุดที่ผ่านมาระบบไฟล์รูทของคุณเต็มไปด้วยและมีขนาดเล็กชั่วคราว / tmp ถูกสร้างขึ้นเพื่อให้การบูทสำเร็จ ขนาดเล็ก / tmp นี้ไม่เคยถูกลบดังนั้นตอนนี้แม้ว่าคุณจะมีพื้นที่ว่างบน / คุณยังคงเติมขนาดเล็ก / tmp และพบปัญหาของคุณ เพียงยกเลิกการต่อเชื่อมมัน

sudo umount /tmp

และแน่นอนพยายามทำให้ / ของคุณสะอาดเท่าที่จะทำได้


โดยปกติแล้ว / tmp เป็นเพียงส่วนหนึ่งของระบบไฟล์รูท (/) ไม่จำเป็นต้องทำการเมานต์แยกกันเว้นแต่จะมีสถานการณ์พิเศษเช่นการทำงานที่ไม่มีรูทไฟล์ (เมื่อ daemon บางตัวสร้างสิ่งที่คุณเห็น) หรือบางทีคุณอาจมี / บนสื่อที่ช้ามาก (เช่นแท่งแฟลช USB) และต้องการ / tmp ใน ram เพื่อประสิทธิภาพแม้มีพื้นที่ จำกัด


ตกลงฉันทำเช่นนั้นโดยใช้ตัวเลือก -l และวิ่ง autoremove ฉันจะติดตั้งกลับมาตอนนี้ได้อย่างไร
Reza

umount: /tmp: not mountedมันทำให้ฉัน ฉันควรทำอย่างไรดี ?
mrid

คุณมีปัญหาแตกต่างกันดังนั้นถามคำถามของคุณเองและให้ข้อมูลเฉพาะของคุณ
ubfan1

10

หากคุณพบปัญหานี้ที่คุณได้รับข้อผิดพลาดที่ดูเหมือนว่าบ่งชี้ว่าดิสก์เต็มเมื่อไม่ได้ตรวจสอบให้แน่ใจว่าได้ตรวจสอบการใช้งานไอโหนด

คุณสามารถใช้df -iเพื่อรับรายงานฉบับย่อเกี่ยวกับ inodes ใช้ / ที่มีอยู่สำหรับแต่ละจุดเชื่อมต่อ

หากคุณเห็นว่าคุณกำลังทำงานน้อยหรือหมด inodes แล้วขั้นตอนต่อไปคือการระบุว่าโฟลเดอร์ใดที่ถือ inodes ส่วนใหญ่ เนื่องจากแต่ละไฟล์และไดเร็กตอรี่ใช้ inode, คุณอาจมีโฟลเดอร์ที่มีไฟล์เล็ก ๆ หรือไฟล์เปล่าที่ใช้ inode ทั้งหมดจำนวนนับหมื่น ผู้ต้องสงสัยตามปกติรวมถึง: ไดเรกทอรีชั่วคราวไดเรกทอรีแคชเว็บไซต์ไดเรกทอรีแคชแพคเกจ ฯลฯ

ใช้คำสั่งนี้เพื่อรับรายการสั่งซื้อของไดเรกทอรีย่อยที่มี inodes มากที่สุดที่ใช้:

sudo find . -xdev -type f | cut -d "/" -f 2 | sort | uniq -c | sort -n

เรียกใช้สิ่งนี้ในโฟลเดอร์รูทของคุณจากนั้นเจาะลึกจนกว่าคุณจะพบผู้ร้าย


6

ฉันเชื่อว่าคุณมีไฟล์จำนวนมากที่ไม่ได้ใช้ลบออกด้วย:

sudo apt autoremove

จากนั้นตรวจสอบพื้นที่ของคุณอีกครั้งด้วยdfคำสั่ง


ฉันพบปัญหาเรื่องพื้นที่ว่างในดิสก์จากนั้นฉันเรียกใช้rebootจากเทอร์มินัล ตอนนี้ระบบไม่สามารถเริ่มต้นได้ หลังจากรีบูตไม่มีหน้าจอเข้าสู่ระบบไม่ปรากฏขึ้น แต่เป็นหน้าจอมืด ฉันจะแก้ไขได้อย่างไรโปรด
arilwan

-1

ไดเร็กทอรี / tmp ของคุณถูกตั้งค่าเป็นโอเวอร์โฟลว์ดังนั้นมีพื้นที่ดิสก์ไม่เพียงพอในไดเร็กทอรีนั้นเพื่อดำเนินการ apt-get

คุณสามารถสำหรับเทอร์มินัลเซสชันของคุณเปลี่ยนตำแหน่งของ tmp สำหรับ apt-get เพื่อดำเนินการ

mkdir -p /home/<user>/tmp
export TMPDIR=/home/<user>/tmp

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.