1

Я хочу обмениваться папками между ПК в локальной сети, на которых могут быть установлены разные Linux (или загружены с USB-ключа). Таким образом, я не хочу рассчитывать на возможности совместного использования данного файлового менеджера (например, nautilus), потому что некоторые компьютеры в сети могут иметь данный файловый менеджер, а некоторые - нет!

Некоторые из этих компьютеров в локальной сети могут иметь сломанные клавиатуры и иметь только доступную мышь - и было бы весьма утомительно набирать все необходимые команды с помощью мыши на виртуальной клавиатуре.

Мне известно, что для Fedora существует system-config-nfs (из CentOS / Redhat: настройка файлового сервера NFS v4.0 (cyberciti.biz)):

Система-конфигурация-NFS

... но:

  • Это похоже только на настройку сервера - я тоже хочу настроить клиент
  • Я часто использую Ubuntu, и не похоже, что system-config-nfs присутствует в репозиториях Ubuntu (хотя я не уверен, что совместимый пакет может присутствовать в репозиториях Debian)

Если system-config-nfs не может настроить клиенты, есть ли другой способ управления конфигурацией как NFS-сервера, так и клиентской стороны на нескольких компьютерах через графический интерфейс - без подключения к каждому по отдельности из командной строки?


EDIT: Существует ( до сих пор): NFS-лань для Gnome, и Webmin через браузер

2 ответа2

1

Что ж, мне удалось найти один инструмент, который предлагает графический интерфейс для настройки NFS сервера и клиента, и это Webmin, «веб-интерфейс для системного администрирования для Unix». Вот несколько кликабельных скриншотов:

Скриншоты графического интерфейса настройки сервера

(S0) server_00 (S1) server_01 (S2A) server_02a (S2B) server_02b (S3) server_03

Скриншоты настройки клиента

(С0) client_00 (С1) client_01 (C2a) client_02a (C2B) client_02b (С3) client_03

Тем не мение:

  • Будучи веб-интерфейсом, он требует, чтобы браузер с поддержкой JavaScript (и SSL) был установлен как на клиентском, так и на серверном компьютере.
  • Являясь инструментом системного администрирования, он содержит гораздо больше возможностей, чем просто настройка NFS, поэтому получить мгновенный обзор его может быть сложно

Кроме того, обратите внимание, что я не знаю достаточно о NFS для настройки надлежащей безопасности, поэтому моя цель - быстро настроить общие ресурсы для локальной сети без защиты; делать работу; а затем так же быстро уничтожить общий доступ к NFS. Это и две вышеупомянутые причины - то, почему я надеялся, что смогу отследить графический интерфейс, который проще (например, написан на Python/Tkinter и только для NFS); но, по крайней мере, webmin предлагает настройку как сервера, так и клиента, что для меня является наиболее важным для начала (поэтому я избавлен от работы с внутренними компонентами NFS, насколько это возможно).

Я провел тест на ПК с Ubuntu 11.04 (правильная установка) в качестве сервера и на ПК с Ubuntu 12.04 (живой образ на основе Mini Remix ISO) в качестве клиента; и кроме того, что установка webmin и зависимостей не совсем тривиальна - также не совсем просто использовать его для настройки NFS. Вот почему я позволю себе опубликовать свои заметки здесь, в своего рода учебном формате - надеюсь, что все в порядке.


Во-первых, использование. Обратите внимание, что в NFS (webmin?) жаргон:

  • ПК, совместно использующий папку в сети, является сервером, а его общая папка называется « Экспорт NFS ».
    • Все экспортируемые таким образом папки, в случае NFS 4, будут установлены в один (или более) корень (и) "NFSv4 Pseudofilesystem"
  • ПК, обращающийся к общей сетевой папке, является клиентом, а доступ к сетевой папке называется « NFS Share ».

Настройка общего доступа к NFS на сервере

  • Создайте каталог для совместного использования, например /tmp/sharetest
  • В webmin зайдите на сайт https://127.0.0.1:10000 и войдите под учетной записью sudoer.
  • После входа в систему разверните узел "Сеть" в левом фрейме (требуется JavaScript) (s0) и нажмите "Сеть"/"Экспорт NFS" (s1)
  • На следующей странице "Экспорт NFS" нажмите "Добавить новый экспорт" (s1)
  • На следующей странице "Создать экспорт" оставьте "NFS version" на 4 и нажмите кнопку ... в поле "Директория для экспорта" и перейдите к (с двойным щелчком мыши) - и выберите - /tmp/sharetest (s2a)
  • Вернувшись на страницу "Создать экспорт", вы можете установить «Только для чтения?»."на" Нет ", и в противном случае оставьте значения по умолчанию - наконец, нажмите кнопку" Создать "(s2b)
  • Снова появится страница "Экспорт NFS" с двумя новыми записями /export и /export/sharetest (s3).
  • Обратите внимание, что /export - это автоматически созданный корень "NFSv4 Pseudofilesystem".
    • При создании дополнительных экспортов NFS они могут либо использовать этот корень псевдофайловой системы, либо запросить создание нового.

