GNU/Linux >> Linux Esercitazione >  >> Linux

Come installare AutoFS su Linux

Che tu sia un amministratore di sistema esperto o solo un utente normale, probabilmente hai già montato unità su Linux.

Le unità possono essere locali sulla tua macchina oppure possono essere raggiunte 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 te, esiste un modo migliore e più conveniente per montare le unità:utilizzando l'utilità AutoFS.

AutoFS è un'utilità che monta unità locali o remote solo quando vi si accede :se non li usi, verranno smontati automaticamente.

In questo tutorial imparerai come installare e configurare AutoFS su sistemi Linux.

Prerequisiti

Prima di iniziare, è importante per te per avere privilegi sudo sul tuo host.

Per verificarlo, esegui semplicemente il comando "sudo" con l'opzione "-v":se non vedi nessuna opzione, sei a posto.

$ sudo -v

Se non disponi dei privilegi sudo, puoi seguire questo tutorial per host basati su Debian o questo tutorial per sistemi basati su CentOS.

Installazione di AutoFS su Linux

Prima di installare l'utilità AutoFS, devi assicurarti che i tuoi pacchetti siano aggiornati con i repository.

$ sudo apt-get update

Ora che il tuo sistema è aggiornato, puoi 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.master, auto.net, auto.misc e così via;
  • Creerà il servizio AutoFS in systemd;
  • Aggiungi "automount ” nel tuo file “nsswitch.conf” e collegalo a “files ” fonte

Subito dopo l'installazione, assicurati che il servizio AutoFS sia in esecuzione con il comando "systemctl status"

$ sudo systemctl status autofs

Puoi anche abilitare il servizio AutoFS per l'esecuzione all'avvio

$ sudo systemctl enable autofs

Ora che AutoFS è installato correttamente sul tuo sistema, vediamo come puoi iniziare a creare la tua prima mappa.

Come funziona AutoFS su Linux

"Mappe ” sono un concetto chiave quando si tratta di AutoFS.

In AutoFS, stai mappando 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 nel file autofs.master nella directory /etc.

Da lì, avvierà un thread per tutti i punti di montaggio definiti nei file di mappa definiti nel file master.

L'avvio di un thread non significa che il punto di montaggio sia montato al primo avvio di AutoFS:sarà montato solo quando si accede.

Per impostazione predefinita, dopo cinque minuti di inattività, AutoFS smonterà (o smonterà) i punti di montaggio che non vengono più utilizzati.

Nota :i parametri di configurazione per AutoFS sono disponibili in /etc/autofs.conf

Creazione del tuo primo file di mappatura automatica

Ora che hai un'idea di come funziona AutoFS, è ora che tu inizia a creare la tua prima mappa AutoFS .

Nella directory /etc, crea un nuovo file mappa denominato “auto.example “.

$ sudo touch /etc/auto.example

L'obiettivo di questo file mappa sarà montare una condivisione NFS che si trova su un computer della rete.

La condivisione NFS si trova all'IP 192.168.178.29/24 sulla rete locale ed esporta un'unità situata in /var/share.

Prima di provare a montare automaticamente la condivisione NFS, è buona norma provare a montarla manualmente e verificare di poter contattare il server remoto.

$ ping 192.168.178.29

Creazione di una mappa diretta

La mappatura più semplice che puoi creare utilizzando AutoFS è chiamata mappa diretta o mappatura diretta .

Una mappa diretta associa direttamente un punto di montaggio a una posizione (ad esempio una posizione NFS)

Ad esempio, supponiamo di voler montare una condivisione NFS all'avvio nella directory /tmp.

Per creare una mappa diretta, modifica il tuo "auto.example ” e aggiungere il seguente contenuto al suo interno :

# 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.master ” file.

Per specificare che stai facendo riferimento a una mappa diretta, devi utilizzare la notazione "-"

# Content of the auto.master file

/-    auto.example

Ora che il tuo file master è stato modificato, puoi riavviare il servizio AutoFS per rendere effettive le modifiche.

$ sudo systemctl restart autofs

$ cd /tmp

Congratulazioni, ora dovresti essere in grado di accedere ai tuoi file su NFS tramite mappatura diretta.

Creazione di una mappatura indiretta

Ora che hai scoperto le mappature dirette, vediamo come puoi utilizzare le mapping indiretti per montare la posizione remota sul tuo filesystem.

Le mappature indirette utilizzano la stessa sintassi delle mappature dirette con una piccola differenza:invece di montare le posizioni direttamente sul punto di montaggio, lo stai montando in una posizione in questo punto di montaggio.

Per capirlo, crea un file chiamato "auto.nfs ” e incollarvi il seguente contenuto

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 file "auto.master" e aggiungi il seguente contenuto

/tmp   /etc/auto.nfs

Riavvia il tuo servizio AutoFS e vai alla directory "tmp"

$ sudo systemctl restart autofs

$ cd /tmp

Per impostazione predefinita, non verrà visualizzato nulla se elenchi il contenuto di questa directory:ricorda, AutoFS monterà le directory solo quando si accede a queste directory.

Affinché AutoFS possa montare la directory, vai alla directory che prende il nome dalla chiave che hai specificato nel file "auto.nfs" (chiamato "nfs" in questo caso)

$ cd nfs

Eccezionale!

