标签:
1 #!/bin/bash 2 3 # 4 # 无人值守升级 CentOS 6.x 系统内核到 3.10.101 5 # 6 # 全程参考 https://segmentfault.com/a/1190000000733628 7 # 8 9 10 # 11 # 1、检查操作系统是否为 CentOS 6.x 12 # 13 14 cat /etc/centos-release |grep -i centos |egrep ‘6.[[:digit:]]+‘ &>/dev.null 15 if [[ $? != 0 ]] 16 then 17 echo -e "不支持的操作系统,该脚本只适用于 CentOS 6.x 操作系统" 18 exit 1 19 fi 20 21 # 22 # 2、检查当前内核版本是否满足安装 Docker 的要求: 23 # 如果满足直接退出脚本,如果不满足将自动升级系统内核 24 # 25 26 if [[ $(uname -r |awk -F ‘.‘ ‘{print $1}‘) -ge 3 ]] 27 then 28 if [[ $(uname -r |awk -F ‘.‘ ‘{print $2}‘) -ge 10 ]] 29 then 30 echo "该操作系统内核版本已满足安装 Docker 的要求,无需升级" 31 exit 1 32 fi 33 fi 34 35 # 36 # 3、检查 YUM 源是否可用 37 # 38 39 yum list &>/dev/null 40 41 if [[ $? != 0 ]] 42 then 43 echo "YUM 源配置错误" 44 exit 1 45 fi 46 47 # 48 # 4、安装软件包组 "Development Tools" 49 # 50 51 yum groupinstall -y "Development Tools" 52 53 if [[ $? != 0 ]] 54 then 55 echo "YUM 安装开发工具失败" 56 exit 1 57 fi 58 59 # 60 # 5、安装编译 Linux 内核除 "Development Tools" 以外的其他软件包 61 # 62 63 yum install -y wget ncurses-devel hmaccalc zlib-devel binutils-devel elfutils-libelf-devel 64 65 if [[ $? != 0 ]] 66 then 67 echo "YUM 安装开发工具失败" 68 exit 1 69 fi 70 71 # 72 # 6、下载 Linux 内核文件 3.10.101 ,并解压到 /usr/src/ 目录下 73 # 74 75 #wget https://cdn.kernel.org/pub/linux/kernel/v3.x/linux-3.10.101.tar.xz 76 wget http://mirrors.aliyun.com/linux-kernel/v3.x/linux-3.10.101.tar.xz 77 tar -xf linux-3.10.101.tar.xz -C /usr/src 78 if [[ ! -d /usr/src/linux-3.10.101/ ]] 79 then 80 echo "Linux 内核文件 3.10.101 下载失败" 81 exit 1 82 fi 83 84 # 85 # 7、在原有内核配置文件的基础上建立新的编译选项 86 # 87 88 cd /usr/src/linux-3.10.101/ 89 cp /boot/config-$(uname -r) .config 90 sh -c ‘yes "" | make oldconfig‘ 91 92 # 93 # 8、开始编译 Linux 内核 3.10.101 94 # 生成内核文件 95 # 编译模块 96 # 编译安装模块 97 # 98 99 cd /usr/src/linux-3.10.101/ 100 101 make -j$(cat /proc/cpuinfo |grep processor |wc -l) bzImage 102 103 if [[ $? != 0 ]] 104 then 105 echo "生成内核文件失败" 106 exit 1 107 fi 108 109 make -j$(cat /proc/cpuinfo |grep processor |wc -l) modules 110 111 if [[ $? != 0 ]] 112 then 113 echo "编译模块失败" 114 exit 1 115 fi 116 117 make -j$(cat /proc/cpuinfo |grep processor |wc -l) modules_install 118 119 if [[ $? != 0 ]] 120 then 121 echo "编译安装模块失败" 122 exit 1 123 fi 124 125 # 126 # 9、安装 Linux 内核 3.10.101 127 # 128 129 cd /usr/src/linux-3.10.101/ 130 make install 131 132 # 133 # 10、配置 GRUB ,下次启动时加载新的内核 134 # 135 136 sed -i ‘s/default=1/default=0/‘ /etc/grub.conf 137 sed -i ‘s/default=1/default=0/‘ /boot/grub/grub.conf 138 echo -en "\n\t" 139 read -p "立即重启操作系统,加载内核 3.10.101 [y/N]" rebootnow 140 if [[ $rebootnow == y ]] 141 then 142 reboot 143 else 144 echo -e "\n\t稍后手动重启操作系统加载内核 3.10.101\n" 145 fi
Docker-01 无人值守升级 CentOS 6.x 系统内核到 3.10.101
标签:
原文地址:http://www.cnblogs.com/www1707/p/5529496.html