rpm
和
yum
GNU/linux
RedHat
提供了一个软件包的管理工具即
rpm
rpm
的使用方法很简单:
rpm �Civh /path/to/pakage
但是
rpm
安装软件包时要解决依赖关系。
RPM
包安装时是依赖于
specs
文件的。
specs
文件是
rpm
制作者定义好的
RPM
软件都有
rpm
数据库
�C
》
指纹信息
―
》签名(验证签名需要制作者的公钥,为了防止别人修改自己的软件后在发送。)
linux
软件包的组成部分
二进制文件,根据
x86
,
ppc
,
x64
等平台的不同有不同的版本。
通常放在
/bin,/sbin, usr/bin ,/usr/sbin, /usr/local/bin , /usr/local/sbin
配置文件,
及定义二进制文件的特征的。
/etc , /usr/local/etc,
库文件
/lib , /usr/lib , /usr/local/lib , /usr/x11/bin
帮助文件
/usr/share/doc , /usr/share/man , /usr/local/share/man
装软件:
rpm
�Ci
安装
-U update
更新,老版本如果存在就更新,不存在就安装
�CF
更新,老版本如果存在不安装,不存在就安装。
-e
卸载软件包
-q
查询是否安装,
-q
有几个子选项。
-qa
显示所有的被安装包
-qf
包名,查询那那个文件属于那个包
-ql
查询软件包安装后产生了什么文件
rpm -qpl
路径
-qi
显示开发者信息,
后边直接跟上包名即可
-qpi +
路径
--ndps
忽略依赖关系安装。
-V
校验已安装的软件包
s
文件大小变了
M
文件权限被改变了
5
特征码被改变了(
md5sum
命令可以查看文件的特征码。)
D
主次设备号不匹配
U
属主被改变
G
属组被改变
T
时间戳被改变
-ivh
、
-Uvh
、
-Fvh
经常在一起使用。
注意内核安装时必须使用
-ivh
去安装,不能使用
-Fvh
安装时必须指明包所在的路径。卸载时不需要,只需要软件包名。
yum
,
yellow dog
rpm
虽然好用,但是依赖关系非常麻烦,你需要把先安装的包装过之后才能装后一个包。依赖关系过于复杂时,根本无从下手。为此可以使用
yum
来安装软件包,
yum
能够自动的解决软件包之间的依赖关系,而且
yum
是交互式的,安装是选择
yes
安装,不想安装时选择
no
即可。此外
yum
还支持
ftp
、
HTTP
、
nfs
、以及本地目录等方式的
yum
源。
yum
的语法:
yum
【
options
】
【子命令】
【包名】
可见
yum
的安装不需要全路径,只需要跟上你要安装的包名即可。
yum
中的子命令有很多种,我们经常使用的有以下几种:
用来安装的
install
,升级用的
update
,检查有哪些包可以升级的
check-update
。删除包可以使用
remove
或
erase
。要注意的是
remove
会把所有依赖关系的包全卸载。还有
info
子命令,用来显示摘要信息。
provides/whatprovides
显示包的提供者。还有
clean
清空缓存,列出软件包的
list
,查询软件包的
serch
,但是
serch
查询的是不精确的
简要信息。
restall
重新安装,
downgrade
降级,还有
group*
软件包组。
其中
clean
命令还有子选项,
yum clean expire-cache
清除缓存,
yum clean packages
清除软件包信息,
yum clean headers
清除首部信息(即包关系),
yum clean dbcache
数据库,还有最常用的
yum clean all
即清除所有。
除
clean
外
list
也有一系列的子选项
yum list available
【
glob exp1
】可用的软件包
yum list updates
【
glob exp1
】
未安装的软件包
yum list installed
【
glob exp1
】安装过的软件包
yum list extras
【
glob exp1
】
非系统自带的软件包
yum list absolets
【
glob exp1
】
废弃的软件包
yum list recent
【
glob exp1
】
显示刚加入
yum
库的软件包
group*
的
*
代表
install
、
update
、
list
、
remove
、
info
功能很显然依次是安装软件包组、更新软件包租、显示软件包组、删除软件包组、和包组的信息。
以上这些事子命令,
yum
还有一些选项:
如
-y
直接安装不询问。
-q
静默模式,不显示安装的过程。
-d+
数字
是调用的级别,
--nogpgcheck
不检查签名。还有一个很有用的选项
-t
,在你同时安装
a
、
b
、
c
、
d
四个具有依赖关系的包时,如果
a
已经安装过,就会提示你不能再安装了,这时
b
、
c
、
d
也就不能安装了,但你还想安装,就可以通过
-t
选项来忽略已经安装的包,即安装过的就不再装了,没装过的就安装。