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

Photo of author

By maciekx

W systemie Linux istnieje wiele prostych, ale niezwykle użytecznych funkcji, które nie zawsze są dostrzegane przez użytkowników. Gdy nowi użytkownicy poznają te podstawowe, choć nieco nudne techniki, stają się bardziej zaawansowanymi użytkownikami Linuksa. Doskonałym przykładem są dowiązania symboliczne oraz montowania wiązane. W poniższym artykule szczegółowo wyjaśnimy, czym jest dowiązanie symboliczne, jak je utworzyć i jakie ma zastosowanie. Opiszemy również, jak tworzyć montowania wiązane, ich przydatność oraz pokażemy, jak wzbogacić montowania za pomocą bindfs!

OSTRZEŻENIE SPOILERA: Przewiń na dół, aby obejrzeć samouczek wideo na końcu artykułu.

Co to jest dowiązanie symboliczne?

Dowiązanie symboliczne, znane również jako „symlink”, to odniesienie do innego pliku lub folderu znajdującego się w innej lokalizacji w systemie plików. Na przykład, programiści zamiast dublować biblioteki w systemie użytkownika, często tworzą dowiązania symboliczne do folderów z bibliotekami oraz plikami aplikacji. Dzięki temu program może w prosty sposób uzyskać dostęp do wszystkich niezbędnych narzędzi i plików bibliotek, które są mu potrzebne do działania, bez konieczności tworzenia dodatkowych kopii.

Dowiązania symboliczne są również przydatne w kontekście odwoływania się do plików pomiędzy różnymi partycjami i dyskami. Na przykład, jeśli cała Twoja biblioteka muzyczna znajduje się na dysku B i zajmuje 500 GB, nie jest możliwe jej bezpośrednie przeniesienie na dysk A (dysk systemowy) ze względu na jego rozmiar.

Aby rozwiązać ten problem, użytkownicy mogą stworzyć dowiązanie symboliczne, które będzie odnosić się do każdego pliku z dysku B na dysk A. Dzięki temu odtwarzacz muzyki będzie w stanie łatwo zlokalizować i uzyskać dostęp do wszystkich plików muzycznych.

Jak korzystać z łączy symbolicznych

Dowiązania symboliczne można tworzyć na dwa sposoby: dla całego katalogu lub pojedynczego pliku. Oto jak to zrobić.

Utworzenie dowiązania symbolicznego do pliku

Aby stworzyć dowiązanie symboliczne do pliku, najpierw otwórz terminal i przejdź do folderu, w którym znajduje się plik, który chcesz powiązać.

cd ~/path/to/file

Teraz utwórz dowiązanie symboliczne, pamiętając, gdzie powinno prowadzić.

ln -s original-file /path/where/link/goes

Utworzenie dowiązania symbolicznego do folderu

ln -s /path/to/original/folder /path/where/linked/folder/goes

Usunięcie dowiązania symbolicznego

cd /path/where/symlink/is
rm symlinkname
unlink symlinkname

Czym jest montowanie wiązane?

Montaż wiązany to metoda, która pozwala na wyświetlanie zawartości jednego folderu w innym miejscu w systemie plików. Choć może to brzmieć podobnie do dowiązania symbolicznego, jest to zupełnie inna koncepcja. Montowania wiązane są bardzo przydatne; administratorzy systemów często korzystają z tej techniki, aby szybko zwiększyć przestrzeń w folderze w locie, zwłaszcza gdy główny system plików jest „tylko do odczytu”. Montowania wiązane można również wykorzystać do szybkiego powiązania udziału sieciowego z lokalnym katalogiem bez konieczności konfiguracji punktu montowania w pliku fstab itp.

Jak używać wiązań z wbudowanym poleceniem jądra Linuksa

Jądro Linuksa ma wbudowaną komendę do montowania wiązań, co pozwala użytkownikom na łatwe montowanie zawartości katalogów w systemie plików. Oto jak to zrobić.

Pomyśl o katalogu, którego pliki chcesz zamontować w innej lokalizacji. Kiedy już masz na myśli, gdzie chcesz to zrobić, wybierz lokalizację montowania.

Na przykład, powiążemy katalog muzyczny z jednego dysku twardego na inny.

sudo mount --bind /mnt/DataDrive/Music /home/user/Music

Aby odmontować to powiązanie, użyj:

umount /home/derrik/Music

BindFS

Przed użyciem montowania wiązanego musisz zainstalować bindfs. Jest to narzędzie, które pozwala na montowanie wiązań oraz oferuje dodatkowe funkcje (np. ustawienia uprawnień, lepsze tworzenie kopii lustrzanych itp.). Oto jak to zrobić w różnych dystrybucjach Linuksa:

Ubuntu

sudo apt install bindfs

Debian

sudo apt-get install bindfs

Arch Linux

Niestety, bindfs nie jest dostępny w oficjalnych repozytoriach Arch Linux. Użytkownicy, którzy chcą korzystać z bindfs, muszą zainstalować ten pakiet AUR.

Fedora

sudo dnf install bindfs

OpenSUSE

sudo zypper install bindfs

Inne dystrybucje Linuksa

Aby zainstalować bindfs w wybranej dystrybucji Linuksa, warto odwiedzić oficjalną stronę bindfs. Alternatywnie, otwórz menedżera pakietów na swoim systemie Linux, wyszukaj „bindfs” i zainstaluj go!

Jak korzystać z Bindfs dla montowania wiązanego

Użycie bindfs ma swoje zalety. Wbudowane polecenie bind w jądrze działa szybko, ale jest dość proste i nie oferuje niektórych bardziej zaawansowanych opcji, takich jak kontrola dostępu do montowań. Oto jak można korzystać z bindfs.

Utworzenie montowania tylko do odczytu

bindfs --perms=a-w /path/to/the/original/directory/ /path/to/bind/to/

Wykonanie montowania z wiązaniem do odczytu/zapisu

bindfs /path/to/the/original/directory /path/to/bind/to

Odmontowanie bindfs

sudo umount /path/to/bind/

Podsumowanie

Proste operacje takie jak dowiązania symboliczne i montowania wiązane są często najmniej eksplorowanym tematem w Linuksie, ponieważ wydają się dość nieciekawe i zazwyczaj nie są używane przez przeciętnych użytkowników. Jednak gdy zrozumiesz, że dowiązania symboliczne umożliwiają szybki dostęp do plików w dowolnym miejscu oraz że montowania wiązane mogą w niezwykle prosty sposób zwiększyć dostępną przestrzeń, te zagadnienia stają się znacznie bardziej intrygujące.


newsblog.pl