yum和编译两种方式升级or降级Centos内核
来源:互联网 发布:程序员资料网站 编辑:程序博客网 时间:2024/06/14 20:23
今天探讨用yum和编译两种方式升级或者降级内核版本:
升级:比如玩kvm,docker等虚拟化,centos内核则升级尤为重要(虽然内核通过加载模块也可以玩,但是效果不如)
降级:如果发现内核在危险漏洞列,降级内核则显得尤为重要。当然如果有特殊需求,也可以降级内核。
1、yum方式升级内核版本
)查看当前系统内核版本
[root@node4 ~]# cat /etc/redhat-release CentOS release (Final)[root@node4 ~]# uname -r-_64[root@node4 ~]#
)准备yum源,并安装
#/linux/kernel/el6/x86_64/RPMS/(网址)#导入key如果已经修改了repo的gpgcheck=0也可以不导入keyrpm --import /RPM-GPG-KEY-#安装elrepo的yum源rpm -Uvh /elrepo-release--#安装kernel-lt(lt=long-term)yum --enablerepo=elrepo-kernelinstallkernel-lt -y你也可以装kernel-ml(ml=mainline)yum --enablerepo=elrepo-kernelinstallkernel-ml -y #ml(mainline)为最新版本的内核,lt为长期支持的内核。[root@node4 ~]# yum --enablerepo=elrepo-kernel install kernel-lt -y
查看boot分区:
附加:查看指定的内核版本:
[root@node4 ~]# yum --enablerepo=elrepo-kernel list |grep kernel* * elrepo-kernel: dracut- 004- @anaconda-CentOS-_64/_64 - @anaconda-CentOS-_64/kernel- - @anaconda-CentOS-_64/kernel-_64 - @updates kernel-_64 - @elrepo-kernelabrt-addon-_64 - base dracut- 004-_ updates erlang-_64 R14B- epel _64 - updates kernel-abi- - updates kernel-_64 - updates kernel-debug- - updates kernel-debug-_64 - updates kernel-_64 - updates kernel- - updates kernel- - updates kernel-_64 - updates kernel-lt-_64 - elrepo-kernel kernel-lt- - elrepo-kernel kernel-lt- - elrepo-kernel kernel-lt-_64 - elrepo-kernel kernel-_64 - elrepo-kernel kernel-ml-_64 - elrepo-kernel kernel-ml- - elrepo-kernel kernel-ml- - elrepo-kernel kernel-ml-_64 - elrepo-kernel libreport-plugin-_64 - base _64 - elrepo-kernel php-symfony-http- - epel [root@node4 ~]#
)编辑文件,修改Grub引导顺序
[root@node4 ~]# cp /etc/ /etc/
注意:养成实时备份的习惯,技术修改有问题,也可以进去单用户或者救援模式修复。
vim/etc/
设置default值(从0开始),一般新安装的内核在第一个位置,所以设置default=0。
#default=1default=0
)重启使其生效:
[root@node4 ~]# shutdown -r now
)查看检测:
[root@node4 ~]# cat /etc/redhat-release CentOS release (Final)[root@node4 ~]# uname -r-_64[root@node4 ~]#
评价:yum方式比较简单并且快,但是如果想要自己定义其内核路径,则显得力不从心。
2、编译升级内核(降级不测试)
eg:工作碰到需要修改内核配置,编译驱动,调节相关参数等,则需要定制内核。
官网:/pub/linux/kernel/
)下载指定版本并安装配置
[root@node4 ~]# wget --no-check-certificate /pub/linux/kernel/linux-[root@node4 ~]# du -sh linux- 95Mlinux-[root@node4 ~]##yum -y install gcc ncurses-devel(依赖包)[root@node4 ~]# tar xf linux- [root@node4 ~]# ll总用量 96336drwxrwxr-x 23 root root 4096 2月 4 2012 linux--rw-r--r-- 1 root root 98642809 2月 4 2012 linux-[root@node4 ~]#[root@node4 ~]# cd linux-#[root@node4 linux-]# make --help# make mrproper #清除环境变量,即清除配置文件# make menuconfig #在菜单模式下选择需要编译的内核模块
make menuconfig(出现图形)
大致意思:
箭头键导航菜单。<输入>选择子菜单- - >。高亮显示的字母是热键。按< Y >包括< N >│
│排除,< M >模块化特性。按退出< Esc > < Esc >,< ?>,< / >搜索。传说:[*]内置[]排除│
│< M > < >模块能力
make clean #确保所有东西均保持最新状态.make bzImage #生成内核文件make modules #编译模块make modules_install #安装模块make install #安装#make all#make modules_install #安装模块#make install
)编辑文件,修改Grub引导顺序
vim/etc/
设置default值(从0开始),一般新安装的内核在第一个位置,所以设置default=0。
#default=1default=0
)重启使其生效:
[root@node4 ~]# shutdown -r now
)查看检测:
[root@node4 ~]# cat /etc/redhat-release CentOS release (Final)[root@node4 ~]# uname -r[root@node4 ~]#
评价:慢!而且需要一定经验,最好配置前查看官方手册。
3、yum方式降级内核版本
dracut- 004- @anaconda-CentOS-_64/_64 - @anaconda-CentOS-_64/kernel- - @anaconda-CentOS-_64/kernel-_64 - @updates kernel-_64 - @elrepo-kernelabrt-addon-_64 - base dracut- 004-_ updates erlang-_64 R14B- epel _64 - updates kernel-abi- - updates kernel-_64 - updates kernel-debug- - updates kernel-debug-_64 - updates kernel-_64 - updates kernel- - updates kernel- - updates kernel-_64 - updates kernel-lt-_64 - elrepo-kernel kernel-lt- - elrepo-kernel kernel-lt- - elrepo-kernel kernel-lt-_64 - elrepo-kernel kernel-_64 - elrepo-kernel kernel-ml-_64 - elrepo-kernel kernel-ml- - elrepo-kernel kernel-ml- - elrepo-kernel kernel-ml-_64 - elrepo-kernel libreport-plugin-_64 - base _64 - elrepo-kernel php-symfony-http- - epel [root@node4 ~]#
eg:降级到指定版本(需要yum源支持指定版本的内核)
#yum install kernel--
)查看
)截止目前有四个不同版本内核:
[root@node4 ~]# ll /boot/总用量 94418-rw-r--r--. 1 root root 106308 10月 15 2014 config--_64-rw-r--r-- 1 root root 108108 11月 19 03:30 config--_64-rw-r--r-- 1 root root 142778 10月 21 22:56 config--_64drwxr-xr-x. 3 root root 1024 2月 23 2016 efidrwxr-xr-x. 2 root root 1024 12月 14 13:55 grub-rw-------. 1 root root 16139633 2月 23 2016 initramfs--_-rw------- 1 root root 21406778 12月 14 13:55 initramfs--_-rw------- 1 root root 17744666 3月 25 2016 initramfs--_-rw------- 1 root root 6086742 12月 14 13:05 initramfs-drwx------. 2 root root 12288 2月 23 2016 lost+found-rw-r--r--. 1 root root 200191 10月 15 2014 symvers--_-rw-r--r-- 1 root root 215530 11月 19 03:30 symvers--_-rw-r--r-- 1 root root 258396 10月 21 22:57 symvers--_lrwxrwxrwx 1 root root 22 12月 14 13:04 -> /boot/--rw-r--r--. 1 root root 2544748 10月 15 2014 --_64-rw-r--r-- 1 root root 2618532 11月 19 03:30 --_64-rw------- 1 root root 2928610 10月 21 22:56 --_64-rw-r--r-- 1 root root 2407430 12月 14 13:04 --rw-r--r-- 1 root root 2407430 12月 14 13:02 -lrwxrwxrwx 1 root root 19 12月 14 13:04 vmlinuz -> /boot/vmlinuz--rwxr-xr-x. 1 root root 4152336 10月 15 2014 vmlinuz--_64-rwxr-xr-x 1 root root 4269936 11月 19 03:30 vmlinuz--_64-rwxr-xr-x 1 root root 4865424 10月 21 22:56 vmlinuz--_64-rw-r--r-- 1 root root 4023040 12月 14 13:04 vmlinuz--rw-r--r-- 1 root root 4023040 12月 14 13:02 vmlinuz-[root@node4 ~]#default=0#default行,是指grub启动时默认菜单项。0表示第一项,如果是多系统可以修改此选项改变默认光标停留位置。timeout=5splashimage=(hd0,0)/grub/hiddenmenutitle CentOS (-_64) root (hd0,0) kernel /vmlinuz--_64 ro root=/dev/mapper/vg_node4-lv_root rd_NO_LUKS rd_NO_MD rd_LVM_LV=vg_node4/lv_swap crashkernel=auto LANG=zh_-8 rd_LVM_LV=vg_node4/lv_root KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet initrd /initramfs--_title CentOS () root (hd0,0) kernel /vmlinuz- ro root=/dev/mapper/vg_node4-lv_root rd_NO_LUKS rd_NO_MD rd_LVM_LV=vg_node4/lv_swap crashkernel=auto LANG=zh_CN.UTF-8 rd_LVM_LV=vg_node4/lv_root KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet initrd /initramfs-title CentOS (-_64) root (hd0,0) kernel /vmlinuz--_64 ro root=/dev/mapper/vg_node4-lv_root rd_NO_LUKS rd_NO_MD rd_LVM_LV=vg_node4/lv_swap crashkernel=auto LANG=zh_-8 rd_LVM_LV=vg_node4/lv_root KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet initrd /initramfs--_title CentOS 6 (-_64) root (hd0,0)
)重启使其生效:
[root@node4 ~]# shutdown -r now
[root@node4 ~]# cat /etc/redhat-release CentOS release (Final)[root@node4 ~]# uname -r-_64[root@node4 ~]#
4、总结:
1、内核的升级和降级要有完整的流程,不可直接操作,注意升级或者降级中文件的备份
2、yum和编译升级和降级要根据环境具体而定,yum方便,编译定制麻烦。
3、centos6和centos7是有区别的,比如grub的引导文件,centos7(/boot/grub2)
如有不妥,可联系博主,欢迎指正!
- yum和编译两种方式升级or降级Centos内核
- CentOS yum方式升级内核kernel
- CentOS yum方式升级内核kernel
- centos 内核版本升级的两种方式
- centos YUM 升级或降级PHP
- CentOS yum升级内核
- centos下yum升级内核
- centos内核升级的两种方法
- CentOS内核升级方法之yum升级
- CentOS通过YUM升级centOS内核
- centos升级openssh的两种方式
- centos升级openssh的两种方式
- CentOS 下yum快速升级内核
- CentOS系统通过yum升级内核
- 编译替换内核(两种方式)
- Linux内核两种编译方式
- CentOS 6.4系统中编译和升级内核
- Centos下YUM安装PHP的两种方式
- MySQL语句增加字段,修改字段名,修改类型,修改默认值
- V4包遇见的一些问题
- Android 防界面劫持方案,无视Android系统版本限制,无需操作栈
- python题目-----import module和from import选择
- Java基本概念-抽象类和接口
- yum和编译两种方式升级or降级Centos内核
- 几种智能指针的比较(std::auto_ptr、boost::scoped_ptr、boost::shared_ptr、boost::weak_ptr)
- cocos2dx3.x 使用libluacocos2d库 问题
- 欢迎使用CSDN-markdown编辑器
- 横向的GridView
- Windows下导出postgres数据
- 为文件打补丁
- Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分割等)
- Android驾驶证拍照识别技术