คัดลอกไฟล์จาก OSX ไปยัง / จาก Pi


13

ฉันมี Pi ทำงานอยู่หัวขาดโดยใช้ ssh และ Screen Sharing บน OSX และ tightvncserver บน raspbian

ฉันสามารถคัดลอกไฟล์จาก Mac ไปยัง / จาก Pi โดยใช้ ssh หรือ Screen Sharing (เช่น VNC) หรือฉันต้องใช้ Samba หรือคล้ายกันหรือไม่


4
ดูและscp / หรือ sftpหาก ssh ของคุณใช้งานได้ควรมีให้ นอกจากนี้ยังมีการsshfsอนุญาตให้ติดตั้ง la nFS แบบแบ่งใช้
goldilocks

1
scp มากกว่า ssh ทำงานได้ดีสำหรับฉัน ตัวฉันเองใช้ Cyberduck สำหรับการถ่ายโอนไฟล์เพราะฉันสามารถลากและวางได้เหมือนในตัวค้นหา
Gerben

1
ฉันใช้ sftp (ใช้ FileZilla) ซึ่งมีไฟล์อยู่ที่นั่นดังนั้นแบบสอบถามจึงปิดเดี๋ยวนี้ (ฉันจะทำเครื่องหมายสิ่งนี้ว่ายอมรับแล้ว)
Milliways

โปรดทราบว่าการเข้ารหัส ssh อาจช้าใน Pi ฉันพบว่าปักเป้าเป็นซีพียูที่เร็วพอจะฉลาดเมื่อหลายปีก่อน
Thorbjørn Ravn Andersen

NFS เป็นอีกทางเลือกหนึ่งที่เหมาะสมที่สุดในโลกยูนิกซ์
jet

คำตอบ:


18

ในช่วง 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 ของคุณแล้ว .


@Paul Fort: เมื่อคุณเพิ่ม origianlly แล้วมันคืออะไร "open afp command"? "afp" ควรเป็น "ftp" หรือไม่
Peter Mortensen

@PeterMortensen คุณได้ลองแล้ว (หรือตรวจสอบความช่วยเหลือของ Mac)?
Milliways

1
นี่มันเจ๋งมาก. รักมัน! ขอบคุณสำหรับเคล็ดลับไม่ได้ตระหนักถึงความสามารถในการทำเช่นนี้
gdgr

7

หากคุณสามารถใช้งานsshได้แล้วส่วนใหญ่scp(สำเนา SSH) ก็จะใช้ได้เช่นกัน

ฉันจะติดตั้ง samba ต่อไปเพราะมี winboxen มากเกินไปทุกที่และสิ่งต่อไปที่คุณอาจต้องใช้ก็คือการเข้าถึงจาก windows


ฉันลอง scp บน Mac แต่ตอนนี้ดูเหมือนว่าจะไม่มีไฟล์ปรากฏขึ้น (ฉันใช้ "sudo scp -v world2 //pi@10.1.1.10:" และตัวแปร) ฉันใช้ scp (บน Pi) เพื่อโอนคีย์ rsa sftp ดูเหมือนจะเป็นตัวเลือกที่ง่ายที่สุด
Milliways

scpไม่จำเป็นต้องปกติsudoควรทำงานได้ดีหากไม่มี
lenik

scpจาก Mac เป็น RPi ทำงานได้ตามที่คาดหวังและไม่ต้องการซอฟต์แวร์เพิ่มเติมใน RPi netatalkทำงานได้ดีเช่นกัน แต่แน่นอนว่าจะเพิ่มซอฟต์แวร์และค่าใช้จ่ายที่อาจมีการใช้งานเป็นครั้งคราวเท่านั้น
bobstro

3

คุณลองscpกับ-rธงไหม? เพราะหากไม่มีมันจะไม่ทำซ้ำแบบเรียกซ้ำ

หากคุณต้องการคัดลอกไฟล์หรือโฟลเดอร์world2นี่คือวิธีที่ฉันทำ:

$ scp -rv world2 pi@10.1.1.10:/path/to/copy/of/world2/

คำสั่งที่ยอดเยี่ยม ง่ายและรวดเร็ว ขอบคุณมาก.
GutierrezDev

คุณสามารถทำให้scpง่ายมากที่จะใช้ถ้าคุณกำหนดครอบครัวของคุณใน~/.ssh/config(ดูnerderati.com/2011/03/17/... ) - ถ้าคุณกำหนดค่าโฮสต์ของคุณเป็นแล้วคุณสามารถใช้สิ่งที่ต้องการrpi scp -r world2 rpi:/path/to/copy/of/world2/ในกรณีที่มันไม่ได้เป็นที่เห็นได้ชัดก็ทำงานด้วยวิธีอื่น ๆ scp rpi:.bashrc somedirด้วยเช่น: $HOMEหากเส้นทางที่ไม่ได้เป็นที่แน่นอนแล้วมันจะเป็นเมื่อเทียบกับ
ccpizza

3

หากคุณมีไฟล์จำนวนมากนอกจากนี้คุณยังอาจพิจารณาใช้rsync คุณสามารถใช้การ-Pตั้งค่าสถานะ (สำหรับ--partial --progress) ซึ่งมีประโยชน์เมื่อคุณคาดว่าจะมีการถ่ายโอนเป็นเวลานานโดยมีการหยุดชะงักซึ่งอาจทำให้ไฟล์ที่ถ่ายโอนบางส่วนถูกเก็บไว้ (ภายใต้สถานการณ์ปกติที่ถูกลบ) เมื่อคุณทำการถ่ายโอนต่อมันจะใช้เวลาไม่นานในการถ่ายโอน

