首先, 让我们先来了解 RPM 背後的设计哲学, 其设计的目的之一,
便是允许使用者能够使用「纯净」的 source 档案。 关於此点,
我们必须回溯至 RPP 程式, ( 这是一个早期所使用的程式套件管理系统,
不过, 後来 RPM 倒没有由其衍生 ), 它所采用的 source 档案,
都是经过额外的「破解处理」。 理论上, 使用者可以顺畅无误地,
从一份 RPP 原始档, 完成 install 与 make
的动作。
但是这样处理过的 source 档案, 已是面貌全非, 使用者可能无从得知,
档案里到底哪些地方被更改过, 通常必须额外取回未经处理过的 source 档案。
而 RPM 的做法, 便是让使用者取得「未经处理过的 source 档案」,
同时再附上一份「patch 档案」, 可藉之完成程式编译的工作。
我们很容易发现, 这样的做法带来不少好处。 怎麽说呢?
举个状况为例, 在 Red Hat Linux 下, 如果某个新版的程式问世了,
您可能没有必要再重头开始做 compile 动作, 先观察「patch 档案」的内容,
看看是否有哪些部份才是您需要做的。 如此一来,
所有内含的程式预设值便很容易看出来。
另一方面, RPM 也具有强大的查询功能, 您可以针对整个程式套件的资料库, 或是某些特定的档案, 进行查询的动作, 也可以轻松地查出, 某个档案是属於哪个程式套件, 或是它打从哪里来的。 RPM 档案本身是经过压缩的, 但您还是可以很容易而快速地, 查询每个程式套件的内容, 因为在程式套件里, 已经加入一段特殊的 binary header, 它记录了全部查询时所需的内容, 这样的做法, 使得查询功能变得相当快速。
另一项强大的功能, 便是程式套件的完整确认。 如果您担心误砍某个档案, 而它正是某个程式套件的重要部份, 那麽做个「确认动作」就行了。 如有任何不正常的地方, 便会通知您, 这时候, 您可以视情况重新安装该程式套件, 而且所有之前的设定档, 都会完好地被保存下来。
我们非常感谢来自 BOGUS distribution 的高手们, 他们提供了许多意见构想, 後来也都被采用於 RPM 当中。 虽然 RPM 完全是由 Red Hat Software 所撰写, 但其操作模式是根据 BOGUS (PM 与 PMS) 所写的程式码。