Device file (Türkçe)
İngilizce Vikipedi'den:
- Unix benzeri işletim sistemlerinde, bir aygıt dosyası veya özel dosya, bir dosya sisteminde sıradan bir dosya gibi görünen bir aygıt sürücüsü arayüzüdür.
Tekil Hiyerarşik Klasör Yapısı'na göre Linux'ta bu dosyalar /dev
dizinindedir.
Arch Linux'ta ise aygıt düğümleri udev tarafından yönetilir.
Blok aygıtlar
Blok aygıt, donanıma, arabelleklenen erişim sağlayan özel bir dosyadır. Daha ayrıntılı bir açıklama ve sanal dosya sistemi aygıtlarının karşılaştırması için Wikipedia:Device file#Block devices İngilizce Vikipedi makalesine bakın.
Blok aygıt isimleri
Aygıt isminin başlangıcı, çekirdeğin blok aygıtları yönetmek için kullandığı sürücü alt sistemini belirtir.
SCSI
Sabit diskler, SSD'ler ve flaş sürücüler gibi SCSI komutunu destekleyen depolama aygıtlarının (SCSI, SAS, UASP), ATA'ların (PATA, SATA) veya USB büyük depolama aygıtlarının bağlantıları çekirdeğin SCSI sürücü alt sistemi ile yürütülmektedir. Tüm hepsi aynı isimlendirme şemasını paylaşır.
Bu aygıtların ismi sd
ile başlar. Ardından ise ilk keşfedilen aygıt (sda
) a
'dan başlayacak şekilde küçük harfler eklenir. Sonrasında ikinci keşfedilen aygıt için b
harfi atanır ve isimlendirme bu şekilde devam eder.
Örnekler:
-
/dev/sda
- aygıta
, ilk keşfedilen aygıt. -
/dev/sde
- aygıte
, beşinci keşfedilen aygıt.
NVMe
NVM Express (NVMe) ile bağlantısı kurulan depolama aygıtlarının (örneğin SSD'ler) isimleri nvme
ile başlar. Ardından aygıt denetçisi için 0
'dan başlayacak şekilde bir sayı verilir (ilk keşfedilen NVMe denetçisi için nvme0
, ikincisi için nvme1
olacak şekilde). Sonrasında "n" harfi ve 1
ile başlayacak şekilde bir sayı gelir. Bu sayı denetçideki ad alanını belirtir. Örneğin ilk keşfedilen denetçideki ilk keşfedilen ad alanı için nvme0n1
, ilk keşfedilen denetçideki ikinci keşfedilen ad alanı için nvme0n2
.
Örnekler:
-
/dev/nvme0n1
-0
. denetçideki1
. aygıt, ilk keşfedilen denetçideki ilk keşfedilen aygıt. -
/dev/nvme2n5
-2
. denetçideki5
. aygıt, üçüncü keşfedilen denetçideki beşinci keşfedilen aygıt.
MMC
SD kartlar, MMC kartlar ve eMMC depolama aygıtları, çekirdeğin mmc
sürücüsü ile yönetilir ve bu aygıtların isimleri mmcblk
ile başlar. Ardından aygıtı belirten 0
ile başlayacak şekilde bir sayı ile devam eder, örneğin ilk keşfedilen aygıt mmcblk0
, ikinci keşfedilen aygıt mmcblk1
olacak şekilde isimlendirilir.
Örnekler:
-
/dev/mmcblk0
-0
. aygıt, ilk keşfedilen aygıt. -
/dev/mmcblk4
-4
. aygıt, beşinci keşfedilen aygıt.
SCSI optik disk sürücüsü
SCSI sürücü alt sistemi tarafından desteklenen bir arabirim ile bağlanmış olan optik disk sürücülerinin (ODD'ler) isimleri sr
ile başlar. Sonrasında 0
'dan başlayacak şekilde bir sayı eklenir, örneğin ilk keşfedilen aygıt için sr0
, ikinci keşfedilen aygıt için sr1
olacak şekilde devam eder.
Ek olarak Udev, /dev/sr0
aygıtına sembolik bağlantı olan /dev/cdrom
aygıtını sağlar. Bu aygıtın ismi, sürücünün desteklediği disk tipi veya takılmış olan medya aygıtından bağımsız olarak her zaman cdrom
olarak kalır.
Örnekler:
-
/dev/sr0
-0
. optik disk sürücüsü, ilk keşfedilen optik disk sürücüsü. -
/dev/sr4
-4
. optik disk sürücüsü, beşinci keşfedilen disk sürücüsü. -
/dev/cdrom
-/dev/sr0
'a sembolik bağlantı.
virtio-blk
virtio blok aygıt arabirimine (virtio-blk) bağlı olan sürücülerin isimleri vd
ile başlar ve ardından ilk algılanan aygıt a
ile başlayacak şekilde (vda
)bir küçük harfle devam eder. İkinci aygıt ise b
harfi ile devam eder (vdb
) ve isimlendirme alfabetik bir şekilde yapılmış olur.
Örnekler:
-
/dev/vda
- aygıta
, ilk keşfedilen aygıt. -
/dev/vde
- aygıte
, beşinci keşfedilen aygıt.
Bölümlendirme
Bölüm aygıt isimleri, sürücü aygıtının ismi ve bölüme bölümlendirme tablosunda atanan sayının birleşiminden oluşur, yani /dev/aygıtbölüm
şeklinde bir isimlendirmeye sahip olur. Aygıt ismi sayı ile biten sürücüler için sürücü ismi ve bölüm sırası "p" harfi ile ayrılır, yani /dev/sürücüpbölüm
şeklinde.
Örnekler:
-
/dev/sda1
-/dev/sda
'daki1
. bölüm. -
/dev/nvme2n5p3
-/dev/nvme2n5
'deki3
. bölüm -
/dev/mmcblk3p4
-/dev/mmcblk3
'teki4
. bölüm. -
/dev/vda1
-/dev/vda
'daki1
. bölüm. -
/dev/loop0p2
-/dev/loop0
'daki2
. bölüm
Araçlar
lsblk
util-linux paketi, blok aygıtları listeleyen lsblk(8) aracını sağlar, örneğin:
$ lsblk --fs
NAME FSTYPE LABEL UUID MOUNTPOINT sda ├─sda1 vfat C4DA-2C4D /boot ├─sda2 swap 5b1564b2-2e2c-452c-bcfa-d1f572ae99f2 [SWAP] └─sda3 ext4 56adc99b-a61e-46af-aab7-a6d07e504652 /
Yukarıdaki örnekte sadece bir aygıt (sda
) kullanılabilir hâldedir, bu aygıt üç bölümden oluşmaktadır (sda1
'den sda3
'e) ve hepsi farklı bir dosya sistemine sahiptir.
-o
/--output
seçeneği ile çıktısı verilecek olan aktif sütunların listesini belirtebilirsiniz.
# lsblk --output NAME,PTTYPE,PARTLABEL,FSTYPE,FSVER,LABEL,FSSIZE,FSAVAIL,FSUSE%,MOUNTPOINTS
NAME PTTYPE PARTLABEL FSTYPE FSVER LABEL FSSIZE FSAVAIL FSUSE% MOUNTPOINTS sda gpt └─sda1 gpt cryptdata1 crypto_LUKS 2 └─data1 btrfs data1 7.3T 2.3T 68% /mnt/data sdb gpt └─sdb1 gpt cryptdata2 crypto_LUKS 2 └─data2 btrfs data1 sdc gpt └─sdc1 gpt cappdata crypto_LUKS 2 └─appdata ext4 1.0 appdata 3.6T 3.4T 0% /mnt/appdata sdd gpt └─sdd1 gpt cappdata_backup crypto_LUKS 2 └─appdata_back ext4 1.0 appdata_backup nvme1n1 gpt ├─nvme1n1p1 gpt BACKUP_EFI vfat FAT32 EFI 4G 3.9G 2% /boot ├─nvme1n1p2 gpt backup_swap ├─nvme1n1p3 gpt csys1 crypto_LUKS 2 │ └─sys1 btrfs arch1 └─nvme1n1p4 gpt cext1 crypto_LUKS 2 └─ext1 btrfs ext0fs nvme0n1 gpt ├─nvme0n1p1 gpt EFI vfat FAT32 EFI ├─nvme0n1p2 gpt cswap ├─nvme0n1p3 gpt csys0 crypto_LUKS 2 sys0parent │ └─sys0 btrfs arch0 60G 56.2G 3% / └─nvme0n1p4 gpt cext0 crypto_LUKS 2 └─ext0 btrfs ext0fs 389.2G 388.1G 0% /home
Yukarıdaki örnekte -f
/--fs
seçeneğinin sunduğu sütunlardan temel alınmıştır, UUID sütunu çıkarılıp birden fazla diski tanımlamada işe yarayan bölüm etiketi ve disk boyutu sütunları eklenmiştir. lsblk --help
komutu ile desteklenen tüm sütunların listesini görebilirsiniz.
wipefs
wipefs dosya sistemlerini, RAID'leri veya bölümlendirme tablosu imzalarını (sihirli dizgiler veya magic strings) belirlediğiniz bir aygıttan libblkid(3) paketine görünmez hâle getirmek için silebilirsiniz veya bu bilgileri listeleyebilirsiniz. Bu işlem aygıttan, dosya sistemlerinin kendisini veya herhangi bir veriyi silmez.
Daha fazla bilgi için wipefs(8) dokümanına bakın.
Örneğin /dev/sdb
aygıtından tüm imzaları silmek ve ~/wipefs-sdb-offset.bak
dosyasında her bir imzanın yedeğini oluşturmak için:
# wipefs --all --backup /dev/sdb
Sahte aygıtlar
Herhangi bir fiziksel aygıta bağlı olmayan aygıt düğümleri.
- /dev/random, bkz. random(4)
- /dev/shm
- /dev/null, /dev/zero, bkz. null(4)
- /dev/full, bkz. full(4)
- /dev/ttyX, X sayı olacak şekilde