> RedHat >

RedHat 系软件包管理

一、yum 命令
 
yum(选项)(参数)
 
选项:
-h:显示帮助信息;
-y:对所有的提问都回答“yes”;
-c:指定配置文件;
-q:安静模式;
-v:详细模式;
-d:设置调试等级(0-10);
-e:设置错误等级(0-10);
-R:设置yum处理一个命令的最大等待时间;
-C:完全从缓存中运行,而不去下载或者更新任何头文件。
 
参数:
install:安装rpm软件包;
update:更新rpm软件包;
check-update:检查是否有可用的更新 rpm 软件包;
remove:删除指定的rpm软件包;
list:显示软件包的信息;
search:检查软件包的信息;
info:显示指定的rpm软件包的描述信息和概要信息;
clean:清理yum过期的缓存;
shell:进入yum的shell提示符;
resolvedep:显示rpm软件包的依赖关系;
localinstall:安装本地的rpm软件包;
localupdate:显示本地rpm软件包进行更新;
deplist:显示rpm软件包的所有依赖关系。
 
自动搜索最快镜像插件:yum install yum-fastestmirror
安装 yum 图形窗口插件:yum install yumex
查看可能批量安装的列表:yum grouplist
 
安装
yum install #全部安装
yum install package1 #安装指定的安装包package1
yum groupinsall group1 #安装程序组group1
 
更新和升级
yum update #全部更新
yum update package1 #更新指定程序包package1
yum check-update #检查可更新的程序
yum upgrade package1 #升级指定程序包package1
yum groupupdate group1 #升级程序组group1
 
查找和显示
yum info package1 #显示安装包信息package1
yum list #显示所有已经安装和可以安装的程序包
yum list package1 #显示指定程序包安装情况package1
yum groupinfo group1 #显示程序组group1信息
yum search string 根据关键字string查找安装包
 
删除程序
yum remove package1 #删除程序包package1
yum groupremove group1 #删除程序组group1
yum deplist package1 #查看程序package1依赖情况
 
清除缓存
yum clean packages #清除缓存目录下的软件包
yum clean headers #清除缓存目录下的 headers
yum clean oldheaders #清除缓存目录下旧的 headers
 
二、rpm 命令
 
rpm(选项)(参数)
 
-a:查询所有套件;
-b<完成阶段><套件档>+或-t <完成阶段><套件档>+:设置包装套件的完成阶段,并指定套件档的文件名称;
-c:只列出组态配置文件,本参数需配合”-l”参数使用;
-d:只列出文本文件,本参数需配合”-l”参数使用;
-e<套件档>或–erase<套件档>:删除指定的套件;
-f<文件>+:查询拥有指定文件的套件;
-h或–hash:套件安装时列出标记;
-i:显示套件的相关信息;
-i<套件档>或–install<套件档>:安装指定的套件档;
-l:显示套件的文件列表;
-p<套件档>+:查询指定的RPM套件档;
-q:使用询问模式,当遇到任何问题时,rpm指令会先询问用户;
-R:显示套件的关联性信息;
-s:显示文件状态,本参数需配合”-l”参数使用;
-U<套件档>或–upgrade<套件档>:升级指定的套件档;
-v:显示指令执行过程;
-vv:详细显示指令执行过程,便于排错。
 
1、安装本地的 rpm 软件包
rpm -ivh vim-common-6.3.035-3.i386.rpm
这种安装方法往往会存在很多的依赖问题
推荐使用 yum 来安装本地 rpm 包,yum 会自动解决依赖问题:yum install vim-common-6.3.035-3.i386.rpm
 
2、使用 yum 联网在线安装 rpm 软件包(推荐):
yum install vim
 
3、安装 .src.rpm 软件包
以.src.rpm 结尾的软件包是包含了源代码的 rpm 包,在安装时需要进行编译。这类软件包有两种安装方法
 
方法一:
rpm -i your-package.src.rpm
cd /usr/src/redhat/SPECS
rpmbuild -bp your-package.specs #一个和你的软件包同名的specs文件
cd /usr/src/redhat/BUILD/your-package/ #一个和你的软件包同名的目录
./configure #这一步和编译普通的源码软件一样,可以加上参数
make
make install
 
方法二:
rpm -i you-package.src.rpm
cd /usr/src/redhat/SPECS
rpmbuild -bb your-package.specs #一个和你的软件包同名的specs文件
这时在/usr/src/redhat/RPM/i386/(根据具体包的不同,也可能是i686,noarch等等)在这个目录下,有一个新的rpm包,这个是编译好的二进制文件。 执行rpm -i new-package.rpm即可安装完成。
 
4、卸载 rpm 软件包
用命令 rpm -e 包名,包名可以包含版本号等信息,但是不可以有后缀 .rpm
比如卸载软件包proftpd-1.2.8-1,可以使用下列格式:
rpm -e proftpd-1.2.8-1
rpm -e proftpd-1.2.8
rpm -e proftpd-1.2
rpm -e proftpd-1
rpm -e proftpd
 
5、升级软件包
rpm -U vim-enhanced-6.3.035-3.i386.rpm
 
6、查询软件包
查询系统中所有已安装的软件包:rpm -qa
 
已安装的软件包中包含 mysql 字样的包:rpm -qa | grep mysql
 
获得某个软件包的文件全名:rpm -q mysql
 
一个 rpm 包相关的所有文件的安装位置:(已安装的包)rpm -ql mysql,(未安装的包)rpm -qlp ****.rpm
 
可执行程序的位置,也可以用 which 命令查看:which mysql
 
关于一个软件包的版本,用途等相关信息:(已安装的包)rpm -qi ****.rpm,(未安装过的包)rpm -qip ****.rpm
 
某个程序是哪个软件包安装的,或者哪个软件包包含这个程序。
rpm -qf `which 程序名` #返回软件包的全名
rpm -qif `which 程序名` #返回软件包的有关信息
rpm -qlf `which 程序名` #返回软件包的文件列表
`是键盘左上角的键



 
(责任编辑:IT)