Linux AFS

Aus Physik
Zur Navigation springen Zur Suche springen

Hier ist eine Anleitung zu finden, wie man das Homeverzeichnis von der Physik zu Hause in das Dateisystem einbinden kann. Dazu ist es nötig entsprechende Kernelmodule zu kompilieren. Hier folgt eine Anleitung, wie dies unter Debian gemacht wird.
Sollte jemand Erfahrung mit AFS unter anderen Distributionen haben, wird gebeten, hier eine Anleitung hinzuzufügen.

Genaueres zum AFS-Dateisystem ist auf der Seite AFS zu finden.

Kompilieren der Kernelmodule

Voraussetzung ist, dass die folgenden Pakete installiert sind:

  • build-essential
  • kernel-package
  • fakeroot

Man sollte auch der Gruppe src angehören, um die folgenden Aktionen problemlos ausführen zu dürfen (einstellbar in der Datei /etc/group). Sind obige Pakete installiert werden die Pakete kernel-source-2.4.x (passend zum Paket kernel-image-2.4.x) und openafs-modules-source installiert.

$ apt-get install openafs-modules-source <kernel-source-2.4.x>

Kernel- und Modulsourcen entpacken:

$ cd /usr/src
$ tar jxf <kernel-source-2.4.x.tar.bz2>
$ tar zxf openafs.tar.gz

Jetzt wechselt man in den Kernel Source Baum und kopiert die Kernelkonfiguration /boot/<config-2.4.x> nach .config

$ cd kernel-source-2.4.x
$ cp /boot/<config-2.4.x> .config

Kernelmodule kompilieren:

$ fakeroot make-kpkg <--append-to-version -Extraversion> modules_image

Unter Extraversion versteht man ein Anhängsel an die Kernel-Versionsnummer. Zum Beispiel ist bei kernel-image-2.4.25-1-386 als Extraversion 1-386 anzugeben. ANMERKUNGEN: In der Regel wird es notwendig sein, den --apend-to-version flag zu verwenden!
ACHTUNG: Beim Test dieser Vorgehensweise führte das Verwenden von --append-to-version zu einem Fehler gegen Ende der Kompilation (Es wird das Programm tar verwendet, das einen Fehler liefert). Führt man den obigen Befehl noch ein zweites Mal aus, kann das Kompilieren beendet werden (es dauert auch bei Weitem nicht so lange wie beim ersten Mal). Es scheint sich dabei um einen Bug zu handeln.

Wenn das Paket gebaut ist, kann man mit dpkg -c <mein_paket.deb> prüfen, welche Dateien installiert werden, und weiß somit, ob der Pfad richtig ist (der richtige Pfad ist /lib/modules/<Nr. meiner Kernelversion>/fs/). Jetzt können die Module mit dpkg -i <meine_paket.deb> installiert werden.

Installation weiterer nötiger Pakete

Folgende Pakete müssen ebenfalls installiert werden:

  • openafs-client
  • krb5-user
    • krb5-config
    • libkadm55
    • libkrb53
  • openafs-krb5
  • libpam-krb5

Die zweifach eingerückten Pakete werden bei Auswahl von krb5-user automatisch installiert. Obiges Listing bezieht sich darauf, dass empfohlene und vorgeschlagene Pakete nicht automatisch installiert werden. Bei einer anderen Einstellung kann also durchaus passieren, dass mehrere Pakete durch Abhängigkeiten installiert werden.

Bei der Installation werden von debconf noch einige Fragen gestellt. Die folgenden Angaben gelten für Priorität medium:

  • openafs-client
    1. Zu welcher Zelle ghört der Computer? Antwort: itp.tugraz.at
    2. Wie groß soll der verwendete Cache sein? Antwort: Hier sollte jeder selbst entscheiden, wieviel Platz vorhanden sein soll.
    3. Soll der Inhalt von /afs dynamisch erzeugt werden? Antwort: No

Auch krb5-config fragt einiges ab. Hier sind die Antworten allerdings nicht maßgeblich, da die daraus generierte Konfigurationsdatei durch die Datei von http://itp.tugraz.at/Comp/conf/krb5.conf ersetzt werden sollte. Man lädt diese Datei also herunter und kopiert sie in den Ordner /etc. Wenn der Computer nicht ständig mit dem Internet verbunden ist, empfiehlt es sich auszuschalten, dass der openafs-client beim Systemstart gestartet wird (durch Eintragen von AFS_CLIENT=false in der Datei /etc/openafs/afs.conf.client). Das Starten des Clients führt zu einer erheblichen Verzögerung des Bootvorganges, wenn der AFS-Server nicht erreichbar ist.

Mounten von AFS

  • Starten des openafs-client (als root):
# /etc/init.d/openafs-client start

Hat man eingestellt, dass der Client nicht automatisch gestartet wird, ist start durch force-start zu ersetzen.

  • Ein Kerberosticket holen (als Benutzer):
$ kinit <Username>@ITP.TUGRAZ.AT
  • Ein AFS-Token holen:
$ aklog

Wenn man den Zugriff auf den AFS-Server nicht mehr benötigt, sollte das AFS-Token mit

$ unlog

und das Kerberosticket mit

$ kdestroy

zerstört werden. Mit klist kann man sehen, ob ein Kerberosticket vorhanden ist. tokens zeigt vorhandene AFS-Tokens.