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

docker安装升级linux内核(2.6.32->3.12.17)的更多相关文章

  1. docker安装升级linux内核(2.6.32->3.10.81)

    .内核升级环境准备 #查看已经安装的和未安装的软件包组,来判断我们是否安装了相应的开发环境和开发库: yum grouplist #一般是安装这两个软件包组,这样做会确定你拥有编译时所需的一切工具 y ...

  2. centos6.5升级Linux内核步骤

    centos6.5升级Linux内核步骤 http://www.jianshu.com/p/c75f00182b4c 使用的操作系统是是centos6.5,按照官方的推荐的配置,把linux内核升级到 ...

  3. CentOS 7.4升级Linux内核

    CentOS 7.4升级Linux内核 [日期:2018-01-15] 来源:Linux社区  作者:straycats [字体:大 中 小] 由于最近intel出了Meltdown和Spectre两 ...

  4. 管理员技术(三): 配置静态网络地址、 使用yum软件源 、 升级Linux内核、查找并处理文件、查找并提取文件内容

    一. 配置静态网络地址 目标: 本例要求为虚拟机 server 配置以下静态地址参数: 1> 主机名:server0.example.com    2> IP地址:172.25.0.11  ...

  5. 升级linux内核(2.6.32->3.10.81),安装docker

    1.内核升级环境准备 #查看已经安装的和未安装的软件包组,来判断我们是否安装了相应的开发环境和开发库: yum grouplist #一般是安装这两个软件包组,这样做会确定你拥有编译时所需的一切工具 ...

  6. centos 升级linux内核

    =============================================== 2018/1/14_第1次修改                       ccb_warlock == ...

  7. 升级 Linux 内核版本(编译源代码)

    升级内核版本(自己编译源码) 从 linux 官网 https://www.kernel.org/ 下载内核源码 解压 tar -xvf linux-4.16.8.tar.xz cd linux-4. ...

  8. 升级Linux内核导致vmware无法使用(vmnet模块无法编译)解决方式

    近期将ubuntu升级到了14.04,出现了vmware无法启动的情况. 详细表现为:每次启动的时候都会弹出一个VMWare Kernel Module Updater的对话框,要求依据当前内核版本号 ...

  9. docker安装总结 linux红帽系列

    由于Docker限制分为两个版本CE和EE,所以之前yum里面的docker是老版本,需要先进行卸载,现在的包名叫做docker-ce yum remove docker docker-common ...

随机推荐

  1. VB.NET调用SQL Sever存储过程

    概要: 本文介绍VB.NET使用创建并调用带有输入参数和输出参数的SQL Sever存储过程 本文代码首先检查要创建的存储过程再数据库中是否存在在.如果不存在,则代码创建一个存储过程,该过程一个参数来 ...

  2. Android——另外一种增删查改的方式(ContentProvider常用)

    以下介绍另外一种增删查改的方式 package com.njupt.sqllist; import java.util.ArrayList; import java.util.List; import ...

  3. 自定义JSP中的Taglib标签之四自定义标签中的Function函数

    转自http://www.cnblogs.com/edwardlauxh/archive/2010/05/19/1918589.html 之前例子已经写好了,由于时间关系一直没有发布,这次带来的是关于 ...

  4. [ios2][转]iOS摇动检测 (UIAccelerometer)

    加速计(UIAccelerometer)是一个单例模式的类,所以需要通过方法sharedAccelerometer获取其唯一的实例. 加速计需要设置的主要有两个: 一个是设置其代理,用以执行获取加速计 ...

  5. NodeJS 实现 客户端 js 加密

    NodeJS 实现 客户端 js 加密 思路: 服务端渲染业务代码js => 前后端约定加密算法 => 业务代码进行签名 => 客户端解密业务代码 => eval 执行 Nod ...

  6. hdu1042

    #include"stdio.h" #include"stdlib.h" #include"string.h" #define N 1000 ...

  7. 校门外的树 OpenJudge 1.6.06

    06:校门外的树 总时间限制:  1000ms 内存限制:  65536kB 描述 某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米.我们可以把马路看成一个数轴,马路的一端在数轴0 ...

  8. 舒适的路线 (code[vs] 1001)

    传送门 :code[vs]  1001 思路:拿到这题的首先的思路 , 就是跑一遍最短路. 可是在尝试了一会后发现不会写,于是果断弃 尝试另外的算法.. 于是就有的以下的算法.并查集 + 乱搞(有点像 ...

  9. Java 不使用科学计数法表示数据设置

    java.text.NumberFormat nf = java.text.NumberFormat.getInstance(); nf.setGroupingUsed(false); nf.form ...

  10. brew install nvm

    brew install nvm mkdir ~/.nvm nano ~/.bash_profilectrl+x 退出 source ~/.bash_profile echo $NVM_DIR nvm ...