Sulla maggior parte dei moderni sistemi Linux, praticamente tutto sotto /dev
è messo lì da udev.
Sulla mia macchina Debian, /dev/disk/by-label
proviene da diversi file sotto /lib/udev/rules.d
Ad esempio, ecco una regola da 60-persistent-storage.rules
:
ENV{ID_FS_LABEL_ENC}=="?*", ENV{ID_FS_USAGE}=="filesystem|other", \
SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}"
Alcune righe prima è da dove ID_FS_LABEL_ENC
viene:
# probe filesystem metadata of disks
KERNEL!="sr*", IMPORT{program}="/sbin/blkid -o udev -p $tempnode"
Puoi eseguire blkid
te stesso per vedere i dati che passa a 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
E senza dubbio:
root@Zia:~# ls -l /dev/disk/by-label/xfer1
lrwxrwxrwx 1 root root 10 Nov 19 10:02 /dev/disk/by-label/xfer1 -> ../../sda2
Puoi inserire file di regole aggiuntivi /etc/udev/rules.d/
se desideri creare nomi aggiuntivi per dispositivi, modificare autorizzazioni, ecc. Ad esempio, qui ne abbiamo uno che popola e imposta le autorizzazioni su a /dev/disk/for-asm
.
udev
abbia a che fare con quel tipo di cose.