Device file (Русский) - ArchWiki

Jump to content
Toggle the table of contents

# Device file (Русский)

7 languages

- Deutsch
- English
- Español
- 日本語
- Português
- Türkçe
- 中文（简体）

From ArchWiki
Состояние перевода: На этой странице представлен перевод статьи Device file. Дата последней синхронизации: 8 января 2022. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

Ссылки по теме

- Постоянные имена для блочных устройств

Из Википедии:

  Специальный файл устройства, или просто файл устройства (англ. special device file) — это один из типов файлов в UNIX-подобной операционной системе. Специальные файлы устройств содержат данные, необходимые операционной системе для взаимодействия с физическими устройствами, такими как диски и дисководы, принтеры и факсы и т. п. Фактически, специальные файлы устройств являются указателями на драйверы устройств, и когда процесс обращается к файлу устройств, он по сути работает с драйвером этого устройства.

В Linux они располагаются в каталоге `/dev` в соответствии с Filesystem Hierarchy Standard.

В Arch Linux файлами устройств управляет udev.

## Блочные устройства

Блочное устройство — это специальный файл, обеспечивающий буферизованный доступ к устройству.

### Имена блочных устройств

Начало имени устройства указывает на подсистему ядра, используемую для управления этим блочным устройством.

Важно: Дескрипторы имени ядра для блочных устройств не являются постоянными и могут меняться при каждой загрузке, стоит избегать их использования в файлах конфигурации.

#### SCSI

Устройства хранения, такие как жёсткие диски, SSD и флэш-накопители, которые поддерживают команду SCSI (SCSI, SAS, UASP), соединение ATA (PATA, SATA) или USB Mass Storage, обрабатываются драйвером SCSI. Все они имеют одну и ту же схему именования.

Имя этих устройств начинается с `sd`. Затем следует строчная буква, начиная с `a` для первого обнаруженного устройства (`sda`), `b` для второго (`sdb`) и так далее.

Примеры:

- `/dev/sda` - устройство `a`, первое обнаруженное устройство.
- `/dev/sde` - устройство `e`, пятое обнаруженное устройство.

#### NVMe

Имя устройств хранения, подключенных через NVM Express (NVMe), начинается с `nvme`. Затем следует порядковый номер контроллера устройства: `nvme0` для первого обнаруженного контроллера NVMe, `nvme1` для второго и так далее. Далее идет буква «n» и число, начинающееся с `1`, обозначающее устройство на контроллере: `nvme0n1` для первого обнаруженного устройства на первом обнаруженном контроллере, `nvme0n2` для второго обнаруженного устройства на первом обнаруженном контроллере и так далее.

Примеры:

- `/dev/nvme0n1` - устройство `1` на контроллере `0`, первое обнаруженное устройство на первом обнаруженном контроллере.
- `/dev/nvme2n5` - устройство `5` на контроллере `2`, пятое обнаруженное устройство на третьем обнаруженном контроллере.

#### MMC

SD-карты, карты MMC и устройства хранения данных eMMC обрабатываются драйвером `mmc`, и имена этих устройств начинаются с `mmcblk`. Затем следует порядковый номер устройства: `mmcblk0` для первого обнаруженного устройства, `mmcblk1` для второго и так далее.

Примеры:

- `/dev/mmcblk0` - устройство `0`, первое обнаруженное устройство.
- `/dev/mmcblk4` - устройство `4`, пятое обнаруженное устройство.

#### Привод оптических дисков SCSI

Имена приводов оптических дисков, которые подключаются с через интерфейс, поддерживаемый драйвером SCSI, начинаются с `sr`. Затем следует порядковый номер устройства: `sr0` для первого обнаруженного устройства, `sr1` для второго и так далее.

Udev также предоставляет `/dev/cdrom`, который является символической ссылкой на `/dev/sr0`. Имя всегда будет `cdrom` независимо от поддерживаемых приводом типов дисков или вставленного носителя.

Примеры:

- `/dev/sr0` - привод оптических дисков `0`, первый обнаруженный.
- `/dev/sr4` - привод оптических дисков `4`, пятый обнаруженный.
- `/dev/cdrom` - символическая ссылка на `/dev/sr0`.

#### virtio-blk

Имена дисков, подключенных к интерфейсу блочного устройства virtio (virtio-blk), начинаются с `vd`. Затем следует строчная буква, начиная с `a` для первого обнаруженного устройства (`vda`), `b` для второго (`vdb`) и так далее.

Примечание: Не путайте virtio-blk с virtio-scsi, который эмулирует контроллер SCSI и, таким образом, следует соглашению об именах SCSI.

Примеры:

- `/dev/vda` - устройство `a`, первое обнаруженное устройство.
- `/dev/vde` - устройство `e`, пятое обнаруженное устройство.

#### Разделы

Имена разделов представляют собой комбинацию имени устройства диска и номера раздела, присвоенного им в таблице разделов: `/dev/устройствораздел`. Для дисков, имя устройства которых заканчивается цифрой, имя диска и номер раздела разделяются буквой «p»: `/dev/устройствоpраздел`.

Примеры:

- `/dev/sda1` - раздел `1` на устройстве `/dev/sda`.
- `/dev/nvme2n5p3` - раздел `3` на устройстве `/dev/nvme2n5`.
- `/dev/mmcblk3p4` - раздел `4` на устройстве `/dev/mmcblk3`.
- `/dev/vda1` - раздел `1` на устройстве `/dev/vda`.
- `/dev/loop0p2` - раздел `2` на устройстве `/dev/loop0`.

### Инструменты

#### lsblk

Пакет util-linux предоставляет утилиту lsblk(8), которая выводит список блочных устройств, например:

    $ lsblk -f

    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 /

Этот пример показывает только одно доступное устройство (`sda`), которое имеет три раздела (от `sda1` до `sda3`), каждый из которых имеет свою файловую систему.

#### wipefs

wipefs может отображать сигнатуры файловой системы, RAID или таблицы разделов (магические строки) с указанного устройства и стирать их, чтобы сделать невидимыми для libblkid(3). Он не стирает ни сами файловые системы, ни какие-либо другие данные с устройства.

Смотрите wipefs(8) для получения дополнительной информации.

Например, чтобы стереть все сигнатуры с устройства `/dev/sdb` и создать резервную копию `~/wipefs-sdb-смещение.bak` для каждой сигнатуры:

    # wipefs --all --backup /dev/sdb

## Псевдоустройства

Эти файлы устройств не соответствуют никакому физическому устройству.

- /dev/random, смотрите random(4)
- /dev/shm
- /dev/null, /dev/zero, смотрите null(4)
- /dev/full, смотрите full(4)
- /dev/ttyX, где X является числом

## Смотрите также

- Linux allocated devices — документация ядра
- Gentoo:Device file

Category:

- System administration (Русский)