Homeserver 31: Time Machine Funktionalität unter Debian 8 wiederherstellen

[Update] Im Script haben ein paar Backslashe gefehlt, das wurde gefixed.

Aus irgendwelchen Gründen scheint das netatalk-Paket aus Debian rausgeflogen zu sein. Ob das nur eine kurzfristige Sache ist, oder das Paket dauerhaft draußen bleibt, weiß ich nicht. Vielleicht finde ich später noch Informationen, die etwas Licht ins Dunkel bringen.

Das ändert aber nichts an der Tatsache, dass ich netatalk brauche. Es macht es nur wesentlich unbequemer, es zu installieren. Denn wenn es als Paket im Debian-Repository enthalten ist, könnte man ja einfach ein "apt-get install netatalk" machen. Das geht nun nicht. Jetzt muss das Paket quasi selbst erstellt werden.

Vorbereitungen

In meinem Home-Verzeichnis habe ich ein Verzeichnis "Netatalk" erstellt, in welches die heruntergeladene Datei für Netatalk kopiert wird. Hierin erstelle ich auch ein kleines Shellscript, welches die Installation durchführt. Da es doch eine Menge Befehle sind, die eingegeben werden müssen, und für den Fall, dass ich das mal wiederholen muss...

Die aktuelle Version von Netatalk bekommt man hier. Hier lade ich die aktuelle Version 3.1.7 als bz2-Datei herunter und kopiere es in das Home-Verzeichnis, dort unter Netatalk. Hier erstelle ich auch das Installationsscript.

nano netatalkinstall.sh

Dort schreibe ich jetzt alle Befehle rein, die nötig sind, das Paket zu erzeugen und zu installieren.

Installation

Der Installationsprozess ist recht umfangreich. Falls ihr euch das gerne selbst ansehen möchtet, findet ihr die Installationsanleitung für Netatalk 3.1.7 unter Debian Jessie im Netatalk-Wiki.

Der Einfachheit halber erkläre ich nur grob die Installationsschritte und füge unten am Post dann das Shellscript an, welches ihr bei Bedarf einfach kopieren und selbst in ein Shellscript einfügen könnt.

  • Benötigte Pakete installieren: Damit das Paket läuft, müssen Abhängigkeiten und diverse Entwicklungswerkzeuge installiert werden. Normal braucht man so was nicht, aber manchmal scheint es halt unumgänglich. Und falls später noch mal so ein Paket erzeugt werden soll, hat man die nötigen Pakete dann ja im System.
  • Konfiguration des Pakets: Hier werden mit ein paar kurzen Befehlen ein paar Einstellungen des Paketes gemacht. Das bezieht sich aber eher für die Erstellung, nicht für die Konfiguration des laufenden Dienstes.
  • Installation des Pakets: Damit wird das Paket in das System eingefügt und gestartet. Nun könnte man es konfigurieren und nutzen.

Als letzter Schritt kommt die Konfiguration des Dienstes. Schließlich muss die TimeMachine auch vom Mac aus gefunden werden.

Installations-Script

Kopiert das Script einfach, erstellt im Verzeichnis, wo die heruntergeladene Datei liegt ein leeres Script, meinetwegen nennt es install.sh und fügt den Inhalt dort ein. Wenn ihr das Script startet, werden alle benötigten Pakete installiert, Paketkonfigurationen erledigt und das Paket installiert.

#!/bin/bash

## Installation von Netatalk

# Benötigte Pakete installieren

sudo apt-get install build-essential libevent-dev libssl-dev libgcrypt11-dev libkrb5-dev libpam0g-dev libwrap0-dev libdb-dev libtdb-dev libmysqlclient-dev libavahi-client-dev libacl1-dev libldap2-dev libcrack2-dev systemtap-sdt-dev libdbus-1-dev libdbus-glib-1-dev libglib2.0-dev tracker libtracker-sparql-1.0-dev libtracker-miner-1.0-dev

# Paket entfernen, um Probleme zu vermeiden

sudo apt-get remove libavahi-compat-libdnssd-dev

# Paket erstellen (Build)

tar xvf netatalk-3.1.7.tar.bz2
cd netatalk-3.1.7

# Paket konfigurieren

./configure \
        --with-init-style=debian-systemd \
        --without-libevent \
        --without-tdb \
        --with-cracklib \
        --enable-krbV-uam \
        --with-pam-confdir=/etc/pam.d \
        --with-dbus-sysconf-dir=/etc/dbus-1/system.d \
        --with-tracker-pkgconfig-version=1.0

# Paket installieren

make
sudo make install

# Einrichten und Startreihenfolge einstellen

sudo systemctl enable avahi-daemon
sudo systemctl enable netatalk
sudo systemctl start avahi-daemon
sudo systemctl start netatalk

Dann bleibt ja nur noch die Konfiguration, die hier jetzt etwas anders ist, als die Konfiguration, die wir im Debian 7 gemacht haben.

Konfiguration von Netatalk

Während ich die Konfiguration von Netatalk früher etwas verwirrend fand, weil sie einfach nicht so aussieht, wie viele andere Konfigurationsdateien, finde ich die neue Datei sogar noch übersichtlicher.

Für eine genaue Beschreibung der Parameter könnt ihr euch ja mal die Manpage zu afp.conf anschauen. Ich werde hier mal nur beispielhaft die Konfiguration meiner TimeMachine aufführen.

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

OK, der Ort der Datei ist ungewöhnlich, macht aber nichts. Der Abschnitt für meine TimeMachine-Konfiguration sieht so aus, der Rest der Datei ist unverändert:

[TimeMachine]
path = /raid1/timemachine
vol size limit = 512000
valid users = kamil
time machine = yes

Fertig! Aber da ich jetzt noch nicht so genau weiß, wie man unter Debian 8 Daemons neu startet, reboote ich den Server einfach mal.

Fazit

Was ich damit meine, dass das Starten und Stoppen von Diensten etwas anders ist unter Debian 8? Nun, hier wurde das Init-System, also der Dienst, der alle Dienste startet und verwaltet, geändert. jetzt ist es systemd, und wie der funktioniert, muss ich mir noch anlesen.

Übrigens musste ich unter Mac OS das alte Backup abmelden und das neue Backup einbinden. Das tut ihr unter den Systemeinstellungen und dort bei Time Machine, mit dem Schalter "Volume wechseln".

Ich habe mir, bei meinen Experimenten gestern, wohl mein Backup zerschossen. Offenbar hat mein MacBook noch mit dem alten Netatalk ein Backup gemacht, und nun ist das Backup nicht mehr zugreifbar. Also musste ich einen neuen Backupverlauf erstellen. Das erste Backup läuft gerade und wird noch eine Weile laufen.

Zwar ist es jetzt wirklich etwas umständlicher geworden, aber nicht unmöglich, zum Glück. Immerhin läuft alles wieder. Aber langfristig kann man jetzt natürlich noch nichts konkretes sagen. Das bleibt abzuwarten.

Von Kamil Günay

Ich betreibe TuKSuB schon seit 2010. Ich interessiere mich für Computer, Kommunikation, Technik, Astronomie und vieles mehr.

Ein Kommentar

  1. Danke für das HowTo. Ich habe netatalk damit erfolgreich installieren können. Es fehlten ein paar Dependencies auf meinem Server, die durch das Skript dazu installiert wurden.

    +1

Kommentare sind geschlossen.