oavsett om du är en erfaren systemadministratör eller bara en vanlig användare har du förmodligen redan monterat enheter på Linux.
enheter kan vara lokala till din maskin eller de kan nås via nätverket med hjälp av NFS-protokollet till exempel.
om du väljer att montera enheter permanent har du antagligen lagt till dem i din fstab-fil.
lyckligtvis för dig finns det ett bättre och mer kostnadseffektivt sätt att montera enheter : genom att använda AutoFS-verktyget.
AutoFS är ett verktyg som endast monterar lokala eller fjärranslutna enheter när de nås : om du inte använder dem kommer de att avmonteras automatiskt.
i den här handledningen lär du dig hur du kan installera och konfigurera AutoFS på Linux-system.
Innehållsförteckning
förutsättningar
innan du börjar är det viktigt att du har sudo-privilegier på din värd.
för att verifiera det, kör helt enkelt kommandot ”sudo” med alternativet ”-v”: om du inte ser några alternativ är du bra att gå.
$ sudo -v
Om du inte har sudo-behörigheter kan du följa denna handledning för Debianbaserade värdar eller denna handledning för CentOS-baserade system.
installera AutoFS på Linux
innan du installerar AutoFS-verktyget måste du se till att dina paket är uppdaterade med repositorier.
$ sudo apt-get update
Nu när ditt system är uppdaterat kan du installera AutoFS genom att köra kommandot” apt-get install ”med argumentet” autofs”.
$ sudo apt-get install autofs
När autofs-paketet installeras kommer installationsprocessen att :
- skapa flera konfigurationsfiler i katalogen / etc, till exempel: auto.mästare, auto.net, auto.övrigt och så vidare;
- skapar AutoFS-tjänsten i systemd;
- Lägg till” automount ”- posten till din ” nsswitch.conf” – filen och länka den till ”files” – källan
Direkt efter installationen, se till att AutoFS-tjänsten körs med kommandot ”systemctl status”
$ sudo systemctl status autofs
Du kan också aktivera autofs-tjänsten för att den ska köras vid start
$ sudo systemctl enable autofs
nu när autofs är korrekt installerat på ditt system, låt oss se hur du kan börja skapa din första karta.
hur AutoFS fungerar på Linux
”kartor” är ett nyckelbegrepp när det gäller AutoFS.
i AutoFS kartlägger du monteringspunkter med filer (som kallas en indirekt karta) eller en monteringspunkt med en plats eller en enhet.
i standardkonfigurationen börjar AutoFS med att läsa kartor definierade i autofs.huvudfil i katalogen / etc.
därifrån kommer det att starta en tråd för alla monteringspunkter som definieras i kartfilerna som definieras i huvudfilen.
att starta en tråd betyder inte att monteringspunkten är monterad när du först startar AutoFS : den monteras bara när den nås.
som standard, efter fem minuters inaktivitet, kommer AutoFS att demontera (eller avmontera) monteringspunkter som inte används längre.
Obs : konfigurationsparametrar för AutoFS finns i /etc/autofs.conf
skapa din första Auto map-fil
Nu när du har en uppfattning om hur AutoFS fungerar är det dags för dig att börja skapa din allra första AutoFS-karta.
i katalogen / etc skapar du en ny kartfil med namnet ”auto.exempel”.
$ sudo touch /etc/auto.example
målet med denna kartfil är att montera en NFS-del som finns på en dator i nätverket.
NFS-aktien finns på IP 192.168.178.29 /24 på det lokala nätverket och exporterar en enhet som finns på/var / share.
innan du försöker automatiskt montera NFS-aktien är det en bra praxis att försöka montera den manuellt och verifiera att du kan kontakta fjärrservern.
$ ping 192.168.178.29
skapa en direkt karta
den enklaste mappningen du kan skapa med AutoFS kallas en direkt karta eller en direkt mappning.
en direkt karta associerar direkt en monteringspunkt med en plats (till exempel en NFS-plats)
låt oss till exempel säga att du vill montera en NFS-delning vid starttid i / tmp-katalogen.
för att skapa en direkt karta, redigera din ” auto.exempel ”fil och Lägg till följande innehåll i det:
# Creating a direct map with AutoFS# <mountpoint> <options> <remote_ip>:<location> /tmp -fstype=nfs 192.168.178.29:/var/share
Nu måste du lägga till direktkartan till din ” auto.mästare ” fil.
för att ange att du refererar till en direkt karta måste du använda notationen ” – ”
# Content of the auto.master file/- auto.example
nu när din huvudfil har ändrats kan du starta om autofs-tjänsten för att ändringarna ska vara effektiva.
$ sudo systemctl restart autofs$ cd /tmp
Grattis, du ska nu kunna komma åt dina filer via NFS via direkt mappning.
skapa en indirekt mappning
nu när du har upptäckt direkta mappningar, låt oss se hur du kan använda indirekta mappningar för att montera fjärrplats på ditt filsystem.
indirekta mappningar använder samma syntax som direkta mappningar med en liten skillnad : istället för att montera platser direkt på monteringspunkten monterar du den på en plats i denna monteringspunkt.
för att förstå det, skapa en fil med namnet ” auto.NFS ” och klistra in följande innehåll i det
nfs -fstype=nfs 192.168.178.29:/var/share
som du kan se ändrades den första kolumnen : i en direkt karta använder du sökvägen till monteringspunkten (till exempel /tmp), men med en indirekt karta anger du nyckeln.
nyckeln representerar katalognamnet som finns i monteringspunktskatalogen.
redigera din ” auto.Lägg till följande innehåll i den
/tmp /etc/auto.nfs
Starta om AutoFS-tjänsten och gå över till katalogen”tmp ”
$ sudo systemctl restart autofs$ cd /tmp
som standard visas ingenting om du listar innehållet i den här katalogen : kom ihåg att autofs bara monterar katalogerna när de nås.
För att AutoFS ska kunna montera katalogen, navigera till katalogen som heter efter nyckeln som du angav i ”auto.NFS ”- fil (kallad ”nfs”i det här fallet)
$ cd nfs
fantastiskt!
din monteringspunkt är nu aktiv och du kan börja bläddra i din katalog.
kartläggning av avlägsna hemkataloger
Nu när du förstår lite mer om direkta och indirekta mappningar kan du fråga dig själv en fråga : Vad är meningen med att ha indirekt mappning när du enkelt kan kartlägga platser direkt?
för att vara användbar är indirekta kartor avsedda att användas med jokertecken.
ett viktigt användningsfall för AutoFS-verktyget är att kunna montera hemkataloger på distans.
men när användarnamn ändras från en användare till en annan kommer du inte att kunna ha en ren och snygg kartfil, du måste kartlägga varje användare på ett mycket överflödigt sätt.
# Without wildcards, you have very redundant map files/home/antoine <ip>:/home/antoine/home/schkn <ip>:/home/schkn/home/devconnected <ip>:/home/devconnected
lyckligtvis för dig finns det en syntax som låter dina dynamiskt skapa kataloger beroende på vad som finns tillgängligt på servern.
för att illustrera detta, skapa en ny fil med namnet ” auto.hem ” i din / etc-katalog och börja redigera den.
# Content of auto.home* <ip>:/home/&
i det här fallet finns det två wilcards och det betyder helt enkelt att alla kataloger som finns i /home-katalogen på servern kommer att mappas till en katalog med samma namn på klienten.
för att illustrera detta, låt oss låtsas att vi har en NFS-server som körs på IP-adressen 192.168.178.29 och att den innehåller alla hemkataloger för våra användare.
# Content of auto.home* 192.168.178.29:/home/&
spara filen och börja redigera din auto.för att skapa din indirekta mappning
$ sudo nano /etc/auto.master# Content of auto.master/home /etc/auto.home
spara din huvudfil och starta om AutoFS-tjänsten för att ändringarna ska tillämpas.
$ sudo systemctl restart autofs
Nu kan du gå över till /home-katalogen och du bör kunna se katalogerna korrekt monterade för användarna.
notera : om du inte ser något i katalogen, kom ihåg att du kan behöva komma åt katalogen en gång för att den ska monteras av AutoFS
kartlägga och upptäcka värdar i ditt nätverk
om du har uppmärksammat auto.huvudfil, märkte du förmodligen att det finns en post för /net-katalogen med ett värde ”- värdar”.
parametern ”-hosts ” är avsedd att representera alla poster som definieras i filen /etc/hosts.
som en påminnelse kan ”hosts” – filen ses som en enkel och lokal DNS-resolver som associerar en uppsättning IP-adresser med värdnamn.
som ett exempel, låt oss definiera en post för NFS-servern i /etc/hosts-filen genom att fylla i IP och värdnamnet på maskinen.
kontrollera först att vissa kataloger exporteras på servern genom att köra kommandot” showmount ” på klienten.
$ sudo showmount -e <server>
nu när du har kontrollerat att vissa kataloger exporteras, gå över till din ”auto.master ” fil i / etc och Lägg till följande rad.
# Content of auto.master/net -hosts
spara filen och starta om AutoFS-tjänsten för att ändringarna ska tillämpas.
$ sudo systemctl restart autofs
det är det!
nu ska din NFS-andel vara tillgänglig i / net-katalogen under en katalog som är uppkallad efter serverns värdnamn.
$ cd /net/<server_name>$ cd /net/<server_ip>
Obs : kom ihåg att du måste navigera direkt i katalogen för att den ska monteras. Du kommer inte att se det genom att helt enkelt lista /net-katalogen på det första fästet.
felsökning
i vissa fall kan du ha några problem när du ställer in AutoFS : när en enhet är upptagen eller när du inte kan kontakta en fjärrvärd till exempel.
- montera / umount : målet är upptagen
eftersom Linux är ett fleranvändarsystem kan det hända att vissa användare surfar på vissa platser som du försöker montera eller avmontera (med AutoFS eller inte)
om du vill veta vem som navigerar i mappen eller vem som använder en fil måste du använda kommandot ”lsof”.
$ lsof +D <directory>$ lsof <file>
notera : alternativet ”+d” används för att lista vem som använder resursen rekursivt.
- showmount hänger när du konfigurerar host discovery
Om du försökte konfigurera host discovery med parametern ”-hosts” kan du ha verifierat att dina fjärrvärdar är tillgängliga med kommandot ”showmount”.
i vissa fall hänger kommandot ”showmount” helt enkelt eftersom det inte går att kontakta fjärrservern.
För det mesta blockerar serverns brandvägg förfrågningar från klienten.
om du har åtkomst till servern försöker du inspektera loggarna för att se om brandväggen (till exempel UFW) blockerar förfrågningarna eller inte.
- felsökning med hjälp av automount-verktyget
på senaste distributioner installeras autofs-verktyget som en systemd-tjänst.
följaktligen kan du inspektera autofs-loggarna med kommandot” journalctl”.
$ sudo journalctl -u autofs.service
Du kan också använda verktyget” automount ” för att felsöka de automatiska fästen som görs av tjänsten.
$ sudo systemctl stop autofs$ sudo automount -f -v
slutsats
i denna handledning lärde du dig om AutoFS-verktyget : hur det fungerar och skillnaderna mellan direkta och indirekta kartor.
Du lärde dig också att det kan konfigureras för att ställa in host discovery : ur lådan kan du ansluta till alla NFS-aktier i ditt lokala nätverk som är ett mycket kraftfullt verktyg.
Slutligen har du sett hur du kan skapa indirekta kartor för att automatiskt skapa hemkataloger i farten.
Om du är intresserad av Linux – systemadministration har vi ett komplett avsnitt dedikerat till det, så se till att ta en titt!