Wie kann man systemctl anweisen, ein Laufwerk automatisch auszuhängen, wenn es im Leerlauf ist, und das Verzeichnis nach dem Aushängen zu entfernen?

Wie kann man systemctl anweisen, ein Laufwerk automatisch auszuhängen, wenn es im Leerlauf ist, und das Verzeichnis nach dem Aushängen zu entfernen?

Ich habe diesen Eintrag in fstab:

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

Ich erwarte Folgendes:

  1. um die Festplatte mit dem Label-Cache jederzeit unter /disks/cache zu mounten
  2. um den Pfad /dsisks/cache zu erstellen, falls er nicht existiert
  3. Um meinem Benutzer oder einem beliebigen Benutzer die Berechtigung +rwx zu erteilen
  4. um die Festplatte automatisch auszuhängen, wenn sie nach 1 Stunde im Leerlauf ist

Warum funktioniert Schritt 4 nicht und wie kann erreicht werden, dass der Ordner nach dem Unmounten entfernt wird? Gibt es eine Option x-umount.rmdir?

Antwort1

Was Sie beschreiben, kann in fstab nicht durchgeführt werden.

Die folgenden Methoden sind zum Mounten von Datenträgern üblich:

  • Fügen Sie sie zu fstab hinzu, damit sie beim Booten automatisch gemountet werden. (Dies geschieht mit der Option defaultsoder autoin fstab.)
  • Mounten Sie sie manuell, entweder als Root mit allen angegebenen Parametern oder manuell nur als Mount-Punkt oder Gerät mit den verbleibenden Optionen aus fstab oder als Benutzer für in fstab aufgelistete Einträge mit den noauto,userOptionen in der vierten Spalte.
  • Verwenden Sie udisks, um Hot-Insert-Datenträger wie CD-ROMs und USB-Sticks automatisch zu mounten, normalerweise im /mediaVerzeichnis. Dies wird jedoch nur auf Benutzeranforderung unmountet. Udisks wird normalerweise beim Einstecken des Geräts gemountet, kann aber auch über die Befehlszeile ausgelöst werden.
  • Verwenden Sie Autofs, um sie bei Bedarf zu mounten, wenn auf das Verzeichnis verwiesen wird, und unmounten Sie sie nach einem Timeout, wenn sie nicht mehr verwendet werden.

Autofs wird konfiguriert, indem die verwalteten obersten Verzeichnisse zeilenweise aufgelistet werden, /etc/auto.masterwobei pro verwaltetem Verzeichnis eine Konfigurationsdatei vorliegt, wobei in jeder Konfigurationsdatei die Unterverzeichnisse der verwalteten Verzeichnisse aufgelistet werden.

Beispielsweise kann auto.master eine Liste erstellen /etc/auto.misc, die wiederum eine Anzahl von Dateisystemen oder Geräten mit potenziellen Dateisystemen auflisten kann. Die standardmäßige Datei auto.misc, die mit autofs geliefert wird, listet auf floppy(standardmäßig auskommentiert), wer gemountet würde, /misc/floppywenn darauf zugegriffen würde und ein Dateisystem auf diesem Gerät verfügbar wäre.

Beispielzeilen aus auto.master:

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

Beispielzeile aus auto.misc:

floppy         -fstype=auto            :/dev/fd0

Beispielzeile von auto.home:

someuser         homeserver:/export/home/someuser

Autofs kann alles tun, was Sie verlangt haben, außer die Berechtigungen festzulegen, die normalerweise von den Berechtigungen des Stammverzeichnisses des gemounteten Dateisystems übernommen werden, oder Mount-Optionen, wenn das Dateisystem dies unterstützt. Die obige (ungetestete) Disks-Zeile würde eine entsprechende /etc/auto.disksDatei erfordern, die die Dateisysteme beschreibt, in denen Sie mounten möchten ./disks/

Antwort2

Erstellen Sie eine Automount-Datei pro Gerät über systemd. Erstellen Sie dazu eine Datei /etc/systemd/system/diskname.automountmit folgendem Inhalt:

[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

Ersetzen Sie den Einhängepunkt durch den gewünschten Speicherort und stellen Sie sicher, dass dieser Speicherort korrekt einem Unit-Laufwerk zugewiesen ist /etc/fstab.

Es sollte unkompliziert funktionieren.

verwandte Informationen