# ********************************************************************************************************************************
# **IMPORTANT**: Support for REMOVING Symlinks was introduced in Systemd PR #26081 (merged on 2023-01-17) ****
# On Systems featuring older Packages (e.g. Debian Stable) the corresponding Lines might need to be disabled ***
# ********************************************************************************************************************************
# Add Symlink Rule for SCSI Devices
SUBSYSTEM=="block", ENV{ID_BUS}=="scsi", ENV{DEVTYPE}=="disk", ENV{ID_SCSI_SERIAL}=="?*", SYMLINK+="/dev/disk/by-id/scsi-$env{ID_VENDOR}_$env{ID_MODEL}_$env{ID_SCSI_SERIAL}"
SUBSYSTEM=="block", ENV{ID_BUS}=="scsi", ENV{DEVTYPE}=="partition", ENV{ID_SCSI_SERIAL}=="?*", ENV{ID_PART_ENTRY_NUMBER}=="?*", SYMLINK+="/dev/disk/by-id/scsi-$env{ID_VENDOR}_$env{ID_MODEL}_$env{ID_SCSI_SERIAL}-part$env{ID_PART_ENTRY_NUMBER}"
# Remove Symlink Rule for SCSI Devices
SUBSYSTEM=="block", ENV{ID_BUS}=="scsi", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}=="?*", SYMLINK-="/dev/disk/by-id/scsi-$env{ID_SERIAL}"
SUBSYSTEM=="block", ENV{ID_BUS}=="scsi", ENV{DEVTYPE}=="partition", ENV{ID_SERIAL}=="?*", SYMLINK-="/dev/disk/by-id/scsi-$env{ID_SERIAL}-part$env{ID_PART_ENTRY_NUMBER}"
# Add Symlink Rule for USB Devices
SUBSYSTEM=="block", ENV{ID_BUS}=="usb", ENV{DEVTYPE}=="disk", ENV{ID_USB_SERIAL_SHORT}=="?*", SYMLINK+="/dev/disk/by-id/usb-$env{ID_VENDOR}_$env{ID_MODEL}_$env{ID_USB_SERIAL_SHORT}"
SUBSYSTEM=="block", ENV{ID_BUS}=="usb", ENV{DEVTYPE}=="partition", ENV{ID_USB_SERIAL_SHORT}=="?*", ENV{ID_PART_ENTRY_NUMBER}=="?*", SYMLINK+="/dev/disk/by-id/usb-$env{ID_VENDOR}_$env{ID_MODEL}_$env{ID_USB_SERIAL_SHORT}-part$env{ID_PART_ENTRY_NUMBER}"
# Add Symlink Rule for IDE/ATA Devices
SUBSYSTEM=="block", ENV{ID_BUS}=="ata", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL_SHORT}=="?*", SYMLINK+="/dev/disk/by-id/ata-$env{ID_MODEL}_$env{ID_SERIAL_SHORT}"
SUBSYSTEM=="block", ENV{ID_BUS}=="ata", ENV{DEVTYPE}=="partition", ENV{ID_SERIAL_SHORT}=="?*", ENV{ID_PART_ENTRY_NUMBER}=="?*", SYMLINK+="/dev/disk/by-id/ata-$env{ID_MODEL}_$env{ID_SERIAL_SHORT}-part$env{ID_PART_ENTRY_NUMBER}"
# Add Symlink Rule for SATA Devices
SUBSYSTEM=="block", ENV{ID_BUS}=="ata", ENV{ID_ATA_SATA}=="1", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL_SHORT}=="?*", SYMLINK+="/dev/disk/by-id/ata-$env{ID_MODEL}_$env{ID_SERIAL_SHORT}"
SUBSYSTEM=="block", ENV{ID_BUS}=="ata", ENV{ID_ATA_SATA}=="1", ENV{DEVTYPE}=="partition", ENV{ID_SERIAL_SHORT}=="?*", ENV{ID_PART_ENTRY_NUMBER}=="?*", SYMLINK+="/dev/disk/by-id/ata-$env{ID_MODEL}_$env{ID_SERIAL_SHORT}-part$env{ID_PART_ENTRY_NUMBER}"
# Add Symlink Rule for Virtio Devices
SUBSYSTEM=="block", ENV{DEVNAME}=="/dev/vd?*", ENV{DEVTYPE}=="disk", ENV{ID_SERIAL}=="?*", SYMLINK+="/dev/disk/by-id/virtio-$env{ID_SERIAL}"
SUBSYSTEM=="block", ENV{DEVNAME}=="/dev/vd?*", ENV{DEVTYPE}=="partition", ENV{ID_SERIAL}=="?*", ENV{ID_PART_ENTRY_NUMBER}=="?*", SYMLINK+="/dev/disk/by-id/virtio-$env{ID_SERIAL}-part$env{ID_PART_ENTRY_NUMBER}"