Computer >> คอมพิวเตอร์ >  >> ระบบ >> Linux

วิธีแก้ไขข้อผิดพลาด “No Space Left on Device” บน Linux

วิธีแก้ไขข้อผิดพลาด “No Space Left on Device” บน Linux

โดยส่วนใหญ่แล้ว Linux มีความเฉพาะเจาะจงกับข้อความแสดงข้อผิดพลาด “ไม่ได้ผล – ลองติดตั้งแพ็คเกจนี้” อย่างไรก็ตาม มีสิ่งหนึ่งที่ไม่ได้ช่วยฉันได้มากจริงๆ:"ไม่มีที่ว่างเหลือในอุปกรณ์" สาเหตุอะไร? ฉันคิดว่าฉันมีที่เก็บข้อมูล 2 TB มันจะเต็มได้อย่างไร ฉันจะเริ่มมองหาได้ที่ไหน วันนี้เราจะแนะนำคุณเกี่ยวกับวิธีแก้ไขข้อผิดพลาด “ไม่มีที่ว่างเหลือบนอุปกรณ์” บน Linux

ตรวจสอบพื้นที่ว่างบนอุปกรณ์

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

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

วิธีแก้ไขข้อผิดพลาด “No Space Left on Device” บน Linux

เริ่มต้นด้วย du . ชี้ไปที่ไดเร็กทอรีฐานบนไดรฟ์ที่มีปัญหา สมมติว่าเป็นพาร์ติชั่นที่มี / .

sudo du -sh /
วิธีแก้ไขข้อผิดพลาด “No Space Left on Device” บน Linux

จะใช้เวลาสักครู่ในการดำเนินการทุกอย่าง ตอนนี้ ลองใช้ df .

sudo df -h
วิธีแก้ไขข้อผิดพลาด “No Space Left on Device” บน Linux

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

แน่นอนว่าข้อกังวลหลักที่นี่คือผลลัพธ์ของคำสั่งเหล่านี้อยู่ภายใต้ขนาดของไดรฟ์หรือไม่ หากเป็นเช่นนั้น แสดงว่ามีบางอย่างผิดปกติ

ไม่มีที่ว่างบนอุปกรณ์สาเหตุที่เป็นไปได้

มีสาเหตุหลักสองสามประการที่นี่ หากคุณเห็นความแตกต่างระหว่าง du และ df คุณสามารถข้ามไปที่ตัวเลือกแรกได้ที่นี่ มิเช่นนั้นให้เริ่มที่อันที่สอง

ไฟล์ที่ถูกลบที่สงวนไว้โดยกระบวนการ

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

วิธีแก้ไขข้อผิดพลาด “No Space Left on Device” บน Linux

ลองค้นหากระบวนการ

sudo lsof / | grep deleted

ควรระบุกระบวนการที่มีปัญหา เพียงแค่เริ่มต้นใหม่

sudo systemctl restart service_name

หากไม่ปรากฏชัดในทันที ให้ทำการโหลดภูตใหม่แบบเต็ม

sudo systemctl daemon-reload

ไอโหนดไม่เพียงพอ

มีชุดข้อมูลเมตาบนระบบไฟล์ที่เรียกว่า “inodes” Inodes ติดตามข้อมูลเกี่ยวกับไฟล์ ระบบไฟล์จำนวนมากมีจำนวนไอโหนดคงที่ ดังนั้นจึงเป็นไปได้มากที่จะเติมไอโหนดที่จัดสรรสูงสุดโดยไม่ต้องเติมระบบไฟล์เอง คุณสามารถใช้ df เพื่อตรวจสอบ

sudo df -i /
วิธีแก้ไขข้อผิดพลาด “No Space Left on Device” บน Linux

เปรียบเทียบไอโหนดที่ใช้กับไอโหนดทั้งหมด น่าเสียดายที่คุณไม่สามารถรับได้อีก ลบไฟล์ที่ไม่มีประโยชน์หรือล้าสมัยบางไฟล์เพื่อล้าง inodes

บล็อกที่ไม่ดี

ปัญหาที่พบบ่อยล่าสุดคือการบล็อกระบบไฟล์ที่ไม่ดี ระบบไฟล์อาจเสียหายเมื่อเวลาผ่านไป และฮาร์ดไดรฟ์ก็ตาย ระบบปฏิบัติการของคุณมักจะเห็นว่าบล็อกเหล่านั้นใช้งานได้เว้นแต่จะมีการทำเครื่องหมายเป็นอย่างอื่น วิธีที่ดีที่สุดในการค้นหาและทำเครื่องหมายบล็อคเหล่านั้นคือการใช้ fsck ด้วย -cc ธง. จำไว้ว่าคุณไม่สามารถใช้ fsck จากระบบไฟล์เดียวกับที่คุณกำลังทดสอบ คุณจึงอาจต้องใช้ซีดีสด

sudo fsck -vcck /dev/sda2

แน่นอน แทนที่ตำแหน่งไดรฟ์ด้วยไดรฟ์ที่คุณต้องการตรวจสอบ คุณสามารถค้นหาได้โดยใช้ df คำสั่งจากก่อนหน้านี้ นอกจากนี้ พึงระลึกไว้เสมอว่าการดำเนินการนี้อาจใช้เวลานาน ดังนั้นควรเตรียมกาแฟไว้ให้ดี

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

หากคุณกำลังมองหาตัวชี้ Linux เพิ่มเติม โปรดดูคำแนะนำเกี่ยวกับวิธีตั้งค่า Bluetooth ใน Linux หรือดูวิธีติดตั้งเบราว์เซอร์ Safari ของ Mac ใน Linux สำหรับสิ่งที่แตกต่างออกไปเล็กน้อย สนุก!