/ usr / src กินหมด inodes ทั้งหมด


10

ดูเหมือนว่า/usr/src(เมล็ดเก่าแก่) จะใช้ไอโหนดทั้งหมดของฉันหมด:

Filesystem             Inodes  IUsed     IFree IUse% Mounted on
/dev/sda4              489600   489600       0  100% /
devtmpfs               219658      539  219119    1% /dev
none                   219844      474  219370    1% /run
none                   219844        3  219841    1% /run/lock
none                   219844        8  219836    1% /run/shm
/dev/sda6             5963776     8361 5955415    1% /home

ฉันพยายามทุกอย่างเพื่อลบ / ล้าง ฯลฯ เมล็ดเก่าไม่ประสบความสำเร็จ dpkg ไม่ทำงานอีกต่อไป ฉันลองใช้คำสั่งด้วยตนเองไม่กี่คำ แต่ 12.04 ไม่ให้อะไร apt-get, etc. เป็นไปไม่ได้เนื่องจากไม่มีพื้นที่บนฮาร์ดไดรฟ์ซึ่งไม่ใช่ปัญหาที่เห็นได้ชัด อย่างไรก็ตามฉันไม่สามารถติดตั้งหรือลบอะไรเลย! ฉันอ่านมากเกี่ยวกับผู้ใช้ที่มีปัญหาเดียวกัน แต่การแก้ปัญหาของพวกเขาไม่ทำงานสำหรับฉัน

กรุณาช่วย. ขอบคุณมาก!


บูตจาก live cd / usb และเรียกใช้การตรวจสอบระบบไฟล์ 'df -i' ช่วยให้คุณใช้งาน inode ได้ คุณสามารถลบด้วยตนเอง (หรือย้ายไปยังตำแหน่งที่ปลอดภัย) ไฟล์บางไฟล์ที่อยู่ในโฟลเดอร์ที่ละเมิดให้เป็นอิสระ inode จากนั้นลองอีกครั้งตามคำตอบของฉันเพื่อล้างข้อมูล
hmayag

ลองบูทในโหมดผู้ใช้คนเดียวซึ่งอาจทำให้คุณควบคุมได้มากกว่า
labarna

@klingone - คุณมีหลายบัญชี กรุณาลงทะเบียนหนึ่งในบัญชีเหล่านี้ จากนั้นคลิกลิงก์ contact-us ที่ด้านล่างของหน้านี้เพื่อขอให้มีการรวมบัญชีอื่นของคุณ เมื่อเสร็จแล้วคุณจะสามารถแก้ไขคำถามของคุณอีกครั้งพร้อมรายละเอียดเพิ่มเติม ขอบคุณ
fossfreedom

คำตอบ:


7

ลองสิ่งนี้

เปิดเทอร์มินัลแล้วป้อน:

~$ cd /usr/src
/usr/src$ ls

คุณจะเห็นสิ่งนี้:

total 16K
drwxr-xr-x 24 root root 4,0K Σεπ  29 22:35 linux-headers-3.2.0-54/
drwxr-xr-x  7 root root 4,0K Σεπ  29 22:35 linux-headers-3.2.0-54-generic/
drwxr-xr-x  3 root root 4,0K Σεπ  29 22:56 nvidia-319-319.32/

ผลลัพธ์อาจ (และจะ) แตกต่างกันไปตามการตั้งค่าของคุณ

linux-headers-*ใช้มองใกล้ที่โฟลเดอร์ที่มีชื่อ นี่คือส่วนหัวจากรูปภาพ linux ทั้งหมดที่คุณติดตั้ง หากคุณมีมากเกินไปพวกเขาจะใช้พื้นที่และ inodes มากมาย คุณจะต้องให้คนล่าสุดคุณบูตจาก

สมมติว่าคุณมีเคอร์เนลรุ่นเก่าเช่น 3.2.0-53 หากต้องการลบออกให้พิมพ์:

sudo apt-get remove --purge linux-image-3.2.0-53-generic linux-headers-3.2.0-53 linux-headers-3.2.0-53-generic

สำหรับแต่ละคน

หากทั้งหมดข้างต้นล้มเหลวให้ลองลบโฟลเดอร์ส่วนหัวของOLDER KERNELด้วยตนเอง:

sudo rm -rf /usr/src/linux-headers-3.2.0-53{,-generic}

2

คุณสามารถลอง Ubuntu Tweak เพื่อทำความสะอาดเมล็ดเก่า ก่อนติดตั้งโดยใช้คำสั่งเหล่านี้

sudo add-apt-repository ppa:tualatrix/ppa
sudo apt-get update
sudo apt-get install ubuntu-tweak

เรียกใช้โปรแกรมแล้ว:

  1. เลือกแท็บ "นักการภารโรง"
  2. เลือกช่องทำเครื่องหมาย "เคอร์เนลเก่า"
  3. เลือกรุ่นเคอร์เนลที่จะลบ (เก็บ 2 ไฟล์ไว้ - ในกรณี)
  4. กด "ล้าง"

ป้อนคำอธิบายรูปภาพที่นี่


