`
shang
  • 浏览: 196122 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

制作Linux RPM包

阅读更多
制作Linux RPM包

RPM是Redhat Package Manage的缩写。透过RPM的管理,使用者可以把Source Code包装成一种Source和Binary的档案形式。利用它,我们可以用Binary的档案进行安装,用 Source 的档案形式重新整理包装。许多Linux爱好者对安装RPM包比较熟悉,但对如何在Linux下制作RPM包不甚了解,因此,我将通过实例,讲解如何在 Linux下制作RPM包。

1. 最初要求
为了创建RPM,你需要RPM要编译的源代码、一个rpmrc文件(设置一些RPM的缺省值并控制它的行为),以及一个spec文件(控制包的建立过程)。这里假定已有其它的开发环境(gcc、make、install、vi等),而且你的源代码已经编译成功。

2. 制作流程
1)确定/etc/rpmrc(也可能是/usr/lib/rpm/rpmrc)已经正确设定。rpmrc文件控制几乎所有RPM的行为。如果你 想重载一个或多个全局设置,可以在~/.rpmrc文件中包含你的定制。可以使用rpm--showrc来显示RPM的当前设置。大多数情况下, rpmrc 文件的设置不需要改变。

2)取回所建造的源代码并放入正确的目录中。

3)编写spec文件。

4)使用rpm -ba 来构造整个程式套件。

3.应用举例
现在以Lynx实用程序来介绍构造RPM包的整个过程。Lynx是在文本方式下的Web浏览器,可以从ftp://www.slcc.edu/pub/lynx/取得。

1)得到lynx源代码。

2)lynx-2.8.spec文件的详细编写方法略。

3)使用RPM来构造包。

按照rpmrc文件的缺省设置,应该把lynx-2.8.spec文件放入SPECS/目录下,然后执行:

rpm -ba lynx-2.8.spec

其中-b 表示prep、compile、install,并build出一份binary RPM包。-a 表示执行所有的build动作,即还要build 出一份source code RPM包。

如果一切顺利的话,可以在RPMS/目录下找到lynx-2.8-4.i386.rpm文件。可以执行:

rpm -qpl lynx-2.8-4.i386.rpm

来观察RPM 包中是否包含了要求的所有文件。

为了测试它的正确性,可以拷贝此文件到另一台机器上,并执行:

rpm -ivh lynx-2.8-4.i386.rpm

进行安装测试。

一旦测试成功,就可以上载你的大作,享受成功的喜悦。

制作RPM包需要开发人员做很多工作。比如不仅要懂得c/c++编程,而且还要能熟练掌握像make、autoconf、diff、patch、 tar、install等工具的使用并能编写spec文件。但从长远来看,应用RPM,在软件包的维护和方便性方面使得开发者受益。
分享到:
评论

相关推荐

    Linux下RPM打包制作过程

    Linux下的RPM打包制作流程是将软件源代码转化为可供Linux系统安装的RPM包的过程,这一过程涉及到多个步骤和配置文件。RPM(Red Hat Package Manager)是一种广泛应用于Linux发行版的软件包管理器,它使得软件的安装...

    用openssh9.8源码包,制作rpm包

    要使用OpenSSH 9.8的源码包制作RPM包,你需要遵循一系列步骤,包括安装必要的工具、准备源码、编写RPM规范文件(spec file),然后构建RPM包。以下是一个基本的指南: 1. 安装必要的工具 首先,确保你的系统上安装...

    gradle制作rpm包

    RPM 包是 Redhat Package Manager 的缩写,是一个为 Redhat 系列 Linux 生产软件包的小工厂。其产品是 RPM 包,包含一些归档文件和 meta 信息;这些 meta 信息用来记录如何安装和删除这些文件,一些帮助脚本,文件...

    Linux rpm包制作.docx

    通过掌握RPM包的制作方法,你可以更好地定制和控制软件在Linux系统上的部署和更新,这对于系统管理员和开发人员来说是一项非常重要的技能。同时,这也为软件的分发和维护提供了标准化的流程,确保了不同环境下的软件...

    如何将Nginx源码包制作成RPM包.doc

    对于开发者而言,将源码编译为RPM包,可以使得软件分发更加便捷,同时也符合Linux社区的标准。本教程以Nginx 1.12.2版本为例,详细介绍如何将其源码包制作成RPM包。 首先,确保系统已经安装了`rpm-build`工具,它是...

    zlib1.2.11RPM包,基于CentOS7制作

    【标题】中的“zlib1.2.11RPM包,基于CentOS7制作”指的是一款名为zlib的库软件,版本为1.2.11,它被封装成RPM(Red Hat Package Manager)格式的安装包,适用于CentOS 7操作系统。RPM是一种在Linux系统中广泛使用的...

    hello world rpm包制作的例子

    在Linux世界中,RPM(Red Hat Package Manager)是一种广泛使用的软件包管理器,它用于安装、升级、查询和删除软件。"hello world rpm包制作的...熟练掌握RPM包制作,对于在Linux环境中管理和分发软件是十分重要的。

    linux下制作安装rpm包的方法.docx

    本篇文章将详细介绍如何在Linux环境下制作和安装RPM包。 **一、制作RPM包** 制作RPM包通常涉及以下几个步骤: 1. **下载源代码**:首先,你需要获取软件的源代码。在这个例子中,我们以`rp-pppoe-3.10.tar.gz`为...

    ARM架构和X86_64架构rpmbuild制作openssh和openssl的rpm包

    构建完成后,RPM包可以分发到对应架构的Linux系统中,通过`yum`或`dnf`等包管理器进行安装,确保了软件在不同环境下的统一管理和部署。 在实际应用中,理解并熟练掌握`rpmbuild`以及跨架构编译技术对于IT专业人员来...

    httpd2.4.37版本的rpm包

    首先,RPM包是一种在Linux发行版中广泛采用的软件包管理格式,它简化了软件的安装、升级和卸载过程。RPM包包含了软件的所有文件、配置信息以及依赖关系,使得用户可以方便地管理和维护系统中的软件。 Apache 2.4.37...

    适用于CentOS7.*和redhat el7系列的openssh9.7P1,x86架构rpm包

    本人2024年5月26日制作的openssh9.7P1的rpm包,适用于CentOS7.*系列和redhat el7系列,el7 包含以下文件: openssh-9.7p1-1.el7.x86_64.rpm openssh-clients-9.7p1-1.el7.x86_64.rpm openssh-server-9.7p1-1.el7.x86...

    Linux-rpm.zip_rpm

    RPM包制作是开发人员和系统管理员必备的技能之一,因为这允许他们自定义软件,以适应特定环境或添加额外功能。下面我们将深入探讨RPM包的制作过程及其重要性。 1. **RPM包的结构** RPM包由一系列文件和元数据组成...

    linux上打包iso的工具

    描述中的“非常好用的打包工具,rpm包形式意见安装”,意味着mkisofs通常作为RPM包的形式提供,RPM是Red Hat Package Manager的缩写,是Linux系统中广泛使用的软件包管理器。RPM包使得安装、升级和卸载软件变得非常...

    rhl rpm打包原理详解

    - 安装必要的工具,如`rpm-build`和`rpmbuild`,它们提供了一套用于构建RPM包的命令行工具。 3. **SPEC文件**: - **SPEC文件**是RPM打包的核心,它定义了软件包的属性,包括版本、源代码位置、编译选项、依赖...

    Centos7openssh9.0rpm包与升级脚本

    RPM包是Red Hat Package Manager的简称,是用于在Linux系统中安装、升级和管理软件的包管理系统。在CentOS 7中,我们可以使用`yum`(或者更新的`dnf`)命令来处理RPM包。`openssh-9.0p1.rpm`这个文件就是OpenSSH 9.0...

    openssh7.8p1RPM包

    《OpenSSH 7.8p1 RPM包详解与应用》 OpenSSH,全称为Open Source Secure Shell,是一款广泛使用的安全网络服务,它提供了在不安全的网络上进行安全远程登录和其他网络服务的功能。OpenSSH 7.8p1是其在2018年发布的...

    openssh-9.7p1的rpm包

    为了安装 openssh-9.7p1 rpm 包,用户需要使用 RPM 包管理器,如 `yum` 或 `dnf`,执行相应的安装命令。确保先备份现有版本,以防出现兼容性或配置问题。安装后,应根据需要更新配置文件,并重启 sshd 服务以应用...

    openssh9.0p1 for centos6 or rhel6 rpm包,可直接升级,无需源码编译

    RPM包是Red Hat Linux Package Manager的简称,它是一种软件包管理器,能够方便地安装、升级和卸载软件。标题中提到的"可直接升级,无需源码编译"意味着用户可以直接使用这个预编译的二进制包来升级OpenSSH服务,而...

    OpenSSH通过RPM升级到9.6

    确保你下载的RPM包适用于你的Linux发行版和体系结构。 4. **安装RPM包**: 将下载的RPM包放在你的文件系统中,然后使用`yum install`或`dnf install`命令进行安装,指定RPM包的完整路径: ``` sudo yum install /...

Global site tag (gtag.js) - Google Analytics