首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 操作系统 >

centos停rpm包的制作

2013-09-09 
centos下rpm包的制作摘要:RPM(Red Hat Package Manager)是用于 Linux 分发版(distribution)的最常见的软件

centos下rpm包的制作

摘要:

RPM(Red Hat Package Manager)是用于 Linux 分发版(distribution)的最常见的软件包管理器。因为它允许分发已编译的软件,所以用户只用一个命令就可以安装软件。RPM 是 Linux“标准基本库”版本 1.0.0 指定的安装工具。在 Linux 分发版前 10 名中,有 8 个是基于 RPM(请参阅“Comparison of Linux Distributions”)。即使某些通常不使用 RPM 的分发版,如 Debian,也有可用工具将 RPM 转换成它们自己的格式。在 Linux 上,对于除开发人员以外的任何人,RPM 也是用来打包软件的最佳选择。本文通过一个简单的hello word程序,介绍rpm软件包的制作原理。


本文来源:http://blog.csdn.net/trochiluses/article/details/11179901

1.简单实例:


在这篇博文中,我们使用一个简单的“hello world”来说明问题,其中我们的源文件包括hello.c,configure,makefile,内容大致如下:

hello.c

%prep#rm -rf %{_builddir}/hello-1.0mkdir -p %{buildroot}echo buildroot: %{buildroot}#tar -xvf %{_sourcedir}/hello-1.0.tar.gz%setup -q%build#cd %{_builddir}/hello-1.0#./configure --prefix=/home/huangyukun/usr/local/hellomake#%configure#make %{?_smp_mflags}%install#cd %{_builddir}/hello-1.0make install DESTDIR=%{buildroot}

      注意:最主要的变化是将install的路径变化了,包制作完成后会自动删除这个目录之下的文件。


4.关于spec文件中的变量定义和宏定义

如果您在使用不同的 Linux 分发版,RPM 可能会有不同的内置路径。要确定希望的 RPM 安装路径,请运行 rpm --showrc 并查看下列部分如何被定义:

_sourcedirRPM 在哪里查找源文件(tar 文件,等)
_srcrpmdirRPM 在哪里放入新的源 RPM 文件
_rpmdirRPM 将把新的二进制 RPM 文件放在哪里(在特定于体系结构的子目录中)

其中一些根据其它变量定义;例如,当您看到 %{_topdir} ,查找 _topdir 的定义,等等。


另外,一些变量和宏的定义可以在以下文件中找到:rpmrc Configuration
       /usr/lib/rpm/rpmrc
       /usr/lib/rpm/redhat/rpmrc
       /etc/rpmrc
       ~/.rpmrc


   Macro Configuration
       /usr/lib/rpm/macros
       /usr/lib/rpm/redhat/macros
       /etc/rpm/macros
       ~/.rpmmacros


外部参考:

【1】http://www.ibm.com/developerworks/cn/linux/management/package/rpm/part1/index.html

【2】http://blog.chinaunix.net/uid-21123336-id-1830527.html

【3】http://bbs.voip88.com/home.php?mod=space&uid=1&do=blog&id=727


热点排行