标签:yum命令详解
一、yum命令:yum [options] [command] [package ...]
1、仓库管理:列出已经配置的所有可用仓库
repolist [all|enabled|disabled]
2、缓存管理:
clean:清理缓存
clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]
makecache:缓存创建
自动连接至每一个可用仓库,下载其元数据,将其创建为缓存
3、程序包安装:
yum list [all | glob_exp1] [glob_exp2] [...]
yum list {available|updates|installed|extras|obsoletes|recent} 可用于安装的但本机尚未安装的|可升级的|已安装的|操作系统已安装但不是仓库所提供的|可被废弃的|刚刚加入仓库的新包
列出当前系统可用的包组:
grouplist [hidden] [groupwildcard] [...]
4、程序包安装:install package1 [package2] [...]
Note:只需要提供包名,
如果某包有在不同仓库中有多个不同版本,默认会安装最新版本
如果需要安装指定版本:install PACKAGE-VERSION ...
5、重新安装(覆盖安装) :reinstall package1 [package2][...]
6、程序包升级: update [package1][package2][...]
7、程序包降级:downgrade package1 [package2] [...]
8、检查有哪些升级可用:check-update
9、卸载:remove | erase package1 [package2] [...]
所有依赖于正卸载的程序包的程序会被一并卸载
10、查询;
# yum info php
查询程序包的相关简要信息[info|list|packages-list|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stats]
在包名和sumary信息中搜索指定的关键字:search KEYWORD ...
查询指定文件由哪个程序包安装生成:provides | whatprovides feature1 [feature2] [...] # yum provides /etc/fstab
11、安装或升级本地的程序包文件:
localinstall | localupdate rpmfile1 [rpmfile2] [...]
用于安装仓库中并不存的程序包文件,这些程序包有可能又依赖于仓库中的某些程序包
12、包组管理:
列出所有包组:grouplist
显示指定包组详情:groupinfo group1 [...] # yum groupinfo "Server Platform Development"
安装:groupinstall group1 [group2] [...]
卸载:groupremove group1 [group2] [...]
升级:groupupdate group1 [group2] [...]
可直接用install、remove、update来管理包组;
@GROUP_NAME
yum install @"Server Platform Development" 此命令用于安装包组
13、yum命令的可用选项:
-y:自动回答为"yes"
--disablerepo=:临时禁用在配置文件中配置并启用的某repository
--enablerepo=:临时启用指定的某repo
--nogpgcheck:禁止做包校验
14、yum有内置变量,用于保存当前平台的信息
(1)$releasever:当前OS发行版的主板本号
例如:对Centos 6.6 x86_64,主板本号为6
(2)$arch:平台
i386,i486
(3)$basearch:基础平台,例如i686 i586 i486以及i386的基础平台同为i386
(4)$YUM0-$YUM9
例如:baseurl=http://repo.magedu.com/centos/$releasever/$basearch
当前系统为cnetOS 6.6 x86_64
对应替换为: http://repo.magedu/com/centos/6/x86_64
6.0 6.1 ln 6 链接指向最新版本
二、配置文件:指向仓库的位置以及相关的各种配置信息,每个yum命令行可以同时指向多个仓库,仓库间可以优先级等相关的配置
有两部分组成:
主配置文件:/etc/yum.conf
功用:为各仓库指向提供公共配置文件
[root@localhost rpm]# cat /etc/yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2 # 调试级别
logfile=/var/log/yum.log # 日志文件
exactarch=1 # 当前平台是否绝对一致
obsoletes=1 # 检查包是否被废弃
gpgcheck=1 # 安装前是否检查来源合法性及包完整性
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=19&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release
# This is the default, if you make this bigger yum won‘t see if the metadata
# is newer on the remote and so you‘ll "gain" the bandwidth of not having to
# download the new metadata and "pay" for it by yum not having correct
# information.
# It is esp. important, to have correct metadata, for distributions like
# Fedora which don‘t keep old packages around. If you don‘t like this checking
# interupting your command line usage, it‘s much better to have something
# manually check the metadata once an hour (yum-updatesd will do this).
# metadata_expire=90m
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
#############
Note:文件以.repo结尾,每个repo配置文件中可以配置一至多个仓库
各仓库的定义:/etc/yum.repos.d/*.repo
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1 # 检查包是否已被废弃
gpgcheck=1 # 安装前检查其来源合法性和包完整性
plugins=1 #是否支持插件
installonly_limit=5 #一次安装成功与否的限制
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=19&ref=http://bugs.centos.org/bug_report_page.php?category=yum # bug追踪路径
distroverpkg=centos-release #
### man yum.conf 查看yum.conf使用
各仓库配置
[repositoryid]
#对于对于当前系统的yum;来说,此repositoryid用于唯一标识此repositoryid指向,因此,其必须唯一
name=
# 当前仓库描述信息:
baseurl=url://path/to/reposisory/
# 指明repositoryid的访问路径,通常为一个文件服务器上输出的某repository:
url:
ftp服务: ftp://SERVER/PATH/REPOSITORY
http服务: http://SERVER/PATH/REPOSITORY
本地目录:file:///SERVER/PATH/REPOSITORY
enable={0|1}
此仓库是否可被使用
gpgcheck={1|0}
是否对程序包做校验
gpgkey=url://path/to/keyfile
指明gpgkey文件路径
cost=#
# 指明当前repository的访问开销,默认为1000
yum仓库配置:test.repo
[basetest]
name=CentOS 6.6 X86_64 DVD1
baseurl=http://172.16.0.1/cobbler/ks_mirror/CentOS-6.6-x86_64/
gpgcheck=0
enabled=1
[extratest]
name=CentOS 6.6 X86_64 DVD2
baseurl=http://172.16.0.1/centos/6/extras/x86_64/
gpgcheck=0
enabled=1
三、自己创建yum仓库:
(1)在基于发行版安装树安装createrepo
能够自动读取指定位置下的每个rpm包并抽取其元数据以后保存在元数据文件中的一个专用命令
createrepo /var/test/yum/xen4
(2)确定repository输出方式:
本地输出:提供一个放置rpm包的本地路径
网络输出:提供一个文件服务器,配置好ftp服务或http服务
ftp服务:安装程序包:vsftpd
文件存放路径:/var/ftp/pub
启动服务:service vsftpd start
http服务:
安装存放路径:httpd
文件存放路径:/var/www/html
启动服务:service httpd start
Note:确保防火墙服务关闭 service iptables stop
(3)在准备好的目录中放置rpm程序包文件
(4)对此目录运行createrepo命令即可
四、本地仓库创建:local.repo(以光盘作为yum repository)
步骤:(1)挂载光盘到指定挂载点。如/media/cdrom
(2)新建yum repo 配置文件,类似如下:
[dvdbase]
name=CentOS 6.6 X86_64 on dvd1
baseurl=file:///media/cdrom
gpgcheck=0
enable=1
标签:yum命令详解
原文地址:http://fanjie.blog.51cto.com/3791578/1631742