RPM Package

1. Package

  • 预生成的应用程序.
    • 打包了运行应用程序所需的一切, 例如: 二进制程序, 数据, 配置文件等.
    • 同时包含了在系统上部署应用程序所需的步骤, 通常以脚本(script)的形式.
    • 一个package 会针对特定的系统进行裁剪(tailored).
      • 每种OS 都提供了自己的包管理器(package manager), 用以从系统中添加或删除包.
    • dev 或者admin 人员负责以包的形式来提供可运行的应用程序.

2. 构建过程

2.1 下载并解压缩源代码.

  • 将源代码以库(repository) 的形式进行存储.

2.2 配置构建(build).

  • 通过文件的形式, 来指定源代码的位置, 如何构建和安装代码.

2.3 构建源代码.

  • 任何用户都可以在home 目录进行RPM 的构建.
  • BuildRoot 是最终安装目录的一个代理.
    • 使用RPM_BUILD_ROOT 环境变量访问.
  • 构建命令: sudo rpmbuild -v -bb --clean SPECS/bbs.spec
    • %preq: 将源代码加压缩到BUILD 目录.
    • %description : 指定描述, 可以通过'rpm -qi 查看描述信息.
    • %doc: 标记文档.
    • %config: 标记配置文件.

2.4 安装软件.

  • RPM 会维持一个已安装包和包文件的数据库, 可以对其进行查询和验证操作.
  • RPM 会保证升级过程中, 不会丢失自定义的配置信息.

3. 设计理念

  • 可升级的
    • 在非完全重新安装的情况下, 进行单个组件的升级.
    • 安装和升级包, 使用的是同一的文件.
  • 强大的查询功能
    • 文件以压缩文档的形式存在, 同时会附加一个自定义的二进制头.
  • 系统的可验证性
    • 可以删除和重新安装一个包.
  • 原始的源代码
    • 包含带有所有补丁(patch)的原始源代码, 附加以完整的构建�命令.
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容