Linux AFS: Unterschied zwischen den Versionen

Aus Physik
Zur Navigation springen Zur Suche springen
Zeile 4: Zeile 4:
 
Genaueres zum [[AFS]]-Dateisystem ist auf der Seite [[AFS]] zu finden.
 
Genaueres zum [[AFS]]-Dateisystem ist auf der Seite [[AFS]] zu finden.
   
== Kompilieren der Kernelmodule ==
+
== Kompilieren der Kernelmodule unter Debian mit dem module-assistant ==
 
Voraussetzung ist, dass die folgenden Pakete installiert sind:
 
Voraussetzung ist, dass die folgenden Pakete installiert sind:
  +
* module-assistant
  +
und die von ihm empfohlenen Pakete
 
* build-essential
 
* build-essential
  +
* dialog oder whiptail
* 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.<br>
 
$ 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! <br>
 
'''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.
 
   
  +
Dann ruft man in einer [[Shell]] als root den Befehl
Wenn das Paket gebaut ist, kann man mit <tt> dpkg -c <mein_paket.deb> </tt> 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 <tt> dpkg -i <meine_paket.deb> </tt> installiert werden. <br>
 
  +
# module-assistant
  +
auf.
  +
  +
Im erscheinenden Dialog wählt man den Menüpunkt <tt> PREPARE </tt> aus. Dadurch werden alle Pakete, die benötigt werden um Kernelmodule zu kompilieren installiert.
  +
  +
Anschließend kann man unter dem Menüpunkt <tt> SELECT </tt> auswählen, welche Module kompiliert werden sollen. In unserem Fall wählen wir <tt> openafs-modules </tt>.
  +
  +
Die Auswahl von <tt> BUILD </tt> startet anschließend den Kompiliervorgang. Ist dieser beendet wird von <tt> module-assistant </tt> angeboten, die erzeugten Module sofort zu installieren.
  +
  +
Will man das erzeugt Paket archivieren, findet man es im Verzeichnis
  +
/usr/src/
  +
Dieses Paket kann auch händisch mit dem Befehl
  +
# dpkg -i <Paketname>
  +
installiert werden.
  +
  +
Man kann hier das Verzeichnis <tt> modules </tt> löschen. Dieses entstand durch das entzippen von <tt> openafs.tar.gz </tt>. Wenn man auch die anderen Verzeichnisse (<tt> linux-kernel-headers ... </tt> und <tt> linux-kbuild-...</tt> wieder loswerden will, deinstalliert man das Paket <tt> linux-headers-<entsprechende Kernelversion>, wobei man diese Version mit <tt> $ uname -r </tt> herausfinden kann).
   
 
== Installation weiterer nötiger Pakete ==
 
== Installation weiterer nötiger Pakete ==

Version vom 12. Februar 2007, 22:58 Uhr

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 unter Debian mit dem module-assistant

Voraussetzung ist, dass die folgenden Pakete installiert sind:

  • module-assistant

und die von ihm empfohlenen Pakete

  • build-essential
  • dialog oder whiptail

Dann ruft man in einer Shell als root den Befehl

# module-assistant

auf.

Im erscheinenden Dialog wählt man den Menüpunkt PREPARE aus. Dadurch werden alle Pakete, die benötigt werden um Kernelmodule zu kompilieren installiert.

Anschließend kann man unter dem Menüpunkt SELECT auswählen, welche Module kompiliert werden sollen. In unserem Fall wählen wir openafs-modules .

Die Auswahl von BUILD startet anschließend den Kompiliervorgang. Ist dieser beendet wird von module-assistant angeboten, die erzeugten Module sofort zu installieren.

Will man das erzeugt Paket archivieren, findet man es im Verzeichnis

/usr/src/

Dieses Paket kann auch händisch mit dem Befehl

# dpkg -i <Paketname>

installiert werden.

Man kann hier das Verzeichnis modules löschen. Dieses entstand durch das entzippen von openafs.tar.gz . Wenn man auch die anderen Verzeichnisse ( linux-kernel-headers ... und linux-kbuild-... wieder loswerden will, deinstalliert man das Paket linux-headers-<entsprechende Kernelversion>, wobei man diese Version mit $ uname -r herausfinden kann).

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.