У Linux є багато повсякденних речей, про які багато користувачів не думають, що є неймовірно корисними. Коли нові користувачі дізнаються, як використовувати ці звичайні, нудні маленькі прийоми, вони стають кращими користувачами Linux. Прив’язування та символічні посилання в Linux є яскравим прикладом цього. У цій статті ми обговоримо, що саме таке символічне посилання, як його створити і для чого воно призначене. Ми також розповімо, як створити монтування прив’язки, чому вони такі корисні, і навіть покажемо користувачам, як покращити свої монтування прив’язування за допомогою bindfs!
ПОВІДОМЛЕННЯ СПОЙЛЕРА: прокрутіть униз і перегляньте відеоурок у кінці цієї статті.
Що таке символьне посилання?
Символьне посилання, або «символічне посилання» — це посилання на інший файл або папку десь у файловій системі. Наприклад, більшість розробників замість того, щоб дублювати бібліотеки в системі користувача, натомість будуть змушувати їх код створювати символічні посилання на папки бібліотеки та програмні файли. Це дозволяє програмі легко мати всі необхідні інструменти та бібліотечні файли, які їй необхідні для запуску, не створюючи зайвої дрібниці.
Символьні посилання також використовуються під час посилань на файли між різними розділами та дисками. Наприклад: вся ваша музична бібліотека зберігається на жорсткому диску 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 тощо.
Використання 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 замість цього.
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 через те, що вони досить нецікаві та зазвичай не використовуються звичайними користувачами. Справа в тому: коли ви дізнаєтеся, що символічні посилання дають вам швидкий і легкий доступ до файлів у будь-якому місці, або що монтування прив’язки можуть зробити неймовірно легким підключення додаткового сховища, де завгодно, ці теми стають набагато цікавішими.