rpm是怎样安装/更新文件的?

这个问题的更准确表述是,在用rpm命令更新软件包时,这个软件包里的某个文件是逐渐改变的,还是原子的?

比如说,有一个软件包叫 fake-1.rpm,里面有A/B/C三个文件。这个软件包有一个更新版本 fake-2.rpm, 其中对B文件进行了变更。那么,在进行rpm的升级过程中,文件B会发生怎样的改变?在升级过程中,文件B有没有可能是不完整的?它的MD5值是yyy1234, yyy5678 还是其它值?

  fake-1.rpm (version 1)
  +-------+---------+
  | Files | MD5     |
  +-------+---------+
  | A     | xxx1234 |
  +-------+---------+
  | B     | yyy1234 |
  +-------+---------+
  | C     | zzz1234 |
  +-------+---------+

  fake-2.rpm (version 2)
  +-------+---------+
  | Files | MD5     |
  +-------+---------+
  | A     | xxx1234 |
  +-------+---------+
  | B     | yyy5678 |
  +-------+---------+
  | C     | zzz1234 |
  +-------+---------+

继续阅读“rpm是怎样安装/更新文件的?”