前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux 的yum详解

Linux 的yum详解

作者头像
保持热爱奔赴山海
发布2019-09-18 14:38:58
3.9K0
发布2019-09-18 14:38:58
举报
文章被收录于专栏:饮水机管理员饮水机管理员

Linux 的yum详解:

rpm包在安装过程中经常会出现一些依赖关系,这就是yum安装方式诞生的背景。

YUM 全称yellowdog Update Modifier

yum最大的好处就是一站式解决软件包的安装,可以自动安装所需依赖环境。

yum的配置文件:

/etc/yum.conf                              # 为所有仓库提供公共配置

/etc/yum.repos.d/*.repo      # 为仓库的指向提供配置

yum缓存地址:

/var/cache/yum/

yum安装卸载的记录文件:

/var/log/yum.log

1.yum源的配置

默认系统安装好后,在/etc/yum.repo.d/目录下有几个CentOS-Base开头的几个repo文件。

yum源可以分为2种:网络源和本地源。

网络源的好处是软件包更新较快,但是容易受网络带宽的影响。

本地源用的是已经下载好的软件包,不用受网络影响,但包更新可能不够及时。

网络源的安装请网上搜索相应的repo文件。

本地源的配置在下文中会详细说明具体操作步骤。

这里先对repo文件格式做个大体的说明:

[Media]  便于识别的ID,同一系统上的repo文件中该字段不能重名

name=testrepo 

baseurl=http://xxxxxxx或者file:///xxxftp://xxx

gpgcheck=0    # 0表示关闭gpg校验,1表示启用gpg校验

enabled=1        表示启用该repo源

gpgkey=http://xxxxxxx/RPM-GPG-KEY-CentOS-6     # 启用gpgcheck后,需要加这条。不启用gpgcheck的话,这条可以删掉。

2.yum命令的用法:

从使用角度对yum命令进行分类:

  • 显示仓库列表

yum repolist [all|enabled|disabled]

  • 软件包的搜索

yum list all                 # 显示所有软件包

yum list all|grep httpd     # 搜索所有含httpd的软件包

yum list available              # 显示所有可用的软件包

yum list installed      # 显示已经安装的软件包

yum list updates      # 显示有更新的软件包

yum search httpd    # 列出所有包名或者summary内容中包含httpd的包

  • 软件包的安装

yum install httpd      # 安装httpd软件包及相关依赖包

yum reinstall httpd  # 重新安装软件包

  • 软件包的卸载

yum remove httpd            # 卸载软件包和依赖环境

yum erase httpd              # 卸载软件包和依赖环境

  • 软件包的升级、降级

yum update httpd    #更新httpd软件包

yum update      # 全部更新

yum downgrade package         # package降级安装

  • 软件包的信息查看

yum info httpd         # 查看httpd软件包信息

yum groupinfo group1     # 显示程序组group1信息

  • 查看指定包的依赖关系

yum deplist httpd              # 查看httpd依赖哪些包

  • 查看yum事物历史

history [info|list|packages-list|packages-info|summary|addon-info|redo|undo|rollback|new|sync|stats]

  • 安装及升级本地程序包:

yum localinstall rpmfile1 [rpmfile2] [...]                     # 本地安装软件包

yum localupdate rpmfile1 [rpmfile2] [...]                   # 本地升级软件包

  • 包组的管理命令

yum groupinstall group1…

yum groupupdate group1 ...

yum grouplist          # 列出所有的包租

yum groupremove group1                 # 移除某个包组

yum groupinfo group1     # 显示某个包组的信息

  • 其它命令

yum check-update            # 检查可用的升级

yum clean all             # 清理yum所有的缓存

yum make cache      # 建立yum缓存

3.yum的命令行选项

--nogpgcheck:禁止进行gpg check;

-y: 自动回答为“yes”;

-q:静默模式;

--disablerepo=repoidglob:临时禁用此处指定的repo;

--enablerepo=repoidglob:临时启用此处指定的repo;

--noplugins:禁用所有插件;

4.yum仓库的手动创建

为了下面实验结果的直观起见,我先将/etc/yum.repo.d/文件夹下原有的内容都重命名为xxx.repo.bak

方法1:直接挂载光盘构建yum源仓库

mount /dev/cdrom /media

在/etc/yum.repos.d/目录下,建立local.repo文件:

[local]

name=local source

baseurl=file:///media

enabled=1

gpgcheck=1

gpgkey=/media/RPM-GPG-KEY-CentOS-6

保存并退出。

yum clean all

yum install xxx          # 安装个软件测试下yum源能否正常工作。

方法2:本地网络源仓库

http://172.16.249.118是局域网的一台服务器,上面做了yum源。【如下图】

wKioL1XiYWTBOKe1AAJ1EH7XeTQ307.jpg
wKioL1XiYWTBOKe1AAJ1EH7XeTQ307.jpg

在/etc/yum.repos.d/目录下,建立http.repo文件:

[httpd]

name=httpd source

baseurl=http://172.16.249.118                                                                              

enabled=1

gpgcheck=1

gpgkey=http://172.16.249.118/RPM-GPG-KEY-CentOS-6

方法3:createrepo命令创建repo源文件,再挂载

yum仓库的建立需要用到createrepo程序。

假设在/tmp/demo下有一些软件包,需要创建包仓库。

wKiom1XhyxzQ_69WAAIApCYwXTo768.jpg
wKiom1XhyxzQ_69WAAIApCYwXTo768.jpg

cd /tmp/demo

create -o ../ ./           #注释:-o 指定生成的repo的路径为上层目录, ./ 是表示将当前目录的文件创建yum仓库。

wKioL1XhzUiSg7qjAAAxrkR6kvg745.jpg
wKioL1XhzUiSg7qjAAAxrkR6kvg745.jpg

在/etc/yum.repos.d/目录下,建立repo文件:

test.repo

[local]

name=test.repo

baseurl=file:///tmp

enabled=1

gpgcheck=1

yum clean all    # 清除yum缓存

yum repolist     # 查看当前有哪些repo文件

wKioL1Xhzmbi4o4ZAAD8Vs1meio745.jpg
wKioL1Xhzmbi4o4ZAAD8Vs1meio745.jpg

已经可以找到刚才新建的yum源了。

也可以yum install 安装个软件测试下是否yum源可以正常工作。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-08-29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档