Як встановити папку з машини Linux на іншій машині Linux?


14

Я хочу встановити папку з машини Linux на іншій машині Linux. Як це зробити? Потрібно оновити /etc/fstabабо /etc/export?

Моя мета - встановити /tmpз іншої машини Linux. У мене Debian 5.1. 10.45.40.165, тобто IP іншої машини.

Наприклад, я спробував:

mount -t nfs 10.45.40.165:/tmp /tmp
mount: 10.45.40.165:/tmp failed, reason given by server: Permission denied

1
Чому це мігрувало з СФ?
Ігнасіо Васкес-Абрамс

@Ignacio Ну - ОП, швидше за все, не є систематичним. Девіде, я припускав, що у тебе Debian. Виправте мене, якщо я помиляюся. У всякому разі, немає Linux 5.1 .
slhck

1
@slhck, @Darth: Якщо ви наполягаєте.
Ігнасіо Васкес-Абрамс

1
@David: Будь ласка, опублікуйте /etc/exportsта вихід сервера netstat -plantта iptables -Lз нього.
Ігнасіо Васкес-Абрамс

1
@David: Ви запустили сервер NFS на серверній машині? Чи iptables працює на сервері?
Пельтьє

Відповіді:


9

Що ви робите, це частка NFS. У системі Debian слід встановити необхідні інструменти. Припустимо, що клієнт (машина, на якій потрібно встановити віддалену складку) та сервер (машина, де знаходиться віддалена папка)

На сервері вам потрібно буде встановити

apt-get install nfs-server portmap nfs-common

в нових версіях debian

apt-get install nfs-kernel-server portmap nfs-common

На клієнті вам потрібно буде встановити:

apt-get install nfs-client nfs-common

Мій вибір пакетів може містити більше або менше того, що вам потрібно, але деякі комбінації будуть робити.

Тепер вам потрібно зробити папки, якими ви хочете поділитися з віддаленою машиною, в / etc / export :

/path_to_tmp_folder/tmp 192.168.0.2(rw,sync,no_subtree_check,no_root_squash)

Потім:

exportfs -ra
/etc/init.d/nfs-kernel-server restart
/etc/init.d/portmap restart

Тут 192.168.0.2 - адреса вашої локальної машини, замініть її власною IP-адресою. файл експорту містить список машин, які можуть отримати доступ до спільної папки. Якщо ваші машини не мають обмежень між брандмауером один до одного (ви можете вирішити це, додавши хост в /etc/hosts.allow).

Тепер на локальній машині ви можете використовувати команду:

sudo mount -o soft,intr,rsize=8192,wsize=8192 server_ip:/path_to_tmp_folder/tmp /local_path_to_empty_tmp_folder/tmp

Якщо ви хочете мати автоматичне кріплення під час завантаження, вам потрібно відредагувати файл / etc / fstab і поставити рядок на клієнта:

server_ip:/path_to_tmp/tmp /local_empty_folder/tmp nfs rsize=16384,wsize=16384,rw,auto,nolock

Це лише приклад налаштувань (копія, створена з моїх власних), вам потрібно перевірити допомогу nfs, щоб побачити, які пакети вам найкраще.


Будь-яка причина, чому r / wsize відрізняється для підходу для монтування на відміну від fstab підходу?
puk

1
замість nfs-сервера в нових версіях debian слід використовувати nfs-kernel-сервер. Ця інформація знаходиться в дереві залежностей від debian. Тому рекомендується оновити відповідь.
Ді

Чи можете ви дозволити підмережу у exportsфайлі?
безчувальна

0

Для того, щоб змонтувати папку / tmp з іншої машини, її потрібно виставити сервісом, який це дозволяє. Ваше запитання вказує, що ви маєте намір використовувати для цього NFS.

У цьому випадку вам потрібно буде відредагувати / etc / export та надати в ньому рядок, подібний до

/tmp 10.45.40/24(ro,insecure,sync,no_subtree_check)

Прочитайте сторінку man для експорту, щоб отримати точну інформацію про всі варіанти. Як тільки параметри стануть необхідними, перезапустіть службу NFS

exportfs -ra

Потім змонтуйте експортовану папку від свого клієнта.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.