yum命令是在Fedora和RedHat以及SUSE中基于rpm的软件包管理器,它可以使系统管理人员交互和自动化地更细与管理RPM软件包,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。
yum [options]COMMAND
-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:显示软件包的信息;
all:列出所有已安装或者未安装的,可安装的
installed:列出已安装的
available:列出可用的尚未安装的包
search:检查软件包的信息;
info:显示指定的rpm软件包的描述信息和概要信息;
clean [all|pakages|metadata|expire-cache|rpmdb|plugins]:清理yum过期的缓存;
resolvedep:显示rpm软件包的依赖关系;
localinstall:安装本地的rpm软件包;
localupdate:显示本地rpm软件包进行更新;
deplist:显示rpm软件包的所有依赖关系。
reinstall:重新安装软件包
groupinstall "group_name":安装指定的包组
groupremove "group_name":卸载指定包组
groupinfo:查看包组的信息,yum groupinfo "package_group_name"
grouplist:列出所有包组
--nogpgcheck:手动禁止检查来源及完整性
#yum install /tmp/zsh-2.3.1-2.el6.x86_64.rpm--nogpgcheck
yum客户端使用过程:
1.配置文件,指定各可用的yum仓库
2.缓存元数据,yum会到各可用的yum仓库获取元数据,并缓存到本地
3.分析元数据;根据具体的操作请求完成元数据分析。可能包括检查依赖关系
4.执行具体操作
客户端配置文件指定对应服务器的访问方式:
ftp ftp://server/path/to/repo
http http://server/path/to/repo
nfs nfs:///server/nfs_path
file file:///path/to/repository
#要使用yum应用程序,首先得配置可用的yum仓库,保存在配置文件中。
#yum仓库相关配置文件如下:
/etc/yum.conf
/etc/yum.repos.d/*.repo
配置文件格式:由两段组成
[main]:主配置段
[repo]:仓库配置段
配置repo:
[repoID]
name=string 描述信息
baseurl=仓库的访问路径,repodata目录所在的路径
enabled={1|0},1启动,0禁用
gpgcheck={1|0},是否检查包来源合法性
gpgkey=公钥文件(可以在本地也可以在服务器端路径)
cost=定义此仓库的开销,默认为1000
#使用Centos6.6系统光盘中的rpm包作为yum仓库演示
[root@moban ~]# mount /dev/cdrom /media/ mount: block device /dev/sr0 iswrite-protected, mounting read-only [root@moban ~]# ls /media/ CentOS_BuildTag Packages RPM-GPG-KEY-CentOS-Security-6 isolinux EFI RELEASE-NOTES-en-US.html RPM-GPG-KEY-CentOS-Testing-6 repodata EULA RPM-GPG-KEY-CentOS-6 TRANS.TBL GPL RPM-GPG-KEY-CentOS-Debug-6 images
#创建名为Centos6.6.repo文件
[root@moban yum.repos.d]# catCentos6.6.repo [base] name=Centos 6.6 x86_64 release baseurl=file:///media enabled=1 gpgcheck=1 gpgkey=file:///media/RPM-GPG-KEY-CentOS-6
#查看可用的repo,能否看到自定义ID名为base的repo
[root@moban yum.repos.d]# yum repolist Failed to set locale, defaulting to C Loaded plugins: fastestmirror, security Loading mirror speeds from cachedhostfile base | 4.0 kB 00:00 ... repo id reponame status base Centos 6.6 x86_64release 6518 repolist: 6518
#安装httpd服务
[root@moban yum.repos.d]# yum -y installhttpd [root@moban yum.repos.d]# rpm -q httpd httpd-2.2.15-39.el6.centos.x86_64
#自建yum仓库需要创建repodata,需要使用createrepo命令创建repodata
createrepo命令:用于创建repodata
命令用法:
createrepo /path/to/filedirctory
1.准备文件服务器:这里使用httpd服务为例,请事先确保已经安装httpd程序
[root@moban yum.repos.d]# yum -yinstall httpd
2.在/var/www/html/目录下创建一个目录来保存准备制作成为yum仓库的所有rpm包。
[root@moban yum.repos.d]# mount/dev/cdrom /media/
#创建用于保存rpm包的目录
[root@moban ~]# mkdir/var/www/html/local_repo
#为了演示从系统镜像中拷贝出一部分rpm包作为演示使用
[root@moban ~]# cp/media/Packages/mysql*.rpm /var/www/html/local_repo [root@moban ~]# ls/var/www/html/local_repo mysql-5.1.73-3.el6_5.x86_64.rpm mysql-devel-5.1.73-3.el6_5.x86_64.rpm mysql-bench-5.1.73-3.el6_5.x86_64.rpm mysql-libs-5.1.73-3.el6_5.i686.rpm mysql-connector-java-5.1.17-6.el6.noarch.rpm mysql-libs-5.1.73-3.el6_5.x86_64.rpm mysql-connector-odbc-5.1.5r1144-7.el6.x86_64.rpm mysql-server-5.1.73-3.el6_5.x86_64.rpm mysql-devel-5.1.73-3.el6_5.i686.rpm mysql-test-5.1.73-3.el6_5.x86_64.rpm
3.创建repodata
#创建完成会在/var/www/html/local_repo/目录下生成一个repodata目录
[root@moban ~]# createrepo/var/www/html/local_repo/ Spawning worker 0 with 10 pkgs Workers Finished Gathering worker results Saving Primary metadata Saving file lists metadata Saving other metadata Generating sqlite DBs Sqlite DBs complete [root@moban ~]# ls /var/www/html/local_repo/ mysql-5.1.73-3.el6_5.x86_64.rpm mysql-libs-5.1.73-3.el6_5.i686.rpm mysql-bench-5.1.73-3.el6_5.x86_64.rpm mysql-libs-5.1.73-3.el6_5.x86_64.rpm mysql-connector-java-5.1.17-6.el6.noarch.rpm mysql-server-5.1.73-3.el6_5.x86_64.rpm mysql-connector-odbc-5.1.5r1144-7.el6.x86_64.rpm mysql-test-5.1.73-3.el6_5.x86_64.rpm mysql-devel-5.1.73-3.el6_5.i686.rpm repodata mysql-devel-5.1.73-3.el6_5.x86_64.rpm
4.启动http服务
[root@moban ~]# /etc/init.d/httpd start
5.配置使用自建的yum仓库
[root@moban ~]# cd /etc/yum.repos.d/ [root@moban yum.repos.d]# catCentos6.6-local.repo [base-ebrun] name=Centos 6.6 x86_64 release local baseurl=http://192.168.0.131/local_repo enabled=1 gpgcheck=0
6.显示可用的repo
[root@moban ~]# yum repolist Failed to set locale, defaulting to C Loaded plugins: fastestmirror, security Loading mirror speeds from cachedhostfile repo id reponame status base-ebrun Centos 6.6x86_64 release local 10 repolist: 10
7.安装mysql测试
[root@moban ~]# rpm -q mysql package mysql is not installed [root@moban ~]# yum -y install mysql [root@moban ~]# rpm -q mysql mysql-5.1.73-3.el6_5.x86_64