J'ai un Pi sans tête utilisant ssh et partage d'écran sur OSX et tightvncserver sur raspbian.
Puis-je copier des fichiers du Mac vers / depuis le Pi en utilisant ssh ou le partage d'écran (c'est-à-dire VNC) ou dois-je utiliser Samba ou similaire?
J'ai un Pi sans tête utilisant ssh et partage d'écran sur OSX et tightvncserver sur raspbian.
Puis-je copier des fichiers du Mac vers / depuis le Pi en utilisant ssh ou le partage d'écran (c'est-à-dire VNC) ou dois-je utiliser Samba ou similaire?
Réponses:
Au cours des 6 années écoulées depuis que j'ai publié cette réponse, beaucoup de choses ont changé.
La prise en charge de macOS Samba s'est améliorée et Apple utilise maintenant Samba par défaut pour le partage de fichiers (et afp ne fonctionne pas avec les nouveaux fichiers Apple)
Debian Buster utilise maintenant netatalk 3 - qui a des changements importants et nécessite plus de configuration pour faire quoi que ce soit d'utile.
Le support nfs est bien meilleur dans le Raspbian récent, mais a toujours des problèmes avec la permission d'écriture de macOS.J'utilise tous ftp, Samba, afp et nfs;
principalementftp
(Filezilla) pour le transfert de fichiers de routine vers / depuis le Pi
etSamba
pour parcourir le Pi Home et les systèmes de fichiers partagés et pour monter en boucle mes images de sauvegarde pour la sauvegarde / restauration.
J'ai utilisé ftp pour résoudre mon problème (comme indiqué ci-dessus), mais j'ai récemment découvert une autre méthode, que d'autres utilisateurs de Mac peuvent trouver utile.
sudo apt-get install netatalk
Installe le protocole appletalk sur le Pi. Cela vous permet d'utiliser les éléments suivants (à l'invite du terminal sur le Mac) pour vous connecter au Pi
open afp://10.1.1.10 (replace this with your Raspberry Pi IP address)
Vous pouvez ensuite utiliser Finder (ou tout autre FileManager, par exemple QuollEyeTree) pour transférer des fichiers vers ou depuis le Pi, en utilisant les mêmes techniques que vous utiliseriez sur Mac
Remarque: cette modification est effectuée par un autre utilisateur et AFAIK n'est pas nécessaire Si vous obtenez l'erreur Impossible d'obtenir un descripteur de fichier faisant référence à la console avec la commande open afp, essayez à nouveau avec sudo, assurez-vous également que la connexion à distance est configurée sur votre mac .
si vous pouvez utiliser ssh
, alors très probablement scp
(copie SSH) fonctionnera également.
j'installerais samba de toute façon, car il y a trop de winboxen partout et la prochaine chose dont vous pourriez avoir besoin sera l'accès depuis Windows.
scp
ne nécessite généralement pas sudo
, devrait fonctionner correctement sans elle.
scp
d'un Mac à RPi fonctionne comme prévu et ne nécessite aucun logiciel supplémentaire sur le RPi. netatalk
fonctionne bien aussi, mais bien sûr, ajoute des logiciels et des frais généraux qui ne peuvent être utilisés qu'occasionnellement.
Avez-vous essayé scp
avec le -r
drapeau? Parce que sans lui, il n'effectuera pas de copie récursive.
Si vous cherchiez à copier le fichier ou le dossier world2
, voici comment je le ferais:
$ scp -rv world2 pi@10.1.1.10:/path/to/copy/of/world2/
scp
beaucoup plus facile si vous définissez vos hôtes dans ~/.ssh/config
(voir nerderati.com/2011/03/17/… ) - si vous configurez votre hôte comme rpi
, alors vous pouvez utiliser quelque chose comme scp -r world2 rpi:/path/to/copy/of/world2/
. Juste au cas où il est pas évident, cela fonctionne dans l'autre sens, par exemple: scp rpi:.bashrc somedir
. Si un chemin n'est pas absolu, il sera relatif à $HOME
.
Si vous avez beaucoup de fichiers, vous pouvez également envisager d'utiliser rsync . Vous seriez en mesure d'utiliser l' -P
indicateur (pour --partial --progress
), ce qui est pratique lorsque vous prévoyez un long transfert avec des interruptions potentielles - de cette façon, les fichiers partiellement transférés seront conservés (dans des circonstances normales, ils sont supprimés), de sorte que lorsque vous reprenez le transfert, il ne faudra pas autant de temps pour terminer le transfert.
Donc, dans votre cas, vous pourriez faire:
rsync -avP world2/ pi@10.1.1.10:world2
(en supposant qu'il world2
s'agit d'un répertoire, cette commande copiera le contenu de world2
dans le /world2
répertoire de la machine distante)
S'il s'agit d'une solution à plus long terme, une autre option consiste à installer Syncthing ou Bittorrent Sync sur les deux machines. Il garde les répertoires sur plusieurs machines synchronisés et peut gérer de gros fichiers et répertoires. Il est très pratique en tant que serveur de fichiers, sauvegarde et transfert de fichiers.
Je viens de passer à Syncthing de btsync. Syncthing offre plus d'options et de contrôle (et btsync a un code propriétaire).
Leur paquet Debian / Ubuntu sur apt.syncthing.net a bien fonctionné pour moi et j'ai utilisé ce tutoriel comme guide
Configurez le partage SMB sur votre Pi, http://raspberrywebserver.com/serveradmin/share-your-raspberry-pis-files-and-folders-across-a-network.html
Ensuite, sur votre Mac, allez dans Finder> allez> se connecter au serveur (cmd + k)> et entrez l'adresse de votre pi smb://192.Ras.Pi
puis vous pouvez naviguer dans la structure des dossiers, copier / coller des fichiers, etc.
Utilisez simplement FileZilla et définissez un nouveau site à partir du gestionnaire de sites dans le menu Fichier. Ensuite, sélectionnez SFTP et remplissez avec votre nom d'utilisateur et mot de passe Rasp et vous êtes prêt à partir.
La manière la plus simple que j'ai trouvée était d'utiliser Cyberduck.
désélectionnez la connexion anonyme, puis connectez-vous.
L'installation de MacFusion sur votre Mac vous permettra de monter votre Pi sur SSH, de la même manière que vous monteriez une clé USB sur votre Mac. Ensuite, vous pouvez utiliser le Finder pour copier les fichiers dans n'importe quel dossier du Pi à votre guise.
scp
et / ousftp
. Si votre ssh fonctionne déjà, ils devraient être disponibles. Il y a aussi unsshfs
, qui permet le montage de partages à la NFS.