У меня есть Pi, работающий без головы, используя ssh и Screen Sharing на OSX и thinvncserver на raspbian.
Могу ли я копировать файлы с Mac на / с Pi, используя ssh или Screen Sharing (то есть VNC), или мне нужно использовать Samba или подобное?
У меня есть Pi, работающий без головы, используя ssh и Screen Sharing на OSX и thinvncserver на raspbian.
Могу ли я копировать файлы с Mac на / с Pi, используя ssh или Screen Sharing (то есть VNC), или мне нужно использовать Samba или подобное?
Ответы:
За 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 настроен удаленный вход. ,
если вы можете использовать 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 на обеих машинах. Он синхронизирует каталоги на нескольких машинах и может обрабатывать большие файлы и каталоги. Это очень удобно в качестве файлового сервера, для резервного копирования и для передачи файлов.
Я только что переключился на Синхронизацию с btsync. Синхронизация предоставляет больше возможностей и контроля (а 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> go> connect to server (cmd + k)> и введите адрес вашего pi, smb://192.Ras.Pi
затем вы сможете перемещаться по структуре папок, копировать / вставлять файлы и т. Д.
Просто используйте FileZilla и установите новый сайт из менеджера сайта в меню «Файл». Затем выберите SFTP и введите Rasp имя пользователя и пароль, и все готово.
Самым простым способом, который я нашел, было использование Cyberduck.
отмените выбор анонимного входа и подключитесь.
Установка MacFusion на ваш Mac позволит вам подключить Pi к SSH, подобно тому, как вы бы подключили USB-флешку к вашему Mac. Затем вы можете использовать искатель для копирования файлов в любую папку на Pi, как вам угодно.
scp
и / илиsftp
. Если ваш ssh уже работает, они должны быть доступны. Существует такжеsshfs
, который позволяет монтировать разделы в виде NFS.