八、使用yum升级CentOS内核版本

第1章 CentOS7的使用

概要

应DBA供给,要求将生龙活虎台线下测验机内核版本从此时此刻的2本子进级到3以上版本,早前在融洽设想机里做过编写翻译进级,可是在其后采纳中遇见超级多难点,是因为在新的config文件中,默许有相当多模块被讲授掉,招致使用新的默许config文件编写翻译后比较多模块无法加载使用,比方itpables的NAT模块,Docker也就相当的小概安装了,为了幸免那个主题素材吗,本次升迁希望选拔yum情势自行晋级。

To properly install subversion 1.9 from Wandisco, you should do the
following:

1.1 为啥要利用CentOS7本子

CentOS7是在CentOS6功底上揭露的新本子,与事先的版本对照,首要的翻新满含:

1、内核更新到3.10.0

2、支持Linux容器

3、LVM快照帮助ext4和XFS

4、转用systemd、firewalld和GRUB2

5、XFS作为缺省文件系统

6、支持PTPv2

7、支持40G 以太网卡

8、在相当硬件上帮忙以UEFI安全开发银行方式安装

那中间最注意的新特征正是永葆Docker技术。作为当下风行的应用设想化才具之风流罗曼蒂克,Docker能够将应用程序与系统完全隔绝,让其在系统里面完成迁移而无需停机,升高了应用程序的移动性和灵活性。CentOS7在根本层面扶持Docker容器手艺,能够加强Docker稳固性和可信赖性。

综上,大家会筛选CentOS7来作为服务器的操作系统。

提高历程

