Копировать файлы из OSX в / из Pi


13

У меня есть Pi, работающий без головы, используя ssh и Screen Sharing на OSX и thinvncserver на raspbian.

Могу ли я копировать файлы с Mac на / с Pi, используя ssh или Screen Sharing (то есть VNC), или мне нужно использовать Samba или подобное?


4
Смотрите scpи / или sftp. Если ваш ssh уже работает, они должны быть доступны. Существует также sshfs, который позволяет монтировать разделы в виде NFS.
— Златовласка

1
scp over ssh отлично работает для меня. Я сам использую Cyberduck для передачи файлов, так как я могу просто перетаскивать, как в Finder.
— Гербен

1
Я использовал sftp (используя FileZilla), который получил туда файлы, поэтому запрос теперь закрыт. (Я бы отметил это как принятое.)
— Milliways

Обратите внимание, что шифрование ssh может быть медленным на Pi. Несколько лет назад я обнаружил, что Blowfish является быстрым процессором.
— Турбьерн Равн Андерсен

NFS - это еще один вариант, который имеет наибольшее значение в мире Unix, поскольку является нативным.
— струя

Ответы:


18

За 6 лет, прошедших с момента публикации этого Ответа, многое изменилось.
Поддержка macOS Samba улучшилась, и теперь Apple использует Samba в качестве своей папки по умолчанию для общего доступа к файлам (а afp не работает с более новыми файловыми системами Apple).
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 не требуется. Если вы получили сообщение об ошибке. Не удалось получить дескриптор файла, ссылающийся на консоль с командой open afp, попробуйте еще раз с помощью sudo, также убедитесь, что на вашем компьютере Mac настроен удаленный вход. ,


@Paul Fort: как вы изначально добавили, что такое «команда open afp»? Должно ли "afp" быть "ftp"?
— Питер Мортенсен

@PeterMortensen вы пробовали (или проверили справку Mac)?
— Милливэйс

1
Это круто. Любить это! Спасибо за совет, не знал о возможности сделать это.
— ГДГР

7

если вы можете использовать ssh, то, скорее всего scp(копия SSH) будет работать.

В любом случае, я бы установил samba, потому что повсюду слишком много winboxen, и следующая вещь, которая может вам понадобиться, - это доступ из Windows.


Я попробовал scp на Mac, но пока он не работал, файлы не появлялись (я использовал «sudo scp -v world2 //pi@10.1.1.10:» и варианты). Я использовал scp (на Pi) для передачи ключей RSA. sftp кажется самым простым вариантом.
— Милливей

scpобычно не требует sudo, без него должно работать нормально.
— lenik

scpот Mac до RPi работает как положено и не требует никакого дополнительного программного обеспечения для RPi. netatalkтоже работает хорошо, но, конечно, добавляет программное обеспечение и накладные расходы, которые могут использоваться только изредка.
— Бобстро

3

Ты пробовал 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.
— ccpizza

3

Если у вас много файлов, вы можете также рассмотреть возможность использования rsync . Вы сможете использовать -Pфлаг (для --partial --progress), который удобен, когда вы ожидаете долгую передачу с потенциальными прерываниями - таким образом частично перенесенные файлы будут сохранены (при нормальных обстоятельствах они будут удалены), так что Когда вы возобновите перевод, это не займет много времени, чтобы завершить перевод.

Так что в вашем случае вы могли бы сделать:

rsync -avP world2/ pi@10.1.1.10:world2

(при условии , что world2это каталог, то эта команда будет копировать содержимое из world2к /world2директории на удаленном компьютере)


1

Если это более долгосрочное решение, другой вариант - установить Syncthing или Bittorrent Sync на обеих машинах. Он синхронизирует каталоги на нескольких машинах и может обрабатывать большие файлы и каталоги. Это очень удобно в качестве файлового сервера, для резервного копирования и для передачи файлов.

Я только что переключился на Синхронизацию с btsync. Синхронизация предоставляет больше возможностей и контроля (а 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> go> connect to server (cmd + k)> и введите адрес вашего pi, smb://192.Ras.Piзатем вы сможете перемещаться по структуре папок, копировать / вставлять файлы и т. Д.


Зачем отправлять ответ на 2-летний вопрос с принятым ответом. Это даже не хороший ответ, так как SMB является б. протокола. Если у вас есть Mac, попробуйте ответ.
— Милливэйс

Зачем отправлять бесполезный комментарий на совершенно хороший ответ, который отличается от любого другого решения? Существует несколько способов перемещения файлов из одного места в другое, этот не требует установки какого-либо другого программного обеспечения на Mac и не требует широкого использования терминала. Зачем публиковать его в ветке N лет? A) решение все еще хорошее, B) вопрос по-прежнему актуален - сегодня утром я выполнил поиск в Google, и это первый результат C) это решение отличается от других предоставленных решений.
— Jrubins

Я упоминал об этом в первоначальном вопросе «или мне нужно использовать Samba или подобное» и (неявно) исключил его.
— Milliways

«Или мне нужно использовать Samba или подобное» - это не исключение. Итак, я прошу прощения за то, что дал вам совершенно хороший ответ, который (в большинстве случаев, поскольку Samba уже установлена ​​во многих дистрибутивах RPi) намного проще, чем любой из других предоставленных ответов. Я действительно не понимаю, почему вы чувствуете необходимость поспорить с моим ответом и понизить его. Тот факт, что у вас 5000 репутации на Stack Exchange, не означает, что вы не чурка.
— Jrubins

0

Просто используйте FileZilla и установите новый сайт из менеджера сайта в меню «Файл». Затем выберите SFTP и введите Rasp имя пользователя и пароль, и все готово.


0

Самым простым способом, который я нашел, было использование Cyberduck.

  1. Открыть новое соединение
  2. Выберите SFTP из выпадающего меню
  3. Сервер: введите IP-адрес Pi
  4. Имя пользователя: должно быть «пи»
  5. Пароль: должен быть «малиновым» по умолчанию, если вы не изменили его

отмените выбор анонимного входа и подключитесь.


0

Установка MacFusion на ваш Mac позволит вам подключить Pi к SSH, подобно тому, как вы бы подключили USB-флешку к вашему Mac. Затем вы можете использовать искатель для копирования файлов в любую папку на Pi, как вам угодно.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.