yum解决安装软件包缓慢问题

时间:2022-07-22
本文章向大家介绍yum解决安装软件包缓慢问题,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

场景

这样一种场景,以rabbitmq为例,在进行安装时,导入好了仓库源,执行yum install时,rabbitmq安装过程中还是从源去找,速度受网络影响,如果网络不好,则会非常的慢,那有没有什么办法解决呢?有! 找一台同系统的机器,配置好仓库源,修改yum.conf的配置,打开本地缓存,然后执行yum install

实现步骤

修改yum的配置

# cat /etc/yum.conf 
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=1   #修改此参数为 1 ,代表打开缓存
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release

安装mq

yum -y install erlang

查看本地缓存

cd /var/cache/yum/x86_64/7
tree | grep rpm
│   │   └── tree-1.6.0-10.el7.x86_64.rpm
│   │   └── rabbitmq-server-3.8.2-1.el7.noarch.rpm
│   │   └── epel-release-7-12.noarch.rpm
│   │   └── erlang-22.2.1-1.el7.x86_64.rpm    #这个就是缓存的本地rpm包

安装测试

随意找一台机器安装此rpm包

yum localinstall -y erlang-22.2.1-1.el7.x86_64.rpm
yum localinstall -y rabbitmq-server-3.8.2-1.el7.noarch.rpm 
systemctl start rabbitmq-server

没有任何问题

yum简单介绍

yum.conf的作用

yum.conf文件是用来存储yum配置信息的文件,虽然yum.conf文件通常都比较简洁,却是yum软件管理器的重要组成部分。

# cat /etc/yum.conf 
[main]
cachedir=/var/cache/yum/$basearch/$releasever   #yum下载的RPM包的缓存目录
keepcache=1   #缓存是否保存,1保存,0不保存。
debuglevel=2
logfile=/var/log/yum.log  #yum日志文件位置
exactarch=1    #在更新的时候,是否允许更新不同版本的RPM包
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=5
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php?category=yum
distroverpkg=centos-release

epel源介绍

EPEL的全称叫 Extra Packages for Enterprise Linux 。EPEL是由 Fedora 社区打造,为 RHEL 及衍生发行版如 CentOS、Scientific Linux 等提供高质量软件包的项目。装上了 EPEL之后,就相当于添加了一个第三方源。 EPEL源为服务器提供了大量的rpm包(这些包可能有很多在默认源中没有),并且绝大多数rpm包比官方默认源版本要新。

添加方法:

rpm -vih http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm
yum install -y epel-release

remi源

Remi源大家或许很少听说,不过Remi源GoFace强烈推荐,尤其对于不想编译最新版的linux使用者,因为Remi源中的软件几乎都是最新稳定版。 或许您会怀疑稳定不? 放心,这些都是Linux骨灰级的玩家编译好放进源里的,他们对于系统环境和软件编译参数的熟悉程度毋庸置疑。 添加方法:

rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
yum install -y  http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

RPMForge源

RPMForge 是 CentOS 系统下的软件仓库, 拥有 4000 多种的软件包, 被 CentOS 社区认为是最安全也是最稳定的一个软件仓库。

rpm -ivh http://repository.it4i.cz/mirrors/repoforge/redhat/el7/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
yum localinstall --nogpgcheckhttp://repository.it4i.cz/mirrors/repoforge/redhat/el7/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm

repo配置参考

[CentOS7-base]   #源名称,必填
name=CentOS-$releasever-base  #源描述,可以不填,但是会有提示
baseurl=file:///misc/cd/      #本地的光盘文件,可以有多个地址。必填
        https://mirrors.aliyun.com/centos/7.3.1611/os/x86_64/
gpgcheck=1                    #是否开启校验,在yum.conf中已经定义它默认值为1
enabled=1                     #是否禁用此yum源,默认为
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7#如果开启yum源包校验,则需要导入RPM公钥,此处只是在系统没有导入rpm公钥时候进行安装#这里相当于rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

[aliyun_epel]   #这是Redhat的扩展包
name=ailiyun_yum_epel
baseurl=https://mirrors.aliyun.com/epel/$releasever/x86_64
gpgkey=https://mirrors.aliyun.com/epel/RPM-GPG-KEY-EPEL-7
gpgcheck=1