Mount Noktalarının gizemi

ArticleCategory:

UNIXBasics

AuthorImage:[Here we need a little image from you]

[Photo of the Author]

TranslationInfo:[Author + translation history. mailto: or http://homepage]

original in en Guido Socher

en to tr Ceyhun Elmas 

AboutTheAuthor:[A small biography about the author]

Guido bir Linux destekcisidir. Çünkü Linux büyük bir projedir ve dünyanın tüm yanındaki farklı insanlar tek bir amaç etrafında çalışmaktadır: hep birlikte daha iyisini yapmak.
Ama ne yazıkki Linux kötü amaçlı kişiler tarafından kazanç amacıyla karşılık verilmden kullanılmakdaır. Bu tür kişilere karşı dikkatli olun ! Çoğu dışarıdan zaman küçük bir Linux uzmanı firma gibi görünse de aslında yalnızca karşılıksız çıkar sağlama peşinde bir firmadır.

Abstract:

Bu yazı mount noktalarını anlatıoyor ama umarım ileri Linux kullanıcıları da ilginç bilgiler bulabilecekler.

ArticleIllustration:

mount

ArticleBody:

Giriş

Önce mount edilmiş dosya sistemlerini anlatacağım. Daha sonra biraz daha ileri gideceğiz. Eğer Linux konusunda uzman olduğunuzu düşünüyorsanız okumaya biraz daha aşağıdan başlayabilirsiniz.

Nasıl çalışır ?

windows altında bugün bile yeni bir sürücü eklemek isim karmaşası nedeniyle bir problemdir. D: hangisidi ? E: neydi ? Bununla birlikte programlar da pek çok sorun yaşıyor.

Uniz altında bu tip bir problemi asla yaşamazsınız. Çünkü tüm fiziksel diskler bir dizin yapısıyla sisteme eklenmiştir. Bunu "mount" ya da "df" yazarak görebilirsiniz :
# df
Filesystem 1K-blocks    Used Available Use% Mounted on
/dev/hda1    9070728 4701180   3908768  55% /
/dev/hda3   24950428  683412  22999584   3% /home
none          257236       0    257236   0% /dev/shm

# mount
/dev/hda1 on / type ext3 (rw)
none on /proc type proc (rw)
none on /dev/shm type tmpfs (rw)
/dev/hda3 on /home type ext3 (rw)
Burada iki disk bölümlendirmemiz var, biri /home dışında herşeyi içeriyor. Bu "/" bölümüdür ve fiziksel olarak hda1 diskindedir. hda1 birinci ide disk (hda) üzerindeki ilk bölüm (1). 3. bölüm (hda3) aynıd disk üzerinde /home olarak mount edilmiştir. Bundan dolayı eğer /home'a giderseniz hda3 üzerindeki dosyalara erişmiş olursunuz. Bu şimdi D: miydi yoksa E: miydi gibi bir derdiniz yok. Bu yalnızca bir dizin ağacı ve heryaman aynı.

Dosya Sistemi meşgul problemi

Linux dosya sistemi yazma ve okuma işlemini tamponlar. Eğer usb sürüm 1.1 diskiniz varsa ve büyük dosyalar kullanıyorsanız buna dikkat etmelisiniz. İlk anda erişim yavaştır ama sonra aynı dosyayı ikinci kullanışınız oldukça hızlı olacaktır ve disk üzerindeki ışık yanmayacaktır.

Disk yapısı gereği bir diski kullanımdayken silemezsiniz. Öncelikle unmount yapmalısınız. Normal dahili diskler için bu problem olmaz ama cdrom ve USB diskler için problem olabilir.

Eğer usb mount noktanız /mnt/usb ise ve "cd /mnt/usb" yapmışsanız bash bu dosya sistemini kullanacaktır. Eğer başkabşr kabuk pencerinden bu alanı umount etmek isterseniz şimdi "file system busy" mesajını alırsınız ve umount işlemi gerçekleşmez. "cd" yaparak /mnt/usb alanını terketmek umount için yeterli olacaktır. Bu problem bazen unuttuğunuz bir uygulama bu alanı kullandığında karşınıza çıkar bu yüzden hangi programın bu alanı kullandığını bulmak bazen zor olabilir.

Bunu bilgisayarınıza sorun !
# fuser -m -u /mnt/usb
/mnt/usb:   1347c(root)  1348c(guido)  1349c(guido)  
Bu komutla ilgili alanı kimin ya da neyin kullandığını bulabilirsiniz.Şimdi "ps auxw" ile işlemi bulur ve bunu kill ile ortadan kaldırabilirsiniz. Artık sistem umount edilmeye hazırdır.

Ama windows bunu yapabiliyor !?

Neden yapnızca usb kablosunu çekmiyorsunuz ? Eski dos/win3.1 bilgisayarları kapanırdı. Kapatma gerekmeksizin.Bu aralar bazı arkadaşlarım güç kesilmeden önce Linux'u kapatmak gerektiğinden dolyaı şikayet ediyorlardı.Sonra win95 geldi ve bu şikayatler gitti çünkü herkes önce bilgisayarı kapattı.

Linux da bunu yapabiliyor!

Linux için de çözümler var elbette. Mandrake Linuxda supermount denilen bir özellik var örneğin. Bu özellik tam olarak bunu sağlıyor ve aynı sonucu (ya da problemi) alıyorsunuz. Ancak bunu tavsiye etmiyorum çünkü bazı durumlarda dosya kaybetme riski var.

En iyisi mtools kullanmak (http://mtools.linux.lu/). mtools disket sürücüleri denetleyen bir komut dizisidir. usb-sticks ... temelde FAT dosyasistemiyle silinebilen bir ortam ve dosyasistemini mount etmeniz gerekmiyor.

İşte ipucu:
  1. /etc/mtools.conf dosyasını düzenleyin ve bu satırı ekleyin :
    drive u: file="/dev/sda1" # or sda4; some usb-stick have partition
                              # 4 created as factory default.
    


  2. Şimdi /dev/sda1 mount etmeyin. Bu komut yeterli:
    mdir u:
    usb aygıtının mount edildiğini göreceksiniz.

    mcopy * u:
    tüm dosyaları bu şekilde usb aygıtına aktarabilirsiniz.

    mcopy u:\* .
    bununla usb aygıtındaki tüm dosları bulunduğunuz dizineaktarabilirsiniz (önde \ işaretinin olmasına dikkat edin).

Kullanımı öok kolay.

Herkese mount yetkisi vermek

Normalde mount edebilmek için root kullanıcısı olmalısınız. Ancak cd-rom ya da usb için için normal kullanıcılara mount yetkisi verebilirsiniz. Tek yapmanız gereken /etc/fstab dosyasını aşağıdaki gibi düzenlemek :
# dev     mount point    fs type   flags
/dev/sda1  /mnt/usb      auto      noauto,user 0 0
Bu satır sda1'in(scsi diskin ilk bölümü, usb diskler de scsi diskler gibi algılanır) açılışta otomatik olarak mount edilmeyeceği ve her kullanıcıya mount/unmount etme yetkisinin verildiği anlamına geliyor. Doysa sistemi tipi de otomatik olarak veriliyor. Böylelikle hani dosya sistemi kullanıyorsanız mount işlemi bunu otomatik olarak algılıyor.

Dizüstü bilgisayarlar ve nfs

Ağ dosya sistemi NFS eğer farklı kullanıcıların dosyalarını ydeklerini belli bir merkezde toplamak isterseniz oldukça faydalıdır. Tek yapmanız gereken kullanıcı alanlarını merkezi sunucudan mountlamak ve kullanıcıların ağ üzerinden alanlarına erişebilmelerini sağlamak. Aynı yapılandırma ve aynı dosyalara heryerden erişim olnağı, bu oldukça iyi.

Peki dizüstü kullanıcıları ne yapacak ?

Öncelikle eğer ağ üzerinde değilseniz kullanıcı alanınıza erişemezsiniz. Bir çözüm tüm dosyaları dizüstüne kopyalamaktır (rsync). Ancak bu yöntem ile düzenli olarak kopyalama yapmalısınız ayrıca çoğunlukla alanınızdaki tüm dosyalar gerekli değildir. Benim önerim ikinci bir kullanıcı alanı tanımlamaktır. Bu alanda yalnızca yapılandırmanız ve siz yolculuğa öıktığınızda size gerekecek dosyalar bulunuyor.

Dosya sistemini boş olmayan bir alana (nfs de dahil herhangi dosyasistemi/disk ) mount ettiğinizde bu dizinde bulunan dosyalar görünmez olur ve mount ettiğiniz dosya sistemini görürsünüz.

İşte çözüm : home dizini için bir bir mount noktası oluşturun ve bilgisayar ağiletişimde iken buraya otomatik mount yapın. Bununla birlikte birşeyi mount etmeden önce kullanıcı için ağiletişimin olmadığı durumdaki alanı için bir link oluşturun :
/home/guido -> ../home_nonet/guido
Guido kullanıcısı ağ üzerinde iken linten dolayı normal kullanıcı alanını görecek. Ağda değilken ise /home_nonet/guido alanını kullanıcı alanı olarak görecek (/home/guido).

Çok güzel bir çözüm.

Sonuç

Donanım için farklı katmanlar yaratmak Unixin herzaman hedeflerinden birisi olmuştur. Dosya sistemi diskleri mount/umount yapmak ta bunun yollarından birisidir. Diğer güncel işletim sistemlerine göre oldukça eski olmasına rağmen Unix bu konuda en gelişmiş dosya sistemidir.