Aygıtlar

Bu bölümdeki açıklamaları anlamak için, Linux'un disk bölümlerinin gösteriminde kullandığı özel sınıflandırmayı bilmeniz gerekir.

Linux'ta, disk bölümleri aygıt dosyaları olarak temsil edilir. Bunlar /dev altına yerleştirilmiş sözde dosyalardır. Birkaçı şu şekildedir:

brw-rw----    1 root     disk       3,   0 May  5  1998 hda
brw-rw----    1 root     disk       8,   0 May  5  1998 sda
crw-------    1 root     tty        4,  64 May  5  1998 ttyS0

Bir aygıt dosyası c (karakter aygıtı anlamında, tampon bellek kullanmayan aygıtlar) veya b (blok aygıt anlamında, tampon bellek kullanan aygıtlar) türünde bir dosyadır. Linux'ta, tüm diskler blok aygıtları olarak temsil edilir.

Aygıt adları

İsimlendirme Kuralları

Uzlaşımsal olarak, IDE sürücülere /dev/hda'dan başlayıp /dev/hdd'ye giden aygıt isimleri verilir. A olarak geçen disk (/dev/hda) ilk disk sürücüsü ve C olarak geçense (/dev/hdc) üçüncü disk sürücüsüdür.

Tablo 3.6. IDE denetleyici isimlendirme kuralları

sürücü adısürücü denetleyicisürücü numarası
/dev/hda11
/dev/hdb12
/dev/hdc21
/dev/hdd22

Tipik bir kişisel bilgisayarda, herbirine iki sürücü bağlanabilen iki IDE denetleyici vardır. Örneğin, /dev/hda ilk IDE denetleyicideki ilk sürücüdür (master) ve /dev/hdd ikinci IDE denetleyicideki ikinci sürücüdür (slave - bilgisayardaki dördüncü sürücü).

Bu aygıtlara doğrudan yazabilirsiniz (cat veya dd kullanarak). Bununla birlikte, bu aygıtlar ilk bloktan başlayarak tüm diski temsil ettiklerinden, yanlışlıkla, sürücünün kullanım dışı kalmasına sebep olabilcek, MBR (master boot record) ve bölümleme tablosunun üzerine yazabilirsiniz.

Tablo 3.7. bölüm adları

sürücü adısürücü denetleyicisürücü numarasıbölüm türübölüm numarası
/dev/hda111birincil1
/dev/hda211birincil2
/dev/hda311birincil3
/dev/hda411takasNA
/dev/hdb112birincil1
/dev/hdb212birincil2
/dev/hdb312birincil3
/dev/hdb412birincil4

Bir sürücü bir kere bölümlendirildi mi, bölümler isimlerin sonundaki numaralar olarak temsil edilir. Örneğin, ikinci disk sürücüsündeki ikinci disk bölümü /dev/hdb2 olacaktır. Birincil bölüm türü, 3. Bölümdeki Birincil Disk Bölümleri kısmına kadar açıklanmayacak olsa da yukarıda listelenmiştir.

Tablo 3.8. SCSI Sürücüler

sürücü adısürücü denetleyicisürücü numarasıbölüm türübölüm numarası
/dev/sda116birincil1
/dev/sda216birincil2
/dev/sda316birincil3

SCSI sürücüler de benzer bir modeli takip ederler; 'hd' yerine 'sd' ile gösterilirler. Bundan dolayı da ikinci SCSI diskin ilk bölümü /dev/sdb1 olacaktır. Yukarıdaki tabloda, sürücü numaraları rastgele 6 seçilerek SCSI ID numaralarının aygıt numaralarıyla bire bir uyuşmadığı gösterilmiştir.

İsim Atama

(Sun) Solaris ve (SGI) IRIX altında, SCSI sürücülere verilen aygıt isimlerinin onları nereye taktığınızla ilgisi vardır. Linux altında, sadece hayıflanma ve diş gıcırtıları vardır.

Önce

SCSI ID #2        SCSI ID #5       SCSI ID #7        SCSI ID #8
/dev/sda          /dev/sdb         /dev/sdc          /dev/sdd

Sonra

