Timecapsule sur raspberry Pi
Dans ce tutoriel, vous apprendrez à transformer votre Raspberry Pi en Time Capsule pour 35€.

Qu’est-ce qu’une Time Capsule me direz-vous ; et bien c’est un serveur de stockage en ligne / réseau estampillé Apple, faisant tourner la fameuse Time Machine (une sorte de NAS de stockage qui n’utiliserait que les protocoles AFP/Netatalk si on veut vulgariser). Cette « Time Machine » offre la possibilité de stocker et restaurer facilement des sauvegardes cryptées de vos données.

Chez Apple, la bestiole coûte 299$ pour 2To, chez Raspberry Pi, ça coûte 35€.

Matériel

Vous aurez besoin :

  • D’un Raspberry Pi B ou B+, avec une Raspbian ou Arch
  • D’une clef USB gigantesque ou d’un disque dur USB (sur secteur, c’est mieux)

Le mieux reste d’avoir la dernière version du Raspberry Pi avec un HDD externe branché sur secteur qui tient la route niveau performance, pour que ça tourne un minimum.

Préparation du disque dur

Dans un premier temps, assurez vous que le disque dur et bien branché, et formaté / partitionné en EXT4. Installez ensuite cfdisk, ou votre logiciel de partitionnement préféré.

Sur Debian :

apt-get install cfdisk

Sur Arch:

pacman -Sy cfdisk

Lancez la commande dmesg et notez les dernières lignes qui s’affichent. Débranchez et rebranchez le périphérique de stockage USB et relancez la commande. Vous devriez voir ceci apparaître :

[ 7793.698383] usb 1-2.4: USB disconnect, device number 11
[ 7798.233788] usb 1-2.4: new high-speed USB device number 12 using xhci_hcd
[ 7798.326648] usb-storage 1-2.4:1.0: USB Mass Storage device detected
[ 7799.331790] sd 3:0:0:0: [sdb] Attached SCSI removable disk

Vous pouvez constater que votre disque est dans /dev/sdb. Il faudra donc, pour le formater entrer cette commande (Attention : bien penser à remplacer le /dev/sdb par votre configuration. Une erreur de typo et c’est le drame, vous perdez toutes vos données) :

cfdisk /dev/sdb

Créez ensuite une seule belle grande partition Linux pour stocker vos données. Le formatage effacera systématiquement vos données.

Si votre disque fait plus de 2To, vous aurez sans doute besoin de créer une table GPT avec parted :

parted /dev/sdb
mklabel gpt
unit s
mkpart primary 2048s 100%
name 1 BFS
quit

Créez ensuite le filesystem EXT4 via cette commande, avant de passer à l’étape de montage du disque

mkfs.ext4 /dev/sdb1

Montage du disque dur

Pour monter le disque dur de façon permanente sans avoir à refaire de manipulation à chaque reboot, on utilisera le classique fstab.

Il faudra ensuite :

1 – Créer le répertoire de montage accueillant le disque (choisissez votre propre dossier) :

mkdir -p /mnt/data

2a – Ouvrir le fichier de montage des disque

vim /etc/fstab

2b – Y ajouter la ligne suivante avant de fermer le fichier

/dev/sdb1 /mnt/data ext4 noexec,defaults 0 0

3 – Montez le disque dur

mount -a

La commande df -h vous permettra de vérifier que tout est ok.

Installation de Netatalk

Netatalk vous permettra de jouer avec le protocole AFP utilisé par la Time Machine d’Apple. Pour installer le démon, c’est très simple.

Sur Debian

apt-get install netatalk

Sur Arch

pacman -Sy netatalk

Sur les Arch Linux Arm, « AUR » est un repository par défaut. Si vous êtes sur un Arch « standard », vous aurez donc besoin d’installer Yahourt, pour installer et builder Netatalk par vous même.

Lancer le service au démarrage du système :

Sur Debian

update-rc.d netatalk defaults

Sur Arch

systemctl enable netatalk

Configuration de Netatalk

1 – Commençons par modifier le fichier /etc/afp.conf :

vim /etc/afp.conf

2 – Ajoutez ces quelques lignes en prenant soin de modifier path, user et plage IP à votre convenance :

[Global]
 mimic model = TimeCapsule6,106
 log level = default:warn
 log file = /var/log/afpd.log
 hosts allow = 196.168.1.0/24
 
[Homes]
 basedir regex = /home
 
[TimeMachine]
 path = /mnt/data/timecapsule/
 valid users = tmuser anso antoine
 time machine = yes
 
[Shared Media]
 path = /mnt/data/torrents/
 valid users = anso antoine

* Notez bien que les symlink ne fonctionnent pas correctement avec Netatalk.
** Notez également que la configuration prend en compte un média partagé pour les torrents en provenance de transmission, au cas ou vous souhaiteriez le voir apparaître pour votre utilisation personnelle.

3 – Créez les dossiers si ce n’est pas déjà fait :

mkdir -p /mnt/data/{timecapsule,torrents}

4 – Lancer le service Netatalk :
Sur Debian :

service netatalk restart

Sur Arch :

systemctl restart netatalk

5 – (facultatif) Vous aurez besoin de configurer le service Avari pour obtenir le service Bonjour sur Arch (sauf pour arch linux arm où le service est déjà activé).

6 – Vous aurez probablement également besoin d’ajouter les users et de leur attacher un groupe.

Ajouter un user

useradd myuser

Changer le mot de passe de myuser

passwd myuser

Ajouter un groupe « mygroup »

groupadd mygroup

Ajouter le user « myuser » au groupe « mygroup »

usermod -aG mygroup myuser

Ajouter les permissions aux répertoires

chown remy:users /mnt/data/timecapsule 
chmod 775 /mnt/data/timecapsule

Pour finir

En fait, le tutoriel est fini : vous pouvez désormais configurer votre Time Machine sur votre Mac sans problème. Ça vous aura coûté 35€, quelques cheveux blancs, et pourquoi pas un petit don pour m’encourager à vous fournir toujours plus d’astuces (à votre bon cœur messieurs dames ^^).





time machine apple

Bon, c’est vrai que ce n’est pas très rapide, mais si vous ne faites pas de copier/coller acharnés jour et nuit sur votre Mac, ça fonctionne correctement.

[traduit et retravaillé à partir de l'article original de Trewq.]

Vous aimez cet article ? Partagez le.

By TechRevolutions| 4 Comments | Apple, Outil, Tutoriaux
1