Regla de la unidad de CD / DVD: monte la unidad al insertarla en "/ media / DVD"
Haga esto si desea restaurar el montaje automático con cierto control sobre cómo se hace.
- Crea automáticamente el punto de montaje al insertar el medio
- Montajes automáticos de medio a punto de montaje con permisos específicos
- Elimina automáticamente el punto de montaje al retirar el medio
Acción: la bandeja de CD / DVD tiene medios y se extrae
Tienes que decirle a tu sistema que reaccione esta acción. Puede hacer que ejecute un script de montaje (cualquier script personalizado). Para hacer esto, debe crear una nueva regla en la lib/udev/rules.d
carpeta. Estos comandos deben ejecutarse como root (use el prefijo sudo
de los siguientes comandos para ejecutarlos como root o convertirse en el usuario root consudo -s
- Cree un nuevo archivo y llámelo autodvd.rules
touch /lib/udev/rules.d
- Busque información sobre su unidad de CD / DVD ejecutando
udevadm info --query=all --attribute-walk --name=/dev/sr0
(la raíz no es necesaria aquí, pero funciona en ambos sentidos) Busque algo que identifique de forma exclusiva su unidad (para bien o para mal elegí ATTRS{vendor}=="HL-DT-ST"
, que es mi unidad (la suya será diferente a menos que usted posee el mismo disco que yo). Cópielo en algún lugar para más adelante. Puede tomarse un tiempo para revisar este archivo y compararlo con el ejemplo de la regla a continuación. El SUBSISTEMA y ATTRS se pueden encontrar en él.
- Edite su nueva regla (puede usar el editor que elija, yo uso
vim /lib/udev/rules.d
, pero nano /lib/udev/rules.d
también funciona y es fácil. Agregue estas cosas, edite su ATTRS para que coincida con la suya (esta es la parte sensible, puede que tenga que elegir un atributo diferente si es así) no funciona) y corrija los campos YOURUSER y YOURGROUP:
KERNEL=="sr[0-9]*", SUBSYSTEM=="block", ATTRS{vendor}=="HL-DT-ST", SYMLINK+="dvdburner", OWNER="YOURUSER", GROUP="YOURGROUP" ACTION=="change",RUN+="/home/YOURUSER/Scripts/Bash/automountdvd.sh"
- Los
KERNEL=="sr[0-9]*"
medios sólo se pondrá a prueba todos los scsi
dispositivos (sr0-SR9)
- El
SYMLINK
es solo un enlace simbólico a la unidad (como /dev/cdrom
es al real /dev/sr0
)
Es posible que deba volver a cargar todas las reglas de udev:
udevadm control --reload rules
reload udev
udevadm trigger
Mount Script
Guarde lo siguiente en algún lugar como: /home/YOURUSER/Scripts/Bash/automountdvd.sh
y corrija los campos YOURUSER y YOURGROUP. Ah, por cierto, es peligroso poner este script en la carpeta de usuario, ya que se ejecutará por root, lo que significa que si alguien piratea su carpeta de usuario, puede ajustar el script para hacer lo que quiera y root lo ejecutará ( y probablemente tenga éxito, porque el usuario raíz tiene control total sobre el sistema) Probablemente sea mejor ocultarlo en una carpeta que solo la raíz pueda ver. Si estás experimentando, está bien.
#!/bin/bash
{
mountpoint="/media/DVD"
user=YOURUSER
group=YOURGROUP
uid=$(id -u ${user})
gid=$(id -g ${group})
FS_TYPE="`blkid /dev/sr0 | grep -o 'udf'`"
if [ ${FS_TYPE} == 'udf' ]; then
echo "ID_CDROM_MEDIA set to 1, creating ${mountpoint} and attempting to mount DVD."
mkdir -p ${mountpoint} && chown ${user}:${group} ${mountpoint}
mount -t ${FS_TYPE} -o ro,uid=${uid},gid=${gid} /dev/sr0 ${mountpoint}
echo "DVD mounted at ${mountpoint}."
else
echo "Attempting to unmount -l ${mountpoint}."
umount -l ${mountpoint}
rm -rf ${mountpoint}
echo "Unmounting ${mountpoint} and removing folder ${mountpoint}."
fi
} &>> "/var/log/autodvd.log" &
mkdir anythingAtAll; sudo mount /dev/sr0 anythingAtAll