Mam dwa RasberryPi z systemem debian wheezy i chciałbym zamontować folder z komputera A na komputerze B.
Jaki jest najlepszy (jak najefektywniejszy) sposób to zrobić?
Mogę to zrobić za pośrednictwem SMB, ale dotyczy to systemu Windows, myślę, że musi istnieć lepszy sposób udostępniania w systemie Linux.
filesystems
mount
remote
cjburkha
źródło
źródło
Odpowiedzi:
Możesz użyć wielu rzeczy, w tym popularne opcje to:
Według łatwości konfiguracji myślę, że należałoby je ułożyć w tej kolejności (góra: najłatwiej)
SSHFS
Za pomocą FUSE możesz montować zdalne systemy plików przez ssh. Nie będę opisywał, jak to wyjaśnił Cristopher. Pamiętaj tylko, że aby automatycznie zamontować plik, będzie on wymagał nieco więcej pracy .
Samba
Umożliwi to korzystanie z komputerów z systemem Windows i Unix w celu uzyskania dostępu do zdalnego folderu. Jeśli nie jest to dla ciebie wielka sprawa, prawdopodobnie nie skorzystasz z tego. Łatwo jest jednak automatycznie zamontować go podczas inicjalizacji (wystarczy wpisać odpowiednie wartości na
/etc/fstab
, w tymusername=<your-samba-username>,password=<your-samba-password>
w kolumnie opcji).NFS
Pozwoli ci to uwierzytelnić tylko przez IP (bez nazwy użytkownika = szybciej, tylko do użytku w twojej wrogiej sieci LAN) lub za pośrednictwem biletów Kerberos (zbyt bolesne dla dwóch malin; ale przydatne w środowiskach korporacyjnych).
Ponieważ ma obsługę trybu jądra, będzie działał szybciej niż sshfs. Poza tym, ponieważ nie przeprowadzono szyfrowania , będzie on miał lepszą przepustowość, aw przypadku niewielkiego Raspberry ARM może to mieć znaczenie.
Poza tym konfiguracja nie jest tak bolesna, że ufasz swojej sieci. Masz również obsługę automatyczną
/etc/fstab
i nie musisz umieszczać poufnych danych (takich jak nazwy użytkowników lub hasła), a jeśli masz synchronizowane nazwy użytkowników (takie same/etc/passwd
i/etc/group
pliki), możesz użyć zwykłego zestawu narzędzi uprawnień POSIX (chown
,chgrp
ichmod
).źródło
arisu:/mnt/ytra /mnt/ytra nfs soft,ro,intr 0 2
stat()
zwracanych danych, np. Rzeczy zależne odnlink
liczby, o której CIFS nie ma pojęcia. SSHFS Nie byłem pod wielkim wrażeniem, ponieważ uruchomił przełączniki kontekstowe na serwerze plików w górę i nie wspierał niezbędnego blokowania wymaganego przez programy wewnętrzne. Tak więc, NFS ...SSHFS jest cudowny. Może montować zdalne katalogi w katalogu lokalnym za pomocą FUSE . Poniższe polecenia służą
#
do wskazania, że polecenie zostało wykonane jakoroot
, natomiast$
oznacza wykonanie jako zwykły użytkownik. Ponieważ wymagane jest oprogramowanie FUSE, najpierw upewnij się, że jest ono dostępne i działa.Jedno z poniższych poleceń
lsmod
igrep
może ujawnić, czy oprogramowanie jest załadowane i gotowe do użycia. Wynik obu poleceń wskazuje, żefuse
jest dostępny.Jeśli żadna z komend nie przyniosła rezultatu, spróbuj załadować moduł jądra bez restartu za pomocą
modprobe
i sprawdź ponownie.Jeśli ładowanie modułu nie powiedzie się, zainstaluj oprogramowanie za pomocą
apt-get
.Sprawdź ponownie po instalacji.
BEZPIECZNIK musi być zainstalowany i uruchomiony przed kontynuowaniem.
Sprawdź uprawnienia
/dev/fuse
. Uprawnienia powinny zapewniać zwykłemu użytkownikowi konto z dostępem do odczytu i zapisu. Pomiń tę część, jeśli ustaliłeś, że twoje zwykłe konto użytkownika ma już uprawnienia do odczytu i zapisu/dev/fuse
.Wynik może być podobny do jednego z poniższych.
W 2013 roku mój Debian utworzył
/dev/fuse
z0600
uprawnieniami, właścicielaroot
, właściciela grupyfuse
. Musiałem pozwolić grupie bezpieczników korzystać z urządzenia i dodać moje zwykłe konto użytkownika do grupy, jak pokazano poniżej.Jeśli wymagane było członkostwo w nowej grupie, wyloguj się i zaloguj ponownie, aby zostać członkiem grupy.
Następnie zainstaluj
ssh
po obu stronach w następujący sposób.Ta odpowiedź została napisana dla Debiana, ale na Ubuntu 18.x przynajmniej
openssh-client
,fuse
i kilka innych pakietów są częścią Ubuntusshfs
opakowaniu.sshfs
Oprogramowanie jest wymagane po stronie klienta, ale może być zainstalowany na obu stronach w razie potrzeby. Jedną z zależności pakietu jestfuse
, ale instalator pomija oprogramowanie, które zostało już zainstalowane.Za pomocą
fuse
issh
dostępny oraz z uprawnieniem do korzystania z urządzenia/dev/fuse
utwórz punkt instalacji dla zdalnego systemu plików; i zamontuj ten zdalny system plików lokalnie w następujący sposób.Aby zamontować katalog inny niż home, określ go po dwukropku.
Aby odmontować, użyj
fusermount
.Jeśli masz komputer z systemem Windows, może on także używać SSHFS z win-sshfs . To oprogramowanie „zamapuje dysk” za pomocą SSHFS, dzięki czemu możesz mieć literę dysku Windows, która zawiera katalog zdalny.
źródło
yum install fuse-sshfs.x86_64
), ale kiedymodprobe fuse
to zrobiłem, nie stworzyłem dla nich grupy bezpieczników. Więc kiedy to zrobiłemusermod -a -G fuse [your-user]
, zrozumiałemusermod: group 'fuse' does not exist
. czy możesz pomóc z góry dziękujęlsmod | grep fuse
zwraca wynik i mam/dev/fuse
, m, który jest własnością root. więc mówisz, że nic mi nie jest bez grupy?crw-rw-rw-. 1 root root 10, 229 Nov 21 15:32 /dev/fuse
W Linuksie wybrałbyś NFS (zapoznaj się również z artykułem na archwiki na ten temat, który może zawierać również informacje dotyczące twojej dystrybucji). Ma bardziej zaawansowane funkcje niż samba. Jeśli potrzebujesz zablokować pliki (tzn. Równoczesny dostęp), powinieneś również zajrzeć do lockd, ponieważ nfs jest bezstanowy. Jest to jednak trudniejsze do skonfigurowania niż smb. Sugerowałbym wypróbowanie zarówno samby, jak i nfs, aby zobaczyć, który odpowiada Twoim potrzebom.
źródło
W przeszłości korzystałem zarówno z dysku sieciowego SFTP, jak i ExpanDrive i mogę powiedzieć, że sshfs przewyższa oba te elementy bez pytania.
źródło