centos6.5升级Linux内核步骤

http://www.jianshu.com/p/c75f00182b4c

使用的操作系统是是centos6.5,按照官方的推荐的配置,把linux内核升级到3.8以上。安装步骤如下:

1、升级内核版本(包含aufs)

cd /etc/yum.repos.d

wget http://www.hop5.in/yum/el6/hop5.repo

yum install kernel-ml-aufs kernel-ml-aufs-devel

2、修改引导的内核

vi /etc/grub.conf

把默认的引导文件设置为0。因为升级内核之后,新的内核在第一个(0)位置。

3、重启系统,使用新的内核

#检查内核版本:

uname  -r

3.10.5-3.el6.x86_64

#检查aufs是否存在

grep aufs /proc/filesystems

nodev    aufs

4、安装相应的epel源

wget http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm

rpm -ivh  epel-release-6-8.noarch.rpm

5、安装docker

yum -y install docker-io

6、启动docker

启动docker进程:service docker start

查看docker进程:ps -ef |grep docker

root      1878    1  0 18:33 ?        00:00:00 /usr/bin/docker -d

root      2307  2201  0 18:52 pts/0    00:00:00 grep docker

7、Docker常用命令讲解

docker  version #查看版本

docker  search centos#搜索可用docker镜像

docker  images 查看当前docker所有镜像

docker  pull  centos #下载镜像

cat  centos.tar | docker import  -  centos6  #Docker导入镜像

docker  export  id  > cenos6.tar  #Docker导出镜像

docker  run  centos echo "hello word"#在docker容器中运行hello world!

docker  run  centos yum install ntpdate#在容器中安装ntpdate的程序

docker  ps -l 命令获得最后一个容器的id,docker  ps  -a查看所有的容器。

运行docker commit 提交刚修改的容器,例如:

docker  commit  2313132  centos:v1

docker run -i -t centos /bin/bash 在容器里启动一个/bin/bash shell环境,可以登录进入操作,其中-t 表示打开一个终端的意思,-i表示可以交互输入。

docker run -d -i -t centos /bin/bash 在后台启动

docker attach CONTAINER ID 进入在后台启动后的这个容器

docker  run  -d  centos:v1  /bin/bash  ,-d表示在后台启动,以daemon方式启动。

docker run -d -p 80:80 -p 8022:22 centos:latest /usr/bin/sshd -D

docker stop  id 关闭容器

docker start  id 启动某个容器

docker  rm  id 删除容器,docker  rmi  images删除镜像

进入容器:

如果 docker 版本已经在 1.3 以上了, 那么可以用 docker exec 这个命令:

docker exec -it  <容器id>/bin/bash

这样你就进到这个container 里面了,这个bash退出也不会影响之前 docker run 启动的 bash

8、Docker独立IP及容器互联

service docker stop

ifconfig docker0 down

brctl delbr docker0

cd /etc/sysconfig/network-scripts/

vi ifcfg-eth0

DEVICE=eth0

BOOTPROTO=none

ONBOOT=yes

TYPE=Ethernet

BRIDGE="br0"

BOOTPROTO=static

vi ifcfg-br0

DEVICE="br0"

ONBOOT=yes

NM_CONTROLLED=no

BOOTPROTO=static

TYPE=bridge

IPADDR=192.168.1.165

NETMASK=255.255.255.0

GATEWAY=192.168.1.1

DNS=192.168.1.50

vi /etc/sysconfig/docker

other_args="-b=br0"

service docker start

[root@localhost ~]# ps -ef|grep docker

root      5502    1  0 01:23 pts/3    00:00:00 /usr/bin/docker -d -b=br0

root      5800  5311  0 01:47 pts/3    00:00:00 grep docker

service network restart

可能会报以下错误:

Shutting down interface eth0:                              [  OK  ]

Shutting down loopback interface:                          [  OK  ]

Bringing up loopback interface:                            [  OK  ]

Bringing up interface br0:  Determining if ip address 192.168.1.161 is already in use for device br0...

[  OK  ]

Bringing up interface eth0:  Error: Connection activation failed: Master connection not found or invalid

[FAILED]

解决方法:

此时,当前网卡也是可以通信的,但是通过网络管理工具修改IP之后,当前修改操作是不会生效的。那如何消除这个提示呢?

其实,问题的原因是RedHat自己开发的NetworkManager管理工具和/etc/sysconfig/network-scripts/ifcfg-ethx配置不同步造成的。如果要消除这个提示,请关闭NetworkManager服务即可:

chkconfig NetworkManager off

service NetworkManager stop

Stopping NetworkManager daemon:                            [  OK  ]

此时,再重新加载network服务即可:

service network restart

Shutting down interface br0:                              [  OK  ]

Shutting down loopback interface:                          [  OK  ]

Bringing up loopback interface:                            [  OK  ]

Bringing up interface br0:  Determining if ip address 192.168.1.161 is already in use for device br0...

[  OK  ]

Bringing up interface eth0:  device eth0 is already a member of a bridge; can't enslave it to bridge br0.

