Как да използвате Bind-mounts и Symlinks в Linux

В Linux има много обикновени неща, за които много потребители не мислят много, че са невероятно полезни. Когато новите потребители се научат как да използват тези обикновени, скучни малки трикове, те стават по-добри потребители на Linux. Bind-mounts и Symlinks в Linux са отличен пример за това. В тази статия ще обсъдим точно какво е символна връзка, как да създадете такава и за какво са. Ще разгледаме също как да създаваме свързващи елементи за монтиране, защо са толкова полезни и дори ще покажем на потребителите как да усъвършенстват своите монтирания за свързване с bindfs!

ПРЕДУПРЕЖДЕНИЕ ЗА СПОЙЛЕР: Превъртете надолу и гледайте видеоурока в края на тази статия.

Какво е символна връзка?

Символна връзка или „символична връзка“ е препратка към друг файл или папка някъде другаде във файловата система. Например, повечето разработчици, вместо да дублират библиотеки в системата на потребителя, вместо това ще накарат техния код да създава символични връзки към папки на библиотеката и програмни файлове. Това позволява на програмата лесно да разполага с всички необходими инструменти и библиотечни файлове, от които се нуждае, без да създава допълнителни проблеми.

  Как да използвате Shazam на работния плот на Linux с SongRec

Символните връзки се използват и при препращане към файлове между различни дялове и устройства. Например: цялата ви музикална библиотека се съхранява на твърд диск B, а размерът на цялата библиотека е 500 GB. Поради това колко е голяма, не е възможно директно да преместите музикалната библиотека на твърд диск A (известен още като системно устройство).

За да разрешат лесно този проблем, потребителите могат да направят символна връзка и да препратят всеки файл от устройство B към устройство A. По този начин музикалният плейър може лесно да намира и осъществява достъп до всички музикални файлове.

Използване на символни връзки

Символните връзки могат да се използват по два начина: за свързване на цяла директория или един файл. Ето как да ги създадете.

Символична връзка към файл

За да символизирате файл, първо отворете терминал. След това cd към директорията с файла, който трябва да бъде свързан.

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 и т.н.

  Как да инсталирате темата Ant GTK на Linux

Използване на Bind-mounts с вградената команда на ядрото на Linux

Ядрото на Linux има вградена команда за свързване. Поради това потребителите могат лесно да монтират съдържанието на директориите във файловата система с лекота. Ето как да го направите.

Помислете за директория, която съдържа файлове, които искате да монтирате на друго място. Когато имате предвид местоположението, помислете за мястото, където искате да го монтирате.

В този пример ще свържем музикална директория от един твърд диск към другия.

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

Демонтирайте монтирането за свързване с:

umount /home/derrik/Music

BindFS

Преди да направите bind-mount, ще трябва да инсталирате bindfs. Това е инструмент, който прави възможно монтирането на обвързване, а също така добавя допълнителна функционалност (настройки за разрешения, по-добро огледално отразяване и т.н.). Ето как да го получите във вашата Linux дистрибуция:

  Какво представляват stdin, stdout и stderr в 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 има своите предимства. Вградената команда за свързване на ядрото работи за миг, но е много основна и не позволява някои предварителни функции като ограничаване на достъпа до обвързвания и т.н. Ето как да използвате 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 поради факта, че са доста безинтересни и обикновено остават неизползвани от обикновените потребители. Факт е: когато научите, че символичните връзки ви позволяват бърз и лесен достъп до файлове навсякъде, или че свързването на свързване може да направи невероятно лесно прикачването на допълнително място за съхранение, където пожелаете, тези теми стават много по-интересни.