Sao chép tệp từ OSX sang / từ Pi


12

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?


4
Xem scpvà / hoặc sftp. Nếu ssh của bạn đã hoạt động, họ sẽ có sẵn. Ngoài ra còn có một sshfs, cho phép gắn cổ phiếu la NFS.
goldilocks

1
scp qua ssh làm việc tốt cho tôi. Bản thân tôi sử dụng Cyberduck để chuyển tập tin, vì tôi chỉ có thể kéo và thả, như trong công cụ tìm.
Gerben

1
Tôi đã sử dụng sftp (sử dụng FileZilla) có các tệp ở đó, vì vậy truy vấn hiện đã đóng. (Tôi đã đánh dấu điều này là được chấp nhận.)
Milliways

Lưu ý rằng mã hóa ssh có thể bị chậm trên Pi. Tôi tìm thấy blowfish để trở thành CPU nhanh chóng trong vài năm trở lại đây.
Thorbjørn Ravn Andersen

NFS là một tùy chọn khác và có ý nghĩa nhất trong thế giới Unix như bản địa.
máy bay phản lực

Câu trả lời:


17

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ếu ftp(Filezilla) để truyền tệp thường xuyên đến / từ Pi
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 .


@Paul Fort: như bạn đã thêm nó, "lệnh afp mở" là gì? "Afp" có nên là "ftp" không?
Peter Mortensen

@PeterMortensen bạn đã thử chưa (hoặc kiểm tra trợ giúp Mac)?
Milliways

1
Điều này thật tuyệt. Yêu nó! Cảm ơn vì tiền boa, đã không nhận thức được khả năng để làm điều này.
gdgr

7

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.


Tôi đã thử scp trên Mac nhưng trong khi điều này dường như không hoạt động, tôi đã sử dụng "sudo scp -v world2 //pi@10.1.1.10:" và các biến thể). Tôi đã sử dụng scp (trên Pi) để chuyển khóa rsa. sftp có vẻ là lựa chọn dễ dàng nhất.
Milliways

scpkhông thường yêu cầu sudo, nên làm việc tốt mà không có nó.
lenik

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.
bobstro

3

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/

Câu lệnh tuyệt vời. Nhanh chóng và dễ dàng. Cảm ơn rât nhiều.
GutierrezDev

Bạn có thể 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.
ccpizza

3

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)


1

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


1

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.


Tại sao phải đăng một câu trả lời cho một câu hỏi 2 tuổi với một câu trả lời được chấp nhận. Đây thậm chí không phải là một câu trả lời hay, vì SMB là một b. của một giao thức. Nếu bạn có máy Mac hãy thử câu trả lời.
Milliways

Tại sao phải đăng một bình luận không có ích cho một câu trả lời hoàn toàn tốt, khác với mọi giải pháp khác được cung cấp? Có nhiều cách để di chuyển tệp từ nơi này sang nơi khác, cách này không yêu cầu cài đặt bất kỳ phần mềm nào khác trên máy Mac và không yêu cầu sử dụng rộng rãi thiết bị đầu cuối. Tại sao đăng nó trên một chủ đề N năm tuổi? A) giải pháp vẫn tốt, B) câu hỏi vẫn còn liên quan - Tôi đã tìm kiếm trên google sáng nay và đây là kết quả đầu tiên C) giải pháp này khác với các giải pháp khác được cung cấp.
jrubins

Tôi đã ám chỉ điều này trong câu hỏi ban đầu "hoặc tôi cần sử dụng Samba hay tương tự" và (ngầm) loại trừ nó.
Milliways

"Hoặc tôi cần sử dụng Samba hoặc tương tự" không phải là ngôn ngữ loại trừ. Vì vậy, tôi xin lỗi vì đã cho bạn một câu trả lời hoàn toàn tốt rằng (trong hầu hết các trường hợp, vì Samba đã được cài đặt trên nhiều bản phân phối RPi) dễ dàng hơn nhiều so với bất kỳ câu trả lời nào khác được cung cấp. Tôi thực sự không thấy lý do tại sao bạn cảm thấy cần phải tranh luận với câu trả lời của tôi và đánh giá thấp nó. Chỉ vì bạn có 5000 danh tiếng trên Stack Exchange không có nghĩa là bạn không phải là một kẻ khốn nạn.
jrubins

0

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.


0

Cách dễ nhất tôi tìm thấy là sử dụng Cyberduck.

  1. Mở kết nối mới
  2. Chọn SFTP từ menu thả xuống
  3. Máy chủ: đặt địa chỉ IP của Pi
  4. Tên người dùng: phải là 'pi'
  5. Mật khẩu: theo mặc định là 'mâm xôi' trừ khi bạn thay đổi nó

bỏ chọn đăng nhập ẩn danh và sau đó kết nối.


0

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.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.