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