Specifieke acties in nieuwste versie findmnt
Gepubliceerd: Dinsdag 20 december 2011
Auteur: Koen Vervloesem
Met het programma findmnt uit util-linux kun je heel wat informatie opvragen over gemounte bestandssystemen. In de nieuwste versie reageert het programma zelfs op specifieke acties.
Het pakket util-linux is een basiscomponent van elke Linux-distributie. Het bevat standaardcommando's zoals agetty, chsh, fdisk, hwclock, logger, login, mkswap, mount, script en lsblk.
Kortom, een mix van essentiële commando's voor de werking van Linux-distributies en praktische commando's voor handmatig systeembeheer en automatisatie van taken in scripts. Een minder bekend maar heel handig commando uit deze collectie is findmnt, waarmee je allerlei informatie te weten komt over gemounte bestandssystemen.
Overzichtelijker
Met het commando mount zonder enige parameters krijg je wel te zien welke bestandssystemen er allemaal gemount zijn, inclusief hun pad, type en opties. Maar de uitvoer is niet echt duidelijk. Het commando findmnt presenteert deze informatie op een overzichtelijker manier, in een tabelvorm met kolommen TARGET, SOURCE, FSTYPE en OPTIONS. Bovendien worden de bestandssystemen standaard hiërarchisch getoond in een boomstructuur.
Met verscheidene opties voor findmnt kun je nog allerlei andere informatie over aangekoppelde bestandssystemen opvragen. Zo kun je een specifiek pad opgeven om enkel de informatie hierover te tonen. Met --fstab zoek je de informatie over bestandssystemen op in /etc/fstab in plaats van in /proc/self/mountinfo. Met --type
$ findmnt -t ext4 -O ro
Ook handig is de optie --evaluate, dat alle LABEL en UUID waardes vertaalt naar de apparaatnamen. Dit is vooral bruikbaar als je wil zien naar welke apparaten er juist in /etc/fstab wordt verwezen met die automatisch gegenereerde UUID-waardes:
$ findmnt --fstab --evaluate
In scripts
Findmnt is ook handig in scripts. De optie ---list gebruikt bijvoorbeeld een gemakkelijker te parsen lijstformaat zonder boomstructuur, en --noheadings toont geen hoofding. Met --output kolom1,kolom2, ... toon je specifieke kolommen. Alle mogelijke waarden voor kolommen krijg je te zien met de optie --help. Als je bijvoorbeeld enkel de mountpoints wil zien en niet de apparaatnamen, bestandssysteemtypes en opties, dan vraag je deze heel eenvoudig op met het volgende commando, waarvan je de uitvoer verder kan verwerken in een shell-script:
$ findmnt --list --noheading --output TARGET
Een andere handige optie voor in scripts is --poll, waarmee je findmnt kunt laten wachten op bepaalde acties: mount, umount, remount en move. Stel bijvoorbeeld dat je wil wachten tot /mnt/android afgekoppeld is, dan kan dat als volgt:
$ findmnt --poll=umount --first-only /mnt/android && echo "Android-telefoon afgekoppeld!"
Bij gebruik van de optie --poll zijn er ook extra kolommen beschikbaar: ACTION, OLD-TARGET en OLD-OPTIONS. Wil je bijvoorbeeld zien wat de oude en nieuwe opties waren bij geremounte bestandssystemen, dan kan dat op deze manier:
$ findmnt --poll=remount --output TARGET,OLD-OPTIONS,OPTIONS
Findmnt is beschikbaar in alle Linux-distributies met util-linux-ng 2.18. De optie --poll is ingevoerd in util-linux 2.20, dat onder andere te vinden is in Fedora 16 en openSUSE 12.1. Bekijk de man-pagina voor alle mogelijke opties.
De rubriek Tips & Tools biedt praktische informatie die IT-professionals in hun dagelijkse werk kunnen toepassen.
