CentOS7使用yum和源码升级内核
原文:https://blog.csdn.net/bayin4937/article/details/100949870
两种方式升级内核
一、yum升级内核
参考:https://blog.csdn.net/kikajack/article/details/79396793
不多废话了,直接操作,原理看别的文章
1、uname -r
- [root@localhost ~]# uname -r
- 3.10.0-957.el7.x86_64
2、备份数据
3、按照官方导入epel仓库
参考:http://elrepo.org/tiki/tiki-index.php
- [root@localhost ~]# yum install https://www.elrepo.org/elrepo-release-7.0-4.el7.elrepo.noarch.rpm -y
- #就是一个repo仓库文件
- [root@localhost ~]# rpm -ql elrepo-release-7.0-4.el7.elrepo.noarch
- /etc/pki/elrepo
- /etc/pki/elrepo/SECURE-BOOT-KEY-elrepo.org.der
- /etc/pki/rpm-gpg
- /etc/pki/rpm-gpg/RPM-GPG-KEY-elrepo.org
- /etc/yum.repos.d
- /etc/yum.repos.d/elrepo.repo
4、安装long term版本吧
参考:http://elrepo.org/tiki/kernel-lt
[root@localhost ~]# yum --enablerepo=elrepo-kernel install kernel-lt
5、查看已有的内核
- # '作为分隔符,查找第一列为menuentry的行,打印改行的第二列,i++打印序号,除了数字和字母其他符号要引起来
- [root@localhost ~]# awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
- 0 : CentOS Linux (4.4.190-1.el7.elrepo.x86_64) 7 (Core)
- 1 : CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)
- 2 : CentOS Linux (0-rescue-dd6fe5c491024a9486fa9acf832f21a6) 7 (Core)
6、命令设置grub
[root@localhost ~]# grub2-set-default 0
7、也可以修改/etc/default/grub,修改完记得重新生成配置文件
- [root@localhost ~]# sed -i 's/GRUB_DEFAULT=saved/GRUB_DEFAULT=0/' /etc/default/grub
- [root@localhost ~]# cat /etc/default/grub
- GRUB_TIMEOUT=5
- GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
- GRUB_DEFAULT=0
- GRUB_DISABLE_SUBMENU=true
- GRUB_TERMINAL_OUTPUT="console"
- GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/root rd.lvm.lv=centos/swap rhgb quiet"
- GRUB_DISABLE_RECOVERY="true"
- [root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
8、重启即可
9、清理旧内核(可选)
能不清理旧别清理吧,centos允许多内核共存
二、源码编译内核
1、安装必要的包
[root@localhost ~]# yum install gcc ncurses-devel flex bison openssl-devel elfutils-libelf-devel -y
2、解压包
- [root@localhost ~]# tar xf linux-5.2.11.tar.xz -C /usr/src/
- [root@localhost ~]# cd /usr/src/linux-5.2.11/
3、cp一个配置文件稍作修改
- [root@localhost linux-5.2.11]# cp /boot/config-3.10.0-957.el7.x86_64 .config
- [root@localhost linux-5.2.11]# make menuconfig
加一个NTFS文件系统支持:
- [root@localhost linux-5.2.11]# grep -i ntfs .config
- CONFIG_NTFS_FS=m
- CONFIG_NTFS_DEBUG=y
- CONFIG_NTFS_RW=y
4、开始编译
- [root@localhost linux-5.2.11]# make -j 4
- #经过了一个多小时
- [root@localhost linux-5.2.11]# du -sh .
- 12G .
- [root@localhost linux-5.2.11]# find -name ntfs.ko
- ./fs/ntfs/ntfs.ko
5、安装模块
- [root@localhost linux-5.2.11]# make modules_install
- [root@localhost linux-5.2.11]# ls /lib/modules
- 3.10.0-957.el7.x86_64 4.4.190-1.el7.elrepo.x86_64 5.2.11-1.0-laowang_linux_x86_64
- [root@localhost linux-5.2.11]# du -sh /lib/modules/5.2.11-1.0-laowang_linux_x86_64/
- 2.7G /lib/modules/5.2.11-1.0-laowang_linux_x86_64/
6、安装内核
[root@localhost linux-5.2.11]# make install
7、关机,加个NTFS优盘,使用新内核启动,发现可以识别了
如果只是需要ntfs,只需安装ntfs-3g
- [root@localhost ~]# uname -r
- 5.2.11-1.0-laowang_linux_x86_64
- [root@localhost ~]# lsblk -f
- NAME FSTYPE LABEL UUID MOUNTPOINT
- sdb
- └─sdb1 ntfs 小黑屋 A0283A0D2839E2C8
- sr0 iso9660 CentOS 7 x86_64 2018-11-25-21-21-31-00
- sda
- ├─sda2 LVM2_member h2lAZD-7e2i-TiO6-x0Bc-2b41-U15R-iGMXBG
- │ ├─centos-swap swap c06f8b43-1b47-4412-bae7-785f3b599368 [SWAP]
- │ ├─centos-home xfs c30dee7e-0800-4737-b7b0-90db187eb3f8 /home
- │ └─centos-root xfs 444b91d1-7fde-4f5d-9016-ad7b63862a5d /
- └─sda1 xfs 3778e6e0-8f51-4843-8b8f-239c8b5e826b /boot
- [root@localhost ~]# mount /dev/sdb1 /mnt/usb
- [root@localhost ~]# ls /mnt/usb
8、更改启动优先级
- #查看下
- [root@localhost ~]# awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
- 0 : CentOS Linux (5.2.11-1.0-laowang_linux_x86_64) 7 (Core)
- 1 : CentOS Linux (4.4.190-1.el7.elrepo.x86_64) 7 (Core)
- 2 : CentOS Linux (3.10.0-957.el7.x86_64) 7 (Core)
- 3 : CentOS Linux (0-rescue-dd6fe5c491024a9486fa9acf832f21a6) 7 (Core)
- #设置5.2内核有限启动
- [root@localhost ~]# grep -i default /etc/default/grub
- GRUB_DEFAULT=0
- #重新生成grub配置文件
- [root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
9、手动删掉编译的内核
- [root@localhost ~]# rm /boot/*5.2.11* -f
- [root@localhost ~]# rm /boot/*5.2.11* -f
- [root@localhost ~]# rm -rf /lib/modules/5.2.11-1.0-laowang_linux_x86_64/
- [root@localhost ~]# rm -rf /usr/src/linux-5.2.11/
- [root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
CentOS7使用yum和源码升级内核的更多相关文章
- 完美原创:centos7.1 从源码升级安装Python3.5.2
(原创)完美原创:centos7.1 从源码升级安装Python3.5.2 下载Python3.5.2源码:https://www.python.org/downloads/release/pytho ...
- centos6.5源码升级内核
centos6.5源码升级内核 升级前 系统版本: CentOS5.5 内核版本: 2.6.18-194.el5 升级前做过简单配置文件修改 yum -y upgrade 升级后 系统版本: ...
- yum-cron更新 CentOS yum update 不升级内核版本方法
http://www.360doc.com/content/15/0608/17/15798950_476597844.shtml 相关yum-cron说明有一些 CentOS yum update ...
- centos7.1 从源码升级安装Python3.5.2
http://blog.csdn.net/tengyunjiawu_com/article/details/53535153 centos7.1 从源码升级安装Python3.5.2(我写的,请大家度 ...
- CentOS 7上的程序管理:rpm、yum和源码编译安装
简介 在Linux的早期时代(也许吧?我猜的.也可能是Unix.),想要在系统上安装一款应用程序,是比较复杂的.需要专业的人员自行获取程序的源代码,并且编译安装,这是非常的复杂且需要一定的专业功底的, ...
- Linux下安装mysql(yum和源码编译两种方式)
这里介绍Linux下两种安装mysql的方式:yum安装和源码编译安装. 1. yum安装 (1)首先查看centos自带的mysql是否被安装: # yum list installed |grep ...
- Centos 通过yum的方式升级内核
在安装某些软件时,可能对我们的系统内核版本有要求. 比如在安装docker要满足一定的条件,对于centos系统,要求必须是64位,并且内核版本是3.10以上. 如果你的centos操作系统内核低于3 ...
- Linux下rpm、yum和源码三种安装方式详细介绍
第1章 源码安装 源码包安装会比RPM包安装慢,是因为RPM的软件包是根据特定系统和平台而指定的,经常一种 程序会提供很多RPM包的格式,用户根据系统情况选择适合的RPM包直接安装,而源码包相当于 通 ...
- Centos6升级内核方法
docker需要内核在3.0以上,如果centos6上需要安装docker的话需要先将内核进行升级 工具/原料 Centos6.5_x64 方法/步骤 操作系统为centos6.5,内核为 ...
随机推荐
- tarjan模板完整版
https://www.luogu.org/problem/P2863 #include<cstdio> #include<vector> using namespace st ...
- (1)打鸡儿教你Vue.js
当今世界不会Vue.js,前端必定路难走 一个JavaScript MVVM库 以数据驱动和组件化的思想构建的 Vue.js是数据驱动 HTML/CSS/JavaScript/ES6/HTTP协议/V ...
- Codeforces 1175G Yet Another Partiton Problem [DP,李超线段树]
Codeforces 思路 首先吐槽一句:partiton是个什么东西?我好像在百度翻译里面搜不到呀qwq 发现不了什么性质,那就直接上DP吧.注意到DP可以分层,所以设\(dp_i\)表示当前层,分 ...
- codeforces37C
CF37C Old Berland Language sol:直接暴力模拟下去,长度加了就补0,凑个数就+1,凑不好就puts(“no”) #include <bits/stdc++.h&g ...
- 比Excel还简单的SQL语句查询
大家好,我是jacky朱元禄,很高兴继续跟大家分享<MySQL数据分析实战>系列课程,前面的课程jacky分享了数据层面增删改查中的增删改,下面的课程我们要说增删改查的这个查,jacky说 ...
- 提高python运行效率的方法
让关键代码依赖于外部包:你可以为紧急的任务使用C.C++或机器语言编写的外部包,这样可以提高应用程序的性能 使用生成器,因为可以节约大量内存 多个if elif条件判断,可以把最有可能先发生的条件放到 ...
- [bzoj 1861][zjoi2006] 书架
传送门 Description 1. Top S--表示把编号为S的书放在最上面. 2. Bottom S--表示把编号为S的书放在最下面. 3. Insert S T--T∈{-1,0,1},若编号 ...
- cas系列-cas REST协议(三)
cas的rest协议 cas还支持rest协议方式进行访问,格式和参数如下: 1. 获取TGT 请求方式,路径,http协议及请求参数: POST /cas/v1/tickets HTTP/1.0 u ...
- hive tez调优(3)
根据.方案最右侧一栏是一个8G VM的分配方案,方案预留1-2G的内存给操作系统,分配4G给Yarn/MapReduce,当然也包括了HIVE,剩余的2-3G是在需要使用HBase时预留给HBase的 ...
- 简记webpack运行报错 Uncaught TypeError: self.postMessage is not a function
说好2017Fix的还是能重现,可能项目的版本比较旧了,简要记录解决办法 1.错误: index.js?bed3:67 Uncaught TypeError: self.postMessage is ...