源码包:开源,安装时选项自由,可修源码,编译安装时间长。
#还有少量的脚本安装包,予以新手是源代码的再开发,如添加一些窗口界面等。
二进制包(rpm包、系统默认包):安装快速简单,源码不可知。
RPM包管理-rpm命令管理
--包命名和依赖性
包全名:httpd-2.2.15-15.e16.Centos.1.i686.rpm(包名,版本号,发行次数,linux平台,硬件平台,易于识别手动添加的rpm后缀)
依赖性:树形a-b-c
环形a-b-c-a(一个命令执行)
模块依赖(www.rpmfind.net一般去搜索.so.数字库依赖)
--安装升级和卸载
包全名:在安装升级的时候使用
包名:包已安装卸载时使用,在/var/lib/rpm/
安装
rpm -vih 包全名
v verbose 详细信息
i install 安装
h hash 进度
升级
rpm -Uvh 包全名
U upgrade 升级
卸载
rpm -e 包名
e erase 卸载
--查询是否安装
#不需要在绝对路径,不需要在光盘的packages
rpm -q 包名 #查询包是否安装,后台数据库当中查询
rpm -qa | grep 包名
q query 查询
a all
--查询包的信息(组建生产包时建立的信息)
rpm -qi 包名
i 查询软件信息(information)
p 查询未安装包信息(package)包全名
--查询包中文件安装位置 #不建议手工指定安装位置
rpm -ql 包名
l list
p package 查询未安装包信息,知道一个包打算把文件安装到哪儿 #包的安装位置在生产这个包的时候就指定好的
--查询系统文件属于哪个RPM包
rpm -qf 系统文件名(绝对路径)
-f file查询系统文件属于哪个RPM包,但是手动生成的,日志等等不是通过包装出来的不可以反向查出RPM包。
--查询软件包的依赖性
rpm -qR 包名
-R requies查询软件包的依赖性
-p package查询未安装包的信息 包全名 需要去到光盘的packages
rpm命令管理—校验和文件提取
校验
rpm -V 已安装的包名
-V 校验指定RPM包中的文件 verfi #执行这个命令后会提示包中修改的文件
验证内容的8个信息具体内容:
S 文件大小
M 文件类型权限
5 文件MD5即文件内容 丢包或篡改
L 文件路径
U 文件所有者
G 文件属组
T 修改时间
最后一位:文件类型
c配置未见 config
d 普通文件documentation
g ghost 这个文件不应该被这个RPM包包含
l 授权文件 license
r 描述文件 readme
#用于修复,例如丢失系统配置文件 。
#解决方式:缺失的功能来自哪个包(搜索引擎rpmfind网站),下载包提取缺失文件,拷贝到相应路径。
rpm2cpio 包全名 |\ cpio -div .文件绝对路径 #\换行,.复制到当前目录;div分别表示新建目录,还原(copy-in)还原过程
#rpm2cpio 将rpm包转换为cpio格式的命令,cpio是一个标准工具,用于创建软件档案文件和从档案文件中提取文件。
rpm2cpio ls来源的包全名 | cpio -idv ./bin/ls 在当前路径中创建bin把ls提取到bin中。