У меня есть два RasberryPi под управлением Debian Wheezy, и я хотел бы смонтировать папку с компьютера A на компьютер B.
Каков наилучший (как в наиболее эффективный) способ сделать это?
Я могу сделать это через SMB, но это для Windows, я думаю, что должен быть лучший способ поделиться через Linux.
filesystems
mount
remote
cjburkha
источник
источник
Ответы:
Вы можете использовать множество вещей, среди которых, популярные варианты:
По простоте настройки я думаю, что они должны быть расположены в таком порядке (верх: самый простой)
SSHFS
Через FUSE вы можете монтировать удаленные файловые системы через ssh. Я не буду рассказывать, как, как Кристофер уже очень хорошо объяснил это. Просто отметьте, что для автоматического монтирования файла потребуется немного больше работы .
самба
Это позволит вам использовать машины Windows и Unix для доступа к удаленной папке. Если это не имеет большого значения для вас, то вы, вероятно, не выиграете от этого. Однако его легко смонтировать при инициализации (просто введите соответствующие значения
/etc/fstab
, в том числеusername=<your-samba-username>,password=<your-samba-password>
в столбце параметров.NFS
Это позволит вам проходить аутентификацию только через IP (без имени пользователя = быстрее, только для использования в вашей не враждебной локальной сети) или через билеты Kerberos (слишком болезненно только для двух Raspberry; но полезно в корпоративной среде).
Поскольку он поддерживает режим ядра, он будет работать быстрее, чем sshfs. Кроме того, поскольку шифрование не выполняется, оно будет иметь лучшую пропускную способность, а в случае крошечного Raspberry ARM это может иметь значение.
Кроме того, это не так больно, просто вы доверяете своей сети. У вас также есть поддержка автоматического монтирования
/etc/fstab
, и вам не нужно помещать конфиденциальные данные (например, имена пользователей или пароли), и если у вас есть синхронизированные имена пользователей (то же самое/etc/passwd
и/etc/group
файлы), вы можете использовать обычный набор разрешений POSIX (chown
,chgrp
иchmod
).источник
arisu:/mnt/ytra /mnt/ytra nfs soft,ro,intr 0 2
stat()
, что возвращает, например, вещей, которые полагаются наnlink
счет, о котором CIFS не имеет никакого понятия. SSHFS меня не особенно впечатлило, так как он запускал переключатели контекста на файловом сервере очень высоко и не поддерживал необходимую блокировку, требуемую внутренними программами. Итак, NFS ...SSHFS замечательный. Он может монтировать удаленные каталоги в локальный каталог с помощью FUSE . Команды ниже используют,
#
чтобы указать, что команда была выполнена какroot
, а$
указывает на выполнение от имени обычного пользователя. Поскольку требуется программное обеспечение FUSE, сначала убедитесь, что оно доступно и работает.Одна из
lsmod
иgrep
команд, ниже, можно выявить , если загружен и готов к использованию программного обеспечения. Результат от любой команды указывает, чтоfuse
доступно.Если по какой-либо из команд ничего не получилось, попробуйте загрузить модуль ядра без перезагрузки
modprobe
и повторите проверку.Если загрузка модуля не удалась, установите программное обеспечение с помощью
apt-get
.Проверьте еще раз после установки.
FUSE должен быть установлен и запущен перед продолжением.
Проверьте разрешения
/dev/fuse
. Разрешения должны предоставлять вашей учетной записи обычного пользователя права на чтение и запись. Пропустите эту часть, если вы определили, что ваша учетная запись обычного пользователя уже имеет права на чтение и запись/dev/fuse
.Вывод может быть что-то вроде одного из следующих.
В 2013 году мой Debian создан
/dev/fuse
с0600
разрешениями, владельцемroot
, владельцем группыfuse
. Мне нужно было разрешить группе предохранителей использовать устройство и добавить свою учетную запись обычного пользователя в группу, как показано ниже.Если требуется новое членство в группе, выйдите из системы и снова войдите в нее, чтобы стать участником группы.
Далее устанавливаем
ssh
с обеих сторон следующим образом.Этот ответ был написан для Debian, но на Ubuntu 18.x , по крайней мере,
openssh-client
,fuse
, и несколько других пакетов являются частью Ubuntusshfs
пакета. Программноеsshfs
обеспечение требуется на стороне клиента, но при желании его можно установить с обеих сторон. Существует одна из зависимостей пакетаfuse
, но установщик пропускает уже установленное программное обеспечение.С
fuse
и приssh
наличии, а также с разрешением на использование устройства/dev/fuse
создайте точку монтирования для удаленной файловой системы; и смонтировать эту удаленную файловую систему локально следующим образом.Чтобы смонтировать каталог, отличный от home, укажите его после двоеточия.
Чтобы демонтировать, используйте
fusermount
.Если у вас есть компьютер с Windows, он также может использовать SSHFS с win-sshfs . Это программное обеспечение будет «сопоставлять диск» с SSHFS, чтобы у вас была буква диска Windows, содержащая удаленный каталог.
источник
yum install fuse-sshfs.x86_64
), но когда яmodprobe fuse
это сделал, это не создало группу предохранителей для меня. Поэтому, когда я это сделалusermod -a -G fuse [your-user]
, я получилusermod: group 'fuse' does not exist
. Вы можете помочь? спасибо заранееlsmod | grep fuse
возвращает результат, и у меня есть/dev/fuse
, м, который принадлежит root. так ты говоришь, что я в порядке без группы?crw-rw-rw-. 1 root root 10, 229 Nov 21 15:32 /dev/fuse
В Linux вы бы выбрали NFS (также ознакомьтесь со статьей об этом в archwiki, в которой также может содержаться информация для вашего дистрибутива). Он имеет более продвинутые функции, чем самба. Если вам нужно заблокировать (то есть одновременный доступ) файлы, вы должны рассмотреть lockd также, потому что nfs не имеет состояния. Однако это сложнее настроить, чем кого-то. Я бы посоветовал попробовать samba и nfs, чтобы увидеть, какой из них подходит вам.
источник
В прошлом я использовал сетевой диск SFTP и ExpanDrive, и я могу сказать, что sshfs превосходит оба без вопросов.
источник