¿Cómo decirle a systemctl que desmonte automáticamente una unidad si está inactiva y elimine el directorio después de desmontarla?

¿Cómo decirle a systemctl que desmonte automáticamente una unidad si está inactiva y elimine el directorio después de desmontarla?

Tengo esta entrada en fstab:

LABEL=cache /disks/cache ext4 rw,user,x-mount.mkdir,relatime,noauto,errors=remount-ro,x-systemd.idle-timeout=120min  0 0

Lo que espero hacer es:

  1. montar el disco con la etiqueta caché en /disks/cache cada vez que lo solicite
  2. para crear la ruta /dsisks/cache si no existe
  3. Para dar permiso +rwx a mi usuario o a cualquier usuario por defecto
  4. desmontar automáticamente el disco si está inactivo después de 1 hora

¿Por qué el paso 4, que no funciona, y cómo hacer que la carpeta se elimine después de desmontarla? ¿Existe la opción x-umount.rmdir?

Respuesta1

Lo que usted describe no se puede hacer en fstab.

Las siguientes son las formas típicas de montar discos:

  • Agréguelos a fstab para que se monten automáticamente en el arranque. (La opción defaultso autoen fstab hace esto).
  • Móntelos manualmente, ya sea como root con todos los parámetros especificados, o manualmente como solo un punto de montaje o dispositivo con las opciones restantes de fstab, o como usuario para las entradas enumeradas en fstab con las noauto,useropciones de la cuarta columna.
  • Utilice udisks para montar automáticamente discos de inserción en caliente, como cdroms y memorias USB, normalmente en el /mediadirectorio. Sin embargo, esto sólo se desmonta a petición del usuario. Los udisks normalmente se montan al insertar el dispositivo, pero también se pueden activar desde la línea de comando.
  • Utilice autofs para montarlos a pedido, cuando se haga referencia al directorio, y desmóntelos después de un tiempo de espera y ya no estén en uso.

Autofs se configura enumerando los directorios principales administrados, uno por línea, /etc/auto.mastercon un archivo de configuración por directorio administrado, y cada archivo de configuración enumera los subdirectorios de los directorios administrados.

Por ejemplo, auto.master puede enumerar, /etc/auto.misclo que a su vez puede enumerar una cantidad de sistemas de archivos o dispositivos con sistemas de archivos potenciales. El auto.misc predeterminado que viene con listas autofs floppy(comentadas de forma predeterminada) que se montarían /misc/floppysi se accediera a él y hubiera un sistema de archivos disponible en ese dispositivo.

Líneas de muestra de auto.master:

/misc  /etc/auto.misc
/home  /etc/auto.home
/disks  /etc/auto.disks   --timeout=3600

Línea de muestra de auto.misc:

floppy         -fstype=auto            :/dev/fd0

Línea de muestra de auto.home:

someuser         homeserver:/export/home/someuser

Autofs puede hacer todo lo que usted solicite, excepto establecer los permisos, que normalmente se heredan de los permisos del directorio raíz en el sistema de archivos montado, o montar opciones si el sistema de archivos lo admite. La línea de discos anterior (no probada) requeriría un /etc/auto.disksarchivo correspondiente que describa los sistemas de archivos en los que desea montar/disks/

Respuesta2

Cree un archivo de montaje automático por dispositivo mediante systemd. Para ello, cree un archivo /etc/systemd/system/diskname.automountcon el siguiente contenido:

[Unit]
Description=Automountaje de discos de usuario
After=blockdev@dev-disk-by\x2dlabel-cch.target

[Automount]
Where= mountpoint
TimeoutIdleSec=10

[Install]
WantedBy=multi-user.target

Reemplace el punto de montaje con la ubicación deseada y asegúrese de que esa ubicación esté asignada correctamente a una unidad de unidad en formato /etc/fstab.

Debería funcionar de forma sencilla.

información relacionada