Raspberry Pi - Time Machine
Quelle: https://github.com/mr-bt/raspberrypi-timemachine
Mac HD vorbereiten - HD (apple+i)
- user "everyone" -> "Lesen & Schreiben"
- mit dem Zahnrad diese Rechte auf alle Unterodner anwenden
- Haken setzen bei "Eigentümer auf diesem Volumen ignorieren"
dann im Mac Terminal die Platte finden
# diskutil list
Journaled abschalten, die Sternchen durch die gefundenen ziffern der HD tauschen
# diskutil disableJournal /dev/disk*s*
Journaling has been disabled for volume MyTimeMachine on disk*s*
Raspberry
hfsplus support
$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get --assume-yes install hfsprogs hfsplus
platte finden
$ sudo fdisk -l
Device Start End Sectors Size Type
/dev/sda1 34 409633 409600 200M EFI System
/dev/sda2 409634 312317951 311908318 148.7G Apple HFS/HFS+
mount point erstellen
$ sudo mkdir -p /media/time_machine
prüfen, ob die HD beim anstecken schon gemounted wurde
$ sudo mount
unmount..
$ sudo umount /dev/sda2
im mount point mounten
$ sudo nano /etc/fstab
am Ende hinzufügen:
/dev/sda2 /media/time_machine hfsplus force,rw,user,noauto,x-systemd.automount 0 0
dann mounten
$ sudo mount -a
nachsehen, ob der mountpoint stimmt
$ sudo mount
...
/dev/sda2 on /media/time_machine type hfsplus (rw,nosuid,nodev,noexec,relatime,umask=22,uid=0,gid=0,nls=utf8,user)
netatalk
$ sudo aptitude 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
$ sudo apt-get install netatalk
$ whereis netatalk
netatalk: /usr/lib/netatalk /etc/netatalk /usr/include/netatalk /usr/share/netatalk
config
$ sudo nano /etc/nsswitch.conf
an's Ende der hosts-Zeile einsetzen: mdns4 mdns
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.
passwd: compat
group: compat
shadow: compat
gshadow: files
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 mdns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
afp.conf
$ sudo nano /usr/local/etc/afp.conf
am Ende hinzufügen:
[Global]
mimic model = TimeCapsule6,106
[Time Machine]
path = /media/time_machine
time machine = yes
AppleVolumes.default
$ sudo nano /etc/netatalk/AppleVolumes.default
am Ende hinzufügen:
/media/time_machine "Time Machine" options:tm
Starten
$ sudo service avahi-daemon start
$ sudo service netatalk start
$ sudo systemctl enable avahi-daemon
$ sudo systemctl enable netatalk
falls folgender Fehler kommt:
Synchronizing state of avahi-daemon.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable avahi-daemon
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "de_DE.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "de_DE.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
dann, locale setzen:
$ sudo localedef -i de_DE -f UTF-8 de_DE.UTF-8
nun sollte alles laufen
Fehler
Falls der Mac sich nicht mit der HD verbinden kann, (Die Meldung sagt das die Rechte nicht reichen.) könnte ein setzen der Rechte auf dem raspberry helfen.
# sudo chmod 777 /media/time_machine
Falls das nicht hilft und weiterhin folgender Fehler kommt:
Backup-Volumen entfernen, und erneut hizufügen:
Den Raspberry herrunterfahren, die HD an den Mac stecken, und das .sparsebundle mounten:
Dann die Zugriffsrechte für das gesamte (gemountete sparsebundle) Medium neu festlegen:
Falls nicht bereits vorhanden, den eigenen Rasperian-User hinzufügen (gent). Dann allen Benutzern "Lesen & Schreiben" als Recht einräumen und diese Rechte (Klick aus Zahnrad unten) auf alle Unterordner/Dateien anwenden. Das dauert dann einige Minuten, aber anschließend sollte das Backup wieder laufen.