1.内核升级环境准备
#查看已经安装的和未安装的软件包组,来判断我们是否安装了相应的开发环境和开发库;
yum grouplist
#一般是安装这两个软件包组,这样做会确定你拥有编译时所需的一切工具
yum groupinstall "Development Tools"
#你必须这样才能让 make *config 这个指令正确地执行
yum install ncurses-devel
#如果你没有 X 环境,这一条可以不用
yum install qt-devel
#创建 CentOS-6 内核时需要它们
yum install hmaccalc zlib-devel binutils-devel elfutils-libelf-devel
下载 内核包
wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.12.17.tar.xz
解包,进行内核源码目录
[root@centos ~]# tar -vxf linux-3.12.17.tar.xz
2.开始升级内核:
cd /usr/src/linux-3.12.17
#复制原内核配置
cp /boot/config-2.6.32-573.el6.x86_64 .config
vim .config
/*将如下内容 追加入.config 并保存
CONFIG_NF_NAT_IPV4=y
CONFIG_IP_NF_TARGET_MASQUERADE=y
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y
CONFIG_MEMCG_SWAP=y
CONFIG_MEMCG_SWAP_ENABLED=y
CONFIG_AUFS_FS=y
CONFIG_DM_THIN_PROVISIONING=y
CONFIG_OVERLAY_FS=y
CONFIG_CGROUP_PERF=y
CONFIG_CFS_BANDWIDTH=y
HYPERVISOR_GUEST=y
CONFIG_VMWARE_BALLOON=m
*/
#编辑内核配置,开启内核CGROUP支持
make menuconfig
#选择General setup-->Control Group support->Memory Resource Controller for Control Groups选中
#自动整理.config
sh -c 'yes "" | make oldconfig'
#编译并安装内核(j8代表8个线程同时编译,请根据你的机器情况设置)
make -j8 bzImage && make -j8 modules && make -j8 modules_install && make install
vim /etc/grub.conf
修改default=0保存。即选择从你新编译的内核启动linux。
#重启
reboot
#注意:重新编译内核请运行
cd /usr/src/linux-3.12.17
make mrproper
make clean
#.如果升级成功后,可以删除源码目录
[root@centos ~]# rm -rf /usr/local/src/linux-3.12.17
#.删除原来的内核
#查看当前有什么内核版本
[root@centos ~]# rpm -q kernel
显示以下版本
kernel-2.6.32-431.el6.x86_64
kernel-2.6.32-431.11.2.el6.x86_64
#删除原内核
[root@centos ~]# yum remove kernel-2.6.32-431.el6.x86_64 #移除此版本的内核,同时启动菜单也不再会出现此内核
[root@centos ~]# yum remove kernel-2.6.32-431.11.2.el6.x86_64
删除后,查看启动菜单会发现已经少了此内核
[root@centos ~]# cat /boot/grub/menu.lst
安装docker
1. yum install docker-engine
2.service docker start
如果启动失败 报如下错误
Starting cgconfig service: Error: cannot mount cpuacct to /cgroup/cpuacct: Device or resource busy
/sbin/cgconfigparser; error loading /etc/cgconfig.conf: Cgroup mounting failed
Failed to parse /etc/cgconfig.conf or /etc/cgconfig.d [失败]
Starting docker: [确定]
检查cgconfig 是否启动
/etc/init.d/cgconfig status
未启动时
修改vim /etc/cgconfig.conf(注释掉memory)
# memory = /cgroup/memory
重启 /etc/init.d/cgconfig restart
重新启动docker