Linux 之 Yum 仓库的配置及使用

Stella981
• 阅读 530

点击上方“杰哥的IT之旅”,选择“置顶公众号”

干货、福利第一时间送达!

Linux 之 Yum 仓库的配置及使用

Linux 之 Yum 仓库的配置及使用

本文由读者投稿,作者:肖辉

Github 地址:https://github.com/xiaohui96

已授权标为原创,所得赞赏全部归作者所有,欢迎赞赏!

目前在长期稳定运行的网站服务器、处理大量数据的集群系统以及需要协同工作的环境中都大量采用Linux系统。

相较于Windows系统而言,Linux系统具有以下优势:

  • 稳定且有效率;

  • 免费或少许费用;

  • 漏洞少且快速修补;

  • 多任务多用户;

  • 更加安全的用户及文件权限策略;

  • 适合小内核程序的嵌入系统;

  • 相对不耗资源

Linux 之 Yum 仓库的配置及使用

常见的Linux系统有哪些?

  • 红帽企业版(RedHat Enterprise Linux):RHEL是全世界内使用最广泛的Linux系统。

  • 社区企业操作系统(Communicity Enterprise Operating System, CentOS ):RHEL重新编译发布的免费Linux系统。

  • Fedora:红帽公司发布的桌面版系统套件。

  • openSUSE:德国的一款著名Linux系统。

  • Gentoo:具有极高的自定制性,操作复杂。

  • Debian:稳定性、安全性强,可以良好地支持各种硬件架构。

  • Ubuntu:对新款硬件具有极强的兼容能力。

RPM和Yum软件仓库

RPM是红帽的的软件包管理器,类似于Windows系统中的控制面板。

在RPM公布之前,Linux系统中安装软件只能采用源码包的安装方式,费时费力。

软件之间的依赖关系甚至需要运维的同事自行编译代码来解决。

RPM机制则是为解决这些问题而设计的。

常见的RPM软件包命令如下:

安装软件:rpm -ivh filename.rpm升级软件:rpm -Uvh filename.rpm卸载软件:rpm -e filename.rpm查询软件描述信息:rpm -qpi filename.rpm列出软件文件信息:rpm -qpl filename.rpm查询文件属于哪个RPM:rpm -qf filename

尽管RPM能够帮助用户查询软件相关的依赖关系,但过程依旧复杂,特别是在某些大型软件的情况下依旧需要运维的同事来解决。

Yum软件仓库则可以根据用户的要求分析出所需软件包及其相关的依赖关系,自动从服务器下载软件包并安装到系统。

Linux 之 Yum 仓库的配置及使用

Yum软件仓库技术拓扑图

常用的Yum命令

列出所有仓库:yum repolist all列出仓库中所有软件包:yum list all查看软件包信息:yum info 软件包名称安装软件包:yum install 软件包名称重新安装软件包:yum reinstall 软件包名称升级软件包:yum update 软件包名称移除软件包:yum remove 软件包名称清除所有仓库缓存:yum clean all检查可更新的软件包:yum check-update检查系统中已安装的软件包组:yum grouplist安装指定的软件包组:yum groupinstall 软件包组移除指定的软件包组:yum groupremove 软件包组查询指定的软件包组信息:yum groupinfo 软件包组

然而没有注册的RHEL是无法使用yum来安装软件的,为此需要将yum源更换成CentOS的免费源来解决包的依赖问题。

