正在加载...
分页: 1/2 第一页 1 2 下页 最后页 [ 显示模式: 摘要 | 列表 ]

RPM软件包的制作

[ 2010/09/17 15:31 | by selboo ]
RPM软件包的制作要用到Tarballs源代码包。先回顾一下Tarballs软件包的制作方法:

tar cvf:打成.tar包(可再用gzip压缩成.tar.gz包)。
tar xvf:从.tar包中解包(对.tar.gz包可先用gunzip或gzip -d解压)。

注意:对于.tar.bz2型的包,使用bzip2(-d),bunzip2。
tar zcvf:直接打包压缩成.tar.gz包。
tar zxvf:直接从.tar.gz包解压。

注意:对于.tar.bz2型的包,把z选项换成j选项。
tar tvf:列出包中的内容
tar rvf:向包中追加指定文件
tar dvf:从包中删除指定文件
tar uvf:只追加比包中的原来文件更新的文件

Linux下软件包的命名格式:name-version-release.architecture.deb(.rpm等)
Tarballs软件包的命名格式:name-version.tar.gz或name-ver
Tags:

rpm打包利器rpm_create简介

[ 2010/09/08 10:56 | by selboo ]



      RPM是Redhat Package Manager的简称,是由redhat公司研制,用在Linux系统下的系统包管理工具。RPM包目的:是使软件包的安装和卸载过程更容易,简化软件包的建立分发过程,并能用于不同的体系结构,RPM系统已成为现在Linux系统下包管理工具事实上的标准,并且已经移植到很多商业的unix系统之下。

      rpm打包可以通过编写spec文件,使用rpmbuild来完成一个rpm的打包。

      使用spec文件的方式打包,对于初学者最难理解的是install和file节点编写的关系,并且复杂的是,还需要学习spec语言中特有的语法和环境变量关系。其次是打包过程,打rpm包前需要先把打包的内容,打成tar.gz的包,然后拷贝到rpmbuild的源码目录内,大部分是/usr/src/redhat/SOU
Tags: ,

rpm 包制作 bind包

[ 2010/09/01 08:58 | by selboo ]

制作简单的rpm包

由于要装多台bind做DNS使用,一台一台编译很是麻烦,所以想到用源码包编写spec 来生成rpm包
环境:centos 5.4

操作如下: 准备工作

1.下载 bind9.6.2

2.cp bind9.6.2.tar.gz /usr/src/redhat//usr/src/redhat/SOURCES
编写spec
1.进入/usr/src/redhat/SPECS目录
2.编写bind.spec
Summary:        The Name Server Of DNS
Name:   bind
Version:        9.6.2
Release:      &nbs
Tags:
仔细考虑rpm的依赖关系
其实发现redhat当初考虑rpm
只是考虑到了从光盘这个给定范围内安装指定包的途径
由于源的范围很窄
所以他没有过多考虑卸载软件已经更新软件
他们当时需要的只是一个能够解决依赖关系
解决当安装A的时候要把B也安装进去问题的方法
从这个角度来看RPM工作的不错
其实你只是从redhat的光盘上安装软件
他看起来也不错.虽然有时候会安装你觉得完全依赖不到的东西
但是他们的解决方法就是.为了万无一失.凡是引用到的东西统统装进去.反正是从光盘上的.速度不会太差
但是遇到信息爆炸和软件数量激增的情况下
就很难去管理这么大一个库
而rpm的设计方式注定了无法别人参与维护这个源

而deb的管理.其实应该说是apt的管理
从一开始就源于debian的包或者源不可能只有一个组织维护
其贡献者会非常多
所以他的依赖比较松散,而且对卸载和更新的要求考虑的比较周到
而之后的yum,只能是把rpm的依赖关系搬移到网上
并没有本质上解决rpm的痼疾.
所以当rpm遇见个人发布的内容的时候
如果使用默认的rpm打包方式
会发现你打出的包由于依赖关系安装很麻烦.卸载更加是件几乎不可能的事情.
因为你的应用不是redhat的.不在他们的光盘中

redhat之所以放弃桌面版linux市场
其一是linux桌面版确实很难盈利
其二是在本身就是开源环境的条件下
软件的更新和加入如此频繁.
在网络速度已经很高的前提下就开始暴露出来的rpm打包软件难以维护的问题
到后面已经是积重难返了.
而退缩企业市场,企业市场出于稳定性和可靠性,
不可能安装来自那么多第三方源的软件
这样redhat维护和管理一个较小的软件源的可能性就大大增加了.

我们看到debian或者ubuntu的系统
都是一张CD,而这在他们看来是基础CD
可以通过这个CD扩展
而redhat和suse的概念就不同
要不是DVD,要不就是几张或者十几张CD
这些CD.就是他们的全部内容
你要安装这之外的软件.将会非常困难.

由此我觉得.redhat的rpm代表的是狭隘以及短视,封闭
而deb或者gentoo的包管理方式.更加开放和富有远见.

Tags:

linux rpm命令

[ 2008/11/12 18:11 | by selboo ]

查询RPM格式的软件包,可使用如下命令格式:

rpm -q [查询选项1 查询选项2...]

也可使用--query代替-q,效果一样的。

如下是相关的参数说明:

点击在新窗口中浏览此图片
分页: 1/2 第一页 1 2 下页 最后页 [ 显示模式: 摘要 | 列表 ]