Günümüzde taşınabilir depolama aygıtları arasında en sık kullanılanlar USB flash belleklerdir. Belki ikinci sırada SD kartlar gelebilir. Bu depolama ortamları üzerindeki veriler dosya adı verilen mantıksal yapılar ile bir arada tutulur ve organize edilirler. Dizinler ise dosyaları bir arada tutmak için oluşturulmuş mantıksal yapılardır ve tek başlarına bir veri tutamazlar. Dizinler ise dosya sistemi içinde organize edilmişlerdir. Günümüzde farklı firmalar tarafından standartları oluşturulmuş FAT, FAT32, ExFAT, HPFS, NTFS ve EXT gibi çeşitli dosya sistemleri vardır. Linux, dolayısıyla Raspberry Pi bu dosya sistemlerini hemen hepsini destekler. Yani, herhangi bir bilgisayar tarafından oluşturulmuş bir dosya sistemini Raspberry Pi kullanarak okuyup yazabilirsiniz. Bu başlıkta sık kullanılan taşınabilir depolama ortamları üzerinde dosya sistemlerinin nasıl oluşturulduğu ve Raspberry Pi üzerinden nasıl erişim sağlanabileceği hakkındaki bilgileri bulabilirsiniz.
USB flash belleğin dosya sistemini düzenlemek
Gparted[1](GNOME PARTition EDitor) aracı grafik arabirim kullanarak dosya sistemlerini düzenlemek için kullanılabilecek başarılı programlardan biridir. Program Linux, Windows veya MacOS işletim sistemlerinden herhangi birinde çalışabilir. Gparted ile disk bölümü oluşturabilir, yeniden boyutlandırabilir, silebilir, dosya sistemi biçimlendirebilir, kopyalayabilir veya taşıyabilirsiniz. Gparted,fat16 / fat32, ntfs, ext2 / ext3 / ext4, reiserfs / reiser4 gibi birçok popüler dosya sistemini destekler. Programı kurmak için aşağıdaki komutu verin:
1 2 3 |
pi@raspberry:~ $ sudo apt update pi@raspberry:~ $ sudo apt install gparted –y |
Gparted programını çalıştırmak için grafik ortamda bir terminal penceresi açın ve aşağıdaki gibi sudo ile root yetkisi vererek gparted programını çalıştırın:
1 |
pi@raspberry:~ $ sudo gparted |
Gparted programı çalıştığında aşağıdaki gibi bir pencere açılır. Bu pencerede ilk yapılması gereken, işlem yapılacak diskin seçilmesidir. Diski seçmek için pencerenin sağ üst kısmında bulunan açılır listeyi (aygıt listesi) veya GParted menüsündeki Devices seçeneğini kullanabilirsiniz. Raspberry Pi’a herhangi bir harici disk bağlı olmadığında burada sadece işletim sisteminin yüklü olduğu disk gözükür. Bu disk hâlihazırda kullanımda (bağlı/mounted) olduğundan, disk üzerinde herhangi bir işlem yapılmasına izin verilmez.
GParted penceresi
Raspberry Pi’a haricen bir USD disk ya da SD kart bağladığınızda yeni bağladığınız aygıtın listede gözükmesi için “Gparted” menüsünden “Refresh Device”s seçeneğini seçebilir veya Ctrl+R tuşlarına basabilirsiniz. İşlem yapmak istediğiniz diski seçtikten sonra GParted, disk içindeki bölümleri iki şekilde listeler. Birincisi arabirimin üstünde yerleşik olan grafiksel disk bölüm ön izleme panelidir. Burada diskin sahip olduğu bölümler ve boyutları görsel olarak izlenebilirken hemen altında bölümler kapasite ve dosya sistemi türleri ile birlikte satır satır listelenir. Listelenen bu bölümlerden herhangi birisine sağ tıkladığınızda aşağıdaki işlemleri yapabileceğiniz bir menü açılır:
- fat16 / fat32, ntfs, ext2 / ext3 / ext4, reiserfs / reiser4, hfs / hfs+, btrfs, linux-swap, lvm2 pv, nilfs2, udf, ufs, xfs.
New seçeneği ile yeni bir disk bölümü oluşturmak için diskte unallocated yani ayrılmamış olarak tanımlanmış boş bir disk bölümünün olması gerekir. Eğer yoksa mevcut disk bölümlerinden birini silerek de boş alan açabilirsiniz. Disk bölümünü silmek için ilgili bölüme sağ tıklayıp delete seçeneğini verin. Yeni bir disk bölümü oluşturmak için unallocated olarak tanımlanmış bölüme sağ tıklatın ve New seçeneğini seçin. Karşınıza dosya sisteminin boyutu ve biçimi gibi temel özelliklerinin belirlenebileceği aşağıdaki gibi bir arabirim gelecektir. Bu ekranda yeni oluşturulacak disk bölümünün boyutunu New size (MiB) alanına girdikten sonra File system açılır listesinden dosya sistemi türünü seçin Add düğmesine tıklatın. Dilerseniz bu ekranda fareyi kullanarak da yeni boyutu ve yeni bölümün disk üzerindeki pozisyonu ayarlayabilirsiniz. Fare ile bölüm alanının sağında ve solunda bulunan ok işaretlerini tutup sürükleyin.
Gparted yeni bölüm oluşturma penceresi
GParted arabirimi kullanılarak yapılan işlemler “Edit” menüsünden “Apply All Operations” seçeneği tıklanmadığı sürece gerçekten diske uygulanmaz. Yaptığınız tüm silme, oluşturma ve boyutlandırma işlemlerinin uygulanması için bu seçeneğe tıklatmalısınız.
Birden fazla disk bölümü oluşturmak için öncelikle Extended (genişletilmiş) tipli bir kapsayıcı bölüm oluşturmalısınız. Diğer bölümler bu kapsayıcının içerisinde yer alır.
GParted programın diğer bir özelliği ise dosya sistemi kontrol etme özelliğidir. İlgili dosya sistemine sağ tıklattıktan sonra açılan menüden Check seçeneğini seçerek dosya sistemini hatalara ve tutarsızlıklara karşı taratabilir hatalarının otomatik olarak giderilmesini sağlayabilirsiniz.
SD karttan farklı olarak dönen manyetik disk kullanan bir sabit diskiniz varsa çok sık kullandığınız dosyaların (örneğin işletim sisteminin yükleneceği disk bölümünü) yüklü olduğu disk bölümünü, düşük sektör numaralı tarafa yani diskin en dış izine yakın konumlandırırsanız daha yüksek bir erişim hızı elde edersiniz. Diskin dış taraflarında noktasal hız daha yüksek olduğu için daha düşük bir veri erişim süresi elde edilir. Tabi bu tüyo SD kart ya da USB flash bellek gibi rastgele erişimli ortamlarda geçerli değildir, sadece 5400rpm, 7200rpm ve 10000rpm gibi hızlarda dönen mekanik manyetik diskler için geçerlidir. GParted programında hızlı erişim sağlamak istediğiniz bölümleri disk bölüm listesinin en başına taşımalısınız ya da disk bölümü ön izleme penceresine göre en sola konumlandırmalısınız.
İşletim sistemi yüklerken veya yeni disk bölümleri oluştururken faydalı olabilecek bir stratejide birden fazla disk bölümü oluşturulmasıdır. Örneğin işletim sistemini yükleyeceğiniz disk bölümü ile dosyalarınızı yükleyeceğiniz disk bölümlerinin iki ayrı bölüm olması çeşitli avantajlar sağlar. Öncelikle işletim sisteminiz çöktüğünde ve yeniden yüklenmesi gerektiğinde diğer bölümdeki dosyalarınız zarar görmez. İşletim sisteminin bulunduğu disk bölümünü biçimlendirerek diğer bölümdeki dosyalarınızı kullanmaya devam edebilirsiniz. İkinci bir konu da, sıklıkla karşılaşılan bir durum olan; işletim sistemi açılışında dosya sistemi hatalarına karşı disk taraması gerektiğinde ortaya çıkar. Yüksek kapasiteli bir disk bölümünde (kişisel dosyaların da saklandığı tek parça bir disk bölümün kullanıldığı durumlarda) tarama işlemi uzun sürebilir.
Ayrıca işletim sistemi bölümü ile kişisel dosyalarınızın yer aldığı bölümleri ayırdığınızda, işletim sistemin yer aldığı disk bölümünü felaket senaryolarına karşı kolayca yedekleyebilirsiniz. Yedeklediğinizde elde ettiğiniz yedek dosyasının boyutu göreceli olarak daha ufak olacak, yedekten geri alma işlemi de buna göre daha kısa bir zaman alabilecektir.
Dosya sistemlerini Windows üzerinde düzenlemek için kullanılabilecek güzel bir program da “MiniTool Partition Wizard” ‘dır. Programı ücretsiz sürümünü (free) resmi sitesi olan www.minitool.com adresinden indirerek kurabilirsiniz.
USB flash bellek üzerinde disk bölümü oluşturmak
Önceki başlıkta USB aygıt (sda) üzerindeki disk bölümünü (sda1) biçimlendirmiştik. Bu kısımda ise mevcut disk bölümünü silip yeniden oluşturacağız ve ardından biçimlendireceğiz. Bu başlığın bir özelliği de USB flash bellek üzerindeki disk bölümlerini ve boyutlarını kendimizin belirleyecek olmasıdır. Diğer taraftan, dosya sistemindeki hatalardan kaynaklanan biçimlendirilememe sorunlarını Linux’un gücünü kullanarak aşacağız. Flash bellekler çok sık kontrolsüz olarak takılıp çıkarıldıklarından, dosya sistemlerinde veya firmware (öz yazılım)’lerinde sorunlar oluşabilmekte, bu da belleğin salt okunur hale gelmesine veya Windows gibi birçok işletim sisteminde flash belleklerin biçimlendirilememesine neden olabilmektedir.
Bilgi: Firmware konusuna değinmek gerekirse; USB flash belleklerin kendisi ufak bir mikro bilgisayar sistemine benzeyen bir yapıdadırlar. USB flash bellekler, bellek çipi ve MCU (mikrodenetleyici) olmak üzere iki kısımdan oluşur. MCU’da USB protokolünü çözümleyen ve bellek hücrelerini adresleyen bir program çalışır (firmware). Belleği bilgisayara taktığınızda 5v besleme ile ilk olarak bu MCU’da yüklü olan bu program çalışır ve PC ile bellek arasındaki iletişimi sağlayan bir arabirim olarak görev yapar. Bu program, bellek çipinin fiziksel özellikleri ve yapılandırma verilerini de barındırır. İşte bu yapılandırma verileri hasar gördüğünde disk salt okunur duruma veya format atılamaz duruma gelebilir ve bazen de veriler tamamen ulaşılmaz olur. MCU’nun yazılımını (firmware) yeniden yüklemek sorunu çözebilir; fakat öncelikle daha kolay bir yöntem olan diski biçimlendirme işlemini Linux kullanarak gerçekleştirmeyi denemek gerekir. İkinci durumda öncelikle flash belleğin içi açılarak MCU’nun model numarasına bakmalı, Google üzerinden, flashboot.ru veya usdev.ru gibi sitelerden ilgili firmware ve yazma programını edinmek gerekir[2].
USB flash belleği Raspberry Pi’a bağladıktan sonra lsblk ile disk bölümlerini listeleyelim:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
pi@raspberry:~ $ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 1 14.4G 0 disk └─sda1 8:1 1 60M 0 part mmcblk0 179:0 0 7.5G 0 disk ├─mmcblk0p1 179:1 0 41.8M 0 part /boot └─mmcblk0p2 179:2 0 7.4G 0 part / |
Komut çıktısından 14.4GB boyuta sahip (16GB) bir flash belleğin içinde (disk) sadece 60M’lık bir disk bölümü olduğu (part) görülüyor. Öncelikle bu disk bölümünü silelim. Bunun için kullanımı oldukça kolay olan fdisk aracından faydalanacağız. fdisk aracını aşağıdaki şekilde çalıştırdıktan sonra fdisk’in komut satırına ulaşın:
1 2 3 4 5 6 7 8 9 |
pi@raspberry:~ $ sudo fdisk /dev/sda Welcome to fdisk (util-linux 2.29.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Command (m for help): |
Bu aşamadan sonra dilerseniz m komutunu yazıp enter tuşuna basarak mevcut komutlar ve görevleri hakkında bilgi alabilirsiniz (p ile /dev/sda diski üstündeki bölümleri listeletebilirsiniz). Şimdi 60MB’lık mevcut disk bölümünü silmek için d (delete partition) komutunu verelim.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
Command (m for help): d Selected partition 1 Partition 1 has been deleted. Daha sonra n (new) komut ile yeni bir bölüm oluşturalım: Command (m for help): n Partition type p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): p Partition number (1-4, default 1): 1 First sector (2048-30277631, default 2048): Last sector, +sectors or +size{K,M,G,T,P} (2048-30277631, default 30277631): Created a new partition 1 of type 'Linux' and of size 14.4 GiB. |
n komutunu verdikten sonra ilk sorulacak soru bölümün birincil mi yoksa genişletilmiş mi olacağı sorusudur. Diskte sadece bir bölüm yer almasını istediğimizden bu soruya p (primary) cevabını verdik. Daha sonra kaç bölüm oluşturulacağı (birincil bölüm altında en fazla 4 disk bölümü oluşturulabilir) sorusunu 1 olarak yanıtladık. Sonraki iki soru da disk bölümünün hangi sektörden başlayıp biteceği ile ilgilidir, bunlara herhangi bir değer vermeden program tarafından önerilen değerleri (2048, 30277631) kullanmak için enter’a basarak geçtik. Buraya kadar yaptığımız işlemler henüz diske uygulanmamıştır. Oluşturduğumuz bölümlemeyi diske uygulamak için w(write) komutunu verdiğimizde işlem gerçekleştirilecek ve fdisk programı sonlanacaktır:
1 2 3 4 5 6 7 |
Command (m for help): w The partition table has been altered. Calling ioctl() to re-read partition table. Syncing disks. |
Disk bölümü oluşturulduktan sonra mkfs.ntfs aracı ile biçimlendirme işlemini aşağıdaki gibi gerçekleştirebilirsiniz:
1 2 3 4 5 6 7 8 9 10 11 |
pi@raspberry:~ $ sudo apt update pi@raspberry:~ $ sudo apt install ntfs-3g pi@raspberry:~ $ sudo mkfs.ntfs /dev/sda1 –f Cluster size has been automatically set to 4096 bytes. Creating NTFS volume structures. mkntfs completed successfully. Have a nice day. |
USB flash bellek üzerindeki disk bölümü biçimlendirmek
Raspberry Pi’ın USB girişlerini kullanarak bir USB flash belleği formatlayabilirsiniz. Özellikle diğer işletim sistemlerinin formatlayamadığı flash bellekleri de formatlayabilmesi açısından önemlidir. USB flash belleğinizi Raspberry Pi’ın USB girişlerinden birisine taktıktan sonra aygıt dosyası adın öğrenmek için lsblk komutu kullanın:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
pi@raspberry ~$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 1 7.6G 0 disk └─sda1 8:1 1 7.6G 0 part mmcblk0 179:0 0 7.5G 0 disk ├─mmcblk0p1 179:1 0 60M 0 part /boot └─mmcblk0p2 179:2 0 1.9G 0 part / |
Yukarıdaki komut çıktısında sda aygıt dosyası adıyla temsil edilen 7.6GB’lık bir USB blok aygıtı ve bu aygıtın içinde 7.6GB’lık bir adet disk bölümü görülmektedir. sda1 bölümünün dosya sistemi hakkında bilgi almak için fdisk komutundan faydalanabilirsiniz:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
pi@raspberry ~$ sudo fdisk -l /dev/sda Disk /dev/sda: 7.6 GiB, 8103395328 bytes, 15826944 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0xc3072e18 Device Boot Start End Sectors Size Id Type /dev/sda1 * 32 15826943 15826912 7.6G 7 HPFS/NTFS/exFAT |
Diskin NTFS biçimli olduğu gözüküyor. Öncelikle disk bölümünü NTFS olarak biçimlendirmek için ntfs-3g paketini yükleyelim:
1 2 3 |
pi@raspberry:~ $ sudo apt update pi@raspberry:~ $ sudo apt install ntfs-3g |
Şimdi mkfs.ntfs aracılı kullanarak dosya sistemini NTFS olarak biçimleyebiliriz. Dikkatli olun diskteki tüm dosyalar silinecektir.
1 2 3 4 5 6 7 |
pi@raspberry ~$ sudo mkfs.ntfs /dev/sda1 -f Cluster size has been automatically set to 4096 bytes. Creating NTFS volume structures. mkntfs completed successfully. Have a nice day. |
-f seçeneği biçimlendirme işleminin çabuk (fast/quick) modda yapılmasını sağlar. Diskin tüm sektörlerinin taranarak 0 ile doldurulması için bu seçeneği kullanmayın. Bu seçeneği kullanmadan biçimlendirmek kötü durumdaki veri sektörlerinin (bad sector) tespit edilmesini sağlaması yönünden faydalı olmasının yanında işlem, belleğin boyutuna bağlı olarak zaman alabilir.
Flash bellekte dosya depolamak için kullanılan dosya sistemini belirlemek için birçok seçenek mevcuttur. mkfs komutu tarafından desteklenen dosya sistemleri şunlardır: bfs, ext2, ext4, fat, msdos, vfat, cramfs, ext3, ext4dev, minix ve ntfs. Örneğin bir diski yukarıda olduğu gibi ext4 dosya sistemini kullanarak biçimlendirmek için çalıştırmanız gereken komut aşağıdaki gibidir:
1 |
pi@raspberry ~$ sudo mkfs.ext4 /dev/sda1 |
USB flash belleği Linux ortamında bağlamak
Dosya sistemi Windows tarafından oluşturulmuş bir flaş belleği Linux’a bağlamak için bazı paketlerin yüklenmesi gerekir. Belleğin dosya sistemi NTFS veya daha güncel ve gelişmiş bir dosya sistemi olan exFAT olabilir. Bağlama işleminden önce bu paketlerin yüklenmesi gerekir.
1 2 3 |
pi@raspberry ~ $ sudo apt update pi@raspberry ~ $ sudo apt install ntfs-3g exfat-fuse exfat-utils –y |
Flaş belleği bağlayacağımız dizini /mnt altında oluşturduktan sonra (örn., usbdisk) lsblk komutu ile USB port’una bağladığımız aygıtın adını öğrenelim (bu örnekte /dev/sda1). Daha sonra mount komutu ile dosya sistemini usbdisk dizinine bağlayabiliriz.
1 2 3 4 5 6 7 8 9 10 11 |
pi@raspberry ~ $ cd /mnt/ pi@raspberry ~ $ sudo mkdir usbdisk pi@raspberry /mnt $ sudo mount /dev/sda1 usbdisk/ pi@raspberry /mnt $ cd usbdisk/ pi@raspberry /mnt/usbdisk $ ls filmler muzikler programlar notlarım.txt |
[1] Gparted programının resmi sayfası: https://gparted.org/
[2] Firmware yüklemek: https://www.tankado.com/firmware-yukleyerek-yazma-korumali-flash-bellegi-tamir-etmek/