Der er en masse hverdagslige ting på Linux, som amange brugere synes ikke meget om det er utroligt nyttigt. Når nye brugere lærer at bruge disse verdslige, kedelige små tricks, bliver de bedre Linux-brugere. Bind-mounts og Symlinks på Linux er et godt eksempel på dette. I denne artikel diskuterer vi nøjagtigt hvad er en symlink, hvordan man opretter en, og hvad de er til. Vi vil også undersøge, hvordan man opretter bindemonteringer, hvorfor de er så nyttige, og endda viser brugerne, hvordan man øger deres bindemonteringer med bindfs!
SPOILER ALERT: Rul ned og se videostudiet i slutningen af denne artikel.
Hvad er en Symlink?
En symlink eller ”symbolsk link” er en henvisning tilen anden fil eller mappe et andet sted på filsystemet. For eksempel vil de fleste udviklere i stedet for at duplikere biblioteker på en brugers system i stedet få deres kode til at oprette symboliske links til biblioteksmapper og programfiler. Dette gør det nemt for programmet at have alle de nødvendige værktøjer og biblioteksfiler, det har brug for at køre, uden at skabe ekstra cruft.
Symlinks bruges også, når der refereres til filermellem forskellige partitioner og drev. For eksempel: hele dit musikbibliotek er gemt på harddisk B, og hele bibliotekets størrelse er 500 GB. På grund af hvor stor den er, er det ikke muligt at flytte musikbiblioteket direkte til harddisk A (også kaldet systemdrevet).
For let at løse dette problem kan brugerne oprette et symbolsk link og henvise til hver fil fra drev B til drev A. På den måde kan musikafspilleren let finde og få adgang til alle musikfiler let.
Brug af Symlinks
Symboliske links kan bruges på to måder: til at linke et helt bibliotek eller en enkelt fil. Sådan opretter du dem.
Symlink en fil
For at symlinke en fil skal du først åbne en terminal. Herefter cd til biblioteket med den fil, der skal linkes.
cd ~/path/to/file
Opret det symboliske link. Husk, hvor linket skal gå.
ln -s original-file /path/where/link/goes
Symlink en mappe
ln -s /path/to/original/folder /path/where/linked/folder/goes
Slet en symlink
cd /path/where/symlink/is rm symlinkname unlink symlinkname
Hvad er en bindemontage?
En bin-mount er en måde at vise indholdet på enmappe en gang på filsystemet i et andet bibliotek. Bindmontering lyder meget linket symbolisk til en mappe, men det er meget anderledes. Bindeholderen er meget nyttig. Systemadministratorer bruger ofte denne metode til hurtigt at tilføje mere lagerplads til en mappe undervejs, når hovedsystemets filsystem er 'read only'. Bind-mounts kan også bruges til hurtigt at binde en netværksdeling til et lokalt bibliotek uden behov for at oprette et monteringspunkt i fstab-filen osv.
Brug af bindemonteringer med den indbyggede Linux-kernekommando
Linux-kernen har en indbygget bindekommando. Det er på grund af dette, brugere kan nemt montere indholdet af mapper på tværs af filsystemet let. Sådan gør du det.
Tænk på et bibliotek, der har filer, du gerne vil montere et andet sted. Når du har placeringen i tankerne, skal du tænke på det sted, du gerne vil montere det på.
I dette eksempel binder vi et musikmappe fra den ene harddisk til den anden.
sudo mount --bind /mnt/DataDrive/Music /home/user/Music
Fjern bindeholderen med:
umount /home/derrik/Music
BindFS
Inden du laver en bind-mount, skal du gøre detinstaller bindfs. Det er et værktøj, der gør bindemontage mulig og tilføjer også ekstra funktionalitet (tilladelsesindstillinger, bedre spejling og osv.). Sådan får du det på din Linux-distribution:
Ubuntu
sudo apt install bindfs
Debian
sudo apt-get install bindfs
Arch Linux
Bindfs er desværre ikke i de officielle Arch-softwarekilder. Hvis brugere vil bruge bindfs, skal de i stedet installere denne AUR-pakke.
Fedora
sudo dnf install bindfs
OpenSUSE
sudo zypper install bindfs
Andre Linuxes
For at få bindfs på den Linux-distribution, du vælger, skal du overveje at gå til det officielle bindfs-websted. Åbn alternativt pakkeadministratoren på din Linux-pc, søg efter “bindfs” og installer den!
Brug af bindemidler til bindemonteringer
Brug af bindfs har det fordele. Den indbyggede kerne-bindekommando fungerer på et øjeblik, men den er meget grundlæggende og tillader ikke nogle forhåndsfunktioner, såsom at begrænse adgangen til bindinger osv. Sådan bruges bindfs.
Lav en læseindbinding
bindfs --perms=a-w /path/to/the/original/directory/ /path/to/bind/to/
Lav en læse / skriv bindemontage
bindfs /path/to/the/original/directory /path/to/bind/to
Fjern en bindfs-holder
sudo umount /path/to/bind/
Konklusion
Mundane operationer som symboliske links og bindmonteringer er sandsynligvis det mindst udforskede emne på Linux på grund af det faktum, at de er temmelig uinteressante og normalt går ubrugt af generelle brugere. Faktum er: Når du lærer, at symbolsk links giver dig mulighed for hurtigt og nemt at få adgang til filer overalt, eller at bindemonteringer kan gøre det utroligt nemt at boltre på ekstra lager, hvor du vil, bliver disse emner meget mere interessante.
Kommentarer