Die Pakete liegen möglichst immer zentral auf einem Server. Der zu administrierende Rechner, hier der Client, greift über das Filesystem darauf zu, also über NFS oder ähnliches. Eine Erweiterung auf das FTP-Protokoll wäre denkbar und relativ einfach, erscheint aber momentan nicht notwendig.
Auf dem Server können die RPM's in verschiedenen Verzeichnissen liegen, man kann also z.B. auseinanderhalten, welche Pakete von der originalen Distribution kommen, welche Update-Pakete man sich besorgt hat und welche Pakete man sich selbst erstellt hat. Dem Client ist der genaue Ort vergleichsweise egal, dort werden die Pakete nur über den Namen (ohne Versionsnummer etc.) angesprochen.
Die Verzeichnisse mit dem RPM-Paketen müssen nicht modifiziert werden und können auch read-only im Zugriff sein. Man kann also die Original-CDROM der Distribution verwenden.
Aus Performancegründen werden aber nicht immer online alle vorhandenen
Pakete untersucht, sondern es werden lists über alle vorhandenen
Pakete gepflegt, die in einem gesonderten Verzeichnis abgelegt werden.
Diese lists werden durch rpmsv
erstellt und beinhalten
Name der Datei, Name des Pakets und Versionsnummer.
Wie oben beschrieben, kann ein Programmpaket in verschiedenen Versionen vorhanden sein, z.B. das Paket von der Originaldistribution und ein Updatepaket. Man kann folgendermaßen damit umgehen:
-u
)
wird geprüft, ob die installierte Version noch auf dem Server
vorhanden ist, wenn ja wird nichts unternommen. Wenn nicht, wird auf
die neueste vorhandene Version upgedatet.
Damit soll ein sanfter Updateweg geschaffen werden: nicht die
gesamte Rechnerlandschaft soll gezwungen werden sofort upzudaten, denn
eventuell ist ein Update mit Nacharbeiten verbunden und die neue
Version ist vielleicht nur bei neuen Installationen sinnvoll
(never touch a running system).
Will man dennoch den Update erzwingen, löscht man das alte, nicht
mehr zu verwendene Paket vom Server (das ist bei einer CDROM etwas
schwierig, hier fehlt noch die Möglichkeit einzelne Paketdateien
auszuschließen...)-n
anstatt -u
an.
Dieser Weg ist nicht nur Versionsjunkies, sondern vor allem für
den Test der neuen Pakete gedacht.