Як використовувати прив’язування та символічні посилання в Linux

У Linux є багато повсякденних речей, про які багато користувачів не думають, що є неймовірно корисними. Коли нові користувачі дізнаються, як використовувати ці звичайні, нудні маленькі прийоми, вони стають кращими користувачами Linux. Прив’язування та символічні посилання в Linux є яскравим прикладом цього. У цій статті ми обговоримо, що саме таке символічне посилання, як його створити і для чого воно призначене. Ми також розповімо, як створити монтування прив’язки, чому вони такі корисні, і навіть покажемо користувачам, як покращити свої монтування прив’язування за допомогою bindfs!

ПОВІДОМЛЕННЯ СПОЙЛЕРА: прокрутіть униз і перегляньте відеоурок у кінці цієї статті.

Що таке символьне посилання?

Символьне посилання, або «символічне посилання» — це посилання на інший файл або папку десь у файловій системі. Наприклад, більшість розробників замість того, щоб дублювати бібліотеки в системі користувача, натомість будуть змушувати їх код створювати символічні посилання на папки бібліотеки та програмні файли. Це дозволяє програмі легко мати всі необхідні інструменти та бібліотечні файли, які їй необхідні для запуску, не створюючи зайвої дрібниці.

  Як відновити втрачені дані в Linux

Символьні посилання також використовуються під час посилань на файли між різними розділами та дисками. Наприклад: вся ваша музична бібліотека зберігається на жорсткому диску B, а вся бібліотека має розмір 500 ГБ. Через його великий розмір неможливо безпосередньо перемістити музичну бібліотеку на жорсткий диск A (він же системний диск).

Щоб легко вирішити цю проблему, користувачі можуть створити символічне посилання та посилатися на кожен файл із диска B на диск A. Таким чином музичний програвач зможе легко знаходити й отримувати доступ до всіх музичних файлів.

Використання символічних посилань

Символічні посилання можна використовувати двома способами: для зв’язування цілого каталогу або окремого файлу. Ось як їх створити.

Символьне посилання на файл

Щоб символізувати файл, спочатку відкрийте термінал. Далі перейдіть до каталогу з файлом, який потрібно зв’язати.

cd ~/path/to/file

Створіть символічне посилання. Пам’ятайте, куди має йти посилання.

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

Символьне посилання на папку

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

Видалити символічне посилання

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

Що таке Bind-mount?

Монтування bin — це спосіб показати вміст однієї папки в одному місці у файловій системі в іншому каталозі. Монтування прив’язки звучить як посилання, що символічно пов’язує папку, але воно дуже відрізняється. Кріплення для прив’язки дуже корисне. Системні адміністратори часто використовують цей метод, щоб швидко додати більше пам’яті до папки на льоту, коли файлова система основної системи «лише читання». Bind-mounts також можна використовувати для швидкого прив’язування мережевого ресурсу до локального каталогу, без необхідності встановлювати точку монтування у файлі fstab тощо.

  Як швидше встановити Arch Linux за допомогою Calam Arch

Використання Bind-mounts за допомогою вбудованої команди ядра Linux

Ядро Linux має вбудовану команду bind. Завдяки цьому користувачі можуть легко монтувати вміст каталогів у файловій системі. Ось як це зробити.

Подумайте про каталог, який містить файли, які ви хотіли б змонтувати в іншому місці. Коли ви згадали місце розташування, подумайте про те, куди ви хотіли б його встановити.

У цьому прикладі ми зв’яжемо музичний каталог з одного жорсткого диска до іншого.

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

Розмонтуйте кріплення bind за допомогою:

umount /home/derrik/Music

BindFS

Перед тим як зробити монтування bind, вам потрібно буде встановити bindfs. Це інструмент, який робить можливим прив’язування, а також додає додаткову функціональність (налаштування дозволів, краще дзеркальне відображення тощо). Ось як отримати його у своєму дистрибутиві Linux:

Ubuntu

sudo apt install bindfs

Debian

sudo apt-get install bindfs

Arch Linux

На жаль, Bindfs немає в офіційних джерелах програмного забезпечення Arch. Якщо користувачі хочуть використовувати bindfs, їм потрібно буде встановити цей пакет AUR замість цього.

  Як очистити Wine від Linux

Fedora

sudo dnf install bindfs

OpenSUSE

sudo zypper install bindfs

Інші Linux

Щоб отримати bindfs у дистрибутиві Linux на ваш вибір, перейдіть до офіційного сайту веб-сайт bindfs. Або відкрийте менеджер пакунків на своєму ПК з Linux, знайдіть «bindfs» та встановіть його!

Використання Bindfs для монтування Bind

Використання bindfs має свої переваги. Вбудована в ядро ​​команда bind працює миттєво, але вона дуже проста і не допускає деяких додаткових функцій, таких як обмеження доступу до прив’язків тощо. Ось як використовувати bindfs.

Зробіть монтування прив’язки лише для читання

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

Зробіть монтування прив’язки читання/запису

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

Розмонтуйте монтування bindfs

sudo umount /path/to/bind/

Висновок

Звичайні операції, такі як символічні посилання та прив’язування, є, ймовірно, найменш досліджуваною темою в Linux через те, що вони досить нецікаві та зазвичай не використовуються звичайними користувачами. Справа в тому: коли ви дізнаєтеся, що символічні посилання дають вам швидкий і легкий доступ до файлів у будь-якому місці, або що монтування прив’язки можуть зробити неймовірно легким підключення додаткового сховища, де завгодно, ці теми стають набагато цікавішими.