Deprecated: Function split() is deprecated in /var/www/web321/html/markusberg/tp/textpattern/lib/txplib_misc.php(653) : eval()'d code on line 471
Markus Berg - markusberg.de: Netatalk nach Mac OS Lion Update

Netatalk nach Mac OS Lion Update

Erstellt am 13.11.11 von Markus, keine Kommentare, Tags: Informatik, ,

Mit dem Erscheinen von Lion funktionierte mein Ubuntu-Atom-NAS (wie in der Presse angekündigt) nicht mehr, da Timemachine neue Funktionen des Apple Fileprotokolls benötigt, die in der aktuellen Netatalk-Version nicht enthalten waren. Kurz darauf wurde eine kostenpflichtige Version angekündigt, die diese Fähigkeiten unterstützt. Zur Freude vieler Macbenutzer wurden diese Funktionen dann doch kostenlos zur Verfügung gestellt. Einziges "Problem": Die neue Version ist nicht in den Ubuntu-Repositories gelistet und muss daher selbst kompiliert werden. Hier ein paar Tipps, falls es nicht auf Anhieb funktioniert.

Gefrustet von Fehlermeldungen? Z.B.

  • "Something wrong with the volume's CNID DB, using temporary CNID DB instead"
  • "The network backup disk does not support the required AFP features"
  • "The version of the server you are trying to connect to is not supported"
  • "DHX2: PAM_Error: Authentication failure"
  • "uam: uam not found"

Dann helfen vielleicht folgende Tipps weiter...

  • Benötigt wird Netatalk 2.2. Runterladen und entpacken.
  • Vorab noch ein Hinweis: Hier gibt es eine gute Anleitung zur Konfiguration
  • Es sollte beachtet werden, dass VOR dem Kompilieren folgende Pakete installiert sind (weiß jetzt nicht mehr 100%ig, ob die ALLE benötigt werden; dies ist der entsprechende Auszug aus meiner History):
    • libgcrypt11-dev
    • libcrack2-dev
    • llibcrack2
    • lcracklib2-dev
    • llibgcrypt
    • llibssl-dev
    • llibpam
    • llibpam-modules
    • llibpam-cracklib
    • llibpam0g
    • llibwrap0
    • llibpam-runtime
    • llibc6
    • llibslp1
    • lnetbase
    • lperl
    • llibwrap0
    • llibdb4.2
    • llibpam-modules
    • llibgcrypt
    • llibtool
  • Die oben genannte Anleitung realisiert das über sudo apt-get build-dep netatalk
    sudo apt-get install cracklib2-dev fakeroot libssl-dev
    Sprich Originalabhängigkeiten installieren und noch ein paar dazu... Hab ich selbst aber nicht ausprobiert.
  • Anschließend kann laut Anleitung verfahren werden, d.h. configure, make, und make install. Dabei sollte beachtet werden, dass configure die folgende Ausgabe beinhaltet, ansonsten fehlt noch ein Paket. UAMS:
      DHX (SHADOW)
      DHX2 (SHADOW)
  • Nach der Installation sollte beachtet werden, dass die Konfigurationsdateien sich unter /usr/local/etc/netatalk befinden und NICHT unter /etc/netatalk wie es bei der Installation über apt-get der Fall ist
  • Dies kann zu Fehlern führen, falls noch das alte Startup-Skript existiert. Hier müssen unbedingt die Pfadangaben angepasst werden, da sonst trotz der Neuinstallation die alte Netatalk-Version geladen wird!
  • Um ein manuell installiertes netatalk starten und beenden zu können, empfiehlt sich ein Startupskript, das auch gleich die anderen benötigten Dienste startet (afpd benötigt cnid_metad)
  • Hier eine von mir gekürzte und modifizierte Version (eigentlich müssen nur die Pfade geändert werden, wenn man schon das alte netatalk per apt-get installiert hatte und noch über das Original-Startupskript verfügt): #!/bin/sh
    ### BEGIN INIT INFO
    # Provides: netatalk
    # Required-Start: $remote_fs $syslog
    # Required-Stop: $remote_fs $syslog
    # Default-Start: 2 3 4 5
    # Default-Stop: 1
    ### END INIT INFO
    #
    # netatalk Netatalk 2.x initscript
    # Author: Thomas Kaiser
    # Version: $Id: rc.atalk.debian.tmpl,v 1.6 2009-06-09 11:58:49 franklahm Exp $

    set -e

    PATH=/usr/local/sbin:/usr/local/bin:/sbin
    DESC="Netatalk"
    NAME=netatalk
    SCRIPTNAME=/etc/init.d/$NAME

    # Guard to prevent execution if netatalk was removed.
    test -x /usr/local/sbin/afpd || exit 0

    # Read in netatalk configuration.
    if [ -f /usr/local/etc/netatalk/netatalk.conf ]; then
    . /usr/local/etc/netatalk/netatalk.conf
    fi

    # Start Netatalk servers.
    atalk_startup() {

    # prepare startup of file services
    if [ "x$CNID_METAD_RUN" = "xyes" -a -x /usr/local/sbin/cnid_metad ] ; then
    echo -n " cnid_metad"
    /usr/local/sbin/cnid_metad $CNID_CONFIG
    fi

    if [ x"$AFPD_RUN" = x"yes" ]; then
    /usr/local/sbin/afpd $AFPD_UAMLIST -g $AFPD_GUEST -c $AFPD_MAX_CLIENTS \
    -n "$ATALK_NAME$ATALK_ZONE"
    echo -n " afpd"
    fi
    }

    case "$1" in
    start)
    echo -n "Starting Netatalk services (this will take a while): "
    atalk_startup
    echo "."
    ;;

    stop)
    echo -n "Stopping Netatalk Daemons:"
    echo -n " afpd"
    start-stop-daemon --stop --quiet --oknodo --exec /usr/local/sbin/afpd

    echo -n " cnid_metad"
    start-stop-daemon --stop --quiet --oknodo --exec
    /usr/local/sbin/cnid_metad
    echo "."
    ;;

    restart)
    $0 force-reload
    ;;

    force-reload)
    echo -n "Restarting Netatalk Daemons (this will take a while)"
    $0 stop
    echo -n "."
    sleep 2
    echo -n "."
    if $0 start; then
    echo "done."
    fi
    ;;

    *)
    echo "Usage: $0 {start|stop|restart|force-reload}" >&2
    exit 1
    ;;
    esac
  • start-stop-deamon installieren
  • Danach noch update-rc.d netatalk defaults ausführen und dann sollte man über /etc/init.d/netatalk start|stop|restart den Dienst steuern können.
  • In meiner AppleVolumes.default steht folgendes: /pfad/zum/backupdir BackupName cnidscheme:dbd allow:tm options:usedots,upriv,tm
  • Bei meinen Versuchen habe ich festgestellt, dass der Benutzer nicht "timemachine" heißen und einen anderen Namen als das Backupverzeichnis haben sollte...
  • Wenn der Fehler "volume xyz does not support Extended Attributes, using ea:ad instead" auftritt, sollte die /etc/fstab angepasst werden (user_xattr): UUID=abc123...... /path ext4 defaults,user_xattr 0 0

Kommentare

Noch keine Kommentare.

Kommentar erstellen