Esiste un modo per montare automaticamente un filesystem quando apro un collegamento simbolico a una directory su quel filesystem?


21

Sto usando Arch con Xfce.

Di recente, ho creato un collegamento simbolico a una directory su un filesystem.

Ma non voglio montare il filesystem durante l'avvio o montarlo manualmente prima di aprire il collegamento simbolico.

Esiste un modo per montare automaticamente quel filesystem quando apro il collegamento simbolico alla directory su quel filesystem?

Risposte:


23

autofspuoi farlo per te. È possibile configurare un numero qualsiasi di mountpoint con varie opzioni e i filesystem corrispondenti vengono montati ogni volta che si accede al mountpoint. Dopo una certa quantità di inattività, i filesystem vengono nuovamente montati.

Non ci sono dubbi su vari modi di usare autofs, ma ecco un modo di fare quello che stai cercando di fare, basato sul modo in cui lo usavo.

Inizi con una directory che conterrà un numero di autofsmount-points (beh, almeno uno); dire /misc. Non è necessario crearlo, ma è necessario creare un file di configurazione che descriverà tutti i filesystem che si desidera montare lì; ad esempio, potrei montare CD, DVD e Blu-Rays con il seguente file, salvato come /etc/auto.misc:

cd              -fstype=iso9660,ro,nosuid,nodev    :/dev/cdrom
br              -fstype=udf,ro,nosuid,nodev        :/dev/cdrom

La sintassi generale è il mountpoint, seguito da tutte le opzioni introdotte da -, quindi dal mountpoint introdotto da :un sistema locale. (Sto semplificando qui, vedere la autofs(5)manpage per i dettagli.)

Quindi questo file è abilitato aggiungendo una voce in /etc/auto.master:

/misc   /etc/auto.misc

Riavvia autofscon

sudo service autofs restart

e dovresti essere in grado di correre

ls /misc/cd

e vedere il contenuto di qualsiasi CD nell'unità. (Ovviamente sostituisci il nome e monta il target con qualsiasi cosa sia appropriata nel tuo caso.)

Una volta che lo hai, puoi collegarti a qualsiasi cosa nei filesystem montati automaticamente da qualsiasi altra parte, come se fossero filesystem standard, non montati automaticamente. Quindi nel mio esempio,

ln -s /misc/br blu-ray

crea un blu-raycollegamento ovunque venga eseguito il comando. Puoi collegare ulteriormente nel filesystem,

ln -s /misc/br/BDMV autolinktest

crea un autolinktestcollegamento ai contenuti del film. L'accesso ai collegamenti monterà il filesystem di destinazione.


12

Puoi farlo con systemd, quindi non devi installare software extra e hai solo una piccola quantità di configurazione extra.

Aggiungi semplicemente noauto,x-systemd.automountalle opzioni in fstab.

noautonon montare automaticamente all'avvio e x-systemd.automountlasciare che systemd lo monti all'accesso.

Dopo aver aggiunto x-systemd.automount a una fstablinea, devi eseguire:

  sudo systemctl daemon-reload

E poi uno o entrambi i seguenti:

  sudo systemctl restart remote-fs.target
  sudo systemctl restart local-fs.target

Quindi l'automount diventerà attivo e utilizzabile.

Fonte: ArchWiki - fstab

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.