Dev

Truva Linux Wiki sitesinden
Atla: kullan, ara

/dev Dizini

/dev dizini pek çok çeşit aygıt için aygıt giriş/çıkış dosyaları içerir. Ethernet kartı hariç tüm aygıtlar için bu dizin altında - sistemde olsun ya da olmasın - bir düğüm vardır. Özel bir düzendeki aygıt dosyaları Aygıt Dosyaları bölümünde açıklanmıştır. Sistem kurulumu sırasında aygıt dosyaları yaratılır. Daha sonra ise /dev/MAKEDEV betiği ile yenileri yapılabilir. Sadece yerel aygıt dosyalarını veya bağlarını tanımlamak için sistem yöneticileri tarafından yazılmış olan /dev/MAKEDEV.local betiği kullanılır. Bu işlem standart MAKEDEV betiği ile oluşturulamayan aygıt dosyaları ve bağları için yapılır.

MAKEDEV Betiği

Aygıt dosyalarının pek çoğu sistem yüklemesi sırasında kurulmuş ve kullanıma hazır bir biçimde beklemektedir. Şayet sisteminizde olmayan bir aygıt dosyası yaratmak zorunda kalırsanız MAKEDEV betiğini kullanmalısınız. Bu betik /dev/MAKEDEV olarak bulunabir. Fakat /sbin/MAKEDEV'e de sembolik bir bağ verilmiş olabilir. Şayet PATH içerisinde tanımlanmamışsa, bu betiği kullanabilmek için yolunu PATH içeriğinde tanımlamalısınız. Betiğin genel kullanımı şu şekildedir:

   # /dev/MAKEDEV -v ttyS0
   create ttyS0   c 4 64 root:dialout 0660

Burada 4. anadüğüm, 64. altdüğümde sahibi root ve grubu dialout için erişim izni 660 olan /dev/ttyS0 karakter aygıtı yaratılmış oldu.

ttyS0 bir seri porttur. Anadüğüm ve altdüğüm numaraları, çekirdek tarafından algılanacak olan numaralardır. Çekirdek donanım aygıtlarına numaralar aracılığı ile ulaşır. Bizim için bunu yapmak çok zor olduğundan biz dosya isimlerini kullanırız. Erişim izinleri kullanıcı için (root) okuma ve yazma; grubu (dialout) için okuma ve yazma şeklindedir. Başka hiçbir kimse bu aygıta erişemez.

mknod komutu

MAKEDEV halihazırda var olmayan aygıt dosyalarını yaratmak için kullanılır. Bununla beraber bazı zamanlar MAKEDEV yaratmak istediğiniz aygıta ilişkin dosyayı tanımayabilir. Burada mknod komutu devreye girer. Bu komutu kullanabilmek için anadüğüm ve altdüğüm numaralarını bilmek zorundasınız. Çekirdek içerisindeki devices.txt dosyası, bu bilgilerin yer aldığı temel kaynaktır.

Diyelim ki bizim elimizdeki MAKEDEV istediğimiz /dev/ttyS0 aygıt dosyasını nasıl yapacağını bilmiyor. Bu durumda mknod komutunu kullanmak zorundayız. devices.txt dosyasından bakarak 4. anadüğüm ve 64. altdüğümde bir karakter aygıt yapmamız gerektiğini öğreniriz.

   # mknod /dev/ttyS0 c 4 64
   # chown root.dialout /dev/ttyS0
   # chmod 0644 /dev/ttyS0
   # ls -l /dev/ttyS0
   crw-rw----   1 root dialout    4,   64 Oct 23 18:23 /dev/ttyS0

Gördüğünüz gibi bir dosyayı çok fazla adımda yaratmak durumundayız. Bu örnekte gereken süreçleri görebilmekteyiz. Burada /dev/ttyS0 aygıt dosyasının MAKEDEV komutu tarafından yaratılamamış olması uç bir örnektir.