SCSI ID #2                         SCSI ID #7        SCSI ID #8
/dev/sda                           /dev/sdb          /dev/sdc

SCSI sürücüler 1'den başlayıp 15'e kadar uzanan ve ID olarak kullanılan sayılar kullanır. Düşük SCSI ID numaralılara alfabetik sıradaki önce gelen harfler atanır. Örneğin eğer 2 ve 5 numaralı iki sürücünüz varsa, 2 numaralı sürücü /dev/sda ve 5 numaralı sürücü de /dev/sdb olacaktır. Eğer herhangi biri sistemden kaldırılırsa bu sürücülerden yüksek numaralı sürücülerin sistemin yeniden başlatılmasında yeniden isimlendirilecektir.

Eğer Linux makinanızda iki tane SCSI denetleyici varsa, /bin/dmesg çıktısına bakarak her bir sürücüye hangi isim verildiğini görmek isteyebilirsiniz. Eğer bir veya iki denetleyiciyi çıkarırsanız, geri kalanların hepsi sürücü adlarını yeniden isimlendireceklerdir. Grrr...

İki tane alternatif çözüm vardır; her ikisi de bir program kullanarak her bir disk bölümüne bir etiket vermeyi içermektedir (bknz. Etiketler). Verilen etiket kalıcıdır ve aygıt fiziksel olarak kaldırılırsa da erişilebilir. Daha sonra disk bölümüne doğrudan veya dolaylı olarak bu etiket ile erişebilirsiniz.

Mantıksal Disk Bölümleri

Tablo 3.9. Mantıksal Disk Bölümleri

sürücü adısürücü denetleyicisürücü numarasıbölüm türübölüm numarası
/dev/hdb112birincil1
/dev/hdb212ekyok
/dev/hda512mantıksal2
/dev/hdb612mantıksal3

Yukarıdaki tablo isim atamalarında gizemli bir atlamayı göstermektedir. Bu, daha sonra Birincil ve mantıksal disk bölümleri karışık bölümünde anlatılacak olan ve daima 5 ile başlayan Mantıksal Disk Bölümleri kullanımından kaynaklanır.

Linux disk aygıtlarını idare edebilmeniz için tüm bilmeniz gerekenler bunlardır. Bütünlüğün sağlanması için, aşağıdaki Kristian'ın aygıt numaralarıyla ilgili açıklamalarına bakınız.

Aygıt numaraları

Bir aygıt dosyasıyla ilgili tek önemli nokta, dosya boyu yerine ana ve alt aygıt numaralarının gösterilmesidir.

$ ls -l /dev/hda

Tablo 3.10. Aygıt dosyalarının öznitelikleri

brw-rw----1rootdisk3,0Temmuz 18 1994/dev/hda
izinler sahibigrubuana aygıt numarasıalt aygıt numarasıtarihaygıt adı

Bir aygıt dosyasına erişirken, ana aygıt numarası giriş/çıkış işlemlerinde hangi aygıt sürücüsünün çağrılacığını belirtmek için kullanılır. Bu çağrı parametre olarak alt aygıt numarasının alınmasıyla gerçeklenir ve bu alt aygıt numarasının nasıl ifade edildiği tamamen sürücüye bağlıdır. Sürücü belgelendirmesi genelde bu alt aygıt numarasının nasıl kullanıldığını anlatmaktadır. IDE diskler için bu belgelendirme file:/usr/src/linux/Documentation/ide.txt altındadır. SCSI diskler için ise file:/usr/src/linux/Documentation/scsi.txt olduğu düşünülebilir ama orada değildir. Emin olmak için sürücü kaynak koduna bakılmalıdır (file:/usr/src/linux/driver/scsi/sd.c:184-196). Ne şansı ki, file:/usr/src/linux/Documentation/devices.txt içerisinde Peter Anvin'in aygıt numara ve isimleri listesi vardır; IDE'ler için 3, 22, 33, 34 ana aygıt numaralarına, SCSI aygıtlar için ise 8 ana aygıt numarasına bakınız. Ana ve alt aygıt numaraların her biri birer bayt yer kaplar, bu da her disk bölümündeki disk bölümü sayısının neden sınırlı olduğunu açıklamaktadır.