[  OK  ]

9、为容器手动配置静态ip

安装新的 iproute 包:

wget https://repos.fedorapeople.org/repos/openstack/openstack-icehouse/epel-6/iproute-2.6.32-130.el6ost.netns.2.x86_64.rpm

yum localinstall iproute-2.6.32-130.el6ost.netns.2.x86_64.rpm

安装pipework:

git clone https://github.com/jpetazzo/pipework

cp ~/pipework/pipework /usr/local/bin/

启动Docker容器:

docker run -itd --net=none jdeathe/centos-ssh:latest /bin/bash

docker exec -it <容器id> /bin/bash

这样你就进到这个container 里面了,这个bash退出也不会影响之前 docker run 启动的 bash

pipework br0192.168.1.170/24@192.168.1.1

10、制作可以ssh登录的本地Docker镜像

安装制作CentOS镜像的工具:

yum -y install febootstrap

制作CentOS镜像文件centos6-image目录:

febootstrap -i bash -i wget -i

yum -i iputils -i iproute -i man -i  vim-minimal -i openssh-server -i openssh-clients centos6 centos6-image http://mirrors.aliyun.com/centos/6/os/x86_64/

制作Docker镜像,镜像名字是centos6-base:

cd centos6-image && tar -c .|docker import - centos6-base

制作可以ssh登陆的Docker镜像,名字是centos6-ssh:

docker build -t centos6-ssh https://git.oschina.net/feedao/Docker_shell/raw/start/Dockerfile

经过前面的六个步骤,一个可以登陆的本地docker镜像就制作好了。

用户名是:root,密码是:123456


作者:MagickKing
链接:http://www.jianshu.com/p/c75f00182b4c
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

centos6.5升级Linux内核步骤的更多相关文章

  1. 编译安装linux内核步骤

    编译安装linux内核步骤: 一.获取内核源码 源码网址:www.kernel.org 二.解压内核源码 首先以root帐号登录,然后进入/usr/src子目录.如果用户在安装Linux时,安装了内核 ...

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

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

  3. CentOS 7.4升级Linux内核

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

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

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

  5. centos 升级linux内核

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

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

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

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

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

  8. docker安装升级linux内核(2.6.32->3.12.17)

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

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

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

随机推荐

  1. C++面向对象编程,继承,数据抽象,动态绑定

    派生类(derived class)能够继承基类(base class )定义的成员: 1).派生类可以无需改变而使用那些与派生类具体特性不相关的操作 2).可以重新定义那些与派生类相关的成员函数,将 ...

  2. BZOJ 1296 粉刷匠(分组背包套DP)

    刚开始往网络流的方向想.建不出图... 因为每次只能对一行进行染色.每一行都是独立的. 对于每一行,因为格子只能染一次,所以可以发现这是一个多阶段决策问题,这个决策就是当前格子染0还是染1. 令dp[ ...

  3. Go语言【第六篇】:Go循环语句

    Go语言循环语句 在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句,以下为大多数编程语言循环程序的流程如: Go语言提供了以下几种类型循环处理语句: 循环类型 描述 fo ...

  4. CentOS 普通用户提升root权限

    1.sudo命令可以使普通用户具备root用户的权限,使用前,需要先配置/etc/sudoers文件. #sudoers文件是只读,一般情况下都是用visudo来修改,visudo也一定程度上可以保证 ...

  5. 在git 服务器挂载、创建新的项目、克隆新的项目

     流程,服务器创建项目名-->客户端克隆-->客户端提交并且推送-->完成   详细步骤   1.在git服务器路径文件夹下创建空文件夹,名字为新的项目名,如在  F:\git   ...

  6. bzoj3709: [PA2014]Bohater 贪心

    ~~~题面~~~ 题解: 首先有一个比较明显的策略,肯定先要把能带给自己受益的先选完,然后再以最佳状态去打那些会给自己带来损失的怪. 对于前一部分(可以带来受益的怪),显然我们需要先从代价小的打起,因 ...

  7. POJ3630:Phone List——题解

    http://poj.org/problem?id=3630 简单的trie树问题,先添加,然后每个跑一边看中途有没有被打上结束标记即可. #include<cstdio> #includ ...

  8. mysql 读写分离实现资料

    以下很多链接需要 FQ才能看到,稍后会整理翻译成中文! Easy Read/Write Splitting with PHP’s MySQLnd https://blog.engineyard.com ...

  9. 【枚举暴力】【UVA11464】 Even Parity

    传送门 Description 给你一个0/1矩阵,可以将矩阵中的0变成1,问最少经过多少此操作使得矩阵任意一元素四周的元素和为偶数. Input 第一行是一个整数T代表数据组数,每组数据包含以下内容 ...

  10. oracle数据库数据导入导出步骤(入门)

    oracle数据库数据导入导出步骤(入门) 说明: 1.数据库数据导入导出方法有多种,可以通过exp/imp命令导入导出,也可以用第三方工具导出,如:PLSQL 2.如果熟悉命令,建议用exp/imp ...