Как да хоствате NFS споделяния на Linux

Ако сте средно квалифициран потребител на Linux или начинаещ със сървър, основният начин за достъп до файлове е със Samba. Мнозина правят това поради това колко трудна изглежда NFS. Има толкова много стъпки и малки неща, които трябва да оправите в сравнение с нещо като Samba или дори FTP. Фактът, че много потребители на Linux преминават през NFS, е истински срам, тъй като има много страхотни функции и приложения. Ето защо решихме да премахнем трудността при настройването на NFS сървър. Ще разбием как можете да хоствате NFS споделяния на Linux и ще обясним в дълбочина как можете да настроите сървъра и да работи

Инсталация

Като цяло всяка дистрибуция на Linux има едни и същи NFS инструменти с няколко разлики тук и там. За да накарате всичко да работи, отворете терминал и инсталирайте следните пакети във вашата система. Тези пакети ще инсталират технологията по подразбиране, необходима за стартиране на сървъра, ще генерират конфигурационните файлове по подразбиране и понякога дори ще конфигурират и други неща.

Ubuntu

sudo apt install nfs-kernel-server

Fedora

sudo dnf install nfs-utils system-config-nfs

Arch Linux

sudo pacman -S nfs-utils

Debian

sudo apt-get install nfs-kernel-server

OpenSUSE

sudo zypper install nfs-kernel-server

Други Linux

Файловата система, клиентът и сървърът NFS не са нова технология. В резултат на това лесно ще можете да накарате това да работи в почти всяка дистрибуция на Linux там. Ако вашата операционна система не е покрита, помислете за търсене на “nfs utils” в мениджъра на пакети или като се обърнете към Wiki на вашата операционна система.

  8 неща, които трябва да направите след инсталиране на Linux Mint 19

Systemd услуги

Настройката на NFS сървър може да бъде различна, в зависимост от това каква Linux дистрибуция използвате. Например, ако инсталирате пакета Ubuntu или Debian NFS, услугите на systemd автоматично се настройват и конфигурират вместо вас. Въпреки това, на нещо като Arch Linux, SUSE или Fedora и т.н., ще трябва да го направите ръчно. Ето как да активирате тези услуги.

Ако използвате Arch Linux, отворете SUSE или Fedora (или всяка дистрибуция на Linux, която не настройва автоматично услугите systemd за NFS), отворете терминал и въведете тези команди.

sudo systemctl enable rpcbind
sudo systemctl enable nfs-server 

sudo service rpcbind start 

sudo service nfs-server start

Конфигурация

С инсталирането на NFS пакетите сървърът е „настроен“, но това не означава, че потребителите все още имат достъп до него. За целта потребителите трябва да настроят експортиране, местоположение на файлове и т.н. За да започнете, вземете root обвивка в терминала. Направете това с: sudo -s

  Как да използвате командата time в Linux

Експортният файл може да обработва всякакъв тип директория. Всъщност потребителите могат лесно да запишат директно местоположение в папка, която искат да споделят, направо във файловата система. Проблемът с това е, че това е огромен риск за сигурността. Много по-безопасно е да вземете съдържанието на една директория и да го свържете с друга. Това гарантира, че разрешенията за папки и директории в папката /srv/ не трябва да се променят, което прави всичко защитено.

Например, за да настроите NFS споделяне на папка Pictures на потребителя, направете следното:

mkdir -p /srv/nfs/pictures /home/username/Pictures/

mount --bind /home/username/Pictures/ /srv/nfs/pictures/

Използвайте примера по-горе, за да направите толкова закрепвания за свързване, колкото искате. Имайте предвид, че не е задължително да монтирате директории от домашни папки. Вместо това използвайте този пример и бъдете креативни.

След като всичко това е подредено, изпълнете тези команди, за да накарате монтажите да залепнат:

echo '#NFS Pictures Bind Mount' >> /etc/fstab
echo '/home/username/Pictures/ /srv/nfs/pictures/ none bind 0 0' >> /etc/fstab

Забележка: ще трябва да промените командите за ехо, за да отговарят на вашите собствени монтажи.

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

nano /etc/exports

Вътре във файла за експортиране отидете чак до дъното и напишете следното:

/srv/nfs/pictures/ 192.168.0.0/255.255.255.0(rw,sync,no_subtree_check)

Чувствайте се свободни да напишете толкова редове, колкото искате. Имайте предвид, че всеки дял се нуждае от собствено монтиране, запис fstab и запис /etc/exports.

  Как да предавате поточно видеоклипове към Chromecast на Linux чрез командния ред

Забележка: запазете файла за експортиране с CTRL + O

Актуализиране на промените

NFS сървърът работи и работи, файловете са на правилното място и всичко е готово за използване. Единственото, което остава, е да актуализирате направените промени във файла за експортиране. Това е важна стъпка, тъй като NFS сървърът няма да актуализира направените промени, докато работи. Правете промени с: exportfs -rav

Ако е необходимо, рестартирайте сървърния процес в самия systemd, като използвате командата systemctl restart.

sudo systemctl restart nfs-server.

Заключение

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

Въпреки полезността си, повечето хора предпочитат да използват Samba вместо това. Това е разбираемо, защото в сравнение със Samba, настройката на NFS може да бъде малко досадна и досадна. Въпреки това, ако се справите с трудния процес на настройка, си струва много повече.