ฉันมี Pi ทำงานอยู่หัวขาดโดยใช้ ssh และ Screen Sharing บน OSX และ tightvncserver บน raspbian
ฉันสามารถคัดลอกไฟล์จาก Mac ไปยัง / จาก Pi โดยใช้ ssh หรือ Screen Sharing (เช่น VNC) หรือฉันต้องใช้ Samba หรือคล้ายกันหรือไม่
ฉันมี Pi ทำงานอยู่หัวขาดโดยใช้ ssh และ Screen Sharing บน OSX และ tightvncserver บน raspbian
ฉันสามารถคัดลอกไฟล์จาก Mac ไปยัง / จาก Pi โดยใช้ ssh หรือ Screen Sharing (เช่น VNC) หรือฉันต้องใช้ Samba หรือคล้ายกันหรือไม่
คำตอบ:
ในช่วง 6 ปีที่ผ่านมาฉันโพสต์คำตอบนี้มีหลายสิ่งที่เปลี่ยนไป
รองรับ macOS Samba ได้รับการปรับปรุงและตอนนี้ Apple ใช้ Samba เป็นค่าเริ่มต้นสำหรับการแชร์ไฟล์ (และ afp ไม่ทำงานกับ Apple filesytems รุ่นใหม่)
Debian Buster ใช้ netatalk 3 ซึ่งมีการเปลี่ยนแปลงที่สำคัญและต้องการการกำหนดค่าเพิ่มเติมเพื่อทำสิ่งที่มีประโยชน์
nfs สนับสนุนดีขึ้นมากใน Raspbian เมื่อเร็ว ๆ นี้ แต่ก็ยังมีปัญหาเกี่ยวกับการอนุญาตการเขียนจาก macOSฉันใช้ ftp, Samba, afp และ nfs ทั้งหมด
เป็นหลักftp
(Filezilla) สำหรับการถ่ายโอนไฟล์ตามปกติไปยัง / จาก Pi
และSamba
สำหรับการเรียกดู Pi Home และระบบไฟล์ที่ใช้ร่วมกันและเพื่อติดตั้งรูปภาพสำรองของฉันเพื่อสำรอง / เรียกคืน
ฉันใช้ ftp เพื่อแก้ปัญหาของฉัน (ดังที่ระบุไว้ด้านบน) แต่เมื่อเร็ว ๆ นี้ค้นพบวิธีอื่นซึ่งผู้ใช้ Mac รายอื่นอาจพบว่ามีประโยชน์
sudo apt-get install netatalk
ติดตั้งโปรโตคอล appletalk บน Pi สิ่งนี้ช่วยให้คุณใช้สิ่งต่อไปนี้ (ที่หน้าจอพร้อมรับเทอร์มินัลบน Mac) เพื่อเชื่อมต่อกับ Pi
open afp://10.1.1.10 (replace this with your Raspberry Pi IP address)
จากนั้นคุณสามารถใช้ Finder (หรือ FileManager อื่น ๆ เช่น QuollEyeTree) เพื่อถ่ายโอนไฟล์ไปยังหรือจาก Pi โดยใช้เทคนิคเดียวกับที่คุณใช้บน Mac
หมายเหตุ: การแก้ไขนี้เกิดขึ้นโดยผู้ใช้รายอื่นและ AFAIK ไม่จำเป็นหากคุณได้รับข้อผิดพลาดไม่สามารถรับไฟล์ descriptor ที่อ้างถึงคอนโซลด้วยคำสั่งเปิด afp ลองอีกครั้งด้วย sudo ตรวจสอบให้แน่ใจว่าคุณได้กำหนดค่าล็อกอินระยะไกลบน mac ของคุณแล้ว .
หากคุณสามารถใช้งานssh
ได้แล้วส่วนใหญ่scp
(สำเนา SSH) ก็จะใช้ได้เช่นกัน
ฉันจะติดตั้ง samba ต่อไปเพราะมี winboxen มากเกินไปทุกที่และสิ่งต่อไปที่คุณอาจต้องใช้ก็คือการเข้าถึงจาก windows
scp
ไม่จำเป็นต้องปกติsudo
ควรทำงานได้ดีหากไม่มี
scp
จาก Mac เป็น RPi ทำงานได้ตามที่คาดหวังและไม่ต้องการซอฟต์แวร์เพิ่มเติมใน RPi netatalk
ทำงานได้ดีเช่นกัน แต่แน่นอนว่าจะเพิ่มซอฟต์แวร์และค่าใช้จ่ายที่อาจมีการใช้งานเป็นครั้งคราวเท่านั้น
คุณลองscp
กับ-r
ธงไหม? เพราะหากไม่มีมันจะไม่ทำซ้ำแบบเรียกซ้ำ
หากคุณต้องการคัดลอกไฟล์หรือโฟลเดอร์world2
นี่คือวิธีที่ฉันทำ:
$ scp -rv world2 pi@10.1.1.10:/path/to/copy/of/world2/
scp
ง่ายมากที่จะใช้ถ้าคุณกำหนดครอบครัวของคุณใน~/.ssh/config
(ดูnerderati.com/2011/03/17/... ) - ถ้าคุณกำหนดค่าโฮสต์ของคุณเป็นแล้วคุณสามารถใช้สิ่งที่ต้องการrpi
scp -r world2 rpi:/path/to/copy/of/world2/
ในกรณีที่มันไม่ได้เป็นที่เห็นได้ชัดก็ทำงานด้วยวิธีอื่น ๆ scp rpi:.bashrc somedir
ด้วยเช่น: $HOME
หากเส้นทางที่ไม่ได้เป็นที่แน่นอนแล้วมันจะเป็นเมื่อเทียบกับ
หากคุณมีไฟล์จำนวนมากนอกจากนี้คุณยังอาจพิจารณาใช้rsync คุณสามารถใช้การ-P
ตั้งค่าสถานะ (สำหรับ--partial --progress
) ซึ่งมีประโยชน์เมื่อคุณคาดว่าจะมีการถ่ายโอนเป็นเวลานานโดยมีการหยุดชะงักซึ่งอาจทำให้ไฟล์ที่ถ่ายโอนบางส่วนถูกเก็บไว้ (ภายใต้สถานการณ์ปกติที่ถูกลบ) เมื่อคุณทำการถ่ายโอนต่อมันจะใช้เวลาไม่นานในการถ่ายโอน
ดังนั้นในกรณีของคุณคุณสามารถทำได้:
rsync -avP world2/ pi@10.1.1.10:world2
(สมมติว่าworld2
เป็นไดเรกทอรีคำสั่งนี้จะคัดลอกเนื้อหาของworld2
ไปยัง/world2
ไดเรกทอรีบนเครื่องระยะไกล)
หากเป็นวิธีแก้ปัญหาระยะยาวตัวเลือกอื่นกำลังติดตั้งSyncthingหรือ Bittorrent Sync บนเครื่องทั้งสอง มันทำให้ไดเรกทอรีในหลายเครื่องซิงค์และสามารถจัดการไฟล์และไดเรกทอรีขนาดใหญ่ มันมีประโยชน์มากในฐานะเซิร์ฟเวอร์ไฟล์ข้อมูลสำรองและสำหรับการถ่ายโอนไฟล์
ฉันเพิ่งเปลี่ยนมาเป็น Syncthing จาก btsync Syncthing มีตัวเลือกและการควบคุมเพิ่มเติม (และ btsync มีรหัสกรรมสิทธิ์)
แพ็คเกจ Debian / Ubuntu ของพวกเขาที่ apt.syncthing.net ทำงานได้ดีสำหรับฉันและฉันใช้บทแนะนำนี้เป็นแนวทาง
ตั้งค่าการแบ่งปัน SMB บน Pi ของคุณ http://raspberrywebserver.com/serveradmin/share-your-raspberry-pis-files-and-folders-across-a-network.html
จากนั้นบน Mac ของคุณไปที่ finder> ไป> เชื่อมต่อกับเซิร์ฟเวอร์ (cmd + k)> และป้อนที่อยู่ของ pi ของคุณsmb://192.Ras.Pi
จากนั้นคุณสามารถนำทางโครงสร้างโฟลเดอร์คัดลอก / วางไฟล์ ฯลฯ
เพียงใช้ FileZilla และตั้งค่าไซต์ใหม่จากตัวจัดการไซต์บนเมนูไฟล์ จากนั้นเลือก SFTP และกรอกชื่อผู้ใช้และรหัสผ่าน Rasp ให้กับคุณและคุณพร้อมแล้ว
วิธีที่ง่ายที่สุดที่ฉันพบคือใช้Cyberduck
ยกเลิกการเลือกการลงชื่อเข้าใช้แบบไม่ระบุชื่อจากนั้นเชื่อมต่อ
การติดตั้งMacFusionบน Mac ของคุณจะทำให้คุณสามารถติด Pi ของคุณผ่าน SSH ได้เช่นเดียวกับวิธีติดตั้ง usb stick บน Mac ของคุณ จากนั้นคุณสามารถใช้ตัวค้นหาเพื่อคัดลอกไฟล์ไปยังโฟลเดอร์ใด ๆ บน Pi ตามที่คุณต้องการ
scp
/ หรือsftp
หาก ssh ของคุณใช้งานได้ควรมีให้ นอกจากนี้ยังมีการsshfs
อนุญาตให้ติดตั้ง la nFS แบบแบ่งใช้