Il tuo punto di montaggio è ora attivo e puoi iniziare a esplorare la tua directory.

Mappatura di directory home lontane

Ora che hai capito un po' di più sulle mappature dirette e indirette, potresti farti una domanda:che senso ha avere una mappatura indiretta quando puoi semplicemente mappare le posizioni direttamente?

Per essere utili, le mappe indirette devono essere utilizzate con caratteri jolly.

Uno dei principali casi d'uso dell'utilità AutoFS è essere in grado di montare le home directory in remoto.

Tuttavia, poiché i nomi utente cambiano da un utente all'altro, non sarai in grado di avere un file mappa pulito e dall'aspetto gradevole, dovresti mappare ogni utente in un 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, esiste una sintassi che ti consente di creare directory dinamicamente a seconda di ciò che è disponibile sul server.

Per illustrare questo, crea un nuovo file chiamato “auto.home ” nel tuo /ecc directory e inizia a modificarla.

# Content of auto.home

*    <ip>:/home/&

In questo caso sono presenti due caratteri jolly e significa semplicemente che tutte le directory trovate nella directory /home del server verranno mappate in una directory con lo stesso nome sul client.

Per illustrare questo, supponiamo di avere un server NFS in esecuzione sull'indirizzo IP 192.168.178.29 e che contenga tutte le home directory per i nostri utenti.

# Content of auto.home

*   192.168.178.29:/home/&

Salva il tuo file e inizia a modificare il tuo file auto.master per creare la tua mappatura indiretta

$ sudo nano /etc/auto.master

# Content of auto.master

/home     /etc/auto.home

Salva il tuo file master e riavvia il servizio AutoFS per applicare le modifiche.

$ 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 vedi nulla nella directory, ricorda che potrebbe essere necessario accedere alla directory una sola volta affinché venga montata da AutoFS

Mappatura e individuazione degli host sulla tua rete

Se hai prestato attenzione al file auto.master, probabilmente hai notato che c'è una voce per /net directory con un valore "-hosts “.

Il parametro "-hosts" ha lo scopo di rappresentare tutte le voci definite nel file /etc/hosts.

Ricordiamo che il file "hosts" può essere visto come un risolutore DNS semplice e locale che associa un insieme di IP a 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 siano state esportate, vai al tuo file "auto.master" in /etc e aggiungi la seguente riga.

# Content of auto.master

/net   -hosts

Salva il file e riavvia il servizio AutoFS per applicare le modifiche.

$ sudo systemctl restart autofs

Questo è tutto!

Ora la tua condivisione NFS dovrebbe essere accessibile nella directory /net in una directory che prende il nome dal nome host del tuo server.

$ cd /net/<server_name>

$ cd /net/<server_ip>

Nota :ricorda che dovrai navigare direttamente nella directory per montarla. Non lo vedrai semplicemente elencando la directory /net sul primo montaggio.

Risoluzione dei problemi

In alcuni casi, potresti avere dei problemi durante la configurazione di AutoFS:quando un dispositivo è occupato o quando non sei in grado di contattare un host remoto, ad esempio.

  • mount/umount:la destinazione è occupata

Poiché Linux è un sistema multiutente, potresti avere alcuni utenti che navigano 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 utilizzando la risorsa in modo ricorsivo.

  • showmount è sospeso durante la configurazione del rilevamento host

Se hai provato a configurare il rilevamento host utilizzando il parametro "-hosts", potresti aver verificato che i tuoi host remoti sono accessibili utilizzando il comando "showmount".

Tuttavia, in alcuni casi, il comando "showmount" si blocca semplicemente perché non è in grado di contattare il server remoto.

Il più delle volte, il firewall del server blocca le richieste fatte dal client.

Se hai accesso al server, provi a ispezionare i log per vedere se il firewall (ad esempio UFW) sta bloccando le richieste o meno.

  • Debug utilizzando l'utilità di montaggio automatico

Nelle distribuzioni recenti, l'utilità autofs è installata come servizio systemd.

Di conseguenza, puoi ispezionare i log di autofs usando il comando "journalctl".

$ sudo journalctl -u autofs.service

Puoi anche utilizzare l'utilità "automount" per eseguire il debug dei montaggi automatici eseguiti dal servizio.

$ sudo systemctl stop autofs

$ sudo automount -f -v

Conclusione

In questo tutorial, hai appreso l'utilità AutoFS:come funziona e le differenze tra mappe dirette e indirette.

Hai anche imparato che può essere configurato per configurare il rilevamento dell'host:immediatamente puoi connetterti a tutte le condivisioni NFS della tua rete locale, il che è uno strumento molto potente.

Infine, hai visto come creare mappe indirette per creare automaticamente le home directory al volo.

Se sei interessato all'amministrazione del sistema Linux, abbiamo una sezione completa ad essa dedicata, quindi assicurati di dare un'occhiata!


Linux
  1. Come installare Python su Linux

  2. Come installare Java su Linux

  3. Come installare NodeJS su Linux

  4. Come installare Vagrant su Linux

  5. Come installare TeamViewer 15 su Linux

Come installare Bashtop su Linux

Come installare Helm su Linux

Come installare PuTTY su Linux

Come installare Diskonaut su Linux

Come installare GoAccess su Linux

Come installare Overlord su Linux