e
sv

Linux’ta “Cihazda Boş Alan Kalmadı” Hatasını Düzeltmenin En İyi 3 Yolu

38 Okunma — 30 Kasım 2022 22:48
avatar

Bypool

  • e

    Mutlu

  • e

    Eğlenmiş

  • e

    Şaşırmış

  • e

    Kızgın

  • e

    Üzgün

Açık bir nedeni olmayan hatalar, başa çıkılması gereken en sinir bozucu problemlerdir. Ve Linux genellikle hata mesajlarında spesifik olsa da, bu, topu düşürdüğü birkaç seferden biridir.

“Cihazda yer kalmadı hatası” almak, özellikle sürücünüz dolu olmaktan çok uzaksa, çok az şey açıklar. Bu hata mesajı neden görünüyor? Diskte yeterli alana sahip olmanıza rağmen neden yeni dosyalar oluşturamıyorsunuz? Ve en önemlisi, bunu nasıl düzeltirsiniz?

Hadi bulalım.

Sabit Diskinizde Gerçekten Yeterli Alan Var mı?

Bir düzeltme bulmak için acele etmeden önce, başlamak için bir sorun olduğundan emin olun. Ne de olsa, sisteminizdeki disk alanı gerçekten tükendiyse paniğe gerek yok. Daha fazla yer açmak için gereksiz verileri kaldırabilirsiniz.

Disk alanı hakkında bilgi almak için iki Linux sistem komutu vardır – du ve df. du komutu disk alanı kullanımını tahmin ederken, df komutu diskte bulunan boş alanı analiz eder. Bunları sudo ile birlikte kullanmak , size diskte gerçekte ne kadar alan bulunduğuna dair doğru bir rapor verir.

  1. du komutuyla başlayalım. Çıktısı oldukça uzun ve zahmetli olabilir, bu yüzden -s ve -h bayraklarını kullanacağız. -s sonuçları özetler, -h ise okunabilir olmasını sağlar. Bu nedenle , temel dizini sudo du -sh / nerede / işaret ediyor komutunu girin.
  1. İzin verilmeyen tüm iletiler için endişelenmeyin – sistemin tüm alt dizinlerinde bu şekilde gezinir. Sürücünün boyutuna bağlı olarak, yinelemeli olarak her şeyden geçtiği için bir süre çalışır durumda bırakmanız gerekebilir.
  1. du taramayı bitirdiğinde, boyutlarının yanı sıra basit bir dizin listesi çıkaracaktır. Örneğin bu, sıradan bir dizine uygulanan du komutunun çıktısıdır.

Şimdi ne kadar boş alan olduğunu görmek için df‘yi kullanacağız. Yalnızca bağlı dosya sistemlerini ve bunların kullanım istatistiklerini gösterdiği için df komutunun kullanımı çok daha kolaydır. Bir kez daha, çıktıyı insan tarafından okunabilir hale getirmek için -h bayrağını kullanacağız.

sudo df-h

Fikir, du ve df komutlarının sonuçlarını saymaktır. Herhangi bir tutarsızlık, herhangi bir dosya veya klasör tarafından kullanılmamasına rağmen serbestçe kullanılamayan disk alanına işaret eder.

Linux Neden “Cihazda Boş Alan Kalmadı” Gösterir?

Diskinizde yeterli boş alan olmasına rağmen “Cihazda Boş Alan Kalmadı” hata mesajını görüyorsanız, arızalı olan donanım değildir. Hatanın kesin nedenini bulmak biraz sorun giderme gerektirebilir.

  • Recently Deleted File (Son Silinmiş Dosya): Bu hatayı görmenin en yaygın nedeni yakın zamanda silinmiş bir dosyadır. Genellikle bir dosya, bir işlem onu ​​kullanırken silinir ve dosya gitmiş olsa bile ayrılmış alan korunur.
  • Not Enough Inode) (Yeterli İnode Yok): Diğer bir yaygın neden, yeterli inode’a sahip olmamaktır . İnode’lar, depolamadaki her dosyanın meta verilerini tutan bir Unix dosya sisteminin dizin sayfalarıdır. Ancak inode’lar sınırsız değildir ve inode’ların depolama alanı dolmadan bitmesi size “Cihazda yer kalmadı” hatası verebilir.
  • Failing Hard Drive (Başarısız Sabit Disk): O zaman tabii ki sabit diskin basitçe arızalanması ve görünürdeki boş alanın büyük bir kısmının kötü sektörler tarafından kaplanması olasılığı vardır. Sistem bu konumlara herhangi bir dosya yazamadığı için hata veriyor.

1: Silinen Dosyaları Kullanarak İşlemleri Yeniden Başlatın