ดังนั้นในกรณีของคุณคุณสามารถทำได้:

rsync -avP world2/ pi@10.1.1.10:world2

(สมมติว่าworld2เป็นไดเรกทอรีคำสั่งนี้จะคัดลอกเนื้อหาของworld2ไปยัง/world2ไดเรกทอรีบนเครื่องระยะไกล)


1

หากเป็นวิธีแก้ปัญหาระยะยาวตัวเลือกอื่นกำลังติดตั้งSyncthingหรือ Bittorrent Sync บนเครื่องทั้งสอง มันทำให้ไดเรกทอรีในหลายเครื่องซิงค์และสามารถจัดการไฟล์และไดเรกทอรีขนาดใหญ่ มันมีประโยชน์มากในฐานะเซิร์ฟเวอร์ไฟล์ข้อมูลสำรองและสำหรับการถ่ายโอนไฟล์

ฉันเพิ่งเปลี่ยนมาเป็น Syncthing จาก btsync Syncthing มีตัวเลือกและการควบคุมเพิ่มเติม (และ btsync มีรหัสกรรมสิทธิ์)

แพ็คเกจ Debian / Ubuntu ของพวกเขาที่ apt.syncthing.net ทำงานได้ดีสำหรับฉันและฉันใช้บทแนะนำนี้เป็นแนวทาง


1

ตั้งค่าการแบ่งปัน 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จากนั้นคุณสามารถนำทางโครงสร้างโฟลเดอร์คัดลอก / วางไฟล์ ฯลฯ


ทำไมต้องโพสต์คำตอบสำหรับคำถามอายุ 2 ปีด้วยคำตอบที่ยอมรับได้ นี่ไม่ใช่คำตอบที่ดีเนื่องจาก SMB เป็น b ของโปรโตคอล หากคุณมี Mac ลองคำตอบ
Milliways

ทำไมต้องโพสต์ความคิดเห็นที่ไม่มีประโยชน์ไปยังคำตอบที่ดีอย่างสมบูรณ์ซึ่งแตกต่างจากโซลูชันอื่น ๆ ทั้งหมดที่มีให้ มีหลายวิธีในการย้ายไฟล์จากที่หนึ่งไปอีกที่หนึ่งซึ่งไม่จำเป็นต้องติดตั้งซอฟต์แวร์อื่น ๆ บน mac และไม่จำเป็นต้องใช้เทอร์มินัลอย่างกว้างขวาง เหตุใดจึงโพสต์ไว้ในเธรดอายุ N ปี A) การแก้ปัญหายังดีอยู่ B) คำถามยังคงมีความเกี่ยวข้อง - ฉันค้นหา google เมื่อเช้านี้และนี่คือผลลัพธ์แรก C) โซลูชันนี้แตกต่างจากโซลูชันอื่นที่ให้ไว้
jrubins

ฉันพูดพาดพิงถึงสิ่งนี้ในคำถามเดิม "หรือฉันต้องใช้ Samba หรือคล้ายกัน" และ (โดยปริยาย) ยกเว้น
Milliways

"หรือฉันต้องใช้ Samba หรือที่คล้ายกัน" ไม่ใช่ภาษายกเว้น ดังนั้นฉันจึงขออภัยที่ให้คำตอบที่ดีแก่คุณอย่างสมบูรณ์ว่า (ในกรณีส่วนใหญ่เนื่องจาก Samba ติดตั้งอยู่ใน RPi distros จำนวนมาก) นั้นง่ายกว่าคำตอบอื่น ๆ ที่ให้ไว้ ฉันไม่เห็นว่าทำไมคุณถึงรู้สึกว่าจำเป็นที่จะต้องโต้เถียงกับคำตอบของฉันและลดระดับลง เพียงเพราะคุณมี 5,000 ชื่อเสียงใน Stack Exchange ไม่ได้หมายความว่าคุณไม่ได้เป็นคนหัวดื้อ
jrubins

0

เพียงใช้ FileZilla และตั้งค่าไซต์ใหม่จากตัวจัดการไซต์บนเมนูไฟล์ จากนั้นเลือก SFTP และกรอกชื่อผู้ใช้และรหัสผ่าน Rasp ให้กับคุณและคุณพร้อมแล้ว


0

วิธีที่ง่ายที่สุดที่ฉันพบคือใช้Cyberduck

  1. เปิดการเชื่อมต่อใหม่
  2. เลือก SFTP จากเมนูแบบเลื่อนลง
  3. เซิร์ฟเวอร์: ใส่ที่อยู่ IP ของ Pi
  4. ชื่อผู้ใช้: ควรเป็น 'pi'
  5. รหัสผ่าน: ควรเป็น 'ราสเบอร์รี่' โดยค่าเริ่มต้นเว้นแต่คุณจะเปลี่ยน

ยกเลิกการเลือกการลงชื่อเข้าใช้แบบไม่ระบุชื่อจากนั้นเชื่อมต่อ


0

การติดตั้งMacFusionบน Mac ของคุณจะทำให้คุณสามารถติด Pi ของคุณผ่าน SSH ได้เช่นเดียวกับวิธีติดตั้ง usb stick บน Mac ของคุณ จากนั้นคุณสามารถใช้ตัวค้นหาเพื่อคัดลอกไฟล์ไปยังโฟลเดอร์ใด ๆ บน Pi ตามที่คุณต้องการ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.