RPM软件包管理
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 挂载光盘什么的不做介绍了
[[email protected] 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