3 cara teratas untuk memperbaiki kesalahan Tidak ada ruang tersisa di perangkat di Linux

3 cara teratas untuk memperbaiki kesalahan Tidak ada ruang tersisa di perangkat di Linux

Kesalahan tanpa penyebab yang jelas adalah masalah yang paling menjengkelkan untuk ditangani. Dan sementara Linux biasanya spesifik dalam pesan kesalahannya, ini adalah salah satu dari beberapa kali ketika menjatuhkan bola.

Mendapatkan "tidak ada tempat tersisa di kesalahan perangkat" menjelaskan sangat sedikit, terutama jika drive Anda jauh dari penuh. Mengapa pesan kesalahan ini muncul? Mengapa Anda tidak dapat membuat file baru meskipun memiliki ruang yang cukup di disk? Dan yang paling penting, bagaimana Anda memperbaikinya?

Daftar isi

    Mari kita cari tahu.

    1. Jangan khawatir tentang semua izin yang ditolak pesan - begitulah kabel melalui semua subdirektori sistem. Tergantung pada ukuran drive, Anda mungkin harus membiarkannya berjalan untuk sementara waktu, karena secara rekursif melewati semuanya.
    1. Saat DU selesai memindai, itu akan menghasilkan daftar direktori sederhana di samping ukurannya. Misalnya, ini adalah output dari perintah DU yang diterapkan ke direktori biasa.

    Sekarang kita akan menggunakan DF untuk melihat berapa banyak ruang kosong yang tersedia. Perintah DF jauh lebih sederhana untuk digunakan karena hanya menunjukkan sistem file yang dipasang dan statistik penggunaannya. Sekali lagi, kami akan menggunakan bendera -H untuk membuat output manusia dapat dibaca.

    sudo df -h

    Idenya adalah untuk menghitung hasil perintah DU dan DF. Perbedaan apa pun menunjuk ke ruang disk yang tidak tersedia secara bebas meskipun tidak digunakan oleh file atau folder apa pun.

    Mengapa Linux Menampilkan "Tidak Ada Ruang Tersisa di Perangkat"?

    Jika Anda melihat pesan kesalahan "tidak ada ruang tersisa di perangkat" meskipun memiliki ruang bebas yang cukup di disk Anda, itu bukan perangkat keras yang bersalah. Mencari tahu penyebab yang tepat untuk kesalahan dapat mengambil sedikit masalah.

    • File yang baru dihapus: Alasan paling umum untuk melihat kesalahan ini adalah file yang baru saja dihapus. Seringkali sebuah file dihapus saat suatu proses masih menggunakannya, menjaga ruang dipesan meskipun file sudah hilang.
    • Inode tidak cukup: Penyebab lain yang sering terjadi tidak memiliki cukup inode. Inode adalah halaman indeks dari sistem file unix, memegang metadata dari setiap file di penyimpanan. Namun, inode tidak terbatas, dan kehabisan inode sebelum ruang penyimpanan dapat memberi Anda kesalahan "tidak ada ruang tersisa di perangkat".
    • Gagal Hard Drive: Maka tentu saja ada kemungkinan bahwa hard drive hanya gagal, dan banyak ruang kosong yang jelas diambil oleh sektor yang buruk. Karena sistem gagal menulis file apa pun ke lokasi ini, ia melakukan kesalahan.

    Perbaiki 1: Restart Proses Menggunakan File yang Dihapus

    Penyebab yang paling mungkin dari kesalahan "tidak ada ruang yang tersisa pada perangkat" adalah proses yang masih menggunakan file yang dihapus. Untungnya, memperbaiki kesalahan ini mudah. Anda hanya perlu memulai kembali proses untuk membebaskan penyimpanan yang dipesan.

    1. Untuk menemukan proses yang bermasalah, Anda perlu menggunakan perintah LSOF dan GREP. Perintah LSOF akan memberi Anda daftar semua file terbuka yang digunakan dengan menjalankan proses, dan Grep dapat mempersempit pilihan yang dihapus. Jadi masukkan sudo lsof / | Grep dihapus di mana / adalah direktori dasar dan | pipa untuk menghubungkan output LSOF ke grep.
    1. Sekarang Anda dapat memulai kembali proses yang terkena dampak dengan perintah restart sudo systemctl service_name, di mana nama layanan adalah nama layanan yang muncul dalam pencarian.
    1. Jika ada beberapa proses seperti ini atau Anda hanya tidak ingin repot menemukan layanan tertentu, Anda bisa mengatur ulang semuanya dengan perintah sudo systemctl daemon-reload. Ini meregenerasi semua dependensi, dengan mempertimbangkan perubahan sistem file.

    Setelah ini, ruang penyimpanan yang ditahan oleh proses harus tersedia lagi, memungkinkan Anda untuk menulis file tanpa melakukan kesalahan apa pun.

    Perbaiki 2: Periksa inoda

    Meskipun setiap drive memiliki sejumlah besar inode, itu terbatas. Dan jika sistem Anda dipenuhi dengan jumlah file yang luar biasa, dimungkinkan untuk mencapai batas ini sebelum melelahkan kapasitas penyimpanan drive. Inilah sebabnya mengapa lebih baik memiliki file besar daripada terlalu banyak yang kecil.

    Anda dapat dengan mudah memeriksa ketersediaan inode dengan menggunakan bendera -i dengan perintah df. Seperti ini:

    sudo df -i

    Ini dengan jelas akan memberi tahu jumlah total inode yang ada dalam sistem file, bersama dengan jumlah yang saat ini digunakan. Jika tidak ada inode gratis yang tersisa di sistem Anda, ini adalah sumber kesalahan "tidak ada ruang yang tersisa di perangkat".

    Karena inode hanya dibuat pada saat memformat drive terlebih dahulu, tidak ada cara untuk menghasilkan lebih banyak inode. Yang dapat Anda lakukan hanyalah menghapus file yang tidak perlu untuk membebaskan inode untuk file di masa mendatang.

    Perbaiki 3: Tandai blok yang buruk

    Korupsi data adalah nasib hard drive yang tak terhindarkan. Sementara drive baru tidak akan mengalami masalah ini, hard disk yang lebih tua secara bertahap akan mulai menjadi "buruk".

    Artinya, bagian -bagian dari hard drive dianggap tidak dapat digunakan, meskipun sistem file masih menganggapnya fungsional. Blok -blok buruk ini secara keliru mengembang ruang kosong yang jelas di drive, ketika sebenarnya tidak ada file yang dapat dituliskan kepada mereka. Ini mengarah ke kesalahan "tidak ada ruang tersisa di perangkat", karena sistem operasi mencoba dan gagal menyimpan data apa pun di lokasi ini.

    Tidak ada cara nyata untuk memperbaiki masalah ini, karena sektor -sektor yang buruk adalah hasil dari keausan fisik dan air mata hard drive. Satu -satunya hal yang dapat Anda lakukan adalah menandai sektor yang buruk sehingga mereka tidak lagi dirujuk oleh sistem file.

    Melakukan ini mengharuskan Anda boot dari CD live, karena Anda tidak dapat melakukan pemeriksaan sistem file dalam drive yang sedang berjalan. Setelah Anda melakukannya, cukup gunakan perintah berikut:

    sudo fsck -vcck /dev /sda

    Ini menggantikan /dev /sda dengan jalur drive yang ingin Anda perbaiki. Ini akan secara otomatis mendeteksi semua blok buruk di drive dan menandai mereka sebagai tidak dapat digunakan. Namun, itu tidak akan memberi Anda kapasitas penyimpanan tambahan, jadi bersiaplah untuk membersihkan beberapa file yang tidak berguna untuk membebaskan ruang di drive.

    Apa cara terbaik untuk memperbaiki kesalahan "tidak ada ruang tersisa di perangkat"?

    Alasan biasa untuk melihat kesalahan "tidak ada ruang yang tersisa di perangkat" di Ubuntu atau distro Linux lainnya adalah file yang dihapus yang masih digunakan oleh proses berjalan. Ini mencadangkan penyimpanan yang ditempati oleh file, mencegah operasi lain dari menulis data ke ruang itu.

    Memperbaiki masalah ini juga yang paling mudah, karena yang perlu Anda lakukan adalah memulai kembali proses yang dimaksud. Penyebab kesalahan lainnya, bagaimanapun, tidak mudah dipecahkan.

    Apakah drive Anda terganggu oleh blok data yang buruk atau kehabisan inode, tidak ada cara langsung untuk memperbaiki masalah ini. Anda harus menghapus file yang ada untuk memberi ruang agar data baru ditulis.