Как смонтировать папку с компьютера с 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
slhck
источник
1
Почему это было перенесено из SF?
Ignacio Vazquez-Abrams
@Ignacio Хорошо - OP, скорее всего, не сисадмин. Дэвид, я предполагал, что у тебя есть Debian. Поправьте меня если я ошибаюсь. Тем не мение, нет Linux 5.1 ,
slhck
1
@slhck, @Darth: Если вы настаиваете.
Ignacio Vazquez-Abrams
1
@ Дэвид: Пожалуйста, напишите /etc/exports и выход netstat -plant а также iptables -L с сервера.
Ignacio Vazquez-Abrams
1
@ Дэвид: вы запустили NFS-сервер на сервере? Iptables работает на сервере?
Peltier

Ответы:

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

Мой выбор пакета может иметь более или менее то, что вам нужно, но некоторые комбинации подойдут.

Теперь вам нужно поместить папки, которыми вы хотите поделиться с удаленной машиной, в / и т.д. / экспорта :

/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, чтобы увидеть, что вам больше подходит.

enedene
источник
любая причина, почему r / wsize отличается для подхода монтирования в отличие от подхода fstab?
puk
1
вместо nfs-server в новых версиях debian следует использовать nfs-kernel-server. Эта информация находится в дереве зависимостей Debian. Так что обновление ответа рекомендуется.
Dee
Можете ли вы разрешить подсеть в exports файл?
nonsensickle
0

Чтобы смонтировать папку / tmp с другого компьютера, она должна быть предоставлена ​​службой, которая позволяет это. Ваш вопрос указывает, что вы собираетесь использовать NFS для этого.

В этом случае вам нужно отредактировать файл / etc / exports и указать в нем строку, аналогичную

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

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

exportfs -ra

Затем смонтируйте экспортированную папку с вашего клиента.

wolfgangsz
источник