Che tu sia un amministratore di sistema esperto o solo un utente normale, probabilmente hai già montato le unità su Linux.
Le unità possono essere locali alla macchina o possono essere accessibili tramite la rete utilizzando, ad esempio, il protocollo NFS.
Se hai scelto di montare le unità in modo permanente, probabilmente le hai aggiunte al tuo file fstab.
Fortunatamente per voi, c’è un modo migliore e più conveniente di montare le unità : utilizzando l’utilità AutoFS.
AutoFS è un’utilità che monta unità locali o remote solo quando vi si accede : se non le si utilizza, verranno smontate automaticamente.
In questo tutorial, imparerete come è possibile installare e configurare AutoFS su sistemi Linux.
Sommario
- Prerequisiti
- Installazione di AutoFS su Linux
- Come funziona AutoFS su Linux
- Creare il tuo primo file di mappa automatica
- Creazione di una mappa diretta
- Creazione di un indiretti mappatura
- Mapping distant home directories
- la Mappatura e la scoperta che gli host della rete
- Risoluzione dei problemi
- Conclusione
Prerequisiti
Prima di iniziare, è importante che tu abbia i privilegi sudo sul tuo host.
Per verificarlo, esegui semplicemente il comando “sudo” con l’opzione “-v”: se non vedi alcuna opzione, sei a posto.
$ sudo -v
Se non si dispone di privilegi sudo, è possibile seguire questo tutorial per gli host basati su Debian o questo tutorial per i sistemi basati su CentOS.
Installazione di AutoFS su Linux
Prima di installare l’utilità AutoFS, è necessario assicurarsi che i pacchetti siano aggiornati con i repository.
$ sudo apt-get update
Ora che il sistema è aggiornato, è possibile installare AutoFS eseguendo il comando “apt-get install” con l’argomento “autofs”.
$ sudo apt-get install autofs
Quando si installa il pacchetto AutoFS, il processo di installazione :
- Crea più file di configurazione nella directory / etc come: auto.maestro, auto.net, auto.varie e così via;
- Creerà il servizio AutoFS in systemd;
- Aggiungi la voce ” automount “al tuo” nsswitch.conf” file e link al file”,” source
subito dopo l’installazione, assicurarsi che il servizio AutoFS è in esecuzione con il “systemctl status di” comando
$ sudo systemctl status autofs
È inoltre possibile attivare il servizio AutoFS per essere eseguito all’avvio
$ sudo systemctl enable autofs
Ora che AutoFS è installato correttamente sul vostro sistema, andiamo a vedere come si può iniziare a creare la tua prima mappa.
Come funziona AutoFS su Linux
Le”Mappe” sono un concetto chiave quando si tratta di AutoFS.
In AutoFS, si mappano i punti di montaggio con i file (che è chiamata mappa indiretta) o un punto di montaggio con una posizione o un dispositivo.
Nella sua configurazione predefinita, AutoFS inizierà leggendo le mappe definite in autofs.file master nella directory / etc.
Da lì, inizierà un thread per tutti i punti di montaggio definiti nei file di mappa definiti nel file master.
Avviare un thread non significa che il punto di montaggio sia montato al primo avvio di AutoFS : verrà montato solo quando vi si accede.
Per impostazione predefinita, dopo cinque minuti di inattività, AutoFS smonta (o smonta) i punti di montaggio che non vengono più utilizzati.
Nota: i parametri di configurazione per le AutoFS sono disponibili in / etc / autofs.conf
Creare il tuo primo file di mappa automatica
Ora che hai un’idea su come funziona AutoFS, è tempo per te di iniziare a creare la tua prima mappa AutoFS.
Nella directory / etc, creare un nuovo file di mappa denominato “auto.esempio”.
$ sudo touch /etc/auto.example
L’obiettivo di questo file di mappa sarà quello di montare una condivisione NFS situata su un computer della rete.
La condivisione NFS si trova all’indirizzo IP 192.168.178.29/24 sulla rete locale ed esporta un’unità situata a /var/share.
Prima di provare a montare automaticamente la condivisione NFS, è buona norma provare a montarla manualmente e verificare che sia possibile contattare il server remoto.
$ ping 192.168.178.29
Creazione di una mappa diretta
La mappatura più semplice che puoi creare usando AutoFS è chiamata mappa diretta o mappatura diretta.
Una mappa diretta direttamente associa un punto di montaggio con una posizione (per esempio un NFS posizione)
ad esempio, diciamo che si desidera montare una condivisione NFS al momento dell’avvio sulla directory /tmp.
Per creare una mappa diretta, modifica il tuo ” auto.esempio ” file e aggiungi il seguente contenuto in esso:
# Creating a direct map with AutoFS# <mountpoint> <options> <remote_ip>:<location> /tmp -fstype=nfs 192.168.178.29:/var/share
Ora, dovrai aggiungere la mappa diretta al tuo “auto.file “master”.
Per specificare che si fa riferimento a una mappa diretto, è necessario utilizzare il “-” la notazione
# Content of the auto.master file/- auto.example
Ora che il tuo master file è stato modificato, è possibile riavviare il servizio AutoFS per le modifiche saranno efficaci.
$ sudo systemctl restart autofs$ cd /tmp
Congratulazioni, ora dovresti essere in grado di accedere ai tuoi file su NFS tramite mappatura diretta.
Creazione di un indiretti mappatura
Ora che hai scoperto di direct mapping, vediamo come è possibile utilizzare indiretta mapping per montaggio remoto posizione nel filesystem.
I mapping indiretti utilizzano la stessa sintassi dei mapping diretti con una piccola differenza : invece di montare le posizioni direttamente sul punto di montaggio, lo si sta montando in una posizione in questo punto di montaggio.
Per capirlo, creare un file denominato “auto.nfs ” e incolla il seguente contenuto in esso
nfs -fstype=nfs 192.168.178.29:/var/share
Come puoi vedere, la prima colonna è cambiata : in una mappa diretta, stai usando il percorso del punto di montaggio (ad esempio / tmp), ma con una mappa indiretta stai specificando la chiave.
La chiave rappresenterà il nome della directory che si trova nella directory del punto di montaggio.
Modifica il tuo ” auto.master file” e aggiungere il seguente contenuto in esso
/tmp /etc/auto.nfs
Riavviare il servizio AutoFS e la testa verso il “tmp” directory
$ sudo systemctl restart autofs$ cd /tmp
per impostazione predefinita, non vi è nulla visualizzato se si elenca il contenuto di questa directory : ricordate, AutoFS solo montare la directory al momento dell’accesso.
Affinché AutoFS possa montare la directory, passare alla directory denominata dopo la chiave specificata in “auto.file nfs” (chiamato ” nfs “in questo caso)
$ cd nfs
Impressionante!
Il tuo mountpoint è ora attivo e puoi iniziare a navigare nella tua directory.
Mapping distant home directories
Ora che capisci un po ‘ di più sulle mappature dirette e indirette, potresti farti una domanda : qual è il punto di avere una mappatura indiretta quando puoi semplicemente mappare direttamente le posizioni?
Per essere utili, le mappe indirette sono pensate per essere utilizzate con caratteri jolly.
Uno dei principali casi d’uso dell’utilità AutoFS è quello di poter montare le directory home da remoto.
Tuttavia, poiché i nomi utente cambiano da un utente all’altro, non sarai in grado di avere un file di mappa pulito e di bell’aspetto, dovresti mappare ogni utente in modo molto ridondante.
# Without wildcards, you have very redundant map files/home/antoine <ip>:/home/antoine/home/schkn <ip>:/home/schkn/home/devconnected <ip>:/home/devconnected
Fortunatamente per te, c’è una sintassi che consente di creare dinamicamente le directory in base a ciò che è disponibile sul server.
Per illustrare questo, creare un nuovo file denominato “auto.home ” nella directory / etc e iniziare a modificarlo.
# Content of auto.home* <ip>:/home/&
In questo caso, ci sono due wilcard e significa semplicemente che tutte le directory trovate nella directory / home sul server saranno mappate su una directory con lo stesso nome sul client.
Per illustrare questo, facciamo finta di avere un server NFS in esecuzione sull’indirizzo IP 192.168.178.29 e che contenga tutte le directory home per i nostri utenti.
# Content of auto.home* 192.168.178.29:/home/&
Salva il tuo file e inizia a modificare la tua auto.file master per creare la mappatura indiretta
$ sudo nano /etc/auto.master# Content of auto.master/home /etc/auto.home
Salvare il file master e riavviare il servizio AutoFS per le modifiche da applicare.
$ sudo systemctl restart autofs
Ora, puoi andare alla directory / home e dovresti essere in grado di vedere le directory montate correttamente per gli utenti.
Nota : se non si vede niente nella directory ricordate che potrebbe essere necessario per accedere alla directory di tempo per essere montato da AutoFS
la Mappatura e la scoperta che gli host della rete
Se avete prestato attenzione alle auto.file master, probabilmente hai notato che c’è una voce per la directory /net con un valore “-hosts”.
Il parametro “-hosts” rappresenta tutte le voci definite nel file/etc / hosts.
Come promemoria, il file “hosts” può essere visto come un resolver DNS semplice e locale che associa un set di IP con i nomi host.
Ad esempio, definiamo una voce per il server NFS nel file/etc / hosts compilando l’IP e il nome host della macchina.
Prima di tutto, assicurati che alcune directory vengano esportate sul server eseguendo il comando “showmount” sul client.
$ sudo showmount -e <server>
Ora che ti sei assicurato che alcune directory vengano esportate, vai al tuo “auto.master ” file in / etc e aggiungere la seguente riga.
# Content of auto.master/net -hosts
Salvare il file e riavviare il servizio AutoFS per le modifiche da applicare.
$ sudo systemctl restart autofs
Questo è tutto!
Ora la tua condivisione NFS dovrebbe essere accessibile nella directory / net sotto una directory chiamata dopo il nome host del tuo server.
$ cd /net/<server_name>$ cd /net/<server_ip>
Nota : ricordate che è necessario navigare direttamente nella directory per essere montato. Non lo vedrai semplicemente elencando la directory / net sul primo mount.
Risoluzione dei problemi
In alcuni casi, si possono avere alcuni problemi durante la configurazione di AutoFS : quando un dispositivo è occupato o quando non si è in grado di contattare un host remoto per esempio.
- montaggio / montaggio : target è occupato
Poiché Linux è un sistema multiutente, potresti avere alcuni utenti che stanno navigando in alcune posizioni che stai cercando di montare o smontare (usando AutoFS o meno)
Se vuoi sapere chi sta navigando nella cartella o chi sta usando un file, devi usare il comando “lsof”.
$ lsof +D <directory>$ lsof <file>
Nota : l’opzione “+D” viene utilizzata per elencare chi sta usando la risorsa in modo ricorsivo.
- showmount è sospeso durante la configurazione di host discovery
Se hai provato a configurare host discovery usando il parametro “-hosts”, potresti aver verificato che i tuoi host remoti siano accessibili usando il comando “showmount”.
Tuttavia, in alcuni casi, il comando “showmount” si blocca semplicemente in quanto non è in grado di contattare il server remoto.
La maggior parte delle volte, il firewall del server blocca le richieste effettuate dal client.
Se si ha accesso al server, si tenta di ispezionare i log per vedere se il firewall (UFW per esempio) sta bloccando le richieste o meno.
- Debug utilizzando l’utility automount
Nelle distribuzioni recenti, l’utility autofs viene installata come servizio systemd.
Di conseguenza, è possibile ispezionare i registri autofs utilizzando il comando “journalctl”.
$ sudo journalctl -u autofs.service
È inoltre possibile utilizzare l’utilità “automount” per eseguire il debug dei supporti automatici eseguiti dal servizio.
$ sudo systemctl stop autofs$ sudo automount -f -v
Conclusione
In questo tutorial, hai imparato a conoscere l’utilità AutoFS : come funziona e le differenze tra mappe dirette e indirette.
Hai anche imparato che può essere configurato per configurare host discovery : fuori dalla scatola, puoi connetterti a tutte le condivisioni NFS della tua rete locale, che è uno strumento molto potente.
Infine, hai visto come puoi creare mappe indirette per creare automaticamente le directory home al volo.
Se sei interessato all’amministrazione del sistema Linux, abbiamo una sezione completa dedicata ad esso, quindi assicurati di dare un’occhiata!