4.3. 为分发创建一个源代码存档


归档文件是一个带有 .tar.gz.tgz 后缀的文件。将源代码放入存档是一种发布软件以便以后打包分发的常见方法。

4.3.1. 为 Bash 程序示例创建一个源代码存档

bello 项目是 Bash 中的 Hello World 文件。

以下示例仅包含 bello shell 脚本。因此,生成的 tar.gz 存档除了 LICENSE 文件只有一个文件。

注意

patch 文件不在存档中随程序一起分发。构建 RPM 时,RPM 软件包管理器会应用补丁。补丁将与 tar.gz 存档一起放在 ~/rpmbuild/SOURCES/ 目录中。

先决条件

流程

  1. 将所有需要的文件移到一个目录中:

    $ mkdir bello-0.1
    
    $ mv bello bello-0.1/
    
    $ mv LICENSE bello-0.1/
    Copy to Clipboard Toggle word wrap
  2. 为分发创建存档:

    $ tar -cvzf bello-0.1.tar.gz bello-0.1
    bello-0.1/
    bello-0.1/LICENSE
    bello-0.1/bello
    Copy to Clipboard Toggle word wrap
  3. 将创建的存档移到 ~/rpmbuild/SOURCES/ 目录中,这是 rpmbuild 命令存储用于构建软件包的文件的默认目录:

    $ mv bello-0.1.tar.gz ~/rpmbuild/SOURCES/
    Copy to Clipboard Toggle word wrap

4.3.2. 为 C 程序示例创建一个源代码存档

cello 项目是 C 中的 Hello World 文件。

以下示例仅包含 cello.cMakefile 文件。因此,生成的 tar.gz 存档除了 LICENSE 文件有两个文件。

注意

patch 文件不在存档中随程序一起分发。构建 RPM 时,RPM 软件包管理器会应用补丁。补丁将与 tar.gz 存档一起放在 ~/rpmbuild/SOURCES/ 目录中。

先决条件

流程

  1. 将所有需要的文件移到一个目录中:

    $ mkdir cello-1.0
    
    $ mv cello.c cello-1.0/
    
    $ mv Makefile cello-1.0/
    
    $ mv LICENSE cello-1.0/
    Copy to Clipboard Toggle word wrap
  2. 为分发创建存档:

    $ tar -cvzf cello-1.0.tar.gz cello-1.0
    cello-1.0/
    cello-1.0/Makefile
    cello-1.0/cello.c
    cello-1.0/LICENSE
    Copy to Clipboard Toggle word wrap
  3. 将创建的存档移到 ~/rpmbuild/SOURCES/ 目录中,这是 rpmbuild 命令存储用于构建软件包的文件的默认目录:

    $ mv cello-1.0.tar.gz ~/rpmbuild/SOURCES/
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat