Docker-01 無人值守升級 CentOS 6.x 系統核心到 3.10.x 長期支援版

三角形發表於2016-05-26
 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

 

相關文章