一、update yum
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
|
1、先查看redhat7.2中yum的包版本
[root@localhost jiayimeng]
# rpm -qa | grep yum
yum-rhn-plugin-2.0.1-5.el7.noarch
yum-metadata-parser-1.1.4-10.el7.x86_64
yum-langpacks-0.4.2-4.el7.noarch
yum-utils-1.1.31-34.el7.noarch
yum-3.4.3-132.el7.noarch
2、删除原有的yum包
[root@localhost jiayimeng]
# rpm -e yum-rhn-plugin-2.0.1-5.el7.noarch yum-metadata-parser-1.1.4-10.el7.x86_64 yum-langpacks-0.4.2-4.el7.noarch yum-utils-1.1.31-34.el7.noarch yum-3.4.3-132.el7.noarch --nodeps
警告:
/etc/yum/pluginconf
.d
/langpacks
.conf 已另存为
/etc/yum/pluginconf
.d
/langpacks
.conf.rpmsave
3、在各大开源镜像站下载对应包
163:http:
//mirrors
.163.com/
aliyun: http:
//mirrors
.aliyun.com/
中科大:http:
//mirrors
.ustc.edu.cn/
4、下载并
ftp
到redhat server
[root@localhost jiayimeng]
# ll
总用量 1472
-rw-r--r--. 1 root root 1288436 12月 22 17:13 yum-3.4.3-154.el7.centos.noarch.rpm
-rw-r--r--. 1 root root 28348 12月 22 17:13 yum-metadata-parser-1.1.4-10.el7.x86_64.rpm
-rw-r--r--. 1 root root 32776 12月 22 17:13 yum-plugin-fastestmirror-1.1.31-42.el7.noarch.rpm
-rw-r--r--. 1 root root 25592 12月 22 17:13 yum-updateonboot-1.1.31-42.el7.noarch.rpm
-rw-r--r--. 1 root root 120184 12月 22 17:13 yum-utils-1.1.31-42.el7.noarch.rpm
5、安装软件包
[root@localhost jiayimeng]
# rpm -ivh yum-*
警告:yum-3.4.3-154.el7.centos.noarch.rpm: 头V3 RSA
/SHA256
Signature, 密钥 ID f4a80eb5: NOKEY
错误:依赖检测失败:
python-urlgrabber >= 3.10-8 被 yum-3.4.3-154.el7.centos.noarch 需要
rpm >= 0:4.11.3-22 被 yum-3.4.3-154.el7.centos.noarch 需要
6、报错,依赖包的版本不符
解决方案有两个,一是在网上找低版本rpm包安装,二是将所依赖的python-urlgrabber和rpm包升级,我这里用第二个方法
----下载----
[root@localhost jiayimeng]
# wget http://mirrors.163.com/centos/7/os/x86_64/Packages/rpm-4.11.3-25.el7.x86_64.rpm
--2017-12-22 17:18:59-- http:
//mirrors
.163.com
/centos/7/os/x86_64/Packages/rpm-4
.11.3-25.el7.x86_64.rpm
正在解析主机 mirrors.163.com (mirrors.163.com)... 123.58.190.235, 123.58.190.228, 123.58.190.236, ...
正在连接 mirrors.163.com (mirrors.163.com)|123.58.190.235|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:1216680 (1.2M) [application
/x-redhat-package-manager
]
正在保存至: “rpm-4.11.3-25.el7.x86_64.rpm”
100%[====================>] 1,216,680 2.29MB
/s
用时 0.5s
2017-12-22 17:19:00 (2.29 MB
/s
) - 已保存 “rpm-4.11.3-25.el7.x86_64.rpm” [1216680
/1216680
])
[root@localhost jiayimeng]
# wget http://mirrors.163.com/centos/7/os/x86_64/Packages/python-urlgrabber-3.10-8.el7.noarch.rpm
--2017-12-22 17:19:44-- http:
//mirrors
.163.com
/centos/7/os/x86_64/Packages/python-urlgrabber-3
.10-8.el7.noarch.rpm
正在解析主机 mirrors.163.com (mirrors.163.com)... 123.58.190.235, 123.58.190.234, 123.58.190.237, ...
正在连接 mirrors.163.com (mirrors.163.com)|123.58.190.235|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:110540 (108K) [application
/x-redhat-package-manager
]
正在保存至: “python-urlgrabber-3.10-8.el7.noarch.rpm”
100%[====================>] 110,540 462KB
/s
用时 0.2s
2017-12-22 17:19:44 (462 KB
/s
) - 已保存 “python-urlgrabber-3.10-8.el7.noarch.rpm” [110540
/110540
])
----升级----
[root@localhost jiayimeng]
# rpm -Uvh rpm-4.11.3-25.el7.x86_64.rpm --nodeps
警告:rpm-4.11.3-25.el7.x86_64.rpm: 头V3 RSA
/SHA256
Signature, 密钥 ID f4a80eb5: NOKEY
准备中...
################################# [100%]
正在升级/安装...
1:rpm-4.11.3-25.el7
################################# [ 50%]
正在清理/删除...
2:rpm-4.11.3-17.el7
################################# [100%]
[root@localhost jiayimeng]
# rpm -Uvh python-urlgrabber-3.10-8.el7.noarch.rpm --nodeps
警告:python-urlgrabber-3.10-8.el7.noarch.rpm: 头V3 RSA
/SHA256
Signature, 密钥 ID f4a80eb5: NOKEY
准备中...
################################# [100%]
正在升级/安装...
1:python-urlgrabber-3.10-8.el7
################################# [ 50%]
正在清理/删除...
2:python-urlgrabber-3.10-7.el7
################################# [100%]
[root@localhost jiayimeng]
# rpm -ivh yum*
警告:yum-3.4.3-154.el7.centos.noarch.rpm: 头V3 RSA
/SHA256
Signature, 密钥 ID f4a80eb5: NOKEY
准备中...
################################# [100%]
正在升级/安装...
1:yum-metadata-parser-1.1.4-10.el7
################################# [ 20%]
2:yum-plugin-fastestmirror-1.1.31-4
################################# [ 40%]
3:yum-3.4.3-154.el7.centos
################################# [ 60%]
4:yum-updateonboot-1.1.31-42.el7
################################# [ 80%]
5:yum-utils-1.1.31-42.el7
################################# [100%]
7、更新yum源
[root@localhost jiayimeng]
# rm /etc/yum.repos.d/redhat.repo
rm
:是否删除普通文件
"/etc/yum.repos.d/redhat.repo"
?y
[root@localhost jiayimeng]
# vim /etc/yum.repos.d/CentOS-Base.repo
#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-$7 - Base - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$7&arch=$basearch&repo=os
baseurl=http:
//mirrors
.163.com
/centos/7/os/
$basearch/
gpgcheck=1
gpgkey=http:
//mirrors
.163.com
/centos/RPM-GPG-KEY-CentOS-7
#released updates
[updates]
name=CentOS-$7 - Updates - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$7&arch=$basearch&repo=updates
baseurl=http:
//mirrors
.163.com
/centos/7/updates/
$basearch/
gpgcheck=1
gpgkey=http:
//mirrors
.163.com
/centos/RPM-GPG-KEY-CentOS-7
#additional packages that may be useful
[extras]
name=CentOS-$7 - Extras - 163.com
#mirrorlist=http://mirrorlist.centos.org/?release=$7&arch=$basearch&repo=extras
baseurl=http:
//mirrors
.163.com
/centos/7/extras/
$basearch/
gpgcheck=1
gpgkey=http:
//mirrors
.163.com
/centos/RPM-GPG-KEY-CentOS-7
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$7 - Plus - 163.com
baseurl=http:
//mirrors
.163.com
/centos/7/centosplus/
$basearch/
gpgcheck=1
enabled=0
gpgkey=http:
//mirrors
.163.com
/centos/RPM-GPG-KEY-CentOS-7
8、清除yum缓存
[root@localhost ~]
# yum clean all
9、生成缓存
[root@localhost ~]
# yum makecache
已加载插件:fastestmirror, product-
id
, search-disabled-repos,
: subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
base | 3.6 kB 00:00
extras | 3.4 kB 00:00
updates | 3.4 kB 00:00
(1
/12
): base
/x86_64/group_gz
| 156 kB 00:00
(2
/12
): base
/x86_64/filelists_db
| 6.7 MB 00:02
(3
/12
): base
/x86_64/primary_db
| 5.7 MB 00:01
(4
/12
): base
/x86_64/other_db
| 2.5 MB 00:00
(5
/12
): extras
/x86_64/prestodelta
| 71 kB 00:00
(6
/12
): extras
/x86_64/filelists_db
| 528 kB 00:00
(7
/12
): extras
/x86_64/other_db
| 96 kB 00:00
(8
/12
): extras
/x86_64/primary_db
| 145 kB 00:00
(9
/12
): updates
/x86_64/prestodelta
| 605 kB 00:01
(10
/12
): updates
/x86_64/filelists_db
| 2.8 MB 00:01
(11
/12
): updates
/x86_64/other_db
| 492 kB 00:00
(12
/12
): updates
/x86_64/primary_db
| 4.6 MB 00:00
Determining fastest mirrors
元数据缓存已建立
|
二、踩坑
在第6步报错时,我在安装新版本的rpm包时,未使用-Uvh参数,而是使用-ivh参数附加--nodeps,这时安装失败,按照网上的方法,加上了--force参数,导致rpm包依赖出现问题报错为
1
|
/usr/lib64/python2
.7
/site-packages/rpm/_rpm
.so: 未定义符号: rpmpkgVerifySigs
|
这样的话,水平有限,只能重装解决。总结教训,rpm的强制忽略依赖关系参数易导致版本间出现问题。铭记!
本文转自 元婴期 51CTO博客,原文链接:http://blog.51cto.com/jiayimeng/2053694