Linux AFS: Unterschied zwischen den Versionen

Aus Physik
Zur Navigation springen Zur Suche springen
K
Zeile 1: Zeile 1:
 
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.<br>
 
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.<br>
Sollte jemand Erfahrung mit AFS unter anderen Distributionen haben, wird gebeten hier eine Anleitung hinzuzufügen.
+
Sollte jemand Erfahrung mit AFS unter anderen Distributionen haben, wird gebeten, hier eine Anleitung hinzuzufügen.
 
WICHTIG: Die Kernelmodule existieren derzeit nur für Kernel der Version 2.4
 
WICHTIG: Die Kernelmodule existieren derzeit nur für Kernel der Version 2.4
   
Zeile 6: Zeile 6:
   
 
== Kompilieren der Kernelmodule ==
 
== Kompilieren der Kernelmodule ==
Voraussetzung ist, dass die folgenden Pakete installiert sind
+
Voraussetzung ist, dass die folgenden Pakete installiert sind:
 
* build-essential
 
* build-essential
 
* kernel-package
 
* kernel-package
 
* fakeroot
 
* fakeroot
Man sollte auch der Gruppe ''src'' angehören um folgende Aktionen problemlos ausführen zu dürfen (einstellbar in der Datei /etc/group).
+
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>
 
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>
 
$ apt-get install openafs-modules-source <kernel-source-2.4.x>
Zeile 20: Zeile 20:
 
$ cd kernel-source-2.4.x
 
$ cd kernel-source-2.4.x
 
$ cp /boot/<config-2.4.x> .config
 
$ cp /boot/<config-2.4.x> .config
Kernelmodule kompilieren
+
Kernelmodule kompilieren:
 
$ fakeroot make-kpkg <--append-to-version -Extraversion> modules_image
 
$ fakeroot make-kpkg <--append-to-version -Extraversion> modules_image
Unter Extraversion versteht man ein Anhängsel an die Kernelsourceversionsnummer.
+
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.
 
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>
 
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 und das liefert einen Fehler). 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). Dabei scheint es sich um einen Bug zu handeln.
+
'''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 <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>
+
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>
   
 
== Installation weiterer nötiger Pakete ==
 
== Installation weiterer nötiger Pakete ==
Folgende Pakete müssen ebenfalls installiert werden.
+
Folgende Pakete müssen ebenfalls installiert werden:
 
* openafs-client
 
* openafs-client
 
* krb5-user
 
* krb5-user
Zeile 38: Zeile 38:
 
* openafs-krb5
 
* openafs-krb5
 
* libpam-krb5
 
* libpam-krb5
Die zweifach eingerückten Pakete werden bei Auswahl von krb5-user automatisch installiert. In obigem Fall war eingestellt, dass empfohlene und vorgeschlagene Pakete nicht automatisch installiert werden. Bei einer anderen Einstellung kann also durchaus passieren, dass mehr Pakete durch Abhängigkeiten installiert werden.
+
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.
+
Bei der Installation werden von debconf noch einige Fragen gestellt. Die folgenden Angaben gelten für Priorität medium:
 
* openafs-client
 
* openafs-client
 
*# Zu welcher Zelle ghört der Computer? Antwort: ITP.TUGRAZ.AT
 
*# Zu welcher Zelle ghört der Computer? Antwort: ITP.TUGRAZ.AT
*# Wie groß soll der verwendete Cache sein? Antwort: Hier sollte jeder selbst entscheiden wieviel Platz vorhanden sein soll.
+
*# Wie groß soll der verwendete Cache sein? Antwort: Hier sollte jeder selbst entscheiden, wieviel Platz vorhanden sein soll.
 
*# Soll der Inhalt von /afs dynamisch erzeugt werden? Antwort: No
 
*# 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.
+
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 ==
 
== Mounten von AFS ==
*Starten des openafs-client (als root)
+
*Starten des openafs-client (als root):
 
# /etc/init.d/openafs-client start
 
# /etc/init.d/openafs-client start
Hat man eingestellt, dass der Client nicht automatisch gestartet wird ist <tt> start </tt> durch <tt> force-start </tt> zu ersetzen.
+
Hat man eingestellt, dass der Client nicht automatisch gestartet wird, ist <tt> start </tt> durch <tt> force-start </tt> zu ersetzen.
*Ein Kerberosticket holen (als Benutzer).
+
*Ein Kerberosticket holen (als Benutzer):
 
$ kinit <Username>@ITP.TUGRAZ.AT
 
$ kinit <Username>@ITP.TUGRAZ.AT
*Ein AFS-Token holen
+
*Ein AFS-Token holen:
 
$ aklog
 
$ aklog
Wenn man den Zugriff auf den AFS-Server nicht mehr benötigt sollte das AFS-Token mit
+
Wenn man den Zugriff auf den AFS-Server nicht mehr benötigt, sollte das AFS-Token mit
 
$ unlog
 
$ unlog
 
und das Kerberosticket mit
 
und das Kerberosticket mit
 
$ kdestroy
 
$ kdestroy
 
zerstört werden.
 
zerstört werden.
Mit <tt> klist </tt> kann man sehen, ob ein Kerberosticket vorhanden ist. <tt> tokens </tt> zeigt vorhandenen AFS-Tokens.
+
Mit <tt> klist </tt> kann man sehen, ob ein Kerberosticket vorhanden ist. <tt> tokens </tt> zeigt vorhandene AFS-Tokens.

Version vom 9. Dezember 2004, 21:26 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. WICHTIG: Die Kernelmodule existieren derzeit nur für Kernel der Version 2.4

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.