Docker-01 无人值守升级 CentOS 6.x 系统内核到 3.10.x 长期支持版

 1 #!/bin/bash
 2 
 3 #
 4 #    无人值守升级 CentOS 6.x 系统内核到 3.10.x 长期支持版
 5 #
 6 
 7 #
 8 #    1、检查操作系统是否为 CentOS 6.x
 9 #
10 
11 cat /etc/centos-release |grep -i centos |egrep '6.[[:digit:]]+' &>/dev.null
12 if [[ $? != 0 ]]
13 then
14     echo -e "不支持的操作系统,该脚本只适用于 CentOS 6.x 操作系统"
15     exit 1
16 fi
17 
18 #
19 #    2、检查当前内核版本是否满足安装 Docker 的要求:
20 #       如果满足直接退出脚本,如果不满足将自动升级系统内核
21 #
22 
23 if [[ $(uname -r |awk -F '.' '{print $1}') -ge 3 ]]
24 then
25     if [[ $(uname -r |awk -F '.' '{print $2}') -ge 10 ]]
26     then
27         echo "该操作系统内核版本已满足安装 Docker 的要求,无需升级"
28     exit 1
29     fi
30 fi
31 
32 #
33 #    3、导入 ELRepo 公钥
34 #
35 
36 rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
37 
38 if [[ $? != 0 ]]
39 then
40     echo "导入 ELRepo 公钥失败"
41     exit 1
42 fi
43 
44 #
45 #    4、安装 ELRepo YUM 源
46 #
47 
48 rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm
49 
50 #
51 #    5、升级内核到 3.10.x 长期支持版
52 #
53 
54 yum --enablerepo=elrepo-kernel install kernel-lt -y
55 
56 if [[ $? != 0 ]]
57 then
58     echo "升级内核到 3.10.x 长期支持版失败"
59     exit 1
60 fi
61 
62 #
63 #    6、配置 GRUB ,下次启动时加载新的内核    
64 #
65 
66 sed -i 's/default=1/default=0/' /etc/grub.conf && sed -i 's/default=1/default=0/' /boot/grub/grub.conf
67 
68 if [[ $? != 0 ]]
69 then
70     echo "配置 GRUB ,下次启动时加载新的内核失败"
71     exit 1
72 fi
73 
74 #
75 #    7、重启操作系统,重新加载内核
76 #
77 
78 echo -en "\n\t"
79 read -p "立即重启操作系统,加载内核 3.10.101 [y/N]" rebootnow
80 if [[ $rebootnow == y ]]
81 then
82     reboot
83 else
84     echo -e "\n\t稍后手动重启操作系统加载内核 3.10.101\n"
85 fi

 

posted @ 2016-05-26 01:33  三角形  阅读(562)  评论(1编辑  收藏  举报