Netatalk compilieren Drucken
Geschrieben von: Michael Grundmann   
Montag, 17. März 2008 10:05

Netatalk Version 2.x - Compilieren

Da sich zur altern 1.x-Version so vieles geändert hat, möchte ich heute endlich mal ein kleine Anleitung zur Version 2.x schreiben.
Diese Anleitung habe ich prinzipiell fuer SuSE 8.2 geschrieben. Das bedeutet halt, dass die folgenden rpm-Pakete als tar.gz gesucht werden müssen um sie selbst zu compilieren.
Zuerst werden wir mal auf die zusätzlichen Programme eingehen, die benötigt werden:

 

  1. Für Servicelocation wird openslp benötigt - Es dient dazu den Server in OS X unter Netzwerk zu finden. Entweder als rpm installieren unter
    http://www.linuxfox.de/downloads/openslp-1.0.11-1.i386.rpm
    Homepage: http://www.openslp.org
    Mit rpm -ivh openslp-1.0.11-1.i386.rpm installieren und /etc/init.d/slpd start
  2. Die folgenden devel-Pakete müssen zuvor noch installiert werden: pam-devel & cups-devel

So jetzt ziehen wir uns als erstes die BerkeleyDB in der aktuellen Version und compilieren:
Für meine ordentliche Unordnung lege ich mir immer ein eigenes Verzeichnis /installs an:

cd /installs
wget http://www.sleepycat.com/update/snapshot/db-4.2.52.NC.tar.gz
tar xvfz db-4.2.52.NC.tar.gz
cd db-4.2.52.NC/build_unix
../dist/configure
# Oder "../dist/configure --disable-shared", wenn man statisch linken möchte
make
su
make install

Jetzt die Linkereinstellungen in der /etc/ld.so.conf eintragen:
echo "/usr/local/BerkeleyDB.4.2/lib" >> /etc/ld.so.conf
ldconfig

Jetzt machen wir uns an die eigentliche Installation:
Zuerst ziehen wir uns das aktuelle File von der Netatalk-Homepage:
http://netatalk.sourceforge.net/
cd /installs
tar xvfz netatalk-2.0.1.tar.gz
cd netatalk-2.0.1
./configure --prefix=/usr/local/netatalk2 --sysconfdir=/etc --enable-suse --enable-cups
--with-pam --enable-afp3 --enable-srvloc --with-shadow --with-logfile=/var/log/netatalk.log
--with-cnid-last-backend --with-cnid-cdb-backend --with-cnid-dbd-backend
--without-cnid-dbd-txn --with-cnid-default-backend=dbd
--with-bdb=/usr/local/BerkeleyDB.4.2/
LD_LIBRARY_PATH=/usr/local/Berkeley.4.2/lib/
make
su
make install

Hier mal einige Optionen:

`--prefix=/DIR` wählt den Installationsort (Default `/usr/local/`).

`--sysconfdir=DIR` legt das Verzeichnis für die Konfigurationsdateien fest.

`--enable-[redhat|suse|gentoo|cobalt|netbsd|debian]` installiert ein zur Distribution passendes Startskript.

`--disable-shell-check` macht später auch das Anmelden von Nutzern möglich, die keine in `/etc/shells` definierte Login-Shell haben.

`--with-cracklib=DICT` erzwingt die Verwendung komplexer Passwörter, wenn diese von Mac-Clients aus geändert werden sollten.

`--with-message-dir=PATH` ermöglicht den reichlich umständlichen Versand von AFP-Messages an Mac-Clients

`--enable-srvloc[=DIR]` sorgt für die Angabe eines Verzeichnisses mit den OpenSLP-Libraries, sollten diese nicht von `configure` selbst gefunden werden können (gilt sinngemäß auch für `--with-bdb`, `--with-pam` und `--with-ssl-dir`).

`--with-cnid-$CNID-backend` sorgt für das Kompilieren des entsprechenden CNID-Backend. Auch wenn `./configure --help` hier (noch) viele Alternativen listet, sind nur `dbd`, `cdb` und für Spezialfälle (z. B. Freigabe von CDs - nur lesbares Volume) noch `last` sinnvoll.

`--with-cnid-default-backend=$CNID` spart später Tipparbeit, da dies den Default für Konfigurationsdateien setzt. Empfehlung: `--with-cnid-default-backend=dbd`.

`--with-spooldir=PATH` gibt das Verzeichnis für temporäre Spooldateien des `papd` vor, wenn dieser direkt Cups bedient. Default ist `$prefix /var`, also normalerweise `/usr/local /var/spool/netatalk/`.

Die Konfig-Anpassungen können von der alten Anleitung übernommen werden. Was sich dort geändert hat sind die Einstellungen der papd.conf - hier kann cups jetzt direkt angesteuert werden.
Dazu schreibe ich später eine Ergänzung.

Aktualisiert ( Montag, 17. März 2008 10:07 )