RPM软件包管理
   RPMRedHat Package ManagerRedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinuxS.u.S.E.以及Turbo LinuxLinux的分发版本都有采用,可以算是公认的行业标准了。
RPM文件在Linux系统中的安装最为简便。以著名的图像处理软件XV为例,其RPMxv3.10a13.i386.rpm可以在该程序的主页中下载取得。
 
Linux软件包大概分为了一下几种
   二进制软件包管理<RPM.YUM>
   源代码包管理
   脚本安装<shelljava脚本>
   Debian系列linux软件包<不后续介绍>
sudo-1.7.4p5-11.el6.i686.rpm这个软件版为例
解释下linux命名格式sudu=软件名1.7.4p5=版本号 11.el6=发行号 i686=硬件平台
 
安装sudo  挂载光盘什么的不做介绍了
[root@chenyi Packages]# rpm -ivh sudo-1.7.4p5-11.el6.i686.rpm
RPM软件包管理_RPM软件包管理
 
RPM软件包参数
--exludedocs
不安装软件包中的文档文件
--prefix=
指定路径进行安装
--test
测试安装,不实际安装
--replacepkgs
覆盖安装
--replacefiles
忽略错误继续安装
--nodeps
忽略依赖关系安装
-a
查询所有已经安装的软件包
-f
查询文件所属的软件包
-p
查询软件包
-i
显示软件包信息
-l
显示软件包中的文件列表
-c
显示被标注为配置文件的文件列表
-d
显示被标注为文档的文件列表
-e
卸载软件包
-qf
查询文件隶属的软件包
–qi–qip
查询软件包信息
-ql –qlp
查询软件包的安装文件
-qd
查询软件包的帮助文件
-qc
查询软件包配置文件
软件包校验: rpm –V [软件名称]
对应的参数
5
文件的md5校验值
S
文件大小
L
连接文件
T
文件的创建时间
D
设备文件
U
文件的用户
G
文件的用户组
M
文件的权限
 
这里演示下–V 这个参数。因为他对于某种环境来说是很不错的!
/etc/inittab 配置文件为示例,这文件有啥用我就不做解释了。
首先 rpm –qf 查看/etc/inittab 这个文件是有什么软件包所创建的!
RPM软件包管理_软件包_02
解释下后2个命令  rpm –V initscripts 是校验安装inittab这个配置文件的软件包。但回执信息告诉我们它的文件创建时间被改变了。且不管它,第二个 rpm –V sudo  没有任何回执信息,如果确定没有更改过任配置信息。那么rpm –V 就是正常的,如果没做更改就不会有任何回执信息。但是如果回执信息有输出的话。就证明你的计算机被更改过。下面继续看图:
RPM软件包管理_软件包_03
我更改了inittab文件的内容,更改了它的权限,更改了它的所属用户,更改了它的所属组,然后再校验就看到了 SM5..UGT.的回执表示文件大小改变了,因为内容变了,然后文件的权限改变了,MD5值也改变了,所属用户也改变了,所属组也改变了,文件的创建时间也改变了,如果这不是我们管理员所做的更改,那证明有其他人动过计算机,可能是黑客,可能是那坑爹的江南style的男主角!
呵呵,图上的操作为了验证效果所配置。别乱喷!
 
MD5值校验。咳咳,什么。我删除了inittab这个文件???….继续往下看吧RPM软件包管理_软件包_04
MD5校验原理
当安装一个新的rpm包时,会自动生成一个rpm库,在需要的时候会通过这个库来比较得到这些值!
刚才凤姐附体,不小心把inittab删除了,还好我没重启,不用进救援模式。要在线恢复也简单!
软件包文件提取,我们刚才就通过–qf 参数知道了rpm 包的安装包的名字,现在挂载关盘提取inittab文件,没光盘自己去下载initscripts….
RPM软件包管理_RPM软件包管理_05
Inittab 就这样修复了。没什么很难的啊!!!
源代码包安装以proftpd为例自己搞包解压
./configure –prefix=/usr/local 配置
RPM软件包管理_RPM软件包管理_06
make编译
RPM软件包管理_RPM软件包管理_07
make install 安装
RPM软件包管理_软件包_08
就这样装好了
如果没装C编译器就装一个
Gcc cc 其他CC都行
反正有人说yumrpm好。我觉得都要用。作为一个技术人员。不要追求新,很多东西要都会,都知道,结合使用才强大撒!
      本文章转载自www.itchenyi.com技术博客