Tôi có một Pi chạy không đầu bằng ssh và Chia sẻ màn hình trên OSX và máy chủ chặt chẽ trên máy chủ.
Tôi có thể sao chép các tệp từ Mac sang / từ Pi bằng ssh hoặc Chia sẻ màn hình (tức là VNC) không hoặc tôi có cần sử dụng Samba hoặc tương tự không?
Tôi có một Pi chạy không đầu bằng ssh và Chia sẻ màn hình trên OSX và máy chủ chặt chẽ trên máy chủ.
Tôi có thể sao chép các tệp từ Mac sang / từ Pi bằng ssh hoặc Chia sẻ màn hình (tức là VNC) không hoặc tôi có cần sử dụng Samba hoặc tương tự không?
Câu trả lời:
Trong 6 năm kể từ khi tôi đăng Câu trả lời này, nhiều thứ đã thay đổi.
Hỗ trợ macOS Samba đã được cải thiện và Apple hiện sử dụng Samba làm mặc định cho việc chia sẻ tệp (và afp không hoạt động với các tệp Apple mới hơn)
Debian Buster hiện sử dụng netatalk 3 - có những thay đổi quan trọng và cần nhiều cấu hình hơn để làm bất cứ điều gì hữu ích.
nfs hỗ trợ tốt hơn nhiều trong Raspbian gần đây, nhưng vẫn có vấn đề với sự cho phép ghi từ macOS.Tôi sử dụng tất cả các ftp, Samba, afp và nfs;
chủ yếuftp(Filezilla) để truyền tệp thường xuyên đến / từ Pi
vàSambađể duyệt Trang chủ Pi và các hệ thống tệp được chia sẻ và để gắn kết các hình ảnh sao lưu của tôi để sao lưu / phục hồi.
Tôi đã sử dụng ftp để giải quyết vấn đề của mình (như đã lưu ý ở trên), nhưng gần đây đã phát hiện ra một phương pháp khác, mà những người dùng Mac khác có thể thấy hữu ích.
sudo apt-get install netatalk
Cài đặt giao thức appletalk trên Pi. Điều này cho phép bạn sử dụng thông tin sau (tại dấu nhắc thiết bị đầu cuối trên máy Mac) để kết nối với Pi
open afp://10.1.1.10 (replace this with your Raspberry Pi IP address)
Sau đó, bạn có thể sử dụng Finder (hoặc bất kỳ Trình quản lý tệp nào khác, ví dụ QuollEyeTree) để truyền tệp đến hoặc từ Pi, sử dụng các kỹ thuật tương tự bạn sẽ sử dụng trên máy Mac
Lưu ý: Chỉnh sửa này là của người dùng khác và AFAIK là không cần thiết Nếu bạn gặp lỗi Không thể lấy mô tả tệp tham chiếu đến bàn điều khiển bằng lệnh afp mở thử lại với sudo, đồng thời, hãy đảm bảo rằng bạn đã đăng nhập từ xa được cấu hình trên máy mac của bạn .
nếu bạn có thể sử dụng ssh, thì rất có thể scp(bản sao SSH) cũng sẽ hoạt động.
Dù sao tôi cũng sẽ cài đặt samba, vì có quá nhiều winboxen ở khắp mọi nơi và điều tiếp theo bạn có thể cần là quyền truy cập từ windows.
scpkhông thường yêu cầu sudo, nên làm việc tốt mà không có nó.
scptừ máy Mac sang RPi hoạt động như mong đợi và không yêu cầu bất kỳ phần mềm bổ sung nào trên RPi. netatalkcũng hoạt động tốt, nhưng tất nhiên, thêm phần mềm và chi phí đôi khi chỉ có thể được sử dụng.
Bạn đã thử scpvới -rcờ? Bởi vì không có nó, nó sẽ không thực hiện một bản sao đệ quy.
Nếu bạn đang tìm cách sao chép tập tin hoặc thư mục world2, đây là cách tôi sẽ làm:
$ scp -rv world2 pi@10.1.1.10:/path/to/copy/of/world2/
scpsử dụng dễ dàng hơn nhiều nếu bạn xác định máy chủ của mình trong ~/.ssh/config(xem nerderati.com/2011/03/17/iêu ) - nếu bạn định cấu hình máy chủ của mình là rpi, thì bạn có thể sử dụng một cái gì đó như scp -r world2 rpi:/path/to/copy/of/world2/. Chỉ trong trường hợp không rõ ràng, nó cũng hoạt động theo cách khác, ví dụ : scp rpi:.bashrc somedir. Nếu một đường dẫn không tuyệt đối thì nó sẽ tương đối $HOME.
Nếu bạn có nhiều tệp, bạn cũng có thể cân nhắc sử dụng rsync . Bạn có thể sử dụng -Pcờ (for --partial --progress), rất tiện lợi khi bạn dự đoán chuyển khoản dài có khả năng bị gián đoạn - theo cách đó, các tệp được chuyển một phần sẽ được giữ lại (trong trường hợp bình thường chúng sẽ bị xóa), do đó khi bạn tiếp tục chuyển khoản, sẽ không mất nhiều thời gian để hoàn tất chuyển khoản.
Vì vậy, trong trường hợp của bạn, bạn có thể làm:
rsync -avP world2/ pi@10.1.1.10:world2
(giả định rằng world2là một thư mục, lệnh này sẽ sao chép nội dung của world2đến /world2thư mục trên máy tính từ xa)
Nếu đó là một giải pháp dài hạn, một tùy chọn khác là cài đặt Syncthing hoặc Bittorrent Sync trên cả hai máy. Nó giữ các thư mục trên nhiều máy được đồng bộ hóa và có thể xử lý các tệp và thư mục lớn. Nó rất tiện dụng như một máy chủ tệp, sao lưu và để truyền tệp.
Tôi vừa chuyển sang Syncthing từ btsync. Syncthing cung cấp nhiều tùy chọn và kiểm soát hơn (và btsync có mã độc quyền).
Gói Debian / Ubuntu của họ tại apt.syncthing.net hoạt động tốt với tôi và tôi đã sử dụng hướng dẫn này làm hướng dẫn
Thiết lập chia sẻ SMB trên Pi của bạn, http://raspberrywebserver.com/serveradmin/share-your-raspberry-pis-files-and- Folders-across-a-network.html
Sau đó, trên máy Mac của bạn, hãy đi đến công cụ tìm> đi> kết nối với máy chủ (cmd + k)> và nhập địa chỉ của số pi của bạn smb://192.Ras.Pisau đó bạn có thể điều hướng cấu trúc thư mục, sao chép / dán tệp, v.v.
Chỉ cần sử dụng FileZilla và thiết lập một trang web mới từ trình quản lý trang trên Menu File. Sau đó chọn SFTP và điền vào tên người dùng và mật khẩu Rasp của bạn và bạn sẽ ổn.
Cách dễ nhất tôi tìm thấy là sử dụng Cyberduck.
bỏ chọn đăng nhập ẩn danh và sau đó kết nối.
Cài đặt MacFusion trên máy Mac của bạn sẽ cho phép bạn gắn Pi của mình qua SSH, tương tự như cách bạn gắn thanh USB trên máy Mac. Sau đó, bạn có thể sử dụng công cụ tìm để sao chép tệp vào bất kỳ thư mục nào trên Pi nếu muốn.
scpvà / hoặcsftp. Nếu ssh của bạn đã hoạt động, họ sẽ có sẵn. Ngoài ra còn có mộtsshfs, cho phép gắn cổ phiếu la NFS.