RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。
RPM文件在Linux系统中的安装最为简便。以著名的图像处理软件XV为例,其RPM包xv-3.10a-13.i386.rpm可以在该程序的主页中下载取得。
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
Linux软件包大概分为了一下几种
①
二进制软件包管理<RPM.YUM>
②
源代码包管理
③
脚本安装<shell或java脚本>
④
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
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />

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
这个文件是有什么软件包所创建的!

解释下后
2
个命令
rpm –V initscripts
是校验安装
inittab
这个配置文件的软件包。但回执信息告诉我们它的文件创建时间被改变了。且不管它,第二个
rpm –V sudo
没有任何回执信息,如果确定没有更改过任配置信息。那么
rpm –V
就是正常的,如果没做更改就不会有任何回执信息。但是如果回执信息有输出的话。就证明你的计算机被更改过。下面继续看图:

我更改了
inittab
文件的内容,更改了它的权限,更改了它的所属用户,更改了它的所属组,然后再校验就看到了
SM5..UGT.
的回执表示文件大小改变了,因为内容变了,然后文件的权限改变了,
MD5
值也改变了,所属用户也改变了,所属组也改变了,文件的创建时间也改变了,如果这不是我们管理员所做的更改,那证明有其他人动过计算机,可能是***,可能是那坑爹的江南
style
的男主角!
呵呵,图上的操作为了验证效果所配置。别乱喷!
MD5
值校验。咳咳,什么。我删除了
inittab
这个文件???
….
继续往下看吧

MD5
校验原理
当安装一个新的
rpm
包时,会自动生成一个
rpm
库,在需要的时候会通过这个库来比较得到这些值!
刚才凤姐附体,不小心把
inittab
删除了,还好我没重启,不用进救援模式。要在线恢复也简单!
软件包文件提取,我们刚才就通过
–qf
参数知道了
rpm
包的安装包的名字,现在挂载关盘提取
inittab
文件,没光盘自己去下载
initscripts….

Inittab
就这样修复了。没什么很难的啊!!!
源代码包安装以
proftpd
为例自己搞包解压
./configure –prefix=/usr/local
配置

make
编译

make install
安装

就这样装好了
如果没装
C
编译器就装一个
Gcc cc
其他
CC
都行
反正有人说
yum
比
rpm
好。我觉得都要用。作为一个技术人员。不要追求新,很多东西要都会,都知道,结合使用才强大撒!
本文章转载自www.itchenyi.com技术博客
转载于:https://blog.51cto.com/muyutingfeng/1045713