Mam Pi działającego bezgłowo za pomocą ssh i Screen Sharing na OSX i tightvncserver na raspbian.
Czy mogę skopiować pliki z komputera Mac do / z Pi przy użyciu ssh lub Screen Sharing (tj. VNC), czy też muszę używać Samby lub podobnego urządzenia?
Mam Pi działającego bezgłowo za pomocą ssh i Screen Sharing na OSX i tightvncserver na raspbian.
Czy mogę skopiować pliki z komputera Mac do / z Pi przy użyciu ssh lub Screen Sharing (tj. VNC), czy też muszę używać Samby lub podobnego urządzenia?
Odpowiedzi:
W ciągu 6 lat od opublikowania tej odpowiedzi wiele rzeczy się zmieniło.
macOS Samba poprawiła się i Apple używa teraz Samby jako domyślnej do udostępniania plików (a afp nie działa z nowszymi plikami Apple)
Debian Buster używa teraz netatalk 3 - który ma znaczące zmiany i wymaga większej konfiguracji, aby zrobić coś pożytecznego.
Obsługa nfs jest znacznie lepsza w ostatnim Raspbian, ale nadal ma problemy z pozwoleniem na zapis z macOS.Używam wszystkich ftp, Samba, afp i nfs;
głównieftp
(Filezilla) do rutynowego przesyłania plików do / z Pi
orazSamba
do przeglądania Pi Home i współdzielonych systemów plików oraz do montowania w pętli moich obrazów kopii zapasowych w celu tworzenia kopii zapasowych / przywracania.
Użyłem ftp do rozwiązania mojego problemu (jak wspomniano powyżej), ale ostatnio odkryłem inną metodę, którą inni użytkownicy komputerów Mac mogą uznać za przydatną.
sudo apt-get install netatalk
Instaluje protokół appletalk na Pi. Dzięki temu możesz użyć następujących poleceń (w wierszu poleceń na komputerze Mac), aby połączyć się z Pi
open afp://10.1.1.10 (replace this with your Raspberry Pi IP address)
Następnie możesz użyć Findera (lub dowolnego innego menedżera plików, np. QuollEyeTree), aby przesłać pliki do lub z Pi, korzystając z tych samych technik, których używałbyś na komputerze Mac
Uwaga: Ta edycja jest wykonywana przez innego użytkownika, a AFAIK jest niepotrzebny. Jeśli pojawi się błąd Nie można uzyskać deskryptora pliku odnoszącego się do konsoli za pomocą polecenia open afp, spróbuj ponownie za pomocą sudo, upewnij się też, że masz zdalne logowanie skonfigurowane na komputerze Mac .
jeśli możesz użyć ssh
, najprawdopodobniej również scp
(kopia SSH) będzie działać.
i tak zainstalowałbym sambę, ponieważ wszędzie jest za dużo winboxen, a następną rzeczą, której możesz potrzebować, będzie dostęp z okien.
scp
zwykle nie wymaga sudo
, powinien działać bez niego.
scp
z komputera Mac na RPi działa zgodnie z oczekiwaniami i nie wymaga żadnego dodatkowego oprogramowania na RPi. netatalk
działa również dobrze, ale oczywiście dodaje oprogramowanie i koszty ogólne, które mogą być używane tylko okazjonalnie.
Próbowałeś scp
z -r
flagą? Ponieważ bez niego nie wykona kopii rekurencyjnej.
Jeśli chciałbyś skopiować plik lub folder world2
, zrobiłbym to w ten sposób:
$ scp -rv world2 pi@10.1.1.10:/path/to/copy/of/world2/
scp
znacznie ułatwić korzystanie, jeśli zdefiniujesz hosty w ~/.ssh/config
(patrz nerderati.com/2011/03/17/… ) - jeśli skonfigurujesz hosta jako rpi
, możesz użyć czegoś takiego scp -r world2 rpi:/path/to/copy/of/world2/
. Na wypadek, gdyby nie było to oczywiste, działa również w drugą stronę, np scp rpi:.bashrc somedir
. : . Jeśli ścieżka nie jest bezwzględna, będzie względna $HOME
.
Jeśli masz dużo plików, możesz również rozważyć użycie rsync . Będziesz mógł użyć -P
flagi (for --partial --progress
), co jest przydatne, gdy oczekujesz długiego transferu z potencjalnymi przerwami - w ten sposób częściowo przeniesione pliki zostaną zachowane (w normalnych okolicznościach zostaną usunięte), dzięki czemu po wznowieniu transferu transfer nie potrwa tak długo.
W twoim przypadku możesz zrobić:
rsync -avP world2/ pi@10.1.1.10:world2
(zakładając, że world2
jest to katalog, to polecenie będzie skopiować zawartość z world2
do /world2
katalogu na komputerze zdalnym)
Jeśli jest to rozwiązanie długoterminowe, inną opcją jest instalacja Syncthing lub Bittorrent Sync na obu komputerach. Utrzymuje synchronizację katalogów na wielu komputerach i może obsługiwać duże pliki i katalogi. Jest to bardzo przydatne jako serwer plików, kopia zapasowa i do przesyłania plików.
Właśnie przełączyłem się na Syncthing z btsync. Syncthing zapewnia więcej opcji i kontroli (a btsync ma zastrzeżony kod).
Ich pakiet Debian / Ubuntu na stronie apt.syncthing.net działał dobrze dla mnie i wykorzystałem ten samouczek jako przewodnik
Skonfiguruj udostępnianie SMB na swoim komputerze Pi, http://raspberrywebserver.com/serveradmin/share-your-raspberry-pis-files-and-folders-across-a-network.html
Następnie na komputerze Mac przejdź do wyszukiwarki> przejdź> połącz z serwerem (cmd + k)> i wprowadź adres swojego pi, smb://192.Ras.Pi
a następnie możesz nawigować po strukturze folderów, kopiować / wklejać pliki itp.
Wystarczy użyć FileZilla i ustawić nową witrynę z menedżera witryny w menu Plik. Następnie wybierz SFTP i wpisz nazwę użytkownika i hasło Rasp i możesz już iść.
Najłatwiejszym sposobem było znalezienie Cyberduck.
odznacz anonimowe logowanie, a następnie połącz.
Zainstalowanie MacFusion na Macu pozwoli ci zamontować Pi na SSH, podobnie jak na USB. Następnie możesz użyć wyszukiwarki, aby skopiować pliki do dowolnego folderu na Pi, jak chcesz.
scp
i / lubsftp
. Jeśli twój ssh już działa, powinien być dostępny. Istnieje również opcjasshfs
, która pozwala na montowanie udziałów a la NFS.