İçindekiler
Dosya sistemi oluşturmak için mkfs komutu kullanılır. Ön tanımlı olarak mkfs komutu ext2 linux dosya sistemi formatında disk bölümünü formatlar. Fakat –t parametresi ile diğer dosya sistemleri de oluşturulabilir. Örneğin /dev/sdb1 disk bölümünde MS-DOS formatında disk bölümü oluşturmak için aşağıdaki komut kullanılır.
mkfs –t msdos /dev/sdb1
Aslında mkfs komutu farklı komutlar için bir aracı komut durumundadır. Kendisi herhangi bir dosya sistemi oluşturmaz. Verilen parametreye göre ilgili dosya sistemi oluşturma komutunu çalıştırır. Yukarıdaki örnekteki –t msdos parametresinden dolayı aslında mkdosfs komutunu çalıştırır. –t parametresi verilmediğinde ext2 dosya sistemini ise mke2fs komutunu çalıştırarak oluşturur. Mkfs yerine doğrudan ilgili dosya sistemine ait komutu da çalıştırabilirsiiz. Bu komutlardan bazıları:
mke2fs | mkfs.minix | mkfs.ext3 |
mkfs.bfs | mkfs.ufs | mkfs.ext2 |
mkdosfs | mkfs.xfs | mkfs.ext4 |
mkfs.cramfs | mkfs.btrfs | mkfs.jfs |
mkfs.ext4dev | mkfs.msdos | mkfs.vfat |
Örneğin aşağıdaki 3 komutla ext3 dosya sistemi oluşturulabilir.
mkfs –t ext3 /dev/sdb1 mkfs.ext3 /dev/sdb1 mke2fs –j /dev/sdb1
ext4 dosya sistemi oluşturmak istersek;
mkfs.ext4 /dev/sdb1 mke4fs -t ext4 /dev/sdb1
Disk Bölümlerini Bağlama ve Koparma (mount – umount)
Linux’de bölümlenip, dosya sistemi oluşturulan diske, işletim sistemindeki kullanıcı ve uygulamaların erişebilmesi için ilgili dosya sisteminin bir dizin üzerinden erişilebilir olması gerekir. Bu işlemi yapmak için mount komutu kullanılıdır. Bu işlemi sadece root veya root hakkı verilen kullanıcı yapabilir.
Mount; bağlanmak, takmak anlamındadır. Sistemin yüklü olduğu dosya sisteminin dışında ikinci bir disk, CDROM, disket vs. (a second hard-drive) ne olursa olsun, bu parçaya erişmeden önce, sistemde var olan bir dizine iliştirilmesi gerekir. Bu iliştirmeye bölüm eşleme denir. Aygıtın bağlandığı dizine ise bağlanma noktası veya “mount point” denir.
Ancak bu bağlanma/takma işleminden sonra kullanılan ikincil aygıta bağlanma noktası üzerinden erişebilir. Kullanılan aygıt çıkarılacağı zaman bağlantının sonlandırılması, yani koparılması gerekir. Bu yüzden aygıt uzaklaştırılmadan önce “unmount” işlemi yapılır, bağlantı kesilir.
mount komutuna örnek verecek olursak örneğin Linux kurulu sunucumuza cd taktığımızı varsayalım.
Yeni bağladığınız aygıtı /dev/cdrom da bulabilirsiniz ama mount edilmediği için içinde işlem yapamayız. Mount komutunda önce bağlayacağım aygıtı daha sonrasında bağlayacağım dosyayı belirtmem gerekmektedir. Yeni aygıtımı cdrom dosyasına bağladım ve liste lediğimde içindekilere ulaşabildim.
Yukarıdaki örnekte belli bir aygıt tipi belirtmemiştim. Aynı örneği aygıt tipi belirterekte yapabilirim. Mount -t iso9660 aygıt bağlama noktası şeklinde. İso9660 cdrom için kullanabilirsiniz. Örnek dosya tipleri adfs, affs, autofs, coda, coherent, cramfs, devpts, efs, ext, ext2, ext3, hfs, hpfs, iso9660, jfs, minix, msdos, ncpfs, nfs, ntfs, proc, qnx4, reiserfs, romfs, smbfs, sysv, udf, ufs, umsdos, vfat, xenix, xfs, xiaf
mount –t iso9660 /dev/cdrom /cdrom
Bağlı olan aygıtların ayrıntılı bilgilerine erişmek için proc altındaki mounts un çıktısına bakabilirsiniz. En altta eklediğim cdrom u görebilirsiniz. dosya tipi, dosya erişim hakkı ro ( read only ) ve yedek alınacak mı gibi bilgileri bulabilirsiniz.
Yukarıdada gördüldüğü gibi df komutunu kullanarak ta hızlı bir şekilde sistemde ne bağlı ne kadar yer kullanıyor bunların bilgilerine ulaşabilirsiniz. Yada mount –l komutu ile bilgilere ulaşabiliriz.
Mount komutu ile kullanabileceğimiz opsiyonlar aşağıdaki gibidir.
- -V : Sürüm bilgilerini gösterir.
- -h : Bir yardım iletisi gösterir.
- -v : Yapılan işlem hakkında daha ayrıntılı bilgi verir.
- -a : /etc/fstab içinde kayıtlı bütün dosya sistemlerini (belirtilen türdekileri) bağlar.
- -F : (-a ile birlikte kullanılır.) Her bir aygıt için mount komutunun yeni bir kopyasını çalıştırır. Bu sayede değişik aygıtlar veya NFS sunucular aynı anda bağlanabilir. Bu yöntem hızlı olmasının yanında, NFS zamanaşımlarının da aynı anda kullanılmasını sağlar. Olumsuz tarafı ise, bağlama işlemlerinin bilinmeyen bir sırada yapılacak olmasıdır. Bu nedenle, hem /usr hem de /usr/spool sistemlerini bağlamak istiyorsanız, bu seçeneği kullanamazsınız.
- -f : Gerçek sistem çağrısı hariç yapılması gereken herşeyi yapar. Tabir yerindeyse, dosya sisteminin bağlanmasını taklit eder. mount komutunun ne yapmaya çalıştığını izleyebilmek açısından -v seçeneğiyle birlikte kullanıldığında daha yararlıdır. Bu ayrıca, -n seçeneği ile daha önceden bağlanmış aygıtlara yeni girdiler eklemek için de kullanılabilir.
- -l : mount çıktısına ext2, ext3 ve XFS etiketlerini ekler. Bunun için, mount komutunun disk aygıtlarını okuma iznine sahip olması gerekir (suid root olmak gibi). Dosya sistemlerine, ext2 veya ext3 için e2label) komutunu kullanarak, XFS için ise xfs_admin ile böyle bir etiket atanabilir.
- -n : /etc/mtab dosyasına kaydedilmeden dosya sisteminin bağlanmasını sağlar. Bu seçenek /etc gibi salt okunur dosya sistemlerinin bağlanmasında faydalı olabilir.
- -s : Uyduruk mount seçeneklerinde hata verilip işlemin yarıda kalmasını önler. Bu seçenek sayesinde, dosya sisteminde desteklenmeyen seçenekler gözardı edilir. Bütün dosya sistemleri bu seçeneği desteklemez. Bu seçenek, Linux autofs tabanlı özdevinimli bağlayıcılara destek için vardır.
- -r : Dosya sistemini salt okunur bağlar. -o ro ile eşanlamlıdır.
- -w : Dosya sistemini oku-yaz bağlar. -o rw ile eşanlamlıdır.
- -L etiket : Belirtilen etiket’e sahip dosya sistemini bağlar.
- -U uuid : uuid ile evrensel tek kimliği belirtilen dosya sistemini bağlar. Bu son iki seçeneğin çalışabilmesi için /proc/partitions dosyasının mevcut olması gerekir (Linux 2.1.116 sürümünden beri vardır).
- -t sdstürü : sdstürü ile bağlanacak dosya sisteminin türü belirtilir. Desteklenen dosya sistemi türleri şunlardır: adfs, affs, autofs, coda, coherent, cramfs, devpts, efs, ext, ext2, ext3, hfs, hpfs, iso9660, jfs, minix, msdos, ncpfs, nfs, ntfs, proc, qnx4, reiserfs, romfs, smbfs, sysv, udf, ufs, umsdos, vfat, xenix, xfs, xiafs. coherent, sysv ve xenix benzerdirler ve xenix ile coherent gelecekte kullanımdan kalkacaktır. Bu nedenle sysv kullanın. Linux 2.1.21 sürümünden itibaren ext ve xiafs desteği kalkmıştır.
- -o seçenekler : seçenekler, virgül ayraçlı bir seçenek dizgesi olarak verilebilir. Bu seçeneklerden bazıları, sadece /etc/fstab dosyası içinde mevcut iseler işe yararlar. Aşağıdaki seçenekler, bağlanmak istenen herhangi bir dosya sistemine uygulanabilirler (fakat bütün dosya sistemleri bu seçenekleri kabul etmez, örneğin sync seçeneği bugün için sadece ext2, ext3 ve ufs’yi etkiler):
mount seçeneğine bir opsiyon ekleyip sadece read hakkı veriyorum.
mount –o ro /dev/sdb1 /disk
Aynı opsiyon seçeneğiyle rw ( read write ) okuma ve yazma hakkı veriyorum.
mount –o rw /dev/sdb1 /disk
Mount ettiğim dosyanın yerini değiştirmek için M (move) taşıma komutunu kullanabilirim.
mount -M /disk /new_disk
mount –a (all ) hepsi komutuyla fstabı yeniden okumasını sağlayıp eksik olan aygıtların eklenmesini sağlayabilirsiniz.
mount -a
İso dosyalarını da mount edip kullanabilirsiniz bunun için opsiyon dan loop la yapabilirsiniz.
mount -o loop /root/OEL\_x64.iso /disk
Aşağıdaki komut ext3 dosya sistemli /dev/sdb2 disk bölümünü /mnt dizinine bağlar.
mount –t ext3 /dev/sdb2 /mnt
Eğer bir dosya sistemi /etc/fstab dosyasında tanımlı ise mount işlemi için herhangi bir parametre kullanmadan sadece bağlama noktası veya disk bölümü adı yazmak yeterlidir.
mount /dev/sdb2 veya mount /mnt
NTFS ve Windows gibi farklı işletim sistemi tabanlı dosya sistemlerinin yapıları Linux’tan farklıdır. Bunun için, NTFS dosya sistemi bağlanması için öncelikle Linux için RPM adı verilen paket yöneticisinin sisteme yüklenmiş olması gerekir. Tam olarak doğru paket yöneticisinin yüklenmiş olması dosya sistemini bölüm eşleme sırasında hiçbir aksaklık çıkmaması bakımından önemlidir.
Herhangi bir ftp sunucusundaki alana direk erişim için dosya sistemi desteği sunan bir kaç paket mevcut. Bunlardan birisi de, bu yazıda kullanımından bahsedeceğim curl ve fuse tabanlı ftp dosya sistemi olan CurlFtpFS’dir.
curlftpfs kullaniciadi:sifre@192.168.12.12 /mnt/ftp/
Linux istemciler samba paylaşımlarına erişim için mount (bağla) komutunu kullanarak paylaşımları kendi makinelerine bağlayabilirler. Mount komutunun samba paylaşımlarına erişim için örnek kullanımı aşağıdaki gibidir.
mount –t cifs –o username=mustafa //192.168.1.10  /smb_disk
Bu komutun yürütülmesinin ardından samba sunucusu ilgili kullanıcı hesabının, eğer varsa şifresini isteyecek ve kimlik doğrulama adımını geçtikten sonra paylaşım yerel dosya sistemine dahil edilecektir.
NFS servisi UNIX işletim sistemleri arasında dosya paylaşımı yapmak için kullanılan bir servistir. NFS (Network File System) protokolü, bilgisayar ağları üzerinden paylaşıma açılan dosyalara erişim için tasarlanmıştır. NFS protokolü farklı sistem mimarileri, farklı işletim sistemleri ve ağ yapılarında çalışabilecek şekilde tasarlanmıştır. Bu sayede bir UNIX işletim sistemi, başka bir UNIX işletim sistemi ile NFS servisi üzerinden dosya paylaşımı gerçekleştirebilmektedir.
Bir NFS sunucusundaki bir paylaşım dizininin, Unix işletim sistemine sahip bir istemciye bağlanması için mount(bağla) komutu kullanılır. Bu işlem için aşağıdaki komut çalıştırılır.
mount -t nfs [-o seçenekler] sunucu:paylaşım  yerel_dizin
Mount komutuyla aygıtları sistemimize bağladık kaldırmak içinse umount komutunu kullanıyoruz.
umount /disk
Eğer dosya sistemi kullanıcı veya bir proses tarafından erişilmekte ise umount komutu dosya sistemi meşgul diye hata verecektir. Hangi dosyanın hangi prosesler tarafından kullanıldığını lsof komutu ile görebilirsiniz. Bu komut ön tanımlı olarak hangi dosyanın ve port numarasının hangi prosesler ve kullanıcılar tarafından kullanıldığını listelemektedir.
Açılış Sırasında Disk Bölümlerinin Otomatik Bağlaması (/etc/fstab)
Fstab sabit diskinizdeki bölümleri sisteminize bağlama (mount) işleminin otomatik olarak yapılabilmesi için gerekli bir ayar dosyasıdır.
- Fstab, dahili sürücüleri, CD/DVD sürücülerini ve ağ dosya paylaşımını (samba/nfs/sshfs) düzenler. Flash bellekler gibi taşınabilir cihazlar da fstab üzerinden sisteminize bağlanabilir, ancak varsayılan halde bu cihazlar gnome-volume-manager tarafından otomatik bağlanacaktır.
- “mount” komutu ve fstab dosyasının ayarları çok benzerdir.
- fstab dosyasında belirtilmiş sürücüler ve bölümler, sistem açılışında (boot) otomatik olarak bağlanmak üzere ayarlanabilirler.
- Bir sürücü veya bölüm fstab dosyasından bağlanmamışsa, mount komutuyla elle bağlama işlemini yalnızca “root” yetkilerine sahip kullanıcılar yapabilir.
Bir fstab girisinin sözdizimi şu şekilde olmalıdır.
[Aygıt] [Bağlama Noktası] [Dosya Sistemi] [Ayarlar] [Dump] [Pass]
- <aygıt> Sabit disk ya da bölümleme – /dev klasöründeki yeri ya da UUID olarak yazılabilir. (Bağlanılacak olan dosyanın yerini belirmeliyiz.)
- <bağlama noktası> Bağlamak istediğiniz sabit disk ya da bölüme dosya sisteminizden erişimi sağlayacağınız klasör. NOT: takas alanının (swap) bağlama noktasına ihtiyacı yoktur. NOT2: Bağlama noktası olacak klasörlerin isimlerinde boşluk olmamalıdır.
- <dosya sistemi> Sabit disk ya da disk bölümünün dosya sistemi. Örnek (ext3, ext4, swap, iso9660, auto) Auto dosya türü değildir fakat dosya türünü otomatik olarak kendisinin bulmasını sağlar.
- <ayarlar> Sabit disk ya da bölümün bağlama ayarları. Örnk ( auto/noauto, user/nouser, ro, rw, defaults ) Defaults seçeneği auto, nouser , rw kullanır.
- <dump> Sabit disk ya da bölümün “dump” komutu kullanılarak yedeklenmesini ayarlar. 0 ve 1 seçenekleri kullanılır. Bu değişken genelde “0”dır ve bu haliyle yedekleme devre dışıdır.
- <pass> Sistem açılışı (boot) sırasında fsck’nin bağlı sürücü ya da bölümleri kontrol sırasını belirler. 0,1 ve 2 seçenekleri mevcuttur. Kök dizinin bulunduğu sürücü/bölüm 1 olmalıdır. Diğer sürücüler/bölümler 2 olabilir ya da 0 yapılarak devredışı bırakılabilir.
Mustafa Bektaş Tepe
İyi Çalışmalar