Обратите внимание, что здесь, если вы хотите редактировать экспорт NFS, может быть некорректное поведение графического интерфейса для NFS v4 - для которого я подал ошибку: Webmin / Bugs / # 4286 Экспорт NFS v4 не сохраняется как v4 после редактирования - они вернуться к v3; и справка по версии NFS отсутствует. Изменения, внесенные в экспорт NFS здесь, отражаются в файле /etc/exports . Обратите внимание, что настройка "Только для чтения""(Который является вариантом rw в /etc/exports и т.д. / экспорте) на„Нет“не достаточно , чтобы позволить клиентам писать в каталоге - вы должны сделать /tmp/sharetest мир доступна для записи, используя chmod 777 (см [3]); также обратите внимание, что файлы, написанные клиентами, сохранят uid авторов - вам следует проверить, не создает ли это для вас проблемы.

Настройка общего доступа клиента NFS

  • Создайте локальный каталог, который будет сопоставлен с сетевым ресурсом , например, /tmp/nfsshare
  • В webmin зайдите на сайт https://127.0.0.1:10000 и войдите под учетной записью sudoer.
  • После входа в систему разверните узел "Система" в левом фрейме (требуется JavaScript) (c0) и нажмите "Система"/"Дисковые и сетевые файловые системы" (c1)
  • На следующей странице "Дисковые и сетевые файловые системы" выберите «Сетевая файловая система v4 (nfs4)» из раскрывающегося списка и нажмите кнопку "Добавить монтирование" (c1).
  • На следующей странице "Создать монтирование" нажмите кнопку «...» рядом с текстовым полем "Имя хоста NFS" (которое изначально называется "монтировать") (c2a:1)
  • Появится новое окно "Выбор сервера NFS"; NFS-сервер должен быть автоматически определен, если он работает - поэтому нажмите на ссылку в столбце «IP-адрес» (c2a:2), в которой текстовое поле "NFS Hostname" заполнится соответствующим "Hostname"; и закройте всплывающее окно
  • Вернувшись на страницу "Создать монтирование", нажмите кнопку «...» рядом с текстовым полем "Каталог NFS" (c2a:3).
  • Появится новое окно "Выберите каталог NFS"; экспорт должен быть указан - однако обратите внимание, что «Для монтирования NFSv4 вы должны выбрать« /»», поэтому нажмите / ссылку в столбце "Каталог" (c2a:4), который заполнит текстовое поле "Каталог NFS" соответствующий "Каталог" - или просто закройте всплывающее окно, чтобы оставить значение по умолчанию / без изменений
  • Вернувшись на страницу "Создать монтирование", нажмите кнопку «...» рядом с текстовым полем "Монтируется как" (c2a:5).
  • Появится новое окно "Выберите каталог"; перейдите к /tmp/nfsshare и выберите его и нажмите кнопку "ОК" (c2a:6)
  • Вернувшись на страницу "Создать монтирование", вы можете установить "Только для чтения"?"на" Нет ", и в противном случае оставьте значения по умолчанию - наконец, нажмите кнопку" Создать "(c2b)
  • Вернувшись к "Дисковым и сетевым файловым системам", вы увидите, что новый общий ресурс указан в таблице (c3).
  • Чтобы проверить, что все в порядке, вы можете попробовать перечислить каталог /tmp/nfsshare (c3) или записать в /tmp/nfsshare/sharetest

Обратите внимание, что, если вы случайно закроете сервер NFS, пока клиенты еще работают, у вас могут остаться "висячие" общие ресурсы; в этом случае команда sudo umount -lf ... кажется, помогает:

ubuntu@Client:~$ mount
...
Server-eth0:/export/sharetest on /tmp/nfsshare type nfs (rw,addr=192.168.1.42)
Server-eth0:/export/sharetest on /tmp/.webmin/402201_1_save_mount.cgi type nfs (rw,vers=4,addr=192.168.1.42,clientaddr=192.168.1.77)
rpc_pipefs on /run/rpc_pipefs type rpc_pipefs (rw)
Server-eth0:/export/sharetest on /tmp/.webmin/303774_1_save_mount.cgi type nfs (rw,vers=4,addr=192.168.1.42,clientaddr=192.168.1.77)

ubuntu@Client:~$ sudo umount -lf /tmp/.webmin/402201_1_save_mount.cgi
ubuntu@Client:~$ sudo umount -lf /tmp/.webmin/303774_1_save_mount.cgi

ubuntu@Client:~$ mount
...
Server-eth0:/export/sharetest on /tmp/nfsshare type nfs (rw,addr=192.168.1.42)

webmin установить на сервере (Ubuntu 11.04 правильная установка)

suser@Server:tmp$ sudo apt-get install nfs-kernel-server  # also pulls nfs-common
suser@Server:tmp$ sudo apt-get install libauthen-pam-perl libio-pty-perl libnet-ssleay-perl
suser@Server:tmp$ wget http://prdownloads.sourceforge.net/webadmin/webmin_1.580_all.deb
suser@Server:tmp$ sudo dpkg -i webmin_1.580_all.deb

Остановить услуги

