我是靠谱客的博主 健壮老虎,这篇文章主要介绍阿里云云服务器Linux系统更新yum源Shell脚本,现在分享给大家,希望可以做个参考。

所有执行的脚本都需要root身份来执行,执行方法:以root身份执行命令:bash xxx.sh

功能:自动检测系统并更新源
适用系统版本:兼容线上所有linux版本
执行方法:以root身份执行命令:bash update_source.sh
解决了什么问题:一键式检测系统并更新源
给客户带来了好处:用户只需执行该脚本一次即可自动检测系统并更新源。
备注:由于系统版本都有支持的周期所以部分源可能会出现不可用的情况,包括官方的源,这是正常情况

复制代码
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
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
#!/bin/bash ######################################### #Function: update source #Usage: bash update_source.sh #Author: Customer service department #Company: Alibaba Cloud Computing #Version: 2.0 ######################################### check_os_release() { while true do os_release=$(grep "Red Hat Enterprise Linux Server release" /etc/issue 2>/dev/null) os_release_2=$(grep "Red Hat Enterprise Linux Server release" /etc/redhat-release 2>/dev/null) if [ "$os_release" ] && [ "$os_release_2" ] then if echo "$os_release"|grep "release 5" >/dev/null 2>&1 then os_release=redhat5 echo "$os_release" elif echo "$os_release"|grep "release 6" >/dev/null 2>&1 then os_release=redhat6 echo "$os_release" else os_release="" echo "$os_release" fi break fi os_release=$(grep "Aliyun Linux release" /etc/issue 2>/dev/null) os_release_2=$(grep "Aliyun Linux release" /etc/aliyun-release 2>/dev/null) if [ "$os_release" ] && [ "$os_release_2" ] then if echo "$os_release"|grep "release 5" >/dev/null 2>&1 then os_release=aliyun5 echo "$os_release" elif echo "$os_release"|grep "release 6" >/dev/null 2>&1 then os_release=aliyun6 echo "$os_release" else os_release="" echo "$os_release" fi break fi os_release=$(grep "CentOS release" /etc/issue 2>/dev/null) os_release_2=$(grep "CentOS release" /etc/*release 2>/dev/null) if [ "$os_release" ] && [ "$os_release_2" ] then if echo "$os_release"|grep "release 5" >/dev/null 2>&1 then os_release=centos5 echo "$os_release" elif echo "$os_release"|grep "release 6" >/dev/null 2>&1 then os_release=centos6 echo "$os_release" else os_release="" echo "$os_release" fi break fi os_release=$(grep -i "ubuntu" /etc/issue 2>/dev/null) os_release_2=$(grep -i "ubuntu" /etc/lsb-release 2>/dev/null) if [ "$os_release" ] && [ "$os_release_2" ] then if echo "$os_release"|grep "Ubuntu 10" >/dev/null 2>&1 then os_release=ubuntu10 echo "$os_release" elif echo "$os_release"|grep "Ubuntu 12.04" >/dev/null 2>&1 then os_release=ubuntu1204 echo "$os_release" elif echo "$os_release"|grep "Ubuntu 12.10" >/dev/null 2>&1 then os_release=ubuntu1210 echo "$os_release" else os_release="" echo "$os_release" fi break fi os_release=$(grep -i "debian" /etc/issue 2>/dev/null) os_release_2=$(grep -i "debian" /proc/version 2>/dev/null) if [ "$os_release" ] && [ "$os_release_2" ] then if echo "$os_release"|grep "Linux 6" >/dev/null 2>&1 then os_release=debian6 echo "$os_release" else os_release="" echo "$os_release" fi break fi break done } modify_rhel5_yum() { wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyuncs.com/repo/Centos-5.repo sed -i 's/aliyun/aliyuncs/g' /etc/yum.repos.d/CentOS-Base.repo sed -i 's/\$releasever/5/' /etc/yum.repos.d/CentOS-Base.repo yum clean metadata yum makecache cd ~ } modify_rhel6_yum() { wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyuncs.com/repo/Centos-6.repo sed -i 's/aliyun/aliyuncs/g' /etc/yum.repos.d/CentOS-Base.repo sed -i 's/\$releasever/6/' /etc/yum.repos.d/CentOS-Base.repo yum clean metadata yum makecache cd ~ } update_ubuntu10_apt_source() { echo -e "\033[40;32mBackup the original configuration file,new name and path is /etc/apt/sources.list.back.\n\033[40;37m" cp -fp /etc/apt/sources.list /etc/apt/sources.list.back cat > /etc/apt/sources.list <<EOF #ubuntu deb http://cn.archive.ubuntu.com/ubuntu/ maverick main restricted universe multiverse deb-src http://cn.archive.ubuntu.com/ubuntu/ maverick main restricted universe multiverse #163 deb http://mirrors.163.com/ubuntu/ maverick main universe restricted multiverse deb-src http://mirrors.163.com/ubuntu/ maverick main universe restricted multiverse deb http://mirrors.163.com/ubuntu/ maverick-updates universe main multiverse restricted deb-src http://mirrors.163.com/ubuntu/ maverick-updates universe main multiverse restricted #lupaworld deb http://mirror.lupaworld.com/ubuntu/ maverick main universe restricted multiverse deb-src http://mirror.lupaworld.com/ubuntu/ maverick main universe restricted multiverse deb http://mirror.lupaworld.com/ubuntu/ maverick-security universe main multiverse restricted deb-src http://mirror.lupaworld.com/ubuntu/ maverick-security universe main multiverse restricted deb http://mirror.lupaworld.com/ubuntu/ maverick-updates universe main multiverse restricted deb http://mirror.lupaworld.com/ubuntu/ maverick-proposed universe main multiverse restricted deb-src http://mirror.lupaworld.com/ubuntu/ maverick-proposed universe main multiverse restricted deb http://mirror.lupaworld.com/ubuntu/ maverick-backports universe main multiverse restricted deb-src http://mirror.lupaworld.com/ubuntu/ maverick-backports universe main multiverse restricted deb-src http://mirror.lupaworld.com/ubuntu/ maverick-updates universe main multiverse restricted EOF apt-get update } update_ubuntu1204_apt_source() { echo -e "\033[40;32mBackup the original configuration file,new name and path is /etc/apt/sources.list.back.\n\033[40;37m" cp -fp /etc/apt/sources.list /etc/apt/sources.list.back cat > /etc/apt/sources.list <<EOF #12.04 deb http://mirrors.aliyuncs.com/ubuntu/ precise main restricted universe multiverse deb http://mirrors.aliyuncs.com/ubuntu/ precise-security main restricted universe multiverse deb http://mirrors.aliyuncs.com/ubuntu/ precise-updates main restricted universe multiverse deb http://mirrors.aliyuncs.com/ubuntu/ precise-proposed main restricted universe multiverse deb http://mirrors.aliyuncs.com/ubuntu/ precise-backports main restricted universe multiverse deb-src http://mirrors.aliyuncs.com/ubuntu/ precise main restricted universe multiverse deb-src http://mirrors.aliyuncs.com/ubuntu/ precise-security main restricted universe multiverse deb-src http://mirrors.aliyuncs.com/ubuntu/ precise-updates main restricted universe multiverse deb-src http://mirrors.aliyuncs.com/ubuntu/ precise-proposed main restricted universe multiverse deb-src http://mirrors.aliyuncs.com/ubuntu/ precise-backports main restricted universe multiverse EOF apt-get update } update_ubuntu1210_apt_source() { echo -e "\033[40;32mBackup the original configuration file,new name and path is /etc/apt/sources.list.back.\n\033[40;37m" cp -fp /etc/apt/sources.list /etc/apt/sources.list.back cat > /etc/apt/sources.list <<EOF #12.10 deb http://mirrors.aliyuncs.com/ubuntu/ quantal main restricted universe multiverse deb http://mirrors.aliyuncs.com/ubuntu/ quantal-security main restricted universe multiverse deb http://mirrors.aliyuncs.com/ubuntu/ quantal-updates main restricted universe multiverse deb http://mirrors.aliyuncs.com/ubuntu/ quantal-proposed main restricted universe multiverse deb http://mirrors.aliyuncs.com/ubuntu/ quantal-backports main restricted universe multiverse deb-src http://mirrors.aliyuncs.com/ubuntu/ quantal main restricted universe multiverse deb-src http://mirrors.aliyuncs.com/ubuntu/ quantal-security main restricted universe multiverse deb-src http://mirrors.aliyuncs.com/ubuntu/ quantal-updates main restricted universe multiverse deb-src http://mirrors.aliyuncs.com/ubuntu/ quantal-proposed main restricted universe multiverse deb-src http://mirrors.aliyuncs.com/ubuntu/ quantal-backports main restricted universe multiverse EOF apt-get update } update_debian_apt_source() { echo -e "\033[40;32mBackup the original configuration file,new name and path is /etc/apt/sources.list.back.\n\033[40;37m" cp -fp /etc/apt/sources.list /etc/apt/sources.list.back cat > /etc/apt/sources.list <<EOF #debian6 deb http://mirrors.aliyuncs.com/debian/ squeeze main non-free contrib deb http://mirrors.aliyuncs.com/debian/ squeeze-proposed-updates main non-free contrib deb-src http://mirrors.aliyuncs.com/debian/ squeeze main non-free contrib deb-src http://mirrors.aliyuncs.com/debian/ squeeze-proposed-updates main non-free contrib EOF apt-get update } ####################Start################### #check lock file ,one time only let the script run one time LOCKfile=/tmp/.$(basename $0) if [ -f "$LOCKfile" ] then echo -e "\033[1;40;31mThe script is already exist,please next time to run this script.\n\033[0m" exit else echo -e "\033[40;32mStep 1.No lock file,begin to create lock file and continue.\n\033[40;37m" touch $LOCKfile fi #check user if [ $(id -u) != "0" ] then echo -e "\033[1;40;31mError: You must be root to run this script, please use root to install this script.\n\033[0m" rm -rf $LOCKfile exit 1 fi echo -e "\033[40;32mStep 2.Begen to check the OS issue.\n\033[40;37m" os_release=$(check_os_release) if [ "X$os_release" == "X" ] then echo -e "\033[1;40;31mThe OS does not identify,So this script is not executede.\n\033[0m" rm -rf $LOCKfile exit 0 else echo -e "\033[40;32mThis OS is $os_release.\n\033[40;37m" fi echo -e "\033[40;32mStep 3.Begen to modify the source configration file and update.\n\033[40;37m" case "$os_release" in redhat5|centos5|aliyun5) modify_rhel5_yum ;; redhat6|centos6|aliyun6) modify_rhel6_yum ;; ubuntu10) update_ubuntu10_apt_source ;; ubuntu1204) update_ubuntu1204_apt_source ;; ubuntu1210) update_ubuntu1210_apt_source ;; debian6) update_debian_apt_source ;; esac echo -e "\033[40;32mSuccess,exit now!\n\033[40;37m" rm -rf $LOCKfile

最后

以上就是健壮老虎最近收集整理的关于阿里云云服务器Linux系统更新yum源Shell脚本的全部内容,更多相关阿里云云服务器Linux系统更新yum源Shell脚本内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(145)

评论列表共有 0 条评论

立即
投稿
返回
顶部