在素有不曾进展过雷同操作的前提下啊,第一步当然必要google了,可是并未找到描述清晰的示范,所以只可以去官方网址看拉脱维亚语文书档案了(土耳其共和国语很糟糕的本人实乃非凡谢绝的卡塔 尔(阿拉伯语:قطر‎。。。没悟出的是竟然那样这么的简短。。。

 http://elrepo.org/tiki/tiki-index.php

先看一下本地yum仓库中逐一kernel的本子

[root@localhost ~]# yum list | grep kernel
abrt-addon-kerneloops.x86_64            2.0.8-34.el6.centos         @anaconda-CentOS-201508042137.x86_64/6.7
dracut-kernel.noarch                    004-388.el6                 @anaconda-CentOS-201508042137.x86_64/6.7
kernel.x86_64                           2.6.32-573.el6              @anaconda-CentOS-201508042137.x86_64/6.7
kernel-devel.x86_64                     2.6.32-573.el6              @anaconda-CentOS-201508042137.x86_64/6.7
kernel-firmware.noarch                  2.6.32-573.el6              @anaconda-CentOS-201508042137.x86_64/6.7
kernel-headers.x86_64                   2.6.32-573.el6              @anaconda-CentOS-201508042137.x86_64/6.7
libreport-plugin-kerneloops.x86_64      2.0.9-24.el6.centos         @anaconda-CentOS-201508042137.x86_64/6.7
abrt-addon-kerneloops.x86_64            2.0.8-43.el6.centos         base        
dracut-kernel.noarch                    004-409.el6_8.2             base        
kernel.x86_64                           2.6.32-696.6.3.el6          updates     
kernel-abi-whitelists.noarch            2.6.32-696.6.3.el6          updates     
kernel-debug.x86_64                     2.6.32-696.6.3.el6          updates     
kernel-debug-devel.i686                 2.6.32-696.6.3.el6          updates     
kernel-debug-devel.x86_64               2.6.32-696.6.3.el6          updates     
kernel-devel.x86_64                     2.6.32-696.6.3.el6          updates     
kernel-doc.noarch                       2.6.32-696.6.3.el6          updates     
kernel-firmware.noarch                  2.6.32-696.6.3.el6          updates     
kernel-headers.x86_64                   2.6.32-696.6.3.el6          updates     
libreport-plugin-kerneloops.x86_64      2.0.9-33.el6.centos         base        
[root@localhost ~]# 

本来不出所料都和前段时间已运行的kernel版本八九不离十

[root@localhost ~]# uname -r
2.6.32-573.el6.x86_64
[root@localhost ~]# 

依靠官方网站提示,安装新的yum旅馆,已得到合法脚下提供的较新本子的安装包

#导入KEY,必要的步骤
[root@localhost ~]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
#安装elrepo,根据CentOS版本进行选择
[root@localhost ~]# rpm -Uvh http://www.elrepo.org/elrepo-release-6-8.el6.elrepo.noarch.rpm
Retrieving http://www.elrepo.org/elrepo-release-6-8.el6.elrepo.noarch.rpm
Preparing...                ########################################### [100%]
   1:elrepo-release         ########################################### [100%]
[root@localhost ~]# 

其生龙活虎库房里含有了[elrepo]、[elrepo-testing]、[elrepo-kernel]、[elrepo-extras]多少个酒馆,私下认可仅启用了[elrepo],这里大家须要启用[elrepo-kernel]仓库

#这里我们直接编辑elrepo配置文件,将[elrepo-kernel]模块中的enable置为1,或直接使用yum --ebable即可
[root@localhost ~]# vi /etc/yum.repos.d/elrepo.repo
[elrepo-kernel]
name=ELRepo.org Community Enterprise Linux Kernel Repository - el6
baseurl=http://elrepo.org/linux/kernel/el6/$basearch/
        http://mirrors.coreix.net/elrepo/kernel/el6/$basearch/
        http://mirror.rackspace.com/elrepo/kernel/el6/$basearch/
        http://repos.lax-noc.com/elrepo/kernel/el6/$basearch/
        http://mirror.ventraip.net.au/elrepo/kernel/el6/$basearch/
mirrorlist=http://mirrors.elrepo.org/mirrors-elrepo-kernel.el6
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org
protect=0

其不日常候重新翻开一下我们yum源中存在的kernel版本,供给的新本子已经得以接纳了

[root@localhost ~]# yum list | grep kernel
abrt-addon-kerneloops.x86_64            2.0.8-34.el6.centos         @anaconda-CentOS-201508042137.x86_64/6.7
dracut-kernel.noarch                    004-388.el6                 @anaconda-CentOS-201508042137.x86_64/6.7
kernel.x86_64                           2.6.32-573.el6              @anaconda-CentOS-201508042137.x86_64/6.7
kernel-devel.x86_64                     2.6.32-573.el6              @anaconda-CentOS-201508042137.x86_64/6.7
kernel-firmware.noarch                  2.6.32-573.el6              @anaconda-CentOS-201508042137.x86_64/6.7
kernel-headers.x86_64                   2.6.32-573.el6              @anaconda-CentOS-201508042137.x86_64/6.7
libreport-plugin-kerneloops.x86_64      2.0.9-24.el6.centos         @anaconda-CentOS-201508042137.x86_64/6.7
abrt-addon-kerneloops.x86_64            2.0.8-43.el6.centos         base       
dracut-kernel.noarch                    004-409.el6_8.2             base       
kernel.x86_64                           2.6.32-696.6.3.el6          updates     
kernel-abi-whitelists.noarch            2.6.32-696.6.3.el6          updates     
kernel-debug.x86_64                     2.6.32-696.6.3.el6          updates     
kernel-debug-devel.i686                 2.6.32-696.6.3.el6          updates     
kernel-debug-devel.x86_64               2.6.32-696.6.3.el6          updates     
kernel-devel.x86_64                     2.6.32-696.6.3.el6          updates     
kernel-doc.noarch                       2.6.32-696.6.3.el6          updates     
kernel-firmware.noarch                  2.6.32-696.6.3.el6          updates     
kernel-headers.x86_64                   2.6.32-696.6.3.el6          updates     
kernel-lt.x86_64                        3.10.107-1.el6.elrepo       elrepo-kernel
kernel-lt-devel.x86_64                  3.10.107-1.el6.elrepo       elrepo-kernel
kernel-lt-doc.noarch                    3.10.107-1.el6.elrepo       elrepo-kernel
kernel-lt-firmware.noarch               3.10.107-1.el6.elrepo       elrepo-kernel
kernel-lt-headers.x86_64                3.10.107-1.el6.elrepo       elrepo-kernel
kernel-ml.x86_64                        4.12.8-1.el6.elrepo         elrepo-kernel
kernel-ml-devel.x86_64                  4.12.8-1.el6.elrepo         elrepo-kernel
kernel-ml-doc.noarch                    4.12.8-1.el6.elrepo         elrepo-kernel
kernel-ml-firmware.noarch               4.12.8-1.el6.elrepo         elrepo-kernel
kernel-ml-headers.x86_64                4.12.8-1.el6.elrepo         elrepo-kernel
libreport-plugin-kerneloops.x86_64      2.0.9-33.el6.centos         base       
perf.x86_64                             4.12.8-1.el6.elrepo         elrepo-kernel
python-perf.x86_64                      4.12.8-1.el6.elrepo         elrepo-kernel
[root@localhost ~]#

这里大家选拔我们供给的3.0本子实行设置,命名格式name+version,那么大家直接使用yum进行点名版本安装

#如果不确定可以先不使用-y选项,在结果中查看对应版本后在确认安装即可
[root@localhost ~]# yum install kernel-lt-3.10.107-1.el6.elrepo
Dependencies Resolved

========================================================================================================================================================================================================================
 Package               Arch                     Version                    Repository               Size
============================================================================================================================================================================================================================================
Installing:
 kernel-lt            x86_64             3.10.107-1.el6.elrepo           elrepo-kernel              33 M

Transaction Summary
============================================================================================================================================================================================================================================
Install       1 Package(s)

Total download size: 33 M
Installed size: 154 M
Is this ok [y/N]: y

坐等安装成功就能够。
安装完结后要求大家开展最后一步圣洁的操作,接受默许运行的grub为新本子。

#编辑grub启动文件,这款需要注意两个值,default和title
[root@localhost ~]# vi /etc/grub.conf 
#default选择默认启动的title标号,自上而下从0开始计数,那么我们一般新安装的kernel呢会出出现在第一个title中,所以我们将default的值改为0,即默认选择第一个title后的kernel进行启动
default=0
#每个title后跟一个以安装的kernel版本信息
title CentOS (3.10.107-1.el6.elrepo.x86_64)
    root (hd0,0)
    kernel /vmlinuz-3.10.107-1.el6.elrepo.x86_64 ro root=UUID=97b15044-9109-48d4-bf6c-a3e87e46ad3c rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb
quiet
    initrd /initramfs-3.10.107-1.el6.elrepo.x86_64.img

title CentOS 6 (2.6.32-573.el6.x86_64)
    root (hd0,0)
    kernel /vmlinuz-2.6.32-573.el6.x86_64 ro root=UUID=97b15044-9109-48d4-bf6c-a3e87e46ad3c rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
    initrd /initramfs-2.6.32-573.el6.x86_64.img

重启系统,让系统使用新本子的kernel举办运营,运转后翻看内核版本,KO~!

[root@localhost ~]# uname -r
3.10.107-1.el6.elrepo.x86_64
[root@localhost ~]# 

Create a new repo file /etc/yum.repos.d/wandisco-svn.repo with
following content:

第2章 CentOS7与CentOS6版本的区分

[WandiscoSVN]
name=Wandisco SVN Repo
baseurl=http://opensource.wandisco.com/centos/$releasever/svn-1.9/RPMS/$basearch/
enabled=1
gpgcheck=0

2.1 系统基本功服务浮动

操作

Centos6

Centos7

对比

自动补全

只支持命令、文件名

支持命令、选项、文件名

 

文件系统

ext4       

xfs                

随机读写更快

repo仓库

yum

yum-config-manager  

添加仓库便捷

修改主机名

/etc/sysconfig/network

/etc/hostname            

hostnamectl

修改时区    

/etc/sysconfig/clock

timedatectl set-timezone   

更方便

修改字符集

/etc/sysconfig/il8n    

/etc/locale.conf           

localectl

防火墙

iptables

firewalld

 

服务管理

System V init

systemd

 

时间同步服务

ntp

chrony 

 

 

Then install svn with following command:

2.2 系统文件目录结构

centos6

cetos7

bin 

usr/bin

sbin

usr/sbin

lib

usr/lib

yum --disablerepo="*" --enablerepo="WandiscoSVN" install subversion

2.3 改革主机名

2.3.1 centos6完成方式

临时修改主机名

[root@zeq ~]# hostname zeq_temp

[root@zeq ~]# bash

[root@zeq_temp ~]#

永久修改主机名

[root@zeq_temp ~]# sed -i '/^HOSTNAME=/c HOSTNAME=zeq' /etc/sysconfig/network

[root@zeq_temp ~]# cat /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=zeq

2.3.2 centos7得以达成方式

临时修改主机名

[root@zeq ~]# hostname zeq-c7

[root@zeq ~]# bash

永久修改主机名

[root@zeq-c7 ~]# hostnamectl set-hostname zeq-cc7

[root@zeq-c7 ~]# cat /etc/hostname

zeq-cc7

2.4 时区改革

2.4.1 查看时区

[root@zeq ~]# timedatectl list-timezones

2.4.2 改进时区

[root@zeq ~]#timedatectl set-timezone "America/Punta_Arenas" 

[root@zeq ~]# timedatectl set-timezone "Asia/Shanghai"

2.5 互连网接口变化

net.ifnames
基于固件、拓扑、实行自动分配网卡名称,短处比eth0、更难读,如ens32

biosdevname
依照Dell服务器系统的BIOS提供的新闻对互连网接口进行重命名,如em1

默许命名法则 eth0 eth1 eth2

biosdevname em1 em2 em3

net.ifnames ens33 ens34 ens35

2.5.1 centos7采用ip命令查看ip地址方法

1.翻看ip地址新闻 ip addr

2.增加三个IP地址 ip addr add 192.168.56.200/24 dev eth0:1

3.垄断网络接口 ip link set dev eth0 down

2.6 Systemd服务概述

Systemd初始

Systemd是Centos7新应用的生机勃勃套管理体系,能够兑现运营及经过服务管理等,相比较Centos6系统早前所采纳sysVini体系,带来了好些个变型。

Centos7支撑互相运转,鲜明增加开机运维功用(测验6与7分别)

Centos7关机只关闭正在周转的劳务,Centos6关机缘从头关到尾

Centos7劳务的启航与甘休不在要求init.d下的本子

2.7 systemd运维等第

在Centos7中从未等第的定义,而是利用target指标来含有运行等级的定义

SysVinit     

级别

Systemd

关闭系统

0

runlevel0.target,poweroff.target

单用户模式

1

runlevel1.target,rescue.target

多用户模式

2

runlevel2.target,multi-user.target

多用户带网络模式

3

runlevel3.target,multi-user.target

多用户图形化模式  

5

runlevel5.target,graphical-user.target

重启操作系统

6

runlevel6.target,reboot.target

Centos7开机暗中认可系统运营指标target

multi-user.target: analogous to runlevel 3

graphical.target: analogous to runlevel 5

2.7.1 查看系统当下暗许运维等第(指标卡塔尔国

[root@zeq ~]# systemctl get-default

multi-user.target

2.7.2 改过系统运行暗中同意等级(目标卡塔 尔(阿拉伯语:قطر‎

[root@zeq ~]# systemctl set-default runlevel5.target

建议修改回去

[root@zeq ~]# systemctl set-default multi-user.target

2.7.3 centos7关机指令

poweroff、shutdown -h now、init0 (不建议采纳)

reboot

2.8 systemd服务管理

命令 选项(非必得) 施行命令 单元名称(非必需)

systemctl [OPTIONS…]COMMAND[NAME…]

操作

Centos6

Centos7

启动服务

/etc/init.d/crond start

systemctl start     crond

停止服务

/etc/init.d/crond stop

systemctl stop      crond

重启服务

/etc/init.d/crond restart

systemctl restart   crond

查看状态

/etc/init.d/crond status

systemctl status    crond

开机启动

chkconfig –level 35 crond on

systemctl enable    crond

开机禁用

chkconfig crond off

systemctl disable   crond

禁止运行

 

systemctl umask     crond

2.8.1 centos7上的service命令依然为了宽容centos6的习于旧贯

[root@zeq ~]# service crond restart

Redirecting to /bin/systemctl restart crond.service

2.8.2 centos7起动与结束提出接纳systemctl

[root@zeq ~]# systemctl restart crond

2.8.3 centos7查看全部的服务开机运转和开机不运维的单元

[root@zeq ~]# systemctl list-unit-files

2.8.4 centos7开机不自启

[root@zeq ~]# systemctl disable crond

2.8.5 centos7开机自启

[root@zeq ~]# systemctl enable crond

2.8.6 centos7检查是否开机自启

[root@zeq ~]# systemctl is-enabled crond

disabled

第3章 CentOS7连串优化

3.1 调整yum源

rm -rf /etc/yum.repos.d/*

curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

3.2 清理缓存,并再度生成缓存文件

yum clean all

yum makecache

3.3 安装根基软件包

yum install net-tools vim tree htop iotop iftop \

iotop lrzsz sl wget unzip telnet nmap nc psmisc \

dos2unix bash-completion sysstat rsync nfs-utils -y

3.4 关闭防火墙

systemctl disable firewalld

systemctl stop firewalld

3.5 关闭selinux

sed -i '/^SELINUX=/c SELINUX=disabled' /etc/selinux/config

3.6 优化ulimit

echo '* - nofile 65535' >> /etc/security/limits.conf

3.7 执行shutdown -h now 关闭Centos7系统

3.8 选中对应的虚构机->快速照相->拍片快速照相

第3章 参谋文献

参照与徐亮伟(标杆徐卡塔尔国的教学:

 

相关文章