3 Cara Teratas untuk Memperbaiki Kesilapan Tiada Ruang Kiri pada Peranti di Linux

3 Cara Teratas untuk Memperbaiki Kesilapan Tiada Ruang Kiri pada Peranti di Linux

Kesilapan tanpa sebab yang jelas adalah masalah yang paling menjengkelkan untuk ditangani. Dan sementara Linux biasanya spesifik dalam mesej ralatnya, ini adalah salah satu dari beberapa kali ketika ia jatuh bola.

Mendapatkan "Tiada Tempat yang tersisa pada Ralat Peranti" menerangkan sedikit, terutamanya jika pemacu anda jauh dari penuh. Mengapa mesej ralat ini muncul? Mengapa anda tidak boleh membuat fail baru walaupun mempunyai ruang yang mencukupi pada cakera? Dan yang paling penting, bagaimana anda memperbaikinya?

Isi kandungan

    Mari kita cari.

    1. Jangan risau tentang semua kebenaran yang ditolak oleh kebenaran - begitulah cara mengamuk melalui semua subdirektori sistem. Bergantung pada saiz pemacu, anda mungkin perlu meninggalkannya untuk seketika, kerana ia secara rekursif melalui segala -galanya.
    1. Apabila DU selesai mengimbas, ia akan mengeluarkan senarai direktori yang mudah di samping saiz mereka. Contohnya, ini adalah output perintah DU yang digunakan untuk direktori biasa.

    Sekarang kita akan menggunakan DF untuk melihat berapa banyak ruang kosong yang ada. Perintah DF jauh lebih mudah digunakan kerana ia hanya menunjukkan sistem fail yang dipasang dan statistik penggunaannya. Sekali lagi, kami akan menggunakan bendera -h untuk menjadikan output manusia boleh dibaca.

    sudo df -h

    Ideanya adalah untuk membuat keputusan arahan DU dan DF. Sebarang percanggahan menunjukkan ruang cakera yang tidak tersedia secara bebas walaupun tidak digunakan oleh sebarang fail atau folder.

    Mengapa Linux menunjukkan "Tiada ruang yang tersisa pada peranti"?

    Sekiranya anda melihat mesej ralat "tiada ruang yang tersisa pada peranti" walaupun mempunyai ruang kosong yang mencukupi pada cakera anda, bukan perkakasan yang salah. Memikirkan sebab yang tepat untuk kesilapan boleh mengambil sedikit penyelesaian masalah.

    • Fail yang Dipadam Baru -baru ini: Sebab yang paling biasa untuk melihat ralat ini adalah fail yang baru dipadam. Selalunya fail dipadam semasa proses masih menggunakannya, menjaga ruang terpelihara walaupun fail sudah hilang.
    • Tidak cukup inod: Sebab lain yang kerap tidak mempunyai inodes yang mencukupi. Inodes adalah halaman indeks sistem fail unix, memegang metadata setiap fail di penyimpanan. Walau bagaimanapun, inod tidak tidak terhad, dan kehabisan inod sebelum ruang penyimpanan dapat memberi anda ralat "tiada ruang yang tersisa pada peranti".
    • Gagal Keras Pemacu: Sudah tentu ada kemungkinan bahawa cakera keras hanya gagal, dan banyak ruang kosong yang jelas diambil oleh sektor yang buruk. Oleh kerana sistem gagal menulis sebarang fail ke lokasi -lokasi ini, ia melemparkan ralat.

    Betulkan 1: Mulakan semula proses menggunakan fail yang dipadam

    Sebab yang paling mungkin bagi ralat "Tiada ruang yang tersisa pada peranti" adalah proses yang masih menggunakan fail yang dipadam. Syukurlah, menetapkan ralat ini mudah. Anda hanya perlu memulakan semula proses untuk membebaskan simpanan simpanan.

    1. Untuk mencari proses yang bermasalah, anda perlu menggunakan arahan LSOF dan GREP. Perintah LSOF akan memberi anda senarai semua fail terbuka yang digunakan oleh proses menjalankan, dan grep dapat menyempitkan pemilihan kepada yang dipadamkan. Jadi masukkan sudo lsof / | Grep dipadam di mana / adalah direktori asas dan | paip untuk menghubungkan output lsof ke grep.
    1. Sekarang anda boleh memulakan semula proses yang terjejas dengan SUDO Systemctl Restart Service_Name Command, di mana nama perkhidmatan adalah nama perkhidmatan yang muncul dalam carian.
    1. Sekiranya terdapat banyak proses seperti ini atau anda tidak mahu bersusah payah mencari perkhidmatan tertentu, anda hanya boleh menetapkan semula mereka dengan arahan SUDO Systemctl Daemon-Reload. Ini memulihkan semua kebergantungan, mengambil apa -apa perubahan dalam sistem fail ke dalam akaun.

    Selepas ini ruang penyimpanan yang dipegang oleh proses itu harus tersedia lagi, membolehkan anda menulis fail tanpa menjalankan sebarang kesilapan.

    Betulkan 2: Periksa inodes

    Walaupun setiap pemacu mempunyai sebilangan besar inod, ia adalah terhingga. Dan jika sistem anda dipenuhi dengan bilangan fail yang luar biasa, adalah mungkin untuk mencapai had ini sebelum meletihkan kapasiti penyimpanan pemacu. Inilah sebabnya lebih baik mempunyai fail besar dan bukannya terlalu banyak yang kecil.

    Anda boleh dengan mudah menyemak ketersediaan inod dengan menggunakan bendera -i bendera dengan arahan df. Seperti ini:

    sudo df -i

    Ini dengan jelas akan memberitahu jumlah inod yang terdapat dalam sistem fail, bersama -sama dengan jumlah yang sedang digunakan. Sekiranya tidak ada inod percuma yang tersisa di sistem anda, ini adalah sumber ralat "Tiada ruang yang tersisa pada peranti".

    Oleh kerana inod hanya dibuat pada pemformatan pertama pemacu, tidak ada cara untuk menghasilkan lebih banyak inod. Yang boleh anda lakukan ialah memadam sebarang fail yang tidak perlu untuk membebaskan inod untuk fail masa depan.

    Betulkan 3: Tandakan blok buruk

    Rasuah data adalah nasib yang tidak dapat dielakkan dari sebarang cakera keras. Walaupun pemacu baru tidak akan menghadapi masalah ini, cakera keras yang lebih tua akan secara beransur -ansur mula akan "buruk".

    Apa ini bermakna bahawa bahagian cakera keras tidak dapat digunakan, walaupun sistem fail masih menganggapnya berfungsi. Blok buruk ini memalsukan ruang kosong yang jelas pada pemacu, ketika sebenarnya tidak ada fail yang dapat ditulis kepada mereka. Ini membawa kepada ralat "tiada ruang yang tersisa pada peranti", kerana sistem operasi cuba dan gagal menyimpan data di lokasi -lokasi ini.

    Tidak ada cara yang nyata untuk menyelesaikan masalah ini, kerana sektor yang buruk adalah hasil dari haus fizikal dan lusuh cakera keras. Satu -satunya perkara yang boleh anda lakukan ialah menandakan sektor buruk supaya mereka tidak lagi dirujuk oleh sistem fail.

    Melakukan ini memerlukan anda boot dari CD langsung, kerana anda tidak dapat melakukan pemeriksaan sistem fail dalam pemacu yang berjalan. Sebaik sahaja anda berbuat demikian, gunakan arahan berikut:

    sudo fsck -vcck /dev /sda

    Ini menggantikan /dev /sda dengan jalan pemacu yang ingin anda baiki. Ini secara automatik akan mengesan semua blok buruk pada pemacu dan menandakannya sebagai tidak dapat digunakan. Ia tidak akan memberi anda kapasiti penyimpanan tambahan, bagaimanapun, bersiaplah untuk membersihkan beberapa fail yang tidak berguna untuk membebaskan ruang pada pemacu.

    Apakah kaedah terbaik untuk memperbaiki ralat "tiada ruang yang tersisa pada peranti"?

    Sebab biasa untuk melihat ralat "tiada ruang yang tersisa pada peranti" di Ubuntu atau mana -mana distro Linux lain adalah fail yang dipadam yang masih digunakan oleh proses yang sedang berjalan. Ini menyimpan storan yang diduduki oleh fail, menghalang operasi lain daripada menulis data ke ruang tersebut.

    Memperbaiki masalah ini juga adalah yang paling mudah, seperti yang perlu anda lakukan ialah memulakan semula proses yang dipersoalkan. Walau bagaimanapun, penyebab kesilapan yang lain tidak begitu mudah untuk diselesaikan.

    Sama ada pemacu anda dibelenggu oleh blok data yang buruk atau telah kehabisan inod, tidak ada cara langsung untuk menyelesaikan masalah ini. Anda mesti memadam fail yang ada untuk memberi ruang untuk data baru yang akan ditulis.