更换yum源打开虚拟机(作者的红帽是装在虚拟机上的)终端执行rpm -qa | grep yum系统将会显示自带的yum源,删除系统自带的yum组件rpm -qa | grep yum | xargs rpm -e --nodeps进入[网易163源镜像地址](http://mirrors.163.com),在路径centos/7/os/x86_64/Packages/下载(可以在物理机上下载或者在虚拟机上使用wget下载)python-iniparse-0.4-9.el7.noarch、python-iniparse-0.4-9.el7.noarch、yum-3.4.3-161.el7.centos.noarch、yum-metadata-parser-1.1.4-10.el7.x86_64、yum-plugin-fastestmirror-1.1.31-50.el7.noarch这五个包。



安装软件包rpm -ivh yum-*# 此时会报依赖的错误rpm >= 0:4.11.3-35 is needed by yum-3.4.3-161.el7.centos.noarch下载rpm-4.11.3-35.el7.x86_64包并重新安装rpm -Uvh rpm-4.11.3-35.el7.x86_64.rpm --nodepsrpm -ivh yum-*更新yum源文件,可以下载使用163的yum源文件CentOS6-Base-163,放在/etc/yum.repo.d目录下



vim /etc/yum.repos.d/CentOS-Base.repo内容如下,将$releasever改成7即可# CentOS-Base.repo## The mirror system uses the connecting IP address of the client and the# update status of each mirror to pick mirrors that are updated to and# geographically close to the client. You should use this for CentOS updates# unless you are manually picking other mirrors.## If the mirrorlist= does not work for you, as a fall back you can try the# remarked out baseurl= line instead.##[base]# name=CentOS-$releasever - Base - 163.com 改成name=CentOS-7 - Base - 163.com# baseurl=http://mirrors.163.com/centos/$releasever/os/$basearch/ 改成baseurl=http://mirrors.163.com/centos/7/os/$basearch/#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=osgpgcheck=1gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7#released updates[updates]# name=CentOS-$releasever - Updates - 163.com 改成name=CentOS-7 - Updates - 163.com# baseurl=http://mirrors.163.com/centos/$releasever/updates/$basearch/ 改成baseurl=http://mirrors.163.com/centos/7/updates/$basearch/#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updatesgpgcheck=1gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7#additional packages that may be useful[extras]# name=CentOS-$releasever - Extras - 163.com 改成name=CentOS-7 - Extras - 163.com# baseurl=http://mirrors.163.com/centos/$releasever/extras/$basearch/ 改成baseurl=http://mirrors.163.com/centos/7/extras/$basearch/#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extrasgpgcheck=1gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7#additional packages that extend functionality of existing packages[centosplus]# name=CentOS-$releasever - Plus - 163.com 改成name=CentOS-7 - Plus - 163.com# baseurl=http://mirrors.163.com/centos/$releasever/centosplus/$basearch/ 改成baseurl=http://mirrors.163.com/centos/7/centosplus/$basearch/#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplusgpgcheck=1enabled=0gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7#contrib - packages by Centos Users[contrib]# name=CentOS-$releasever - Contrib - 163.com 改成name=CentOS-7 - Contrib - 163.com# baseurl=http://mirrors.163.com/centos/$releasever/contrib/$basearch/ 改成baseurl=http://mirrors.163.com/centos/7/contrib/$basearch/#mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contribgpgcheck=1enabled=0gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7



清除yum缓存yum clean all# 生成缓存yum makeche# 查看新源yum repolistyum repolistrepo id repo name status!base/x86_64 CentOS-$7 - Base - 163.com 8,652!extras/x86_64 CentOS-$7 - Extras - 163.com 275!updates/x86_64 CentOS-$7 - Updates - 163.com 1,707repolist: 10,634yum源已更换成功,下面就可以自由使用yum安装软件啦。## 实例以安装pam-devel为例,介绍一下如何使用yum安装和移除软件包。# 安装pam-devel[root@xiaohui ~]# yum install pam-devel......(省略)Running transaction Updating : pam-1.1.8-22.el7.x86_64 1/3 Installing : pam-devel-1.1.8-22.el7.x86_64 2/3 Cleanup : pam-1.1.8-9.el7.x86_64 3/3 Verifying : pam-devel-1.1.8-22.el7.x86_64 1/3 Verifying : pam-1.1.8-22.el7.x86_64 2/3 Verifying : pam-1.1.8-9.el7.x86_64 3/3Installed: pam-devel.x86_64 0:1.1.8-22.el7Dependency Updated: pam.x86_64 0:1.1.8-22.el7Complete!代表安装成功。# 移除pam-devel[root@xiaohui ~]# yum remove pam-devel......(省略)================================================================================Remove 1 PackageInstalled size: 528 kIs this ok [y/N]: yDownloading packages:Running transaction checkRunning transaction testTransaction test succeededRunning transaction Erasing : pam-devel-1.1.8-22.el7.x86_64 1/1Loading mirror speeds from cached hostfile Verifying : pam-devel-1.1.8-22.el7.x86_64 1/1Removed: pam-devel.x86_64 0:1.1.8-22.el7Complete!代表移除成功。

附:

本文所需rpm及repo:

https://pan.baidu.com/s/1lUSU9PdFOpmji2kSKnO1NA 提取码:rp3l


-END-

Linux 之 Yum 仓库的配置及使用

Linux 之 Yum 仓库的配置及使用

Linux 之 Yum 仓库的配置及使用

如果你喜欢本文,

请长按二维码,关注杰哥吧.

Linux 之 Yum 仓库的配置及使用

转发至朋友圈,是对我最大的支持。

右下角

点个在看,在走呗!

Linux 之 Yum 仓库的配置及使用

本文分享自微信公众号 - 杰哥的IT之旅(Jake_Internet)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
4个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
Java获得今日零时零分零秒的时间(Date型)
publicDatezeroTime()throwsParseException{    DatetimenewDate();    SimpleDateFormatsimpnewSimpleDateFormat("yyyyMMdd00:00:00");    SimpleDateFormatsimp2newS
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Stella981 Stella981
3年前
Docker 部署SpringBoot项目不香吗?
  公众号改版后文章乱序推荐,希望你可以点击上方“Java进阶架构师”,点击右上角,将我们设为★“星标”!这样才不会错过每日进阶架构文章呀。  !(http://dingyue.ws.126.net/2020/0920/b00fbfc7j00qgy5xy002kd200qo00hsg00it00cj.jpg)  2
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这