สวัสดีที่นั่นและขอบคุณสำหรับข้อมูล ใช้คำสั่งด้านบน แต่ไม่สามารถติดตั้งได้เนื่องจากไม่มีพื้นที่เหลือบนอุปกรณ์ นอกจากนี้ศูนย์ซอฟต์แวร์ได้รับความเสียหายและต้องการซ่อมแซม แต่ก็ไม่สามารถทำได้ autoclean ที่ใช้งานได้ดีไม่ทำงานและแนะนำให้ใช้คำสั่ง sudo dpkg - กำหนดค่า - เพื่อแก้ปัญหาที่ทำให้ฉันกลับไปยังที่ที่ฉันเริ่มต้นเนื่องจากไม่มีที่เหลือบนอุปกรณ์เหลืออีก .. ฉันจะลองอีกยังไง ? ฉันค่อนข้างแน่ใจว่ามันเป็น inodes ใน / usr / src เนื่องจากไฟล์เกือบ 300,000 ไฟล์จากเคอร์เนลเดิมติดตั้ง ... ขอบคุณอีกครั้งสำหรับความช่วยเหลือ
klingone

1

ฉันเพิ่งมีปัญหาเดียวกัน

บน Ubuntu Linux 16.04.1 ดูเหมือนว่าsudo apt autoremoveจะล้าง/usr/src/linux-headers-ไฟล์ที่ไม่จำเป็นทั้งหมดและปล่อย inodes ที่เกี่ยวข้อง


0

เนื่องจากเคสเกี่ยวข้องกับระบบที่มีการใช้งาน HD 100% ดังนั้นการติดตั้งแอปพลิเคชันใด ๆ จะไม่ทำงาน ตัวเลือกเดียวที่ปลอดภัยคือการลบไฟล์ที่ไม่จำเป็นออกก่อน

แถวแรกจะเป็นไฟล์ชั่วคราว

sudo rm -rf /tmp/*

ประการที่สองลบแอปพลิเคชันแคช นี่คือไบนารีของแอปพลิเคชันและการอัพเกรดที่ดาวน์โหลดผ่านอายุการใช้งานของระบบ โดยปกติจะมีขนาดไม่น้อยกว่า 500 MB ในระบบ Ubuntu โดยเฉลี่ยพร้อมการทำงานหนึ่งปีและจะให้คุณติดตั้งแอปอื่นได้อย่างมีประสิทธิภาพ

sudo rm /var/cache/apt/archives/*deb

จากนั้นฉันจะแนะนำให้ลบไฟล์บันทึกเก่า

sudo rm /var/log/*gz

จากนี้คุณจะมีพื้นที่ว่างอย่างน้อยประมาณ 700 MB สิ่งนี้จะช่วยให้คุณสามารถทำงานกับยูทิลิตี้และติดตั้งใหม่

จากนั้นฉันจะติดตั้ง ncdu ซึ่งเป็นยูทิลิตี้ที่รวดเร็วในการสแกนฮาร์ดดิสก์ทั้งหมดและสั่งซื้อไดเรกทอรีตามขนาด มันเร็วมากและใช้งานได้อย่างมีเสน่ห์

sudo apt-get install ncdu

จากนั้นรันด้วยคำสั่ง

sudo ncdu /

เครื่องหมายสแลชหลัง ncdu คือการสแกนจากไดเรกทอรีราก

ทั้งหมดข้างต้นใช้งานได้ในเซิร์ฟเวอร์อูบุนตูและเดสก์ท็อป ตอนนี้หลังจากทำตามข้างบนทั้งหมดแล้วและคุณกำลังทำงานบนสภาพแวดล้อมแบบเดสก์ท็อปจากนั้นคุณสามารถไปหายูทิลิตี้ GUI เช่น ubuntu-tweak (ซึ่งยอดเยี่ยมมาก) และลบเมล็ดเก่า ฉันมักจะเก็บเคอร์เนลล่าสุดและรุ่นก่อนหน้าล่าสุดในกรณีที่การอัปเกรดล้มเหลว

หวังว่าสิ่งนี้จะช่วยได้


การใช้งาน inode 100% ไม่ได้หมายความว่าฮาร์ดไดรฟ์เต็มไปด้วยไฟล์
woohoo

0

อีกวิธีหนึ่งคือการค้นหาโฟลเดอร์ที่กินจำนวนไอโหนดของคุณ ดูที่นี่: แพ็คเกจที่เสียหายหลังจากอัปเดต: linux-headers, error: BrokenCount> 0

นี่คือส่วนที่สำคัญที่สุด:

ในเทอร์มินัล, cd to root เพื่อเริ่ม:

# cd /

จากนั้นค้นหาโฟลเดอร์ที่กลืนกิน inodes ส่วนใหญ่:

# for i in `ls -1A`; do echo "`find $i | sort -u | wc -l` $i"; done | sort -rn | head -20

และอื่น ๆ คุณจะสามารถค้นหาโฟลเดอร์ที่ถูกลบหรือแพคเกจส่วนหัวเคอร์เนลรูปภาพที่ต้องการถอนการติดตั้ง

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