Device file (Türkçe)

From ArchWiki
Çeviri Durumu: Bu makale, Device file makalesinin çevirisidir. Son çeviri tarihi (yıl-ay-gün şeklinde): 2024-10-12. Eğer makalenin İngilizce sürümünde değişiklik yapılmış ise çevirinin senkronize edilmesine yardımcı olabilirsiniz. Çevirmenliğe dair bilgi edinmek için Telegram grubumuzu ziyaret edebilirsiniz. Çevrilmiş tüm makelelere buradan erişebilirsiniz.

İ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.

Uyarı: Blok aygıtların çekirdek isim belirteçleri kalıcı değildir ve her açılışta değişebilir. Yapılandırma dosyalarında kullanılmamalıdırlar.

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ıt a, ilk keşfedilen aygıt.
  • /dev/sde - aygıt e, 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.

Not: Çekirdeğin atadığı ad alanı numarası, NVMe ad alanı kimliği (NSID) ile uyuşmayabilir.

Örnekler:

  • /dev/nvme0n1 - 0. denetçideki 1. aygıt, ilk keşfedilen denetçideki ilk keşfedilen aygıt.
  • /dev/nvme2n5 - 2. denetçideki 5. 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.

Not: Eğer bir SD/MMC kart USB arabirimini kullanıyor ise bu blok aygıt SCSI sürücü alt sistemini ve isimlendirme şemasını takip edecektir.

Ö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.

Not: SCSI denetçisini öykünen ve SCSI isimlendirme kuralını uygulayan virtio-scsi ile virtio-blk karıştırılmamalıdır.

Örnekler:

  • /dev/vda - aygıt a, ilk keşfedilen aygıt.
  • /dev/vde - aygıt e, 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'daki 1. bölüm.
  • /dev/nvme2n5p3 - /dev/nvme2n5'deki 3. bölüm
  • /dev/mmcblk3p4 - /dev/mmcblk3'teki 4. bölüm.
  • /dev/vda1 - /dev/vda'daki 1. bölüm.
  • /dev/loop0p2 - /dev/loop0'daki 2. 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.

Ayrıca bakınız