Fstab Dosyası Ayarları

Son güncelleme: 14.04.2012 14:13
  • Giriş

    Fstab Nedir?

    Fstab sabit diskinizdeki bölümleri sisteminize bağlama (mount) işleminin otomatik olarak yapılabilmesi için gerekli bir ayar dosyasıdır.

    Mount Etmek (bağlamak) Ne Demektir?

    Mount etmek (bağlamak) sabit diskinizdeki bir bölümün, dosya sisteminizde oluşturulan bir klasör (mount point - bağlama noktası) üzerinden erişime açılması işleminin adı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. (gnome-volume-manager bu yazının konusu değildir.)
    "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.



    Fstab Dosyasında Ayarlar

    Sözdizimi (syntax)

    Bir fstab girisinin sözdizimi şu şekilde olmalıdır.

    [Aygıt] [Bağlama Noktası] [Dosya Sistemi] [Ayarlar] [Dump] [Pass]


    Değişkenler

    Açıklamaları

    <aygıt>


    Sabit disk ya da bölümleme - /dev klasöründeki yeri ya da UUID olarak yazılabilir.

    <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

    <ayarlar>

    Sabit disk ya da bölümün bağlama ayarları

    <dump>

    Sabit disk ya da bölümün "dump" komutu kullanılarak yedeklenmesini ayarlar. 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. 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.


    Örnek fstab dosyaları için aşağıdaki örnekler bölümüne bakın. Şimdi de her değişkeni detaylı olarak açıklayalım.

    Aygıt

    Ubuntu bölümleri ve aygıtları varsayılan olarak UUID kullanarak isimlendirir. UUID "xxx.yyy.zzz" gibi bir görünüme sahiptir. Sisteminize bağlı cihazları UUID'lerine göre sıralamak için aşağıdaki komutu kullanabilirsiniz.

    sudo blkid

    Bunun yanında bölümlerinizı ve aygıtlarınızı,

    Aygıt yolunu, (ÖRN: /dev/sdxy ya da /dev/hdax)
    Etiketini, (ÖRN: ETİKET=aygıt)
    Ağ yolunu, (ÖRN: Samba için -> //server/share, NFS için -> server:/share, SSHFS için -> sshfs#user@share:/share)

    kullanarak da tanıtabilirsiniz.


    Bağlama Noktası

    Bağlama noktası, sabit diskinizi/bölümünüzü bağlamak için kullanılan, kök dizini içerisinde bir klasördür. Ubuntu varsayılan olarak /media klasörünün içinde alt klasörler oluşturur. Buna rağmen dilediğiniz klasörü kullanabilirsiniz.
    Bağlama noktasına isim verirken de dilediğiniz ismi seçmekte özgürsünüz, ancak bu isimde boşluk olmamalıdır ve bağlama işlemini gerçekleştirmeden önce bu klasörü oluşturmanız gereklidir.

    mkdir /media/HariciSabitDisk


    Dosya Sistemi

    Bu değişkeni "auto" olarak tanımlayabileceğiniz gibi, kendiniz de belirli bir dosya sistemi girebilirsiniz. "auto" dosya sistemini kendiliğinden saptayacaktır. Genellikle bu işlem başarıyla gerçekleşir. Taşınabilir aygıtlar için genellikle "auto" kullanılır. "auto"nun dışında kalan seçeneklerden yaygın olarak kullanılanları:

    vfat - FAT dosya sistemi için
    ntfs - NTFS dosya sistemlerini yalnızca okunabilir olarak bağlamak için
    ntfs-3g - NTFS dosya sistemini okunabilir ve yazılabilir olarak bağlamak için
    udf,iso9660 - CD/DVD sürücüler için
    swap - Takas alanı bağlamak için
    ext2, ext3, jfs, reiserfs, vb.


    Ayarlar

    Girilmesi gereken ayarlar dosya sistemine bağlı olarak değişmektedir. "defaults" yazabilir, ya da aşağıda yazan önerilerden faydalanabilirsiniz.

    Ubuntu 8.04, kök dizinin bulunduğu dosya sistemleri (ext2, ext3 vb.) için varsayılan olarak relatime özelliğini kullanmaktadır. Relatime ile ilgili detaylı bilgiyi burada İngilizce olarak bulabilirsiniz.
    defaults = rw, suid, dev, exec, auto, nouser ve async seçeneklerini içerir.
    ayrı bir sürücüde /home klasörü kullanmak için ayarlarınız, nodev, nosuid olmalı.
    ntfs/vfat için ayarlarınızı yaparken gözönünde bulundurmanız gereken şey, erişim izinlerinin bağlama esnasında (umask, dmask ve fmask kullanarak) belirleneceği ve daha sonra chmod kullanarak değiştirelemeyecek olmasıdır.
    Bu konuda benim tavsiyem, dmask=027 ya da fmask=137 kullanmanızdır, eğer umask=000 kullanırsanız tüm dosyalarınız çalıştırılabilir olacaktır. Eğer daha geniş izinlere sahip seçimler arıyorsanız onlar da dmask=000 ve fmask=111 olabilir.
    Sambayla paylaşılan dosyaları bağlamak için, bir kullanıcı adı ve şifre oluşturabilirsiniz, ya da daha iyi bir seçim olarak, tanıtım dosyası (credentials file) oluşturabilirsiniz. Bu dosyaya root kullanıcısı, chmod=0400 izinleriyle sahip olmalıdır.

    Bunların yanında sık kullanılan ayarlar şöyle,

    sync/async = Dosya sistemine tüm I/O'lar eşzamanlı/eşzamanlı olmayarak yapılır.
    auto = Bağlamak istediğiniz sürücü/bölüm açılış sürecinde otomatik olarak bağlanabilir. Bu seçenek zaten "mount -a" komutunun varsayılan davranışı olduğu için ayrıca belirtmek gereksizdir.
    noauto = Sürücü/bölüm açılış sürecinde otomatik olarak bağlanmaz.
    dev/nodev = Bilgisi olan bir arkadaştan açıklama bekliyorum buraya.
    exec/noexec = İkilik (binary) dosyaların çalışmasına izin ver/verme.
    suid/nosuid = SUID ve SGID bit kullanımına izin ver/verme.
    ro = Yalnızca okunabilir bağlamak için.
    rw = Hem okunabilir hem yazılabilir bağlamak için.
    user = Herhangi bir kullanıcının bağlama işlemini gerçekleştirebilmesi için gereklidir, bu seçenek "noexec, nosuid, nodev" seçeneklerini eğer aksi belirtilmemişse kendiliğinden kullanır.
    nosuer = Sadece root yetkisine sahip kullanıcının bağlama işlemi gerçekleştirebilmesini sağlar. Bu seçenek varsayılan seçeneklerden birisidir.
    defaults = Varsayılan ayarları - rw, suid, dev, exec, auto, nouser, async - kullanır.
    _netdev = Ağdan bağlanan sürücüler için kullanılır, bu sürücüleri ağa bağlandıktan sonra sisteminize bağlayın. Sadece "nfs" dosya sistemi için geçerlidir.

    Özel dosya sistemleri için farklı ayarlar edinmek isterseniz, bu adreste İngilizce olarak bulabilirsiniz.


    Dump

    Bu değişken yedekleme aracı olan "dump" komutunun sürücüyü/bölümü yedekleyip yedekleyemeyeceğini belirler. "0" yedekleme yapmaz, "1" yapar. Bu seçenek çok seyrek kullanılır, eğer bu komutla ilgili bir şüpheniz olursa "0" yapmanızda fayda var.


    Pass (fsck sırası)

    Pass seçeneği fsck komutunun sürücü/bölümleri hangi sırayla kontrol edeceğini belirler. "0" seçilirse kontrol edilmez. Bu değişken genelde kafa karıştırır, işte bu değişkene girebileceğiniz 3 seçenek;

    0 = kontrol yapılmaz.
    1 = ilk kontrol edilecek bölüm/sürücü.
    2 = daha sonra kontrol edilecek bölüm/sürücü.

    Kullanımına gelince, "1"i kök dizininin bulunduğu ve "2"yi de geri kalanı için kullanın. "2" ile işaretlenmiş olan sürücüler/bölümler için ayrıca bir sıralama yapmanıza gerek yoktur. Ağdan bağladığınız ve kontrol edilmesini istemediğiniz bölümler için "0"ı kullanın.

    Bunlardan bağımsız olarak, "tune" ile kontrol sıklığını değiştirebilirsiniz. Varsayılanı 30 bağlama işleminde bir defadır, ve bu işlem dosya sisteminizin uyumlu çalışıp çalışmadığını kontrol etmesi açısından önemli olduğu için varsayılan ayarı değiştirmemeniz önerilir.



    Örnekler

    # /etc/fstab: static file system information.
    #
    # <file system> <mount point> <type> <options> <dump> <pass>

    proc /proc proc defaults 0 0
    # /dev/sda5
    UUID=be35a709-c787-4198-a903-d5fdc80ab2f8 / ext3 relatime,errors=remount-ro 0 1
    # /dev/sda6
    UUID=cee15eca-5b2e-48ad-9735-eae5ac14bc90 none swap sw 0 0

    /dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0


    Aşağıdaki ağ paylaşımındaki bağlama işlemleri (NFS vb.) örneklenirken ağ bağlantılarınızın ayarlı olduğu varsayılmıştır.

    # FAT ~ Linux FAT dosya sistemini vfat olarak tanır.)
    # /dev/hda1
    UUID=12102C02102CEB83 /media/windows ntfs-3g auto,users,uid=1000,gid=100,dmask=027,fmask=137,utf8 0 0

    # NTFS ~ Bağladığınız bölüm/sabitdisklere yazma izniniz olması için ntfs-3g kullanın)
    # /dev/hda1
    UUID=12102C02102CEB83 /media/windows ntfs-3g auto,users,uid=1000,gid=100,dmask=027,fmask=137,utf8 0 0

    # Zip Drives ~ Linux recognizes ZIP drives as sdx'''4'''

    # Ayrı bir başlangıç (/home) klasörü oluşturma
    # /dev/sda7
    UUID=413eee0c-61ff-4cb7-a299-89d12b075093 /home ext3 nodev,nosuid,relatime 0 2

    # Herhangi bir veri bölümü
    # /dev/sda8
    UUID=3f8c5321-7181-40b3-a867-9c04a6cd5f2f /media/data ext3 relatime,noexec 0 2

    # Samba
    //server/share /media/samba cifs user=user,uid=1000,gid=100 0 0
    # "Server" = Samba server (Eğer "hosts" dosyanızda bir isim verdiyseniz o isimle, ya da, IP olarak)
    # "share" = paylaşılan klasörün adı
    # "user" = samba kullanıcı adınız
    # Bu ayarlar bağlama esnasında şifre isteyecektir. Eğer şifreyi otomatik girsin istiyorsanız, tanıtım dosyası (credentials file) kullanın.
    # Bunun için "user=user" kısmını "credentials=/etc/samba/credentials" ile değiştirin. Ve credentials file'ına aşağıdaki iki
    # satırı ekleyin.
    # user=user
    # password=password
    # Dosyayı yandaki komutu kullanarak root kullanıcıya ait yapın (sudo chown root.root /etc/samba/credentials && sudo chmod 400 /etc/samba/credentials)

    # NFS
    Server:/share /media/nfs nfs rsize=8192 and wsize=8192,noexec,nosuid
    # "Server" = Samba server (Eğer "hosts" dosyanızda bir isim verdiyseniz o isimle, ya da, IP olarak).
    # "share" = Paylaşılan klasörün adı.

    #SSHFS
    sshfs#user@server:/share fuse user,allow_other 0 0
    # "Server" = Samba server (Eğer "hosts" dosyanızda bir isim verdiyseniz o isimle, ya da, IP olarak)
    # "share" = paylaşılan klasörün adı.

    Dosya Sistemleriyle İlgili Örnekler

    ext2 ve ext3

    ext2 ve ext3 arasındaki temel fark, ext3'ün günlük tutma özelliğine (journaling) sahip olmasıdır. Bu da sistem hatalarında doğabilecek zararları önler. Ubuntu (root) dosya sistemi bağlamak için,

    UUID=30fcb748-ad1e-4228-af2f-951e8e7b56df / ext3 defaults,errors=remount-ro,noatime 0 1

    Farklı bir bölüm/sabit disk bağlamak için,

    /dev/sdb1 /media/disk2 ext2 defaults 0 2

    fat16 ve fat 32

    /dev/hda2 /media/data1 vfat defaults,user,exec,uid=1000,gid=100,umask=000 0 0

    /dev/sdb1 /media/data2 vfat defaults,user,dmask=027,fmask=137 0 0

    NTFS

    Aşağıdaki örnek bir Windows bölümü bağlamak için (standart durumlarda) kullanılabilecek en iyi örnektir.


    /dev/hda2 /media/windows ntfs-3g defaults,locale=en_US.utf8 0 0

    Sisteminizde bulunan locale'leri listelemek için,

    locale -a


    komutu yeterli olmalıdır.

    hfs+

    hfs+ dosya sistemi bazı Apple bilgisayarlar tarafından kullanılmaktadır.


    /dev/sdb1 /media/Macintosh_HD hfsplus rw,exec,auto,users 0 0


    Fstab Üzerinde Düzenlemeler Yapmak

    NOT: Sistem dosyalarını düzenlemeden önce mutlaka yedeklerini alın. Nano'yu "-B" kullanarak başlatırsanız ($ nano -B /dosya/yeri) otomatik olarak yedek alacaktır.

    Ubuntu kullanıyorsanız,

    gksu gedit /etc/fstab


    Kubuntu kullanıyorsanız,

    kdesu kate /etc/fstab

    Uçbirimde düzenlemek için aşağıdaki komutu kullanın,

    sudo nano -Bw /etc/fstab

    -B = dosyayı otomatik olarak yedekleyecektir.
    -w = uzun satırların otomatik olarak kısaltılmasını engelleyecektir.

    Bir başka komut olarak da,


    sudo -e /etc/fstab


    kullanılabilir.


    Konuyla İlgili Faydalı Komutlar

    fstab dosyasının içeriğini görmek için,

    cat /etc/fstab

    Sistemin algıladığı tüm UUID'leri listelemek için (iki komuttan birisini seçmeniz yeterlidir),

    sudo blkid
    ls -l /dev/disk/by-uuid

    Sisteminize bağlı sabit sürücü ve bölümleri listelemek için,

    sudo fdisk -l

    Fstab dosyasında belirtilmiş tüm bölümleri/sürücüleri bağlamak için,

    sudo mount -a

    Bağlama noktasında belirtilen klasörün önceden oluşturulması gerektiğini unutmayın, bunun için, aşağıdakilere benzer komutlar kullanabilirsiniz

    sudo mkdir /path/to/mountpoint
    sudo mkdir /media/disk2


    Kaynak : ubuntu-tr
#14.04.2012 14:13 0 0 0