Linux中yum的用法
1.相关概念
1. yum全名即(yellowdog update modifier ), yum可以自行解决依赖关系 ,什么事依赖关系?比如说安装A软件过程中,需要安装B或者c软件,A软件才能安装成功,这时我们就称A与B、c有依赖关系,而yum就自动可以解决这种依赖关系,极大的方便了终端用户。
2. 文件服务的服务器有: ftp服务 , http服务 ,本地文件目录 , NFS服务 。
ftp服务:ftp://SERVER/PATH/TO/REPOSITORY,
http服务:http://SERVER/PATH/TO/REPOSITORY,
本地目录: file:///PATH/TO/REPOSTIROY 3. yum相对应于rpm来说, yum则是rpm的前端工具 ,rpm为基础包管理器 属于后端工具;另一方面yum仓库指向的路径为:repodata目录所在的父目录
2.yum命令行工具 以及相关命令
1.yum命令行工具
1.yum配置文件:主要指向仓库的位置以及相关的各种配置信息;每个yum命令行可以同时指向多个仓库,仓库间可以优先级等相关的配置;
2.yum配置文件有两部分组成:
1.主配置文件:/etc/yum.conf,为各仓库指向提供公共配置文件;
2.各仓库的定义:/etc/yum.repos.d/*.repo
directive=VALUE
[main]:提供公共配置信息
【注意: 文件以.repo结尾;每个repo配置文件中可以配置一至多个仓库;】
3.各仓库配置
[repositoryid] # 对于当前系统的yum来讲,此repositoryid用于惟一标识此repository指向,因此,其必须惟一;
name=*** # 当前仓库描述信息;
baseurl=url://path/to/repository/ # 指明repository的访问路径;通常为一个文件服务器上输出的某repository;
enabled={1|0} # 此仓库是否可被使用
gpgcheck={1|0} # 是否对程序包做校验
gpgkey=url://path/to/keyfile #指明gpgkey文件路径;
cost=# # 指明当前repository的访问开销,默认为1000;
2.yum命令:
#yum [options] [command] [package ...]
选项管理:
仓库管理:
#yum repolist: 列出已经配置的所有可用仓库( repolist [all|enabled|disabled] )
缓存管理:
#yum clean:清理缓存clean [ packages | metadata | expire-cache | rpmdb | plugins | all ]#yum makecache: 缓存创建自动连接至每一个可用仓库,下载其无数据,将其创建为缓存;
程序包查看:
#yum list [all | glob_exp1] [glob_exp2] [...]#yum list {available|updates|installed|extras|obsoletes} [glob_exp1] [...]#grouplist [hidden] [groupwildcard] [...]
程序包安装:
#yum install package1 [package2] [...]【注意: 只需要提供包名;】如果某包有在不同仓库中有多个不同版本,默认会安装最新版本;如果要安装指定版本:install PACKAGE-VERSION ...
重新安装(覆盖安装)
#yum reinstall package1 [package2] [...]
程序包升级:
#yum update [package1] [package2] [...]
程序包降级:
#yum downgrade package1 [package2] [...]
检查有哪些升级可用:
#yum check-update
卸载:
#yum remove | erase package1 [package2] [...]所有依赖于正卸载的程序包的程序包会被一并卸载;
查询:
查询程序的相关简要信息:#yum info PACKAGE ...在包名和sumary信息中搜索指定的关键字:#yum search KEYWORD ...查询指定文件由哪个程序包安装生成:#yum provides|whatprovides /PATH/TO/SOMEFILE
安装或升级本地的程序包文件:
#yum localinstall rpmfile1 [rpmfile2] [...]用于安装仓库中并不存在的程序包文件,这些程序包有可能又依赖于仓库中的某些程序包;#yum localupdate rpmfile1 [rpmfile2] [...]
包组管理:
列出所有包组:#yum grouplist显示指定包组详情:#yum groupinfo group1 [...]安装:#yum groupinstall group1 [group2] [...]卸载:#yum groupremove group1 [group2] [...]升级:#yum groupupdate group1 [group2] [...]【注意: 可直接用install、remove或update来管理包组:@GROUP_NAME】#yum install @"Server Platform Development"
yum命令的可用选项:
-y: 自动回答为“yes”--disablerepo=: 临时禁用在配置文件中配置并启用的某repository;--enablerepo=:临时启用指定的某repo;--nogpgcheck: 禁止做包校验;
3.yum有内置变量,用于保存当前平台的相信息
(1) $raleasever: 当前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
当前系统为CentOS 6.6 x86_64
4.如何使用发行版光盘作为yum repository
(1) 挂载光盘到指定挂载点,如/media/cdrom
(2) 新建yum repo配置文件,类似如下所示:
[dvdbase]
name=CentOS 6.6 X86_64 on dvd1
baseurl=file:///media/cdrom
gpgcheck=0
enabled=1
5.自己创建yum仓库
(1) 在基于发行版安装树安装createrepo程序包;
(2) 确定repository输出方式:
本地输出:提供一个放置rpm包的本地路径;
网络输出:提供一个文件服务器,配置好ftp服务或http服务;
ftp服务:
安装程序包: vsftpd
文件存放路径:/var/ftp/pub
启动服务:service vsftpd start
http服务:
安装程序包:httpd
文件存放路径:/var/www/html
启动服务:service httpd start
【注意: 确保防火墙服务关闭;】
(3) 在准备好的目录中放置rpm程序包文件
(4) 对此目录运行createrepo命令即可
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。