Okumayı pek sevmeyen sabırsız bir milletiz. O yüzden bu yazıları okumayacaksınız biliyorum. Ama ben elden geldiği kadar detay vermek istiyorum.
Bu, USB ile sisteminize bağladığınız Ext4 birimlerini Arşiv diski (storage) olarak kullanabilmenizi sağlayan küçük bir araçtır.


NEDEN GEREKLİ:
Ext4 formatındaki bir birimi sisteminize harici olarak bağlarsanız, bu diskin içine veri kopyalayamaz, mevcut verileri silemezsiniz; yani yazma izinleri kapalıdır. Bu nedenden dolayı bir Ext4 diskini “storage” (depolama) diski olarak kullanamazsınız.
Ama bu bir engel değildir, diskinize gerekli ayarı çekerseniz, diskiniz normal bir harici disk gibi yazma izinleri açılır ve depolama diski olarak kullanılabilir hale gelir.
BU İŞ KONSOL’DAN DA YAPILIYOR AMA ZOR:
Bunun için gerekli terminal kodları sırasıyla:
İlk olarak, ilgili diski bir tespit edelim:
lsblk
Diskiniz neyse, bu komutun size söylediği bağlantı ağacından görün.
Önce bağlantısını kesmelisiniz:
sudo umount /dev/sdb1 #örnek
Geçici bir bağlantı klasörü oluştur:
sudo mkdir -p /mnt/USB_Yazma_Alani
Diski bu dizine bağla:
sudo mount /dev/sdb1 /mnt/USB_Yazma_Alani
Sahiplik ve yazma izinlerini ata:
sudo chown -R adın:adın /mnt/USB_Yazma_Alani #sistem adın neyse onu yaz
sudo chmod -R 700 /mnt/USB_Yazma_Alani
Şimdi diski ayır:
sudo umount /mnt/USB_Yazma_Alani
USB bağlantısını çıkar-tak, tamamdır, hazır.
Görüyorsunuz ki bu işlem çok adımlı ve komutları hafızanızda tutamazsınız. Ayda yılda bir uygulayacaksınız ve hemen hatırlayamayacaksınız. Neden bu araca ihtiyacınız olabileceğini şimdi anlamış olmalısınız.
ÖNEMLİ:
Ext4 disklerinin bazı dezavantajları vardır; veri kaybı yaşadığınızda, kurtardığınız dosyaları klasörleri ve isimleriyle birlikte geri getiremezsiniz. Bu nedenle microsoft’un NTFS’ini kullanmaktan gerçekten vazgeçmek istiyorsanız, bu unsuru gözönünde bulundurmalısınız. NTFS’de bir veri kaybettiğinizde, windows tarafına geçerek profesyonel veri kurtarma programlarıyla onu klasör sistemiyle ve dosya adlarıyla beraber geri getirebilirsiniz; ama linux’da maalesef henüz böyle bir teknoloji yok. Dolayısıyla bir harici diski ext4 depolama diski olarak kullanacaksanız, bu önemli bilgiyi unutmayın.
__
Harici bir Ext4 dizinine veri yazamamanızın nedeni, o diskin sahiplik ayarının sizde olmaması ve yazma izinlerinin kapalı olmasındandır. Her iki ayarın da değiştirilmesi gerekir.
İşte bu mini araç, sizin için bunu yapar ve/veya geri alır.
NASIL ÇALIŞIR:
Program, sadece USB yoluyla bağlanan ortamları görecek şekilde kodlanmıştır. Yani diğer bağlı diskleri görmezden gelir. Diski seçip “yap” dediğinizde, bu işlem yüksek yetki gerektirdiği için sizden sistem parolanızı sorar (pkexec devreye girer).
Parola ile işlemi onayladığınızda, program arkaplanda “agresif ayırma” metodunu dener. Fakat, sistemin otomatik bağlama mekanizması olan “Udisks2”, hala diski bir yerlerde bağlı tutuyor olabileceği için, ayırma işlemi başarısızlıkla sonuçlanabilir. Bunu aşmak için program “Tembel Ayırma (Lazy Unmount)” metodunu kullanır.
Tembel ayırma, disk meşgulse bile, bağlama noktasını sistemin hiyerarşisinden hemen koparır. Bu da diskin hayalet ya da gölge bağlantılarının temizlenmesini sağlayarak programın hata oluşmadan işini yapmasına yol açar.
Tüm gölge bağlantılar temizlendikten sonra, “/mnt/USB_ext4_birimi” adlı bir yol oluşturulur ve root yetkisiyle program USB Ext4 aygıtınızı bu dizine “user” yetkisi ve “rw” modda bağlar. Fakat değişikliklerin uygulanabilmesi açısından USB biriminizi sistemden tekrar ayırır (dosya yöneticisinin sol panelindeki diskler listesinden tamamen kaybolur).
Şimdi artık görev size düşer, USB bağlantısını çıkarıp tekrar takmak. Bunu yaptığınızda Ext4’lü biriminiz, artık bir NTFS, FAT32 ya da exFAT gibi kullanılabilen bir harici diske dönüşür. Film ve dizi arşivi, fotoğraf arşivi, belge arşivi… Nasıl istiyorsanız kullanabilirsiniz (izin durumu 700).
En soldaki yeşil butonla yapacağınız bu işlem, diskinizi sadece sizin için storage moduna alır. Yani başka bir kullanıcıyla oturum açıldığında ya da başka bir linux’lu bilgisayara takıldığında o kullanıcı diskinize sadece okuma modunda erişebilir. Bu, o diski sadece size özel kılmak içindir.
Ortadaki turuncu “Universal Acces” butonu da aynı şekilde işlemler sırası uygular. Ancak bu kez o diske “777” yetkisi verir. Bu, o diske her kullanıcının ve her linux sistemin erişme-okuma-yazma-silme yapabileceği anlamına gelir. Bu işlem ext4’lü bu harici diskinizi aynen MS’in NTFS, FAT32, exFAT gibi herkes tarafından tam anlamıyla kullanılabilir hale getirilmesine neden olur. Bu kez o diskte herkes yetkilidir.
İzinleri Geri Al (Revert Permissions) butonu ise, Yeşil butonla ya da Turuncu butonla yapılan tüm izin işlemlerini iptal ederek, diski tekrar “salt okunur” ve “root” yetkisi seviyesine döndürür. Diskiniz eski haline geri döner (izin durumu 755).
Programı defalarca test ettim. Test ortamı, şu an kullanmakta olduğum Pardus XFCE 23 güncel sürümü idi ve bu sisteme bağlı, eski bir 512MB’lik (GB değil) flaş bellekti. İçi boş bir USB HDD olmadığı için bu kadar yapabildim.
KUL HAKKI:
@cektor 'un programda emeği geçti. Programı son haline getirirken, izinleri geri alma fonksiyonunu, hatanın nedenini bulamadığımız için bir türlü düzgün çalıştıramamıştık. Bu yüzden kendisine “izinleri geri al” butonunu kaldırmasını söylemiştim. Haftalar sonra, durumu tekrar ele aldım ve YZ’ye, olaylar sırasında neler olup bittiğini terminalden takip edebilmem için hangi komutları denemem gerektiğini sorunca, YZ’nin verdiği komutlar hatanın nedenini bulmamı ve çözmemi sağladı. Sorun Udisks2’nin diskleri bağlama ve ayırmasındaki kendine has prosedürdü. Sorun anlaşılınca, izinleri geri al butonunu sorunsuz çalışır halde eklemekle kalmadım, yine YZ’nin yönlendirmesiyle “Diski evrensel olarak herkese aç” özelliğini (turuncu buton) de sonradan ekledim. Burada sorunu çözmek için elinden geleni yaptığı için Fatih Ö’ye teşekkür ederim.
Ayrıca programın ilk geliştirme aşamasında, disk tespit combobox’unda yanlışlıkla işletim sistemi dizinimi seçerek işlem uyguladım ve sistemimin uçmasına neden oldum. Ne yaptıysam düzeltemedim. Bu yüzden yeni kurulum yapmak zorunda kaldım. Bir programı yapmak ve test etmek kolay olmuyor. Arkamda Fatih ve YZ olsa da, ciddi zorluklar yaşıyorum. Ne kadar içi boş bir proje gibi görünse de, bu küçük tool’un ortaya çıkmasında insan emeği geçti ve bir hikayesi var. (atın üç beş bişeyler diyomuşum
)
ÖNEMLİ DETAYLAR:
-
Her işlem sonrasında üşenmeyip, diskinizi fiziksel olarak çıkarıp tekrar takmalısınız.
-
İşlem yapmak üzere programı çalıştırmadan evvel, diskin bağlanmamış olmasına dikkat edin. Bağlıysa, sağtık–>“ayır” yapın (diskin yanındaki “kaldır” değil). Bu gerçekten gerekli.
-
Program, bağlı USB aygıtı (flaşbellek ya da HDD/SSD) otomatik algılar. Ama birden fazla aygıt takılıysa, programda görünen aygıt doğru mu diye mutlaka emin olmalısınız. UYARILDINIZ!
-
Sisteminize USB yoluyla başka bir linux sistem diski bağlayarak bu programla işlem yapmayınız! UYARILDINIZ! O bağladığınız sistemi bir daha açamayabilirsiniz.
-
Programın defalarca yapılan testlerle stabil çalıştığı kanıtlandı. Ama bu demek değil ki sonradan bir hata çıkmayacak… Ben programı aktif şekilde kullanmak üzere kendim için yaptım. Dur program yapayım da millet uğraşsın dursun diye değil. Yani gerekli titizlik gösterildi, bundan emin olun. Yine de sorunlarla karşılaşırsanız, bildirin. Ben bunu ayda yılda bir kullanacağım için, devamlı hata takibi yapamayabilirim.
-
Program GPLv3 lisansı kapsamındadır ve HİÇBİR GARANTİ GETİRMEZ!
Repo:
Özgür kullanımlar dilerim.