yum方式安裝軟件時,比如zabbix這種軟件,我們在安裝時一般都是直接到zabbix官網,按照官方的步驟進行安裝,但是有一個問題,官方的服務器不在國內,時常會在安裝時導致超時報錯。此時解決思路就因該是將官方源替換成國內的鏡像源,例如阿里雲、163的鏡像源。要點就是網絡問題!網絡問題!網絡問題!
注意安裝zabbix時也要選擇阿里雲的鏡像repo,地址如下:
rpm -Uvh https://mirrors.aliyun.com/zabbix/zabbix/4.4/rhel/7/x86_64/zabbix-release-4.4-1.el7.noarch.rpm
報錯信息:

|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
安裝 3 軟件包 (+7 依賴軟件包)
總計:7.2 M
總下載量:5.8 M
安裝大小:29 M
Is this ok [y
/d/N
]: y
Downloading packages:
No Presto metadata available
for
zabbix
zabbix-server-mysql-4.4.6-1.el FAILED 6 kB 00:01:00 ETA
http:
//repo
.zabbix.com
/zabbix/4
.4
/rhel/7/x86_64/zabbix-server-mysql-4
.4.6-1.el7.x86_64.rpm: [Errno 14] curl
#18 - "transfer closed with 2193329 bytes remaining to read"
正在嘗試其它鏡像。
zabbix-agent-4.4.6-1.el7.x86_6 FAILED 3 kB 01:07:08 ETA
http:
//repo
.zabbix.com
/zabbix/4
.4
/rhel/7/x86_64/zabbix-agent-4
.4.6-1.el7.x86_64.rpm: [Errno 12] Timeout on http:
//repo
.zabbix.com
/zabbix/4
.4
/rhel/7/x86_64/zabbix-agent-4
.4.6-1.el7.x86_64.rpm: (28,
'Operation too slow. Less than 1000 bytes/sec transferred the last 30 seconds'
)
正在嘗試其它鏡像。
zabbix-web-4.4.6-1.el7.noarch. FAILED 0 kB 00:04:53 ETA
http:
//repo
.zabbix.com
/zabbix/4
.4
/rhel/7/x86_64/zabbix-web-4
.4.6-1.el7.noarch.rpm: [Errno 14] curl
#18 - "transfer closed with 2625420 bytes remaining to read"
正在嘗試其它鏡像。
zabbix-agent-4.4.6-1.el7.x86_6 FAILED 6 kB 00:09:43 ETA
http:
//repo
.zabbix.com
/zabbix/4
.4
/rhel/7/x86_64/zabbix-agent-4
.4.6-1.el7.x86_64.rpm: [Errno 14] curl
#18 - "transfer closed with 83410 bytes remaining to read"
正在嘗試其它鏡像。
Error downloading packages:
zabbix-web-4.4.6-1.el7.noarch: [Errno 256] No
more
mirrors to try.
zabbix-server-mysql-4.4.6-1.el7.x86_64: [Errno 256] No
more
mirrors to try.
zabbix-agent-4.4.6-1.el7.x86_64: [Errno 256] No
more
mirrors to try.
|
解決方案大致有三種:
一、更新yum
yum clean all
yum makecache
yum update -y
二、若不行,可能是因為DNS不穩定吧,因為yum安裝時會從三個”repo源“(base,extras,updates)隨機獲取地址
1)編輯網絡配置:vi /etc/sysconfig/network-scripts/ifcfg-eth0
在本地網關DNS1下,添加aliyun網關 DNS2=223.5.5.5(可以理解為:將base,updates的“repo源”換為aliyun的)
重啟網絡服務:service network restart
2)上步驟若還不行,請繼續以下步驟(換yum源,可以理解為上一步的plus,再將extras換為aliyun的源)
先備份老源:mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
CentOS7系統:wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
具體方法參考阿里雲官方:https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b11iDH0bA
3)刷新並生成緩存
yum clean all
yum makecache
三、分析總結法
首先該問題的出現是由於網絡的震盪導致,這是重點。
(1)將源更換成阿里雲的官方源,步驟參考如上
(2)同時將zabbix的官方源更換成阿里雲里面的zabbix鏡像源,因為zabbix官方源根本網絡不通,因為國家防火牆的攔截,導致網絡不通。

這是阿里源的zabbix鏡像地址: https://mirrors.aliyun.com/zabbix/zabbix/4.4/rhel/7/
修改系統中早期生成的zabbix.repo文件,如下:主要是把baseurl替換成阿里雲的zabbix鏡像地址即可。
修改完了記得,清理再重組:yum clean all yum makecache
[zabbix]
name=aliyun - zabbix - $basearch
baseurl=https:
//mirrors
.aliyun.com
/zabbix/zabbix/4
.4
/rhel/7/
$basearch/
enabled=1
gpgcheck=0

如圖示,國內的zabbix鏡像源網絡是通的,所以此時可以正常安裝zabbix,問題得到解決。
驗證:如圖示,zabbix-agent已經可以正常安裝

