Jak używać Bind-mounts and symbollinks w systemie Linux

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.

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.