Mnoge svakodnevne radnje na Linuxu, koje su korisnicima vrlo korisne, često prolaze nezapaženo. Kada novi korisnici savladaju te naizgled trivijalne trikove, postaju veštiji u korišćenju Linuxa. Simboličke veze i bind mount-ovi su odličan primer toga. U ovom tekstu objasnićemo šta su simboličke veze, kako se kreiraju i za šta se koriste. Takođe, razmotrićemo kreiranje bind mount-ova, njihovu praktičnu primenu, i kako poboljšati njihovu efikasnost uz pomoć bindfs!
Napomena: Pogledajte video vodič na kraju ovog teksta za dodatna objašnjenja.
Šta je simbolička veza?
Simbolička veza, ili „symlink“, predstavlja referencu na određenu datoteku ili direktorijum koji se nalazi na drugom mestu u sistemu datoteka. Na primer, umesto da dupliraju biblioteke, mnogi programeri kreiraju simboličke veze do direktorijuma koji sadrže biblioteke i programske datoteke. Na taj način, program ima pristup svim potrebnim alatima i bibliotekama za rad bez nepotrebnog zauzimanja prostora na disku.
Simboličke veze su korisne i prilikom referenciranja datoteka koje se nalaze na različitim particijama ili diskovima. Recimo, vaša muzička biblioteka od 500 GB smeštena je na disku B. Zbog veličine, prebacivanje cele biblioteke na disk A (sistemski disk) nije praktično. Umesto toga, možete napraviti simboličku vezu koja će referencirati sve datoteke sa diska B na disk A, omogućavajući muzičkom plejeru da ih lako pronađe i koristi.
Kako se koriste simboličke veze?
Simboličke veze mogu se koristiti za povezivanje celog direktorijuma ili pojedinačne datoteke. U nastavku je objašnjeno kako se kreiraju:
Kreiranje simboličke veze do datoteke
Prvo otvorite terminal i navigirajte do direktorijuma gde se nalazi datoteka koju želite povezati:
cd ~/putanja/do/datoteke
Zatim, kreirajte simboličku vezu, vodeći računa o tome gde želite da ona bude postavljena:
ln -s originalna-datoteka /putanja/gde/veza/ide
Kreiranje simboličke veze do direktorijuma
ln -s /putanja/do/originalnog/direktorijuma /putanja/gde/povezan/direktorijum/ide
Brisanje simboličke veze
cd /putanja/gde/je/symlink
rm naziv-symlinka
unlink naziv-symlinka
Šta je Bind-mount?
Bind-mount je mehanizam koji omogućava da se sadržaj jednog direktorijuma prikaže na drugom mestu u sistemu datoteka. Iako slično simboličkom povezivanju direktorijuma, bind-mount-ovi su suštinski drugačiji i veoma korisni. Sistemski administratori često ih koriste za brzo dodavanje dodatnog prostora za skladištenje u neki direktorijum, naročito kada je glavni sistem datoteka „samo za čitanje“. Bind-mount-ovi se takođe mogu koristiti za povezivanje mrežnog deljenja sa lokalnim direktorijumom bez potrebe za komplikovanim konfiguracijama u fstab datoteci.
Korišćenje bind-mount-ova sa ugrađenom komandom Linux kernela
Linux kernel ima ugrađenu komandu za bind-mount-ove, što korisnicima omogućava jednostavno montiranje sadržaja direktorijuma na različitim lokacijama. Evo kako se to radi:
Prvo, odredite direktorijum čiji sadržaj želite da montirate. Nakon toga, izaberite mesto gde želite da ga montirate. U ovom primeru, povezujemo muzički direktorijum sa jednog diska na drugi:
sudo mount --bind /mnt/DataDrive/Muzika /home/korisnik/Muzika
Za demontiranje bind-mount veze, koristite:
umount /home/korisnik/Muzika
Bindfs
Pre korišćenja bind-mount-ova, neophodno je instalirati bindfs. To je alatka koja omogućava bind-mount-ove i dodaje napredne funkcije kao što su podešavanje dozvola i bolje preslikavanje. U nastavku je objašnjeno kako ga instalirati na različitim Linux distribucijama:
Ubuntu
sudo apt install bindfs
Debian
sudo apt-get install bindfs
Arch Linux
Bindfs, nažalost, nije dostupan u zvaničnim repozitorijumima Arč Linuxa. Ukoliko korisnici žele da ga koriste, moraće da instaliraju AUR paket.
Fedora
sudo dnf install bindfs
openSUSE
sudo zypper install bindfs
Ostali Linux sistemi
Za instaliranje bindfs na drugim Linux distribucijama, posetite zvaničnu bindfs veb lokaciju. Alternativno, potražite „bindfs“ u upravljaču paketa vaše distribucije i instalirajte ga!
Korišćenje Bindfs za Bind-mount-ove
Bindfs donosi prednosti u odnosu na ugrađenu komandu za bind-mount-ove. Ugrađena komanda je brza, ali ograničena u pogledu funkcionalnosti, ne omogućavajući napredne opcije kao što je ograničavanje pristupa montiranim vezama. U nastavku je prikazano kako koristiti bindfs:
Kreiranje bind-mount-a samo za čitanje
bindfs --perms=a-w /putanja/do/originalnog/direktorijuma /putanja/gde/se/binduje
Kreiranje bind-mount-a za čitanje i pisanje
bindfs /putanja/do/originalnog/direktorijuma /putanja/gde/se/binduje
Demontiranje bindfs mount-a
sudo umount /putanja/gde/se/binduje
Zaključak
Uobičajene operacije kao što su simboličke veze i bind-mount-ovi često su zanemarene na Linuxu, jer se smatraju manje interesantnim i obični korisnici ih retko koriste. Međutim, kada shvatite da simboličke veze omogućavaju brz i lak pristup datotekama gde god da se nalaze, ili da bind-mount-ovi olakšavaju dodavanje prostora za skladištenje, ovi koncepti postaju mnogo relevantniji i korisniji.