Dosya Sistemi Kullanım Miktarını Analiz Etmek

Raspberry Pi’ın disk alanı tükendiğinde çalışamaz ve durur. Bu başlıkta, Raspberry Pi bilgisayarının dosya sisteminin kullanım durumunun kolayca nasıl analiz edileceği ve alınabilecek tedbirler hakkında bilgiler yer almaktadır. Öncelikle diskin yani SD kartın fiziksel kapasitesine bakıp bu kapasitenin ne kadarının disk bölümleri için kullanıldığına bakılmalıdır. Örneğin 32GB bir bölüm üzerinde 4GB’lık bir Linux bölümü oluşturulmuş olabilir. Bu durumda hiçbir zaman kullanılamayacak, boşa gitmiş bir 28GB’lık alandan bahsedebiliriz. lsblk komutu ile SD kartın fiziksel kapasitesinin ne kadar olduğuna bakalım:

pi@raspberry:~ $ lsblk

NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT

mmcblk0     179:0    0  7.5G  0 disk

├─mmcblk0p1 179:1    0   63M  0 part

├─mmcblk0p2 179:2    0    1K  0 part

├─mmcblk0p5 179:5    0   32M  0 part /media/pi/SETTINGS

├─mmcblk0p6 179:6    0   69M  0 part /boot

└─mmcblk0p7 179:7    0  7.3G  0 part /

Ekran çıktısından görülebileceği gibi SD kartın fiziksel boyutu 7.5GB (mmcblk0) sahip olduğu bölümlerin toplamı da 7.5GB’dır. fdisk programının çıktısında disk bölümleri daha rahat görülebilir:

pi@raspberry ~$ sudo fdisk -l

Device         Boot  Start      End  Sectors  Size Id Type

/dev/mmcblk0p1        8192   137215   129024   63M  e W95 FAT16 (LBA)

/dev/mmcblk0p2      137216 15644671 15507456  7.4G  5 Extended

/dev/mmcblk0p5      139264   204797    65534   32M 83 Linux

/dev/mmcblk0p6      204800   346111   141312   69M  c W95 FAT32 (LBA)

/dev/mmcblk0p7      352256 15644671 15292416  7.3G 83 Linux

Şimdi mevcut disk bölümlerinin ne kadarının dolu yani kullanımda olduğuna bakalım, bunun için df programı kullanılabilir:

pi@raspberry:~ $ df -h

Filesystem      Size  Used Avail Use% Mounted on

/dev/root       7.1G  4.2G  2.6G  62% /

devtmpfs        458M     0  458M   0% /dev

tmpfs           462M     0  462M   0% /dev/shm

tmpfs           462M  6.2M  456M   2% /run

tmpfs           5.0M  4.0K  5.0M   1% /run/lock

tmpfs           462M     0  462M   0% /sys/fs/cgroup

/dev/mmcblk0p6   68M   21M   47M  31% /boot

tmpfs            93M     0   93M   0% /run/user/1000

/dev/mmcblk0p5   30M  1.6M   27M   6% /media/pi/SETTINGS

Linux başarımı artırmak için diski birçok dosya sistemine ayırır. Yukarıdaki df çıktısında bu bölümleri görebilirsiniz. En önemli bölüm / kök dizinin bulunduğu 7.1GB’lık bölümdür. Bu bölümün %62’si kullanılmaktadır. Kök dizinin içerisinde yüz binlerce dosya ve dizin bulunmaktadır. Hangi dizinin ne kadar yer kapladığını görmek du (disk usage) programı kullanılabilir. du programı kendisine seçenek olarak verilen dizinin içerisindeki tüm dizin ve dosyaların toplam miktarını görüntüler. Örneğin:

pi@raspberry:/var $ sudo du -sh *

4.0K    backups

136M    cache

116M    lib

4.0K    local

0       lock

428K    log

4.0K    mail

4.0K    opt

0       run

28K     spool

100M    swap

12K     tmp

/var dizini içerisinde çalıştırılan du komutu ile dizin içindeki tüm dizinlerin diskte kapladıkları alan listelenmektedir. Komuta eklenen -s seçeneği (summerize) alt dizin detaylarını listelenmemesini, sadece özet olarak toplam miktarın listelenmesini sağlamaktadır. -s seçeneğini kaldırarak daha detaylı bir listeleme gerçekleştirebilirsiniz. Benzer şekilde, bu yöntem kullanılarak, diskte kapladığı alan listelenmek istenen her dizin için bu komutun çalıştırılması gerekir.

