ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux 之 Yum 仓库的配置及使用

2021-01-26 21:53:28  阅读:173  来源: 互联网

标签:CentOS centos 仓库 rpm 软件包 yum Linux Yum com


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 --nodeps
rpm -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=os
gpgcheck=1
gpgkey=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=updates
gpgcheck=1
gpgkey=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=extras
gpgcheck=1
gpgkey=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=centosplus
gpgcheck=1
enabled=0
gpgkey=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=contrib
gpgcheck=1
enabled=0
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7

清除yum缓存
yum clean all
# 生成缓存
yum makeche
# 查看新源
yum repolist
yum repolist
repo 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,707
repolist: 10,634
yum源已更换成功,下面就可以自由使用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/3
Installed:
pam-devel.x86_64 0:1.1.8-22.el7
Dependency Updated:
pam.x86_64 0:1.1.8-22.el7
Complete!
代表安装成功。
# 移除pam-devel
[root@xiaohui ~]# yum remove pam-devel
......(省略)
================================================================================
Remove 1 Package
Installed size: 528 k
Is this ok [y/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Erasing : pam-devel-1.1.8-22.el7.x86_64 1/1
Loading mirror speeds from cached hostfile
Verifying : pam-devel-1.1.8-22.el7.x86_64 1/1
Removed:
pam-devel.x86_64 0:1.1.8-22.el7
Complete!
代表移除成功。

附:

本文所需rpm及repo:

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

标签:CentOS,centos,仓库,rpm,软件包,yum,Linux,Yum,com
来源: https://blog.51cto.com/15067236/2607556

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有