Skip to content

Création d’une Time Machine sous Debian

Si comme moi vous disposez d’un ordinateur sous macOS, d’un NAS « maison » et que vous souhaitez profiter de l’utilitaire de sauvegarde d’Apple « Time Machine » sans dépenser inutilement de l’argent dans le périphérique éponyme d’Apple, ce tuto est fait pour vous ! 🙂

Dans ce billet, nous allons voir ensemble comment compiler et configurer netatalk 3, un logiciel permettant le partage de dossier via le protocol apfd utilisé par macOS et permettant également de simuler le fonctionnement d’une Time Machine de Apple et donc l’utilisation de l’utilitaire de sauvegarde éponyme.

Ce tutoriel s’adresse à toute personne disposant d’un PC/NAS/Server sous Debian.

Installation de Netatalk 3

Malheureusement, Netatalk 3 n’est prévu que pour la prochaine version de Debian et n’est donc pas intégré a Jessie, nous allons donc devoir compiler nous même le logiciel afin de procéder à son installation.

Rassurez-vous, c’est très simple ! 🙂

Commençons par l’installation des outils de compilation (build-essentials) et tout un ensemble de dépendances :

apt install build-essential libevent-dev libssl-dev libgcrypt11-dev libkrb5-dev libpam0g-dev libwrap0-dev libdb-dev libtdb-dev avahi-daemon libavahi-client-dev libacl1-dev libldap2-dev libcrack2-dev systemtap-sdt-dev libdbus-1-dev libdbus-glib-1-dev libglib2.0-dev libio-socket-inet6-perl tracker libtracker-sparql-1.0-dev libtracker-miner-1.0-dev

Ensuite, on télécharge et compile Netatalk :

git clone https://github.com/adiknoth/netatalk-debian
cd netatalk-debian
debuild -b -uc -us

Ce qui devrait vous générer ces 3 fichiers :
libatalk-dev_3.1.X_amd64.deb
libatalk16_3.1.X_amd64.deb
netatalk_3.1.X_amd64.deb

Pour l’installation, on commence par supprimer toutes anciennes version de Netatalk :

apt-get remove netatalk

Et on installe nous packages créés juste au dessus :

dpkg -i libatalk16_3.1.X_amd64.deb netatalk_3.1.X_amd64.deb

Et voilà 🙂 Netatalk est maintenant installé, il ne reste plus qu’a configurer celui-ci !

Configuration de Netatalk 3

La configuration est on ne peut plus simple.

Je ne vais pas couvrir toutes les options possible ici, la documentation de Netatalk est là pour ça 😉

Voici la configuration que j’utilise sur mon serveur de fichier :

 

# cat /etc/netatalk/afp.conf
[Global]
spotlight = no
mimic model = TimeCapsule6,116
hosts allow = 10.10.0.0/24 # indiquez ici le réseau qui accedera a la TimeMachine
log file = /var/log/netatalk.log
hostname = Files # le hostname de votre serveur, sera utile pour identifier votre TM sous macOS
log level = default:error
zeroconf = yes
uam list = uams_dhx2_passwd.so uams_guest.so

[Backups]
path = /data/shares/backup
valid users = maiko

[Home]
basedir regex = /date/shares/chrooted_usersdirs

[Medias]
path = /data/shares/media
valid users = @users

[TimeMachine]
path = /data/shares/TimeMachine
time machine = yes
vol size limit = 1024000
valid users = @users

Dans cette configuration, mon utilisateur, maiko, est le seul à pouvoir accéder au partage afp Backups. Les utilisateurs du groupe unix users peuvent accéder au dossier Medias ainsi qu’a la Time Machine. Pour finir, tout utilisateur unix du serveur peut acceder a son dossier utilisateur (sa home). Les partages de dossiers utilisateurs, backups et medias existe déjà en partage samba pour mes ordinateurs sous Windows et Linux.

Utilisation de la Time Machine sur macOS

Pour commencer, il faut dire à macOS d’utiliser un partage réseau pas vraiment reconnu une vrai Time Machine. C’est très simple, il suffit d’une ligne à taper dans un terminal :

defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1

Ensuite, il suffit de lancer Time Machine et de sélectionner notre partage afp tout neuf :

Cliquez sur le nom de votre partage : « Time Machine » et ensuite sur « Utiliser le disque ».

Time Machine

Et voilà, il ne reste plus qu’a attendre que Time Machine effectue sa première sauvegarde. Celle-ci peut prendre plusieurs heures et est dépendante de la taille des données à sauvegarder.

 

N’hésitez pas a poster vos questions en commentaires si nécessaire.

 

Published inTrucs & AstucesTutoriels

7 Comments

  1. Aguay Aguay

    Bonjour et merci pour ce petit guide 🙂
    Il y a cependant une petite coquille, pas très grave mais pour les vrai débutants ca peut les bloquer.
    Ainsi lors de l’installation des paquets, il faut modifier le paquets:

    systemtap-sdt-de
    Par:
    systemtap-sdt-dev

    Encore merci 🙂

    • Maiko Maiko

      Bonjour Aguay,
      C’est corrigé !

      Merci,
      Maiko

  2. Bonjour,

    après la première sauvegarde avez vous constaté des lenteurs pour les sauvegarde incrémentales???

    • Maiko Maiko

      Bonjour Palouf34,

      Non, pas du tout. La première sauvegarde peut être assez lente suivant la quantité et le type de donnée a sauvegarder mais les incrémentales ne posent aucun souci chez moi.

      Si vous faites énormément de modification dans énormément de fichier, la durée de sauvegarde sera plus longue. Aussi, êtes-vous connecté en Wifi ou Ethernet ?

  3. palouf34 palouf34

    mon mac est connecté en wifi et ethernet avec priorité à l’ethernet….

    le temps de préparation est super long….

  4. dorian dorian

    Bonjour j’ai une erreur qui apparaît et que je n’arrive pas a faire partir, le disque apparaît bien dans Time Machine sur mes Mac même sur ceux où je n’ai pas taper la commande dans le terminal mais lorsque je clique sur utiliser le disque on me demande de me connecter j’entre alors les identifiants sur serveur ce qui fonctionne, ensuite j’ai un message disant « Time Machine ne parvient pas à se connecter au disque de sauvegarde. L’opération n’a pas pu s’achever. (OSStatus erreur 2) ».
    Auriez vous une idée de comment résoudre ce problème ?

    Voilà la configuration de netatalk:

    [Global]
    ;hosts allow = 10.10.0.0/24 # indiquez ici le réseau qui accedera a la TimeMachine (je n’ai pas cette ligne dans le fichier de configuration car je ne savais pas quoi mettre)
    spotlight = no
    mimic model = TimeCapsule6,116
    hostname = TimeMachine bureau
    vol preset = default_for_all
    log file = /var/log/netatalk.log
    uam list = uams_dhx2.so,uams_clrtxt.so
    seroconf = yes

    [Homes]
    basedir regex = /home

    [TimeMachine]
    path = /media/dorian/Time Machine/
    time machine = yes
    vol size limit = 500000
    valid users = @users

    Merci.

    • Maiko Maiko

      Bonjour Dorian,
      Avec beaucoup de retard, je me permet de te répondre.

      A première vue je dirais que le problème se situe sur la ligne que tu n’a pas incluse, le « hosts allow ». Il te suffit de remplacer « 10.10.0.0/24 » par les IPs utilisées dans ton réseau local. Ex: 192.168.1.0/24, etc.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.