“Cihazda yer kalmadı” hatasının en olası nedeni silinmiş bir dosyayı kullanmaya devam eden bir işlemdir. Neyse ki, bu hatayı düzeltmek kolaydır. Ayrılmış depolamayı boşaltmak için işlemi yeniden başlatmanız yeterlidir .

  1. Problemli işlemi bulmak için lsof ve grep komutlarını kullanmanız gerekmektedir. lsof komutu, çalışan işlemler tarafından kullanılan tüm açık dosyaların bir listesini verir ve grep, seçimi silinenlere kadar daraltabilir. Sudo lsof / | / temel dizin olduğu yerde grep silindi ve | lsof‘un çıktısını grep‘e bağlamak için bir kanal.
  1. Artık etkilenen işlemi sudo systemctl restart service_name komutuyla yeniden başlatabilirsiniz ; burada hizmet adı, aramada ortaya çıkan hizmetin adıdır.
  1. Bunun gibi birden çok işlem varsa veya belirli hizmetleri bulmakla uğraşmak istemiyorsanız, sudo systemctl daemon-reload komutuyla hepsini sıfırlayabilirsiniz. Bu, dosya sistemindeki değişiklikleri hesaba katarak tüm bağımlılıkları yeniden oluşturur.

Bundan sonra, işlem tarafından tutulan depolama alanı tekrar kullanılabilir olmalı ve herhangi bir hatayla karşılaşmadan dosya yazmanıza izin vermelidir.

2: İnode’ları Kontrol Edin

Her sürücünün çok sayıda düğümü olsa da, sonludur. Ve sisteminiz inanılmaz sayıda dosyayla doluysa, sürücünün depolama kapasitesini tüketmeden önce bu sınıra ulaşmak mümkündür. Bu nedenle, çok sayıda küçük dosya yerine büyük dosyalara sahip olmak daha iyidir.

Df komutuyla -i işaretini kullanarak düğümlerin kullanılabilirliğini kolayca kontrol edebilirsiniz. Bunun gibi:

sudo df-i

Bu, şu anda kullanımda olan miktarla birlikte dosya sisteminde bulunan toplam inode sayısını açıkça söyleyecektir. Sisteminizde boş inode kalmamışsa “Cihazda boş alan kalmadı” hatasının kaynağı budur.

Düğümler yalnızca sürücü ilk biçimlendirildiğinde oluşturulduğundan, daha fazla düğüm oluşturmanın bir yolu yoktur. Yapabileceğiniz tek şey, gelecekteki dosyalar için düğümleri boşaltmak için gereksiz dosyaları silmek.

3: Kötü Blokları İşaretle

Veri bozulması, herhangi bir sabit sürücünün kaçınılmaz kaderidir. Yeni bir sürücü bu sorunla karşılaşmazken, eski sabit diskler yavaş yavaş “kötü” olmaya başlayacaktır.

Bunun anlamı, dosya sistemi hala onları işlevsel olarak kabul etse bile, sabit sürücünün bazı bölümlerinin kullanılamaz hale getirilmesidir. Bu kötü bloklar, gerçekte onlara hiçbir dosya yazılamazken, sürücüdeki görünen boş alanı yanlış bir şekilde şişirir. Bu, işletim sistemi bu konumlarda herhangi bir veri depolamayı denediği ve başaramadığı için “Cihazda boş alan kalmadı” hatasına yol açar.

Kötü sektörler bir sabit diskin fiziksel aşınmasının ve yıpranmasının bir sonucu olduğundan, bu sorunu çözmenin gerçek bir yolu yoktur. Yapabileceğiniz tek şey, kötü sektörleri artık dosya sistemi tarafından başvurulmayacak şekilde işaretlemektir.

Bunu yapmak , çalışan bir sürücüde Dosya Sistemi Kontrolü yapamayacağınız için Canlı CD’den önyükleme yapmanızı gerektirir. Bunu yaptıktan sonra, aşağıdaki komutu kullanmanız yeterlidir:

sudo fsck -vcck /dev/sda

Bu, /dev/sda’yı onarmak istediğiniz sürücünün yolu ile değiştirir. Bu, sürücüdeki tüm hatalı blokları otomatik olarak algılar ve kullanılamaz olarak işaretler. Bununla birlikte, size herhangi bir ekstra depolama kapasitesi sağlamaz, bu nedenle sürücüde yer açmak için bazı gereksiz dosyaları temizlemeye hazır olun.

“Cihazda Boşluk Kalmadı” Hatasını Düzeltmenin En İyi Yolu Nedir?

Ubuntu veya başka herhangi bir Linux dağıtımında “Cihazda boş yer kalmadı” hatası görmenin genel nedeni, çalışan bir işlem tarafından kullanılmaya devam eden silinmiş bir dosyadır. Bu, dosyanın kapladığı depolama alanını ayırır ve diğer işlemlerin bu alana veri yazmasını engeller.

Bu sorunu çözmek de en kolayıdır, çünkü yapmanız gereken tek şey söz konusu işlemi yeniden başlatmaktır. Bununla birlikte, hatanın diğer nedenlerini çözmek o kadar kolay değildir.

Sürücünüz ister bozuk veri bloklarıyla dolu, ister inode’ları bitmiş olsun, bu sorunları düzeltmenin doğrudan bir yolu yoktur. Yeni verilerin yazılmasına yer açmak için mevcut dosyaları silmeniz gerekir.

okuyucu yorumlarıOKUYUCU YORUMLARI