Daha pratik bir listeleme için ncdu (NCurses Disk Usage) programı oldukça faydalıdır. ncdu interaktif çalışan bir programdır ve dizinler içerisinde dolaşarak dizinin toplam miktarı kolayca öğrenilebilir. Programı yüklemek için aşağıdaki komutları çalıştırın:

pi@raspberry:~ $ sudo apt update

pi@raspberry:~ $ sudo apt install ncdu -y

Kurulum tamamlandıktan ncdu programını / kök dizin içinde çalıştırmak için aşağıdaki komutu kullanabilirsiniz (Dizin belirtilmezse sadece içinde bulunulan dizin taranır).

pi@raspberry:/ $ ncdu /

--- /var ----------------------------------------------------------------------

    2.7 GiB [##########] /usr

  918.3 MiB [###       ] /opt

. 351.8 MiB [#         ] /var

  181.6 MiB [          ] /lib

   21.0 MiB [          ] /boot

    7.5 MiB [          ] /home

    7.3 MiB [          ] /sbin
...

Ncdu’nun çıktısında, her satırda dizinin diskte kapladığı toplam alan ve diğer dizinlere kıyasla ne kadar yer kapladığı # karakterleri ile gösterilir. Dizinlerin içerisinde dolaşmak için klavyedeki ok tuşları ve enter tuşu kullanılabilir. Dizin boyutlarını % (yüzde) olarak görüntülemek için klavyeden g tuşunu, seçili dizini silmek için de d tuşunu kullanabilirsiniz.

Disk Dolu Hatası

Bir dosya sisteminde dosya boyutundan bağımsız olarak bulunabilecek dosya sayısı, dosya sistemi oluşturulurken tanımlanan inode (index node) sayısı ile belirlenir. inode her bir dosyaya karşılık gelen tekil bir sayıdan ibarettir ve dosya hakkındaki bilgilere (erişim izinleri, sahiplik, oluşturma/değiştirme zamanı vs) erişmek için kullanılır. Dosya sistemi üzerinde inode sayısını aşan miktarda dosya oluşturulursa “disk dolu / disk full” hatası ile karşılaşılabilir. Dediğimiz gibi bu, dosya boyutlarından bağımsız bir tanımlamadır ve inode sayısı dosya sistemi oluşturulurken tanımlanır. Dosya sistemi tarafından desteklenen ve kullanılan inode sayısını görmek için df aracına –i seçeneği geçilebilir.

pi@desktop3:~ $ df -i

Filesystem           Inodes  IUsed  IFree IUse% Mounted on

/dev/root            485760 140976 344784   30% /

devtmpfs             117530    362 117168    1% /dev

tmpfs                118682      1 118681    1% /dev/shm

tmpfs                118682    453 118229    1% /run

tmpfs                118682      3 118679    1% /run/lock

tmpfs                118682     10 118672    1% /sys/fs/cgroup

/dev/mmcblk0p1            0      0      0     - /boot

tmpfs                118682     11 118671    1% /run/user/999

//192.168.0.155/disk      0      0      0     - /home/pi/Desktop/Bulut2

tmpfs                118682     18 118664    1% /run/user/1000

Yukarıdaki ekran çıktısında dosya sistemlerinde bulunabilecek dosya sayıları (inodes) ile mevcut dosya sayıları (IUsed) listelenmiştir. Diskin dolmasına neden olacak boyutta dosya olmamasına rağmen disk dolu hatasını alırsanız inodes sayısına göz atmalısınız. Eğer inodes sayısı tükenmişse muhtemelen sonsuz döngüye girmiş bir program/betik çok sayıda boş        dosya üretmiştir. Dosya sistemi yapısı hakkında daha fazla bilgi için “Dosya Sisteminin Yapısı (SD Kart) ve Onarım” başlığına göz atabilirsiniz.

Disk temizliği yapmak

Raspberry Pi bilgisayarı, günümüz de halen sınırlı kabul edilebilecek kapasitelerde SD kartları, disk ortamı olarak kullanmaktadır. Aktif çalışan ve kullanılan bir sistemin disk kullanım miktarı zamanla artar. Buna örnek olarak sonradan yüklenen paketler ve otomatik güncellenen paketler, yükseltilen işletim sistemi (upgrade) ve sürekli olarak büyüyen log dosyaları (/var/log dizini) örnek verilebilir. Diskteki boş alan miktarı kritik seviye düştüğünde çeşitli servis ve programlar dolu disk hatası verir ve çalışmasını normal şekilde devam ettiremez. Bu durum Raspberry Pi bilgisayarının çalışamayacak duruma gelmesine kadar gidebilir.

Raspberry Pi OS işletim sisteminin kullandığı paket yöneticisinin olağan çalışma yapısından kaynaklanan gereksiz disk kullanımları oluşabilir. Sistemden kaldırılan paketlerin bağımlılıklarını da kaldırmak için autoremove komutunu kullanabilirsiniz.

Raspberry Pi OS işletim sistemi ile beraber gelen Wolfram (~650MB) ve Libreoffice (~250MB) programları da yüksek disk kullanımına sahiptir. Kurulu olan; fakat kullanılmayan programlar Linux’un başarımına doğrudan olumsuz bir etkiye sahip değildir. Fakat kullanmıyorsanız bu programların paketlerini de sistemden kaldırabilirsiniz. Kaldırmak için aşağıdaki komutları verebilirsiniz:

pi@raspberry ~ $ sudo apt purge wolfram-engine

pi@raspberry ~ $ sudo apt remove --purge libreoffice*

pi@raspberry ~ $ sudo apt autoremove

pi@raspberry ~ $ sudo apt autoclean

Raspberry Pi sürekli olarak /var/log dizini altına günlük kayıtları ekler. Zamanla bu dizin aşırı yer kaplar duruma gelir. Zaman zaman disk kullanım durumunu kontrol ederek buradaki dosyaları temizleyebilirsiniz.

Linux mimarisinde geçici dosyalar için /tmp ve /var/tmp dizinleri kullanılır. Bu dizinler geçici dosyaların depolanacağı bir konum olarak kabul edilmiştir. Geçici olarak bir dosya oluşturmak isteyen bir program dosyasını bu dizin altında oluşturur ve işi bittiğinde siler. Bazen programlardaki hatalardan veya kullanıcı kaynaklı durumlardan buradaki dosyalar silinmezler. Raspberry Pi bilgisayarını yeniden başlattıktan sonra burada oluşmuş büyük boyutlu dosyaları güvenli şekilde silebilirsiniz. Hatırlamak gerekir ki, bu dizindeki dosyaların silinmesi o anda çalışan programların çalışmasını olumsuz etkileyebilir. Bunun için dosya oluşturulma tarihini kendinize ölçüt alabilirsiniz.

Grafik ortamda disk temizleme araçlarını kullanmak

Bleachbit[1], diskteki gereksiz dosyaları silerek boş alan açan ve grafiksel ortamda çalışan kullanışlı programlardan birisidir. Linux, Windows, Mac OS ve Blackberry gibi işletim sistemlerinde çalışabilen Bleachbit ile temizlik yapabileceğiniz alanlar şunlar:

  • Bellek ve Swap.
  • APT önbelleği.
  • Bash komut günlük dosyaları.
  • Geçici yerel ve internet dosyaları (tmp).
  • Kırık uygulama kısa yolları ve dosya uzantıları.
  • Pano dosyaları.
  • X11 hata ayıklama kayıtları.
  • Yüzlerce uygulamanın geçici dosya arşivlerini silebilme (aMSN, Chromium, aMule, Firefox, LibreOffice).
  • Boş disk alanının üzerine yazarak güvenli silme (kurtarılamayacak şekilde silme).

Programı yüklemek için aşağıdaki komutu uygulayabilirsiniz:

pi@raspberry:~ $ sudo apt update
pi@raspberry:~ $ sudo apt install bleachbit –y

Programı çalıştırmak için Raspberry Pi menüsünden System Tools altındaki BleachBit veya BleachBit (root) seçeneklerine tıklatabilirsiniz. BleachBit (root) seçeneği ile program root yetkileri ile çalışacağından sistemde daha kapsamlı bir temizlik yapmayı sağlar. Program çalıştığında bizi aşağıdaki gibi bir arabirim karşılar:


BleachBit programın arabirimi

Silme işlemini başlatmak için soldaki kategori ağacından temizlik yapmak istediğiniz kısımları seçin ve araç çubuğundaki Clean simgesine tıklatın.

Gereksiz Grafik Kullanıcı Arabirimi (GUI) Dosyalarını Kaldırmak

Raspberry Pi’ı headless (monitörsüz) olarak kullanıyorsanız X11 grafik ortamına ihtiyacınız yok demektir. Bununla ilgili dosyaları sistemden kaldırarak bir miktar boş disk alanı oluşturabilirsiniz:

pi@raspberry ~ $ sudo apt purge --auto-remove libx11-.*

[1] BleachBit ana sayfası: https://www.bleachbit.org/

Yazar: Özgür Koca

Yazar - Tankado.com

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Bu site istenmeyenleri azaltmak için Akismet kullanır. Yorum verilerinizin nasıl işlendiğini öğrenin.