【Linux】yum命令


1 yum简介

yum是通过分析RPM(程序包管理器)的标头数据后,根据各软件的依赖关系制作出有依赖关系的解决方案,然后可以自动处理软件的依赖性关系问题,以解决软件安装或移除或升级的问题。

由于发行版必须要先释出软件,然后将软件放置于yum服务器上面,以提供用户端来安装与升级。因此我们想要使用yum的功能时,必须要找到适合的yum server才行。而每个yum server可能都会提供许多不同的软件功能,yum server会根据功能进行分类,这里的分类就是所谓的仓库,因此,你必须要前往yum server查询到相关的仓库网址后(仓库指向的路径:repodata目录所在的父目录),再继续处理后续的配置事宜。

事实上CentOS在释出软件时已经制作出镜像网站提供全世界的软件升级之用。所以,理论上我们不需要处理任何配置值,只要能够连上Internet,就可以使用yum,接下来我们就来谈谈yum的使用。


2 yum配置文件

yum本身也有配置文件,主要指向仓库的位置以及相关的各种配置信息:每个yum命令行可以指向多个仓库,仓库间含有优先级等相关的配置,配置文件有两部分组成:
1.主配置文件:/etc/yum.conf,为各仓库指向提供公共配置文件;
2.各仓库的定义:/etc/yum.repos.d/*.repo

directive=VALUE
注意:文件以.repo结尾;每个repo配置文件中可以配置一个或多个仓库;
[main]:提供公共配置信息
各仓库配置
[repositoryid] #对于当前系统的yum来讲,此repositoryid用于唯一标识此repository指向,因此,其必须唯一;
name= #当前仓库描述信息;
baseurl=url:/path/to/repository/
#指明repository的访问路径;通常为一个文件服务器上输出的某repository;
#url支持的类型:
	ftp服务:ftp://SERVER/PATH/TO/REPOSITY
	http服务:http://SERVER/PATH/TO/REPOSITY
	本地目录:file://PATH/TO/REPOSITY
enabled={1|0} #此仓库是否可被使用
gpgcheck={1|0} #是否对程序包做校验
gpgkey=url://PATH/TO/KEYFILE #指明gpgkey文件路径
cost= #指明当前repository的访问开销,默认为1000

3 yum命令使用

yum命令的使用:yum [options] [command] [package…]

程序包安装:
	yum install package1 [package2] [...]
	
程序包覆盖安装:
	yum reinstall package1 [package2] [...]
	
程序包降级:
	yum downgrade package1 [package2] [...]
	
检查有哪些升级可用:
	yum check-update
	
程序包升级:
	yum update [package1] [package2] [...]
	yum update-to [package1] [package2] [...]
	yum upgrade [package1] [package2] [...]
	yum upgrade-to [package1] [package2] [...]

程序包卸载:所有依赖于正卸载的程序包的程序包会被一并卸载
	yum remove  | erase package1 [package2] [...]
	
查询程序的相关简要信息:	
	yum info [...]

在包名和summar信息中搜索指定的关键字:
	yum search string1 [string2] [...]

查询指定文件由哪个程序包安装生成:
	yum provides | whatprovides feature1 [feature2] [...]

yum缓存管理:
	yum clean:清理缓存
	yum clean [packages | metadata | expire-cache | rpmdb | plugins | all]
	yum makecache:缓存创建,自动创建链接至每一个可用仓库,下载其无数据,将其创建为缓存。
	
程序包查看:
	yum list [all | glob_exp1] [glob_exp2] [...]
	yum grouplist [hidden] [groupwildcard] [...]
	
包组管理:
	列出所有包组:yum grouplist
	显示指定包组详情:yum groupinfo group1 [...]
	安装:yum groupinstall group1 [group2] [...]
	卸载:yum groupremove group1 [group2] [...]
	升级:groupupdate group1 [group2] [...]
	
安装或升级本地的程序包文件:用于安装或升级仓库中并不存在的程序包文件,这些程序包有可能又依赖于仓库中的某些程序包。
	yum localinstall rpmfile1 [rpmfile2] [...]
	yum localupdate rpmfile1 [rpmfile2] [...]

yum仓库管理:
	yum repolist:列出已经配置的所有可用仓库
	yum repolist [all | enabled | disabled]
	
其他:	
	version [all | installed | available | group-* | nogroup* | grouplist | groupinfo]
	history [info | list | package-list | package-info | summary | addon-info | redo | undo | rollback | new | sync | stats]
	load-transaction [txfile]
	check
	help [command]
	distribution-synchronization [package1] [package2] [...]
	shell [filename]
	resolvedep dep1 [dep2] [...]
	deplist package1 [package2] [...]

4 制作本地yum源

使用本地yum源有两种方式:第一直接使用光盘镜像,不过此种方法仅限于本机使用;第二种创建本地yum仓库,然后使用http或者ftp等方式向外部提供yum repository。

第一种:如何使用发行版光盘作为yum repository
1、挂载光盘到指定挂载点,如/media/cdrom
2、新建yum repo配置文件,类似如下:
[dvbase]
name=CentOS 6.6 X86_64 on dvd1
baseurl=file:///media/cdrom
gpgcheck=0
enabled=1

第二种:创建本地yum仓库
如果你作为一个企业的管理员,为了方便公司内部网络中的服务器安装软件,同时也节省网络宽带,此时就可以在公司内部创建一个yum仓库,那如何去创建一个yum仓库呢?通过以下步骤可快捷的创建一个yum仓库。具体操作如下:

  1. 在基于发行版安装树安装createrepo程序包;
  2. 确定repository输出方式:
    (1)本地输出:提供一个放置rpm包的本地路径;以file的形式
    (2)网络输出:提供一个文件服务器,配置好ftp服务或http服务;
    ftp服务:
      安装程序包:vsftpd
      文件存放路径:/var/ftp/pub
      启动服务:service vsftpd start
    http服务:
      安装程序包:httpd
      文件存放路径:/var/www/html
      启动服务:service httpd start
    注意:确保防火墙服务关闭
  3. 在准备好的目录中放置rpm程序包文件:可以通过cp命令 将光盘中的程序包拷贝到以上输出目录当中。
  4. 对此目录运行createrepo命令即可:cd到以上输出目录执行createrepo命令即可。

测试所创建的yum仓库是否可用

  1. 在测试机/etc/yum.repos.d/目录下创建一个以repo结尾的文件,如my.repo,内容如下:
    [my]
      name=my
      baseurl=http://<repos_host>//Packages
      enabled=1
      gpgcheck=0
      priority=1
    这里以http为例,其中<repos_host>是YUM源的机器名或IP地址,Package为http发布目录下的软件包目录。
  2. 在测试机上更新本地yum缓存
      清理缓存:yum clean all
      创建缓存:yum makecache
  3. 查询新的yum仓库内容
      yum list all
  4. 安装应用
      yum install vsftpd
    更新应用具体步骤为:删除旧的rpm包,将新版本的rpm包cp到仓库目录,然后重新执行createrepo命令,在客户端执行yum update PACKAGE_NAME命令即可。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值