Intereting Posts
видимые Ethernet-кадры наблюдаются частично, когда интерфейс MTU меньше, чем снятые кадры Проблема регулярных выражений в Bash: , похоже, не работает Каковы другие способы совместного использования сеанса tmux между двумя пользователями? Модуль Debian Cryptoloop отсутствует Как просыпаться монитор от bash? Почему netstat не показывает мне порты? Только для чтения файловой системы, которая позволяет также временно записывать в другое место назначения Идентифицировать файлы / процессы, которые предотвращают повторное подключение только для чтения pulseaudio – алгоритм команд Как заблокировать домен IDN в файле .htaccess? (noob) Гибкая графическая карта Debian – не может заставить Radeon работать Проблема с именем пользователя su -c "./script.sh" и sudo -u ush bash -c "./script.sh" и Java classpath Команды Bash не найдены Как проверить целостность пакета debian-keyring Debian? Shell Script: отправка ввода в фоновый процесс

Какие причины / dev / disk / by-label заполняются?

Я заметил, что в дистрибутивах Linux обычно есть каталог / dev / disk / by-label, но это не всегда так (например, тестовое изображение CirrOS Linux не имеет одного).

Что нужно для системы Linux для каталога / dev / disk / by-label для правильного заполнения?

В большинстве современных Linux-систем почти все под /dev помещается туда udev.

На моей машине Debian /dev/disk/by-label поступает из нескольких файлов в /lib/udev/rules.d Например, это правило из 60-persistent-storage.rules :

 ENV{ID_FS_LABEL_ENC}=="?*", ENV{ID_FS_USAGE}=="filesystem|other", \ SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}" 

Несколько строк раньше – это где ID_FS_LABEL_ENC :

 # probe filesystem metadata of disks KERNEL!="sr*", IMPORT{program}="/sbin/blkid -o udev -p $tempnode" 

Вы можете запустить blkid самостоятельно, чтобы увидеть данные, blkid в udev:

 root@Zia:~# /sbin/blkid -o udev -p /dev/sda2 ID_FS_SEC_TYPE=msdos ID_FS_LABEL=xfer1 ID_FS_LABEL_ENC=xfer1 ID_FS_UUID=B140-C934 ID_FS_UUID_ENC=B140-C934 ID_FS_VERSION=FAT16 ID_FS_TYPE=vfat ID_FS_USAGE=filesystem ID_PART_ENTRY_SCHEME=dos ID_PART_ENTRY_TYPE=0xc ID_PART_ENTRY_NUMBER=2 ID_PART_ENTRY_OFFSET=257040 ID_PART_ENTRY_SIZE=257040 ID_PART_ENTRY_DISK=8:0 

И действительно:

 root@Zia:~# ls -l /dev/disk/by-label/xfer1 lrwxrwxrwx 1 root root 10 Nov 19 10:02 /dev/disk/by-label/xfer1 -> ../../sda2 

Вы можете добавить дополнительные файлы правил в /etc/udev/rules.d/ если хотите добавить дополнительные имена для устройств, изменить разрешения и т. Д. Например, здесь у нас есть тот, который заполняет и устанавливает разрешения на /dev/disk/for-asm .

udisks-daemon , вероятно, это делает (хотя HAL и DBUS тоже могут). Вы можете наблюдать, как это происходит, если вы так склонны. Откройте termanal и запустите:

 udisks --monitor-detail 

а затем подключите диск. Вы получите что-то вроде:

 job-changed: /org/freedesktop/UDisks/devices/sdb1 job underway: FilesystemMount, initiated by uid 1000 changed: /org/freedesktop/UDisks/devices/sdb1 Showing information for /org/freedesktop/UDisks/devices/sdb1 native-path: /sys/devices/pci0000:00/0000:00:1a.7/usb1/1-4/1-4:1.0/host3/target3:0:0/3:0:0:0/block/sdb/sdb1 device: 8:17 device-file: /dev/sdb1 presentation: /dev/sdb1 by-id: /dev/disk/by-id/usb-SanDisk_Cruzer_20054858820EEB607D7D-0:0-part1 by-id: /dev/disk/by-uuid/D033-D063 by-path: /dev/disk/by-path/pci-0000:00:1a.7-usb-0:4:1.0-scsi-0:0:0:0-part1 detected at: Wed 21 Nov 2012 07:45:47 AM EST system internal: 0 removable: 0 has media: 1 (detected at Wed 21 Nov 2012 07:45:47 AM EST) detects change: 0 detection by polling: 0 detection inhibitable: 0 detection inhibited: 0 is read only: 0 is mounted: 1 mount paths: /media/CRUZER mounted by uid: 1000 presentation hide: 0 presentation nopolicy: 0 presentation name: presentation icon: size: 8000094208 block size: 512 job underway: no usage: filesystem type: vfat version: FAT32 uuid: D033-D063 label: CRUZER partition: part of: /org/freedesktop/UDisks/devices/sdb scheme: mbr number: 1 type: 0x0b flags: offset: 16384 alignment offset: 0 size: 8000094208 label: uuid: