Låt mig först förklara en del av filosofin bakom RPM. Ett design-mål
var att tillåta användningen av "ofördärvad" källkod. Med RPP (vårt
tidigare system för paket-administrering, på vilket inget i RPM
är baserat) var våra källkods-paket "hackade" källkoder, som vi byggde
från. Teoretiskt så var det möjligt att installera en källkods-RPM och
sedan make
-a det utan problem. Men källkoden var inte den
ursprungliga, och det fanns inga uppgifter om vilka ändringar vi hade
gjort, för att få den att kompilera. Man var tvungen att ladda ned den
urprungliga källkoden separat. Med RPM får du ofördärvad källkod,
tillsammans med en patch, som vi använde för att kompilera från. Vi
ser detta som en stor fördel. Varför? Av flera anledningar. En av dem
är, att om det kommer en ny version av ett program, så behöver vi inte
börja om från början, för att få det att kompilera under RHL. Du kan
titta på patchen, för att se vad du kan bli tvungen att
göra. Alla saker som kompileras in, som standard, är på detta sätt
klart synliga.
RPM är också designat att ha kraftfulla "fråge"-möjligheter. Du kan leta igenom hela din paket-databas eller bara vissa filer. Du kan också enkelt ta reda på vilket paket en fil tillhör, och var den kom ifrån. RPM-filerna själva är komprimerade arkiv, men du kan fråga individuella paket enkelt och snabbt, på grund av en standardiserad binär rubrik-fil (header file. övers.anm.), vilken innehåller all information du någon gång skulle vilja ha. Denna är inte komprimerad. Detta tillåter snabb informations-sökning.
En annan kraftfull funktion är möjligheten att verifiera paket. Om du är orolig att du har raderat en fil som är viktig för något paket, verifiera det bara. Du får ett meddelande om alla ovanligheter. På detta stadium kan du, om det är nödvändigt, ominstallera paketet. Eventuella konfigurerings-filer som du har bevaras också.
Vi vill tacka människorna bakom BOGUS-distributionen för många av deras idéer och koncept, vilka tagits med i RPM. Även om RPM skrivits helt och hållet av Red Hat Software, så är dess funktion baserad på kod som skrivits av BOGUS (PM och PMS).