sudo service nfs-kernel-server stop   # also clears /etc/exports
sudo service idmapd stop
sudo service portmap stop
sudo service webmin stop    # also: sudo /etc/webmin/stop

Удалить

sudo apt-get remove --purge nfs-kernel-server libauthen-pam-perl libio-pty-perl libnet-ssleay-perl && sudo apt-get autoremove --purge
# sudo dpkg -r webmin # not needed; the previous command should remove webmin by dependency

webmin установить на клиенте (Ubuntu 12.04 Live Image)

ubuntu@Client:~$ sudo nano /ets/apt/sources.list  # uncomment `universe` repositories, and save
ubuntu@Client:~$ sudo apt-get update
ubuntu@Client:~$ sudo apt-get install nfs-common  # "initctl: Unknown job: portmap / statd / gssd / idmapd" here
ubuntu@Client:~$ sudo initctl reload-configuration
ubuntu@Client:~$ sudo apt-get install --reinstall rpcbind nfs-common # now "portmap ... idmapd start/running,"
ubuntu@Client:~$ sudo apt-get install libauthen-pam-perl libio-pty-perl libnet-ssleay-perl
ubuntu@Client:~$ wget http://prdownloads.sourceforge.net/webadmin/webmin_1.580_all.deb
ubuntu@Client:~$ sudo dpkg -i webmin_1.580_all.deb

Остановить услуги

sudo service idmapd stop
sudo service portmap stop
sudo service webmin stop    # also: sudo /etc/webmin/stop

Удалить

sudo apt-get remove --purge nfs-common libauthen-pam-perl libio-pty-perl libnet-ssleay-perl && sudo apt-get autoremove --purge
# sudo dpkg -r webmin # not needed; the previous command should remove webmin by dependency

Замечания по установке:

  • webmin недоступен в репозиториях Ubuntu; его можно установить через пакет .deb с сайта webmin
    • загрузка более старого .deb, как здесь, не является проблемой, потому что webmin позволяет получать обновления непосредственно из своего веб-интерфейса.
  • Почти все зависимости webmin доступны в main репозиториях Ubuntu, кроме libauthen-pam-perl , который находится в репозиториях universe
  • В живых изображениях Ubuntu по умолчанию отключены репозитории universe ; поэтому сначала их нужно включить, раскомментировав соответствующие записи в /etc/apt/sources.list , а затем sudo apt-get update (иначе E: Unable to locate package libauthen-pam-perl / E: Package 'libauthen-pam-perl' has no installation candidate происходит)
  • Живые образы Ubuntu, по-видимому, «не сканировали каталог / etc / init автоматически» (ссылка [1]), поэтому им необходим ручной вызов для initctl reload-configuration initctl: Unknown job: portmap (иначе initctl: неизвестное задание: происходит отображение порта)
    • initclt должен вызываться с помощью sudo (иначе initctl: Rejected send message, 1 matched rules; ... происходит)
  • После установки nfs-common служба, называемая portmap существует как 11.04, так и 12.04,
    • ... однако в 11.04 есть пакет с именем portmap - в то время как 12.04 заменяет его пакетом rpcbind (появляется сообщение Note, selecting 'rpcbind' instead of 'portmap')
    • То, что раньше было известно как nfs-common service в более старых Ubuntus, теперь (по-видимому) называется idmapd (ref. [2])
  • Служба nfs (может быть найдена в более старых руководствах) не установлена нигде - ни на сервере, ни на клиенте
  • libio-pty-perl может уже присутствовать в вашей системе, если вы установили, например, moreutils ; если это так, будьте осторожны, чтобы не ссылаться на него в приведенных выше командах удаления (то же самое относится и к другим зависимостям)

Рекомендации:

  1. Ошибка # 857406 «Не удалось установить rpcbind» (# 3): Ошибки: пакет «linux»: Ubuntu
  2. Как перезапустить (или остановить или даже запустить) клиентскую службу NFS на Ubuntu 9.10? - Супер пользователь
  3. [Решено] разрешение на запись для пользователей в папке NFS
  4. Ubuntu Server: настройка клиента и сервера NFS с использованием Webmin
0

Хорошо, через [gnome] Nautilus NFS я нашел nfs-lan (http://nfs-lan.sevka.info/); вот что я сделал, чтобы установить его на Ubuntu 14.04.5 LTS (в котором есть Gnome 3):

sudo apt-get install gir1.2-nautilus-3.0
sudo apt-get install python-nautilus nfs-kernel-server autofs
# wget "http://nfs-lan.sevka.info/downloads/nfs_lan-1.0.deb?attredirects=0&d=1"
sudo dpkg -i ~/Desktop/nfs_lan-1.0.deb

... а затем, чтобы настроить:

sudo nano /etc/auto.master
# add: /net -hosts --timeout=60
# then save file, exit
sudo service autofs restart

Теперь, чтобы просмотреть в Nautilus, вы должны сначала набрать / чтобы открыть адресную строку, а затем набрать net/ -, затем нажать enter, и вы можете просматривать сеть NFS:

NET2

В противном случае, для общего доступа, будет возможность щелкнуть правой кнопкой мыши на папках Nautilus:

net3

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .