İPUCU

Linux Linux İle İlgili Bilgi Paylaşım Platformu

Seçenekler

Mount Noktalarinin Gizemi

KaRa_HiL@L - ait Kullanıcı Resmi (Avatar)
Üye
Üyelik tarihi:
02/2006
Nereden:
VaTaN BeKÇiSi
Mesajlar:
449
Konular:
209
Teşekkür (Etti):
6
Teşekkür (Aldı):
134
Ticaret:
(0) %
07-09-2006 15:54
#1
Talking
Mount Noktalarinin Gizemi
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 *** 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ı ***nci 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:
/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.




Ş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 ***nci 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.

Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı