Zunächst einige Worte über die Philosophie, die hinter dem RPM steht. Eines der Ziele des RPM war es, die Verwendung der ursprünglichen Quellen zu ermöglichen. Für den RPP (unser altes Paketsystem, aus dem sich kein Teil des RPM herleitet) waren die Quellpakete die gepatchten Quellen, aus denen wir die fertigen Pakete erstellten.
Im Prinzip konnte man ein Quell-RPP installieren und es anschließend ohne
weitere Probleme mit make
übersetzen. Aber die Quellen waren nicht mehr
die Originale, und es gab keinen Hinweis darauf, was wir für Änderungen hatten
vornehmen müssen, um es zum Laufen zu bringen. Die Originalquellen mußten
separat heruntergeladen werden. Mit RPM hat man sowohl die Originalquellen als
auch die Patches, die zum kompilieren notwendig wurden. Unserer Meinung nach ist
das aus verschiedenen Gründen ein großer Vorteil. Wenn z.B. eine neue Version
eines Programms herauskommt, ist es nicht mehr nötig, noch einmal komplett von
vorne anzufangen, um es unter RHL (Red Hat Linux) zu kompilieren. Man kann sich
den Patch anschauen, um zu sehen, was eventuell zu ändern ist. Alle
einzukompilierenden Defaults usw. sind auf diese Weise klar erkennbar.
RPM hat ebenfalls einen leistungsfähigen Abfragemechanismus. Man kann die gesamte Paketdatenbank nach bestimmten Paketen oder einzelnen Dateien durchsuchen und so einfach feststellen, zu welchem Paket eine Datei gehört und wo sie herkommt. Die RPM-Dateien selbst sind komprimierte Archive, trotzdem können die Pakete einfach und schnell nach bestimmten Informationen durchsucht werden, da ein spezieller Header im Binärformat an jedes Paket angefügt wird. Dieser Header ist unkomprimiert und enthält alle relevanten Informationen. Das ermöglicht das schnelle Durchsuchen von Paketen.
Eine andere nützliche Funktion ist die Möglichkeit, Pakete zu überprüfen. Falls man vermutet, daß man eine für ein Paket wichtige Datei gelöscht haben könnte, kann man dieses damit einfach überprüfen. Man wird dann über Probleme mit der gegenwärtigen Konfiguration informiert und kann, falls notwendig, das Paket neu installieren. Konfigurationsdateien werden, soweit vorhanden, nicht überschrieben.
Wir möchten den Leuten von der BOGUS-Distribution für viele ihrer Ideen und Konzepte danken, die im RPM enthalten sind. Obwohl der RPM vollständig von Red Hat Software geschrieben wurde, basiert seine Funktionalität doch auf von BOGUS geschriebenem Code (PM and PMS).