Macberry Pi : configurer un Raspberry Pi et l'utiliser comme serveur Time Machine

Antoine Collin |

Le Raspberry Pi. Ce petit ordinateur annoncé en 2011 a été vendu à plus d'un million d'exemplaires depuis le début de sa commercialisation il y a un an. Nous vous l'avions présenté en juin 2012, nous vous proposons aujourd'hui une série d'articles qui va vous permettre d'intégrer facilement un Raspberry Pi dans un environnement Apple.






Installer et configurer un Raspberry Pi



La première chose à faire est d'acheter un Raspberry Pi. Nous avons besoin de la version B de l'appareil, qui est doté d'une prise RJ45 et vaut environ 35 €.



En plus de la carte elle-même, il nous faudra une carte SD pour le système (nous vous recommandons une carte SDHC Class 6 de 4 Go), une alimentation USB capable de fournir 700 mA au minimum (un chargeur d'iPhone est parfait pour cet usage), un câble microUSB et un câble RJ45 pour relier le Raspberry Pi au réseau. Dans notre cas, nous avons aussi investi dans un boîtier, mais un simple morceau de carton suffit amplement.





Pour l'installation initiale, il faudra aussi un clavier USB, un câble HDMI et un écran compatible, n'importe quel téléviseur LCD devrait suffire. Un Mac avec un lecteur de cartes SD est aussi indispensable pour l'installation.



L'installation initiale



Nos explications ont été écrites pour des personnes qui n'ont jamais utilisé de distribution Linux et n'importe quel néophyte devrait pouvoir mettre en place un serveur Time Machine. La première chose à faire est d'aller télécharger une image du système du Raspberry Pi. Nous avons utilisé la distribution Raspbian qui est proposée par la fondation à l'origine du projet. Il s'agit d'une variante de la distribution GNU/Linux Debian optimisée pour le processeur ARM du Raspberry Pi.



Une fois l'image téléchargée, nous allons utiliser un petit outil qui va installer le système sur la carte SD. Attention, cette dernière sera totalement effacée. Téléchargez RPi-sd card builder, un utilitaire qui va préparer la carte. Le fonctionnement est simple : vous choisissez l'image téléchargée précédemment, vous choisissez la carte SD et vous attendez. Avec une carte de 4 Go Class 6, l'installation prend moins de 5 minutes.





Maintenant, il faut placer la carte dans l'emplacement SD du Raspberry Pi, brancher un clavier USB, le câble HDMI et la prise microUSB. Après quelques secondes, le système devrait démarrer et vous allez arriver sur l'écran de configuration du Raspberry Pi.



La première chose à faire est d'utiliser tout l'espace de la carte SD, en utilisant le menu expand_rootfs. Il faut ensuite changer le mot de passe de l'utilisateur dans le menu change_pass, configurer le clavier dans configure_keyboard et activer l'accès SSH dans ssh.







Pour les amateurs, il est aussi possible d'overclocker le Raspberry Pi, mais nous n'en avons pas besoin dans notre cas.



Petite subtilité ici, il existe en fait plusieurs modèles de Raspberry Pi : la version A et la version B originales disposent de 256 Mo de RAM, partagée entre le système et le contrôleur vidéo, alors que la version B actuelle dispose de 512 Mo de RAM. Si vous avez un Raspberry Pi récent doté de 512 Mo de RAM, il n'y a rien à faire ici, alors que si vous avez un modèle doté de 256 Mo de RAM, il faut se rendre dans memory_split et définir une mémoire vidéo de 16 Mo. Comme nous n'allons pas utiliser la partie vidéo du Raspberry Pi, nous allons allouer le maximum de mémoire au système.



sudo reboot


Une fois le Raspberry Pi redémarré, il faut vous connecter avec le nom d'utilisateur pi et votre mot de passe. Nous allons ensuite taper une commande qui va nous permettre d'obtenir l'adresse IP du Raspberry Pi.



ifconfig


Une fois l'adresse obtenue, vous pouvez ranger le clavier et l'écran, la suite se fera sur votre Mac.



Détection du Raspberry Pi



Nous allons maintenant profiter d'une technologie intégrée à Mac OS X depuis Jaguar, Bonjour. Cette technologie permet à un périphérique de s'annoncer directement sur le réseau, ce qui va permettre d'éviter d'utiliser l'adresse IP du Raspberry Pi.



Première chose à faire, lancer le Terminal sur votre Mac et taper la commande suivante, en utilisant l'adresse IP obtenue précédemment.



ssh pi@adresse_ip


Entrez votre mot de passe et tapez ensuite la commande suivante. Elle va installer Avahi, une implémentation libre du protocole Bonjour, et les programmes nécessaires à son fonctionnement.



 sudo apt-get update 


sudo apt-get install libdb5.1-dev db5.1-util libgcrypt11-dev avahi-daemon libavahi-client-dev


Une fois Avahi installé, la commande suivante va permettre de lancer le programme à chaque démarrage.



sudo update-rc.d avahi-daemon defaults


Maintenant, nous allons utiliser Avahi pour que le Raspberry Pi soit accessible sur une adresse compréhensible et pas sur son adresse IP. La commande va créer un service qui va permettre au Raspberry Pi de s'annoncer pour un accès SSH. Pour ceux qui ne connaissent pas Nano, il suffit d'utiliser les commandes ^O pour sauver et ^X pour quitter.



sudo nano /etc/avahi/services/ssh.service


Dans ce fichier, il faut copier les données suivantes :



<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
<name replace-wildcards="yes">%h SSH</name>
<service>
<type>_ssh._tcp</type>
<port>22</port>
</service>
</service-group>


On va aussi en profiter pour changer le nom utilisé pour identifier le Raspberry Pi sur le réseau. Par défaut, il utilise le hostname raspberrypi, nous allons utiliser MacberryPi.



sudo nano /etc/hosts


Dans ce fichier, il faut changer la valeur qui suit 127.0.1.1 par le nom voulu.



sudo nano /etc/hostname


Ici, il faut mettre en début de fichier le nom voulu.



Une fois que c'est fait, il faut redémarrer et vérifier que le Raspberry Pi est accessible. La commande suivante permet de redémarrer le périphérique.



sudo reboot


Si tout s'est bien passé, l'accès SSH va être fermé et vous pourrez ensuite vous connecter après environ une minute avec la commande qui suit.



ssh pi@MacberryPi.local


Le Raspbbery Pi est donc accessible en SSH via l'adresse MacberryPi.local, ce qui évite de devoir déterminer l'adresse IP de l'appareil : c'est le Raspberry Pi lui-même qui va effectuer la correspondance et vous simplifier la vie.



Nous pourrions éteindre le Raspberry Pi avec la commande suivante, mais nous allons plutôt nous attaquer à le transformer en serveur Time Machine.



sudo halt




Un Raspberry Pi comme serveur de fichiers et serveur Time Machine



S'il est possible de partager le contenu de la carte SD du Raspberry Pi, nous vous conseillons tout de même d'utiliser une clef USB ou un disque dur dédié à cet usage, en fonction de vos besoins. Pour créer un espace accessible depuis tous vos appareils, une simple clef USB suffira, pour effectuer des sauvegardes Time Machine, un disque dur est évidemment requis, pour des questions de capacité.



MacBerry Pi



Le Raspberry Pi, spécialement dans ses premières versions, souffre d'un souci : des ports USB incapables de fournir les 500 mA de la norme. Concrètement, les disques durs 2,5" alimentés par le bus USB ne fonctionnent pas directement sur le Raspberry Pi, il est nécessaire d'utiliser une source d'alimentation externe comme un chargeur de smartphone ou un hub USB alimenté. Le meilleur choix reste bien évidemment un modèle 3,5", qui dispose de sa propre alimentation. Ne vous encombrez pas d'un modèle USB 3.0 : le Raspberry Pi se limite à l'USB 2.0.



La gestion du stockage



Avant d'installer les logiciels nécessaires, nous allons d'abord nous occuper du stockage. Il existe trois solutions : utiliser un disque dur formaté dans un système de fichiers adapté à Linux (ext4), utiliser le système de fichier HFS+ d'Apple ou utiliser un disque dur formaté en NTFS (via NTFS3G, comme sur Mac). Nous n'allons aborder que la seconde solution.



Branchez le disque dur au Raspberry Pi et connectez-vous, via une commande dans le Terminal. Pour simplifier les choses, nous supposons que vous avez formaté le disque dur en HFS+ depuis un Mac.



ssh pi@MacberryPi.local


Maintenant, nous allons installer les outils permettant de lire et écrire sur une partition en HFS+ depuis Linux.



sudo apt-get install hfsplus hfsutils hfsprogs


Une fois l'installation effectuée, nous allons monter la partition et modifier le système pour qu'elle soit chargée à chaque démarrage. Attention, le système cherchera le disque dur à chaque démarrage, ce qui peut poser des soucis s'il est débranché, en arrêtant le processus de démarrage. Dans ce cas, le plus simple est d'éteindre le Raspberry Pi et de le rallumer en branchant le disque dur.



sudo blkid


Cette commande va lister les périphériques et vous devriez obtenir un résultat de ce type. Il faut copier la valeur UUID, que nous allons utiliser pour identifier le disque dur.



/dev/sda1: UUID="2b629aaa-74c8-348b-b78a-6c11e2b9ca90" LABEL="Time Machine" TYPE="hfsplus"


Maintenant, créez un point de montage dans le dossier media, que nous allons appeler ici timemachine.



sudo mkdir /media/timemachine


Dans ce dossier, nous allons monter automatiquement notre disque dur, en allant modifier le fichier /etc/fstab. Attention, alors que la commande blkid donne l'UUID entre guillemets, il ne faut pas en mettre dans le fichier fstab. Il faut donc ajouter la seconde ligne de code à la fin du fichier fstab pour monter automatiquement le disque dur.



sudo nano /etc/fstab
UUID=votre_UUID /media/timemachine hfsplus rw,force,exec,auto,users 0 3


Maintenant, nous allons redémarrer le Raspberry Pi, nous reconnecter et vérifier que le disque dur est bien monté. Si tout se passe bien, les données déjà présentes sur le disque dur devraient apparaître.



sudo reboot
ssh pi@MacberryPi.local
cd /media/timemachine
ls


L'installation de Netatalk



Apple, pour le partage de fichiers, utilise son propre protocole, l'AFP. Une implémentation libre de ce dernier existe, elle est d'ailleurs utilisée dans beaucoup de NAS : il s'agit de Netatalk. Pour une prise en charge fonctionnelle de Time Machine sous Lion et Mountain Lion, il est nécessaire d'installer une version récente du logiciel, nous allons donc télécharger et compiler la dernière version de Netatalk (la 3.0.2 à l'heure où nous écrivons ces lignes). Le processus peut être long, le Raspberry Pi, rappelons-le, n'est pas un foudre de guerre.



cd ~/
wget http://sourceforge.net/projects/netatalk/files/netatalk/3.0.2/netatalk-3.0.2.tar.gz
tar xvzf netatalk-3.0.2.tar.gz
cd netatalk-3.0.2
./configure --with-init-style=debian --with-zeroconf
make
sudo make install


Une fois Netatalk compilé et installé, nous allons lancer le logiciel automatiquement au démarrage, avec la commande suivante.



sudo update-rc.d netatalk defaults


Partager un dossier via AFP



Nous allons maintenant partager un dossier du disque dur via AFP sur le réseau. Nous allons donc créer un utilisateur dédié (pour plus de sécurité) et un dossier, auquel nous allons lier le compte. C'est ce compte utilisateur qu'il faudra utiliser (avec son mot de passe associé) pour accéder au partage à travers le Finder.



cd /media/timemachine
mkdir AFP
sudo adduser afp
sudo chown afp /media/timemachine/AFP


La seconde étape consiste à configurer Netatalk pour que le dossier soit partagé.



sudo nano /usr/local/etc/afp.conf


Nous allons modifier le fichier pour qu'il ressemble à celui qui suit. La variable mimic model indique que le Raspberry Pi se fera ici passer pour un boîtier Time Capsule.



[Global]
vol preset = default_for_all_vol
log file = /var/log/netatalk.log
uam list = uams_dhx.so,uams_dhx2_passwd.so
save password = yes
mimic model = TimeCapsule

[default_for_all_vol]
cnid scheme = dbd


À la fin de notre fichier, nous allons ensuite ajouter notre partage. Vous devez entrer le nom du partage entre crochets et ajouter le chemin. Vous pouvez insérer plusieurs utilisateurs en modifiant la variable valid users et en en ajoutant d'autres : il suffit de les séparer par une espace. Puis il faut sauver (^O) et quitter (^X).



[Mon Premier partage AFP]
path = /media/timemachine/AFP
valid users = afp


Maintenant, vous pouvez redémarrer Netatalk et attendre que le partage apparaisse dans le Finder.



/etc/init.d/netatalk restart




Effectuer des sauvegardes Time Machine



Pour effectuer des sauvegardes Time Machine en réseau, le fonctionnement est totalement identique. Il faut créer un utilisateur (pour plus de sûreté), choisir ce que l'on veut partager et l'activer dans Netatalk.



cd /media/timemachine
mkdir timemachine
sudo adduser timemachine
sudo chown afp /media/timemachine/timemachine
sudo nano /usr/local/etc/afp.conf


La seule différence vient d'une variable à ajouter : time machine = yes.



[Mon Time Machine]
path = /media/USBstorage/timemachine
valid users = timemachine
time machine = yes


Comme auparavant, il faut redémarrer Netatalk pour que le partage apparaisse.



/etc/init.d/netatalk restart


Une fois que c'est fait, OS X devrait vous proposer votre Raspberry Pi dans la liste des disques durs disponibles pour une sauvegarde Time Machine.





Un point sur les performances



Avant de terminer, un point sur les performances. Le Raspberry Pi n'est pas un appareil très rapide, et son sous-système USB est lent : l'Ethernet et les prises USB 2.0 se partagent le même bus en interne et les performances sont donc limitées. Dans le meilleur des cas, vous atteindrez donc les limites de l'Ethernet à 100 mégabits/s de l'appareil (12,5 Mo/s) mais vous serez parfois en dessous, notamment dès qu'il faudra traiter des petits fichiers. Pour information, les performances sont généralement supérieures quand le disque dur est formaté en ext4 et nettement inférieures quand le disque dur est formaté en NTFS. Dans notre cas, le côté pratique du HFS+ est toutefois plus avantageux que le faible gain dû au passage en ext4.



Le Raspberry Pi n'est donc pas totalement viable pour effectuer des sauvegardes Time Machine, spécialement si vous avez beaucoup de données à sauver. Mais pour sauvegarder une machine comme un MacBook Air doté d'un SSD de 64 Go, les performances sont suffisantes. Il faut simplement bien prendre en compte que la sauvegarde initiale sera bien plus lente qu'avec un véritable boîtier Time Capsule ou avec un disque dur en local.



Dans un prochain article, nous verrons comment utiliser le Raspberry Pi pour partager une imprimante via AirPrint, pour l'utiliser avec un iPad, un iPhone ou même un Mac OS X récent.

avatar Anonyme (non vérifié) | 
Bravo! Enfin une bonne excuse pour un amateur curieux habitué à Mac OS d' en acheter un afin de se lancer
avatar Terence993 | 
J'attends le prochain article avec impatience :)
avatar nono1414 | 
Oui vivement le prochain article car vraiment intéressant Bravo
avatar chevalbert | 
Genial! merci MacG! Possibilité de faire une variante de cet article pour créer une bibliothèque iTunes partagée ? (Je m'explique: comment utiliser le Pi pour créer une vidéothèque iTunes que l'on puisse lire sur l'Apple TV - a l'instar d'une bibliothèque iTunes sur un Mac) (le but étant d'avoir a investir dans un Mac mini pour créer un serveur multimédia connecté a l'Apple TV..)
avatar Anonyme (non vérifié) | 
Si le partage en AFP est activé (Page 2, paragraphe 4) alors il est possible de mettre une bibliothèque iTunes dedans et la partager en local
avatar PiRMeZuR | 
Très bon article, qui permet en même temps de se former à l'installation de paquets sous Debian, j'en ai déjà un qui tourne comme passerelle multimédia dans le salon, mais je vais peut-être en acheter un second s'il est possible de l'utiliser simultanément pour Time Machine et Airprint.
avatar mbpmbpmbp | 
Je ne vais pas en avoir besoin mais il faut saluer cet excellent article, bravo !
avatar joneskind | 
Merci MacGé !
avatar IAmSchrodinger | 
Ou alors comme d'une borne airport ! http://trouch.com/2012/08/20/airpi-airplay-audio-sur-raspberry-fr/
avatar Tom.P | 
article déjà dans mes favoris ! moi j'vais avoir besoin de plusieurs RPi je crois, mais j'voudrais posé la question au cas ou. Je voudrais utilisé un Rpi dans l'usage présent (time capsule et partage de fichier (via serveur plex, possible ?) et pourquoi pas airplay/partage imprimante aussi). J'utiliserais aussi surement un Rpi avec un XBMC frodo (dans ce cas, le RPi de partage serait-il accessible ?) Et quelqu'un sais si sous xbmc frodo airplay (vidéo) est fluide ou non ? =) Edit: en gros peut on surtout se servir d'un RPi pour plusieurs utilisation en simultané en chainant les installation ^^ ?
avatar Monsieur Albert | 
Super idée cette série d'articles !
avatar ben865 | 
Je vais tester ça ce weekend !! Merci MacG !! On en veut d'autres des tutos comme ça !!!!
avatar YARK | 
Là, c'est le côté informatique que je maîtrise pas du tout. Ça sert à piloter un disque dur que l'on peut mettre en réseau, c'est ça ? Style une bibliothèque iTunes sur le même principe ? C'était plus simple les Pif Gadget des années 70 ;-)
avatar jujuv71 | 
512 Mo de RAM.... Hum hum..... Donc à partir de Tiger, on oublie, hein ?!?!.....
avatar Anonyme (non vérifié) | 
@Tom.P http://www.raspbmc.com/ Xbmc pour le r-pi. AirPlay, upnp, etc. Impressionnant de fluidité, installation en 2 clicks, configurable à souhait.
avatar albedo83 | 
@jujuv71 Il ne s'agit pas d'installer OSX dessus :D Excellent ce type d'articles
avatar pautex | 
En commande aussi avec iPhone voir l'article : http://www.pautex.fr/domotique/rgb.php pour piloter une lampe RGB de puissance
avatar Bouba | 
Vraiment très intéressant, merci macg!
avatar ragmaxone | 
XBMC et AirPlay marchent très bien, hormis un soucis d'orientation des vidéos : il lit les vidéos portrait en paysage.
avatar ragmaxone | 
Vraiment super génial cet article!!! Comme beaucoup j'attends le suivant Avec impatience!!! L'idée avec iTunes m'intéresse énormément, s'il vous plaît, faites nous ça :D
avatar Tom.P | 
@pingubuntu Merci pour ton retour, plus qu'à trouver la config parfaite pour le Rpi de partage ^^ (j'avoue que je m'étais déjà renseigner sur les config xbmc de ce côté là ça allait mais au moins si c'est fluide c'est une très bonne chose pour la future télé connecté des parents) Au passage j'en profite pour dire qu'il est dispo en commande chez matériel.net depuis hier ! =D http://www.materiel.net/achat/raspberry-pi/?affcode=PdNet
avatar Simmalt | 
Bien joué, MacG. Ça donne envie de s'y mettre.
avatar Anonyme (non vérifié) | 
Merci pour cet article ! J'ai déjà 2 RasPi chez moi : un pour faire du partage de fichiers accessible depuis l'extérieur avec OwnCloud (Dropbox like), et un second comme petite station multimédia pour ma TV avec XBMC (distribution RaspBMC). Dans le premier cas, c'est vraiment génial, ça permet de se passer de Dropbox et d'héberger ses fichiers chez soi. Il existe un client Mac pour synchroniser ses fichiers, c'est vraiment pas mal. OwnCloud permet aussi de faire un calendrier partager, de gérer ses contacts, ou encore de créer plusieurs utilisateurs pour héberger / partager des fichiers. L'interface Web est un peu lente mais c'est largement utilisable. Dans le second cas, c'est génial aussi. XBMC est vraiment bien, il existe tout un tas d'extensions pour lire des vidéos YouTube, écouter de la musique sur MixCloud, ou encore écouter la radio (pratique quand on n'a pas de radio chez soi). De plus, XBMC permet de lire des vidéos ou d'écouter de la musique en AirPlay depuis mon iPad ou mon iPhone (je n'ai pas encore réussi depuis mon Mac mais je n'ai pas trop cherché). Je n'ai pas réussi à faire fonctionner la recopie vidéo en AirPlay, mais j'ai encore espoir. Il existe une app iOS servant de télécommande (vraiment bien faite), et il est même possible de contrôler l'interface de XBMC avec la télécommande de ma TV. Bref, de quoi repousser l'achat d'une Apple TV, tout ça pour environ 50€ tout compris. Ma prochaine étape sera de partager mon imprimante sur le wifi pour pouvoir imprimer depuis mon iPad. J'attends avec impatience votre prochain article.
avatar Flyingbike | 
Excellent !!!
avatar Johnny B. Good | 
Article sur le fond très intéressant, qui donne envié de bidouiller. Par contre, je suis obligé de rire quand je lis, au début de l'article, qu'un néophyte s'en sortira. On ne doit pas connaître les mêmes néophytes...

Pages

CONNEXION UTILISATEUR