W Linuksie jest wiele przyziemnych rzeczy, o których wielu użytkowników nie uważa, że są niezwykle przydatne. Kiedy nowi użytkownicy nauczą się korzystać z tych przyziemnych, nudnych sztuczek, stają się lepszymi użytkownikami Linuksa. Najlepszym tego przykładem są wiązania montowane i łącza symboliczne w systemie Linux. W tym artykule omówimy dokładnie, czym jest dowiązanie symboliczne, jak je utworzyć i do czego służy. Omówimy również, jak tworzyć mocowania do wiązania, dlaczego są tak przydatne, a nawet pokażemy użytkownikom, jak ulepszyć mocowanie do wiązania za pomocą bindfs!
OSTRZEŻENIE SPOILERA: Przewiń w dół i obejrzyj samouczek wideo na końcu tego artykułu.
Spis treści:
Co to jest łącze symboliczne?
Dowiązanie symboliczne lub „dowiązanie symboliczne” to odniesienie do innego pliku lub folderu w innym miejscu w systemie plików. Na przykład większość programistów zamiast duplikować biblioteki w systemie użytkownika, zamiast tego będzie ich kod tworzył dowiązania symboliczne do folderów bibliotek i plików programów. Dzięki temu program może łatwo mieć wszystkie wymagane narzędzia i pliki bibliotek, których potrzebuje do uruchomienia, bez tworzenia dodatkowego skorupy.
Dowiązania symboliczne są również używane podczas odwoływania się do plików między różnymi partycjami i dyskami. Na przykład: cała Twoja biblioteka muzyczna jest przechowywana na dysku twardym B, a wielkość całej biblioteki to 500 GB. Ze względu na jego wielkość nie jest możliwe bezpośrednie przeniesienie biblioteki muzycznej na dysk twardy A (czyli dysk systemowy).
Aby łatwo rozwiązać ten problem, użytkownicy mogą utworzyć dowiązanie symboliczne i odnieść się do każdego pliku z dysku B do dysku A. W ten sposób odtwarzacz muzyki może łatwo znaleźć i uzyskać dostęp do wszystkich plików muzycznych.
Korzystanie z łączy symbolicznych
Dowiązań symbolicznych można używać na dwa sposoby: do łączenia całego katalogu lub pojedynczego pliku. Oto jak je stworzyć.
Połącz symbolicznie plik
Aby dowiązać symbolicznie do pliku, najpierw otwórz terminal. Następnie przejdź do katalogu z plikiem, który ma zostać połączony.
cd ~/path/to/file
Utwórz dowiązanie symboliczne. Pamiętaj, gdzie powinien prowadzić link.
ln -s original-file /path/where/link/goes
Połącz symbolicznie folder
ln -s /path/to/original/folder /path/where/linked/folder/goes
Usuń łącze symboliczne
cd /path/where/symlink/is rm symlinkname unlink symlinkname
Co to jest mocowanie wiązane?
Montowanie bin to sposób na pokazanie zawartości jednego folderu w jednym miejscu w systemie plików w innym katalogu. Montowanie powiązań brzmi bardzo często, gdy link symboliczny łączy folder, ale jest zupełnie inny. Mocowanie do wiązania jest bardzo przydatne. Administratorzy systemów często używają tej metody do szybkiego dodawania większej ilości miejsca do folderu w locie, gdy system plików głównego systemu jest „tylko do odczytu”. Bind-mounts mogą być również używane do szybkiego wiązania udziału sieciowego z katalogiem lokalnym, bez konieczności konfigurowania punktu montowania w pliku fstab itp.
Używanie Bind-mounts z wbudowanym poleceniem jądra Linuksa
Jądro Linuksa ma wbudowaną komendę bind. Z tego powodu użytkownicy mogą z łatwością montować zawartość katalogów w systemie plików. Oto jak to zrobić.
Pomyśl o katalogu zawierającym pliki, które chcesz zamontować w innej lokalizacji. Kiedy masz już na myśli lokalizację, pomyśl o miejscu, w którym chcesz ją zamontować.
W tym przykładzie powiążemy katalog muzyczny z jednego dysku twardego na drugi.
sudo mount --bind /mnt/DataDrive/Music /home/user/Music
Odmontuj uchwyt do wiązania za pomocą:
umount /home/derrik/Music
BindFS
Przed utworzeniem bind-mount musisz zainstalować bindfs. Jest to narzędzie, które umożliwia montowanie powiązań, a także dodaje dodatkowe funkcje (ustawienia uprawnień, lepsze tworzenie kopii lustrzanych itp.). Oto jak to zrobić w swojej dystrybucji Linuksa:
Ubuntu
sudo apt install bindfs
Debian
sudo apt-get install bindfs
Arch Linux
Bindfs nie znajduje się niestety w oficjalnych źródłach oprogramowania Arch. Jeśli użytkownicy chcą używać bindfs, będą musieli zainstalować ten pakiet AUR zamiast.
Fedora
sudo dnf install bindfs
OpenSUSE
sudo zypper install bindfs
Inne systemy Linux
Aby uzyskać bindfs w wybranej dystrybucji Linuksa, rozważ udanie się do oficjalnego strona bindfs. Alternatywnie, otwórz menedżera pakietów na swoim komputerze z systemem Linux, wyszukaj „bindfs” i zainstaluj go!
Używanie Bindfs dla Bind-mounts
Używanie bindfs ma swoje zalety. Wbudowane polecenie bind w jądrze działa w mgnieniu oka, ale jest bardzo proste i nie pozwala na niektóre zaawansowane funkcje, takie jak ograniczanie dostępu do binds itp. Oto jak korzystać z bindfs.
Utwórz mocowanie tylko do odczytu
bindfs --perms=a-w /path/to/the/original/directory/ /path/to/bind/to/
Wykonaj montowanie z wiązaniem do odczytu / zapisu
bindfs /path/to/the/original/directory /path/to/bind/to
Odmontuj mount bindfs
sudo umount /path/to/bind/
Wniosek
Prozaiczne operacje, takie jak dowiązania symboliczne i montowania powiązań, są prawdopodobnie najmniej zbadanym tematem w Linuksie, ponieważ są dość nieciekawe i zwykle nie są używane przez zwykłych użytkowników. Fakt jest taki: kiedy dowiesz się, że dowiązania symboliczne pozwalają na szybki i łatwy dostęp do plików w dowolnym miejscu lub że wiązania mocowań mogą sprawić, że niezwykle łatwo będzie uzyskać dodatkową pamięć, gdziekolwiek chcesz, te tematy stają się znacznie bardziej interesujące.