centos升级内核
Centos7升级内核版本
Centos7升级内核版本1、查看当前内核版本$ uname -r3.10.0-514.el7.x86_64$ uname -aLinux k8s-master 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 2216:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux$ cat /etc/redhat-releaseCentOS Linux release 7.3.1611 (Core)2、升级内核更新yum源仓库$ yum -y update启⽤ ELRepo 仓库ELRepo 仓库是基于社区的⽤于企业级 Linux 仓库,提供对 RedHat Enterprise (RHEL) 和 其他基于 RHEL的 Linux 发⾏版(CentOS、Scientific、Fedora 等)的⽀持。
ELRepo 聚焦于和硬件相关的软件包,包括⽂件系统驱动、显卡驱动、⽹络驱动、声卡驱动和摄像头驱动等。
#导⼊ELRepo仓库的公共密钥rpm --import https:///#安装ELRepo仓库的yum源rpm -Uvh /elrepo-release-7.0-3.el7.elrepo.noarch.rpm3、查看可⽤的系统内核包可以看到4.4和4.18两个版本yum --disablerepo="*" --enablerepo="elrepo-kernel" list availableLoaded plugins: fastestmirrorLoading mirror speeds from cached hostfile* elrepo-kernel: elrepo-kernel | 2.9 kB 00:00:00elrepo-kernel/primary_db | 1.8 MB 00:00:03 Available Packageskernel-lt.x86_64 4.4.155-1.el7.elrepo elrepo-kernel kernel-lt-devel.x86_64 4.4.155-1.el7.elrepo elrepo-kernel kernel-lt-doc.noarch 4.4.155-1.el7.elrepo elrepo-kernel kernel-lt-headers.x86_64 4.4.155-1.el7.elrepo elrepo-kernel kernel-lt-tools.x86_64 4.4.155-1.el7.elrepo elrepo-kernel kernel-lt-tools-libs.x86_64 4.4.155-1.el7.elrepo elrepo-kernel kernel-lt-tools-libs-devel.x86_64 4.4.155-1.el7.elrepo elrepo-kernel kernel-ml.x86_64 4.18.7-1.el7.elrepo elrepo-kernel kernel-ml-devel.x86_64 4.18.7-1.el7.elrepo elrepo-kernel kernel-ml-doc.noarch 4.18.7-1.el7.elrepo elrepo-kernel kernel-ml-headers.x86_64 4.18.7-1.el7.elrepo elrepo-kernel kernel-ml-tools.x86_64 4.18.7-1.el7.elrepo elrepo-kernel kernel-ml-tools-libs.x86_64 4.18.7-1.el7.elrepo elrepo-kernel kernel-ml-tools-libs-devel.x86_64 4.18.7-1.el7.elrepo elrepo-kernel perf.x86_64 4.18.7-1.el7.elrepo elrepo-kernel python-perf.x86_64 4.18.7-1.el7.elrepo elrepo-4、安装最新版本内核$ yum --enablerepo=elrepo-kernel install kernel-ml--enablerepo 选项开启 CentOS 系统上的指定仓库。
Linux终端命令系统更新和升级
Linux终端命令系统更新和升级随着科技的迅速发展和技术的不断变革,操作系统的更新和升级成为了必不可少的环节,特别是在Linux终端系统中。
本文将介绍如何在Linux终端系统中进行系统的更新和升级,以帮助用户保持系统的稳定性、安全性和功能性。
1. 检查系统更新系统更新是确保系统安全性的关键步骤。
在Linux终端中,我们可以使用以下命令来检查系统更新:```shell$ sudo apt update```该命令将会检查系统中可用的更新。
如果有可用的更新,可以通过以下命令进行系统更新:```shell$ sudo apt upgrade```这将会根据系统需要更新已安装的软件包。
2. 升级Linux内核Linux内核的升级对于系统的性能和功能非常重要。
在终端中,我们可以通过以下步骤来升级Linux内核:首先,我们需要安装Ukuu工具,它是一个用于安装和管理Linux 内核版本的工具。
使用以下命令来安装Ukuu:```shell$ sudo apt-add-repository -y ppa:teejee2008/ppa$ sudo apt update$ sudo apt install ukuu```安装完成后,我们可以使用Ukuu来查看可用的内核版本,并进行升级。
可以通过以下命令来打开Ukuu:```shell$ ukuu-gtk```在Ukuu界面中,选择一个新的内核版本,并点击"Install"按钮来开始升级过程。
升级完成后,重新启动系统以使新的内核版本生效。
3. 更新软件包管理器在Linux终端中,系统的软件包管理器负责管理和安装软件包。
因此,及时更新软件包管理器也是非常重要的。
不同的发行版使用不同的软件包管理器,下面给出一些常见发行版的更新命令:Ubuntu/Debian:```shell$ sudo apt update$ sudo apt upgrade```CentOS/Fedora:```shell$ sudo dnf update$ sudo dnf upgrade```Arch Linux:```shell$ sudo pacman -Syu```4. 安装和更新软件包在Linux终端中,我们可以使用软件包管理器来安装和更新软件包。
CentOS7和6的差别
CentOS 7:功能提升与用户体验的升级CentOS 6和CentOS 7之间的区别主要在于以下几个方面:1.系统架构:CentOS 6是基于Red Hat Enterprise Linux 6(RHEL 6)的源代码构建的,而CentOS 7是基于RHEL 7的源代码构建的。
这意味着CentOS 7在系统架构和功能上与RHEL 7更为接近。
2.内核版本:CentOS 6使用的是Linux内核版本2.6,而CentOS 7使用的是Linux内核版本3.10。
新的内核版本提供了更多的特性和改进。
3.软件包管理:CentOS 6使用的是YUM(Yellowdog Updater, Modified)作为软件包管理器,而CentOS 7则使用的是DNF(Dandified Yum)。
DNF是YUM的改进版,提供了更好的性能和更丰富的功能。
4.系统管理工具:CentOS 7引入了一些新的系统管理工具,例如systemctl、systemd等,用于管理系统的服务和进程。
这些工具提供了更强大和灵活的管理能力。
5.网络配置:CentOS 7对网络配置进行了改进,提供了更简单和灵活的网络配置方式。
例如,可以使用ip命令来配置网络接口和路由等。
6.安全性和防火墙:CentOS 7对安全性和防火墙进行了改进,提供了更强大的安全保护功能。
例如,可以使用firewalld来管理防火墙规则,保护系统的网络安全。
总的来说,CentOS 7在系统架构、内核版本、软件包管理、系统管理工具、网络配置以及安全性和防火墙等方面都有所提升和改进。
这些改进使得CentOS 7在处理复杂任务时更加高效,同时提供了更好的用户体验。
CentOS7升级内核版本
CentOS7升级内核版本系统环境系统版本:CentOS 7.8旧内核版本:3.10.0-1062升级后的内核版本:4.4.218-1安装 ELRepo 最新版本载⼊公钥$ rpm --import https:///安装 ELRepo 最新版本$ yum install -y https:///elrepo-release-7.el7.elrepo.noarch.rpm安装新的内核版本列出可以使⽤的 kernel 包版本:lt:长期维护版ml:最新稳定版$ yum list available --disablerepo=* --enablerepo=elrepo-kernelkernel-lt.x86_64 4.4.218-1.el7.elrepo elrepo-kernelkernel-lt-devel.x86_64 4.4.218-1.el7.elrepo elrepo-kernelkernel-lt-doc.noarch 4.4.218-1.el7.elrepo elrepo-kernelkernel-lt-headers.x86_64 4.4.218-1.el7.elrepo elrepo-kernelkernel-lt-tools.x86_64 4.4.218-1.el7.elrepo elrepo-kernelkernel-lt-tools-libs.x86_64 4.4.218-1.el7.elrepo elrepo-kernelkernel-lt-tools-libs-devel.x86_64 4.4.218-1.el7.elrepo elrepo-kernelkernel-ml.x86_64 5.6.3-1.el7.elrepo elrepo-kernelkernel-ml-devel.x86_64 5.6.3-1.el7.elrepo elrepo-kernelkernel-ml-doc.noarch 5.6.3-1.el7.elrepo elrepo-kernelkernel-ml-headers.x86_64 5.6.3-1.el7.elrepo elrepo-kernelkernel-ml-tools.x86_64 5.6.3-1.el7.elrepo elrepo-kernelkernel-ml-tools-libs.x86_64 5.6.3-1.el7.elrepo elrepo-kernelkernel-ml-tools-libs-devel.x86_64 5.6.3-1.el7.elrepo elrepo-kernelperf.x86_64 5.6.3-1.el7.elrepo elrepo-kernel安装指定的 kernel 版本:4.4 或者5.6 的内核都可,稳定就选4.4,求新就安装5.6$ yum install -y kernel-lt-4.4.218-1.el7.elrepo --enablerepo=elrepo-kernel设置开启系统启动时使⽤的内核版本:查看系统可⽤内核$ cat /boot/grub2/grub.cfg | grep menuentrymenuentry 'CentOS Linux (4.4.218-1.el7.elrepo.x86_64) 7 (Core)' --class centos ...menuentry 'CentOS Linux (3.10.0-1062.el7.x86_64) 7 (Core)' --class centos ...如果是EFI启动,则使⽤如下命令:$ cat /etc/grub2-efi.cfg | grep ^menuentry设置开机从新内核启动$ grub2-set-default "CentOS Linux (4.4.218-1.el7.elrepo.x86_64) 7 (Core)"查看内核启动项$ grub2-editenv listsaved_entry=CentOS Linux (4.4.218-1.el7.elrepo.x86_64) 7 (Core)重启系统并观察内核版本重启系统使内核⽣效$ reboot启动完成查看内核版本是否更新$ uname -r。
centos initramfs阶段
centos initramfs阶段
在CentOS系统中,initramfs是一个可选的阶段,用于在系统引导过程中提供额外的功能和模块。
initramfs是一个初始根文件系统,它可以在实际根文件系统可用之前挂载到系统中,以提供一些必要的服务和功能。
initramfs阶段在系统引导过程中起到了重要的作用。
当系统启动时,BIOS或UEFI固件会首先加载引导加载程序(如GRUB),然后引导加载程序会加载内核映像。
一旦内核映像被加载,系统将进入内核阶段。
在内核阶段,内核会加载其所需的模块和驱动程序,并初始化各种服务和组件。
在内核阶段之后,系统将进入initramfs阶段。
initramfs阶段允许用户定义一些自定义的脚本和程序,这些脚本和程序将在实际根文件系统挂载之前运行。
通过使用initramfs,用户可以自定义引导过程中的行为和功能,例如加载特定的驱动程序、运行自定义的启动脚本、挂载特定的文件系统等。
在CentOS中,initramfs可以通过使用dracut工具进行创建和配置。
dracut是一个用于创建initramfs的实用程序,它可以扫描内核映像和系统的依赖关系,并生成一个完整的initramfs映像。
通过配置dracut的模块和规则文件,用户可以指定在initramfs阶段需要包含哪些模块和文件。
总之,initramfs阶段在CentOS系统的引导过程中提供了一种灵活的方式来扩展和自定义引导过程的行为和功能。
通过使用initramfs,用户可以更加方便地加载特定的驱动程序、运行自定义的启动脚本、挂载特定的文件系统等,从而更好地满足系统的需求和定制化要求。
CentOS7升级内核到4.4以上版本时重启无法进入系统
CentOS7升级内核到4.4以上版本时重启⽆法进⼊系统摘要: CentOS 7.3 从内核 3.10.0 升级到 4.14.40 后,重启进不了系统,原因是 Linux 内核 4.4.x 版本之后,dracut 命令⽣成的 initramfs 默认不会⾃动加载 mpt3sas 驱动模块。
因为没有对应的驱动程序,所以识别不了系统盘(两块 SAS 系统盘接在 LSI 2308 HBA 卡上,创建RAID 1),从⽽导致内核 vmlinuz ⽆法加载它的 rootfs(根⽂件系统)1. 现象描述使⽤CentOS-7-x86_64-DVD-1611.iso原版 ISO 光盘安装了CentOS-7.3后,默认的Linux内核版本是3.10.0-514.el7.x86_64下载并安装以下两个 RPM 包,将内核升级到4.14.40:kernel-4.14.40-1.x86_64.rpmkernel-headers-4.14.40-1.x86_64.rpm重启系统,等了半天系统没启动成功,发现⼀直卡在进度条。
按ESC键查看详细信息如下:既然能显⽰GRUB2的引导菜单(都到进度条了,肯定过了引导菜单),说明MBR和GRUB2没有问题,那么问题应该是initramfs中没有系统盘的驱动程序(需要mpt2sas),导致内核vmlinuz⽆法加载它的rootfs(根⽂件系统)。
不能使⽤单⽤户模式,因为进不去,systemd不可能启动起来,⾃然进不了单⽤户模式,那只能使⽤安装光盘的救援模式了2. 问题解决2.1 救援模式我们需要利⽤原版ISO光盘所提供的Rescure a CentOS Linux system(救援模式)来重建initramfs插⼊光盘后,设置Boot Sequence(启动顺序),选择从光盘启动:选择Troubleshooting(故障排除):选择Rescure a CentOS Linux system:输⼊数字1,即选择1) Continue:按Enter回车键:2.2 重建 initramfs(1) chrootdf 查看⽬录,执⾏命令:chroot /mnt/sysimage (切换根⽬录)查看已安装的 Linux 内核版本•使⽤rpm -qa kernel*或rpm -qa | grep -i kernel命令•ps:如果前⾯那个命令后⾯不加 * 号,是查不到新安装的内核的查看默认启动内核是否更改成功•使⽤grub2-editenv list命令查询initramfs的驱动[root@lab103 lab103]# lsinitrd -k 3.10.0-327.el7.x86_64|grep mptdrwxr-xr-x 2 root root 0 Apr 1712:05 usr/lib/modules/3.10.0-327.el7.x86_64/kernel/drivers/scsi/mpt2sas-rw-r--r-- 1 root root 337793 Nov 202015 usr/lib/modules/3.10.0-327.el7.x86_64/kernel/drivers/scsi/mpt2sas/mpt2sas.ko可以在4.x内核中看到可以看到在3.10内核的时候是mpt2sas驱动新版的内核已经把mpt2sas升级为mpt3sas/lib/modules/4.4.46/kernel/drivers/scsi/mpt3sas/mpt3sas.ko查询initramfs内的模块lsinitrd -k 4.14.113-1.el7.x86_64|grep mpt3可以看到并没有输出,说明initramfs并没有把这个驱动打进去(2) add kernel module这个地⽅有两种⽅式来解决⽅法⼀:修改 /etc/dracut.conf⽂件,增加字段add_drivers+="mpt3sas"重新⽣成initramfs,注意后⾯要加内核的版本号dracut -f /boot/initramfs-4.14.113-1.el7.x86_64.img 4.14.113-1.el7.x86_64⽅法⼆:强制加载驱动dracut --force --add-drivers mpt3sas --kver=4.14.113-1.el7.x86_64 lsinitrd -k 4.14.113-1.el7.x86_64|grep mpt3以上⽅法⼆选⼀做下驱动的集成,然后做下⾯的检查如果有输出就是正常了的然后重启操作系统即可。
centos7切换启动内核与切换启动模式的讲解
centos7切换启动内核与切换启动模式的讲解centos7切换启动内核注:建议如果需要的话,可以先执⾏yum update -y,升级所有软件包注意事项:1、我⽤于测试的CentOS是7.2版本,默认最⼩化安装,系统内核是3.10.0-327。
2、升级到4.4.x以后,如果随意使⽤yum update -y命令进⾏软件升级,会继续安装CentOS7.4中的3.10.0-693内核软件包,并且会作为第⼀个启动项。
3、每次yum update -y后,需要使⽤grub2-set-default 0命令,修改默认的内核启动项,0位第⼀项,1为第⼆项,依次类推,查看GRU1、查看当前系统内核uname -r3.18.6-2.el7.centos.x86_64查看可使⽤的内核列表awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg结果如下:0 : CentOS Linux (3.18.6-2.el7.centos.x86_64) 7 (Core)1 : CentOS Linux (3.10.0-514.el7.x86_64) 7 (Core)2 : CentOS Linux (0-rescue-05653d304ed443db9b60529d6cf7d242) 7 (Core)2、查看当前默认内核启动项grub2-editenv list结果如下:saved_entry=0即系统当前启动时默认加载的内核是 CentOS Linux (3.18.6-2.el7.centos.x86_64) 7 (Core)3、更改默认启动内核项grub2-set-default 1再次查看默认内核启动项,发现saved_entry字段变为14、重启系统reboot查看当前系统内核uname -r3.10.0-514.el7.x86_64可以看到当前系统的内核已经更改centos7切换启动模式⼀、centos只有两种启动模式:multi-user.target: analogous to runlevel 3 #命令⾏模式graphical.target: analogous to runlevel 5 #图形模式查看vim /etc/inittab ⽂件,这⾥有改变模式的命令⼆、查看当前模式:systemctl get-default三、改变启动⽅式以命令⽅式启动:systemctl set-default multi-user.target以图形⽅式启动:systemctl set-default graphical.target总结以上就是这篇⽂章的全部内容了,希望本⽂的内容对⼤家的学习或者⼯作具有⼀定的参考学习价值,谢谢⼤家对的⽀持。
从Centos7升级到Centos8的教程(图文详解)
从Centos7升级到Centos8的教程(图⽂详解)如果在正式环境升级,请做好数据备份以及重要配置备份!因为升级会造成⼀部分应⽤被卸载。
1.安装epel源yum -y install epel-release2.安装rpmconf和yum-utilsyum -y install rpmconf yum-utils3.执⾏rpmconf ,如果出现⼀些提⽰,请输⼊Y和回车继续,如果没提⽰继续第四步操作rpmconf -a4.安装dnfyum -y install dnf5.移除yum和yum-metadata-parserdnf -y remove yum yum-metadata-parser6.删除/etc/yum⽬录rm -rf /etc/yum7.安装Centos8的源和升级epel源dnf -y upgradednf -y upgrade /centos/8.0.1905/BaseOS/x86_64/os/Packages/centos-release-8.0-0.1905.0.9.el8.x86_64.rpm dnf -y upgrade https:///pub/epel/epel-release-latest-8.noarch.rpmdnf clean all8.卸载centos7的内核rpm -e --nodeps `rpm -q kernel`9.升级到centos8,这⼀步⼀般会报错,如果没有报错请进⾏第10步操作dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync发现报错之后先卸载类似于图上from package后⾯的包名rpm -e --nodeps sysvinit-tools-2.88-14.dsf.el7.x86_64rpm -e --nodeps python-inotify-0.9.4-4.el7.noarchrpm -e --nodeps adwaita-qt5-1.0-1.el7.x86_64rpm -e --nodeps pycairo-1.8.10-8.el7.x86_64卸载完后再次执⾏升级dnf -y --releasever=8 --allowerasing --setopt=deltarpm=false distro-sync10.执⾏rpmconf,会出现如下界⾯,⼀直输⼊Y和回车即可rpmconf -a11.重启机器reboot总结以上所述是⼩编给⼤家介绍的从Centos7升级到Centos8的教程,希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。
centos 内核list用法
CentOS 内核 List 用法1. 简介CentOS 是一种基于 Red Hat Enterprise Linux (RHEL) 的开源操作系统。
内核是操作系统的核心组件,负责管理计算机的硬件和软件资源。
在 CentOS 中,我们可以使用list命令来查看和管理已安装的内核版本。
本文将介绍 CentOS 内核 List 命令的用法,包括如何查看已安装的内核版本、如何切换默认内核、如何删除旧版本内核等操作。
2. 查看已安装的内核版本在 CentOS 中,我们可以使用rpm命令来查看已安装的内核版本。
打开终端,并输入以下命令:rpm -qa | grep kernel该命令会列出所有以“kernel” 开头的已安装软件包,并显示对应的版本号。
例如:kernel-3.10.0-1127.el7.x86_64kernel-3.10.0-1127.13.1.el7.x86_64kernel-3.10.0-1062.el7.x86_64以上示例中列出了三个已安装的内核版本。
3. 切换默认内核在 CentOS 中,默认情况下,系统会自动选择最新安装的内核作为默认启动选项。
但有时候我们可能需要手动切换默认内核。
3.1 查看当前默认内核要查看当前默认的内核版本,可以使用以下命令:uname -r该命令会显示当前正在运行的内核版本。
例如:3.10.0-1127.el7.x86_643.2 切换默认内核要手动切换默认内核,我们需要编辑/etc/default/grub文件。
打开终端,并输入以下命令以使用文本编辑器打开该文件:sudo vi /etc/default/grub在该文件中,找到以下行:GRUB_DEFAULT=saved将其修改为:GRUB_DEFAULT=0其中0表示第一个内核版本为默认选项。
如果你想选择其他版本作为默认选项,可以修改相应的数字。
保存并关闭文件后,运行以下命令更新 GRUB 配置:sudo grub2-mkconfig -o /boot/grub2/grub.cfg最后,重新启动系统即可生效。
CentOS7环境下gcc(版本10.2.0)升级详细过程
CentOS7环境下gcc(版本10.2.0)升级详细过程⽬录简短介绍1、查看当前gcc版本2、下载gcc安装包(10.2.0版本)3、解压安装包4、下载依赖库5、安装系统必须包模块6、创建编译⽬录7、⽣成Makefile⽂件说明:8、编译9、安装10、配置libstdc++.so11、配置环境变量总结简短介绍⼤家好,今天给⼤家分享gcc编译器的升级⽅法。
在linux系统中其实已经⾃带了gcc编译器,但是版本⽐较低。
⽬前有些开源⼯具例如:Apache Doris在安装时需要更⾼版本的gcc 5.3.1+以上版本编译器才能编译c++代码。
那么我们就了解下gcc升级⽅法(从 4.8.5 升级到 10.2.0 )。
1、查看当前gcc版本## 看出当前系统 gcc版本. 默认4.8.5g++ -v 或者 gcc --version2、下载gcc安装包(10.2.0版本)## 下载地址:/gnu/gcc## linux下通过 wget指令下载wget /gnu/gcc/gcc-10.2.0/gcc-10.2.0.tar.gz3、解压安装包tar -xvf gcc-10.2.0.tar.gz## 解压后⽬录 gcc-10.2.04、下载依赖库## 进⼊解压后⽬录,进⾏依赖库下载cd gcc-10.2.0./contrib/download_prerequisites5、安装系统必须包模块yum install -y gcc-c++ libstdc++-static ant cmake byacc flex automake libtool binutils-devel bison ncurses-devel gcc kernel-devel libtool libatomic6、创建编译⽬录## 在gcc-10.2.0.同级⽬录,创建编译⽬录。
名称为:gcc-build-10.2.0mkdir ../gcc-build-10.2.07、⽣成Makefile⽂件## 进⼊编译录,执⾏命令,⽣成Makefile⽂件cd gcc-build-10.2.0../gcc-10.2.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib说明:如果提⽰错误,configure: error: Building GCC requires GMP 4.2+, MPFR 3.1.0+ and MPC 0.8.0+.需要将步骤4中,下载的依赖包删除,之后重新执⾏下。
coreelec升级方法
coreelec升级方法
要升级CoreELEC操作系统,你可以按照以下步骤进行:
1. 首先,确保你的设备已经连接到互联网,因为升级需要下载
最新的软件包。
在设备上启动CoreELEC操作系统。
2. 进入CoreELEC的设置菜单,通常可以在主屏幕上找到。
在
设置菜单中,找到并选择“系统”选项。
3. 在“系统”菜单中,选择“系统信息”或类似的选项,以查
看当前安装的CoreELEC版本号。
4. 如果有新的版本可用,你应该会在“系统信息”下方看到一
个更新的通知。
选择该通知以开始升级过程。
5. 系统会开始下载最新的CoreELEC软件包。
这可能需要一些
时间,具体取决于你的互联网连接速度。
6. 下载完成后,系统会提示你确认是否要安装更新。
选择“是”以继续。
7. 安装过程开始后,系统会自动重启并应用更新。
在这个过程中,你可能会看到一些进度条或其他提示。
8. 完成更新后,系统会重新启动到最新版本的CoreELEC操作系统。
请注意,升级过程中可能会删除一些旧的插件或设置,因此在升级之前最好备份重要数据。
另外,确保你正在使用官方渠道提供的更新,以避免安全风险。
希望这些步骤能够帮助你成功升级CoreELEC操作系统。
如何在CentOS上升级软件包?
如何在CentOS上升级软件包?在使用CentOS 操作系统的过程中,随着时间的推移和软件的发展,及时升级软件包是非常重要的。
这不仅可以修复可能存在的安全漏洞,还能为我们带来新的功能和性能优化。
那么,如何在 CentOS 上升级软件包呢?下面就为大家详细介绍。
首先,我们需要确保系统已经连接到网络。
因为软件包的升级需要从网络上获取最新的版本信息和文件。
在 CentOS 中,有多种方法可以升级软件包。
其中一种常用的方法是使用 yum 命令。
yum 是 CentOS 系统中默认的软件包管理器,它能够自动处理软件包之间的依赖关系,使得升级过程更加顺畅。
要使用 yum 进行软件包升级,我们可以打开终端窗口,输入以下命令:```sudo yum update```在这个命令中,“sudo”表示以管理员权限运行命令。
输入命令后,系统会提示您输入管理员密码。
执行上述命令后,yum 会检查系统中已安装的软件包,并与软件源中的最新版本进行比较。
然后,它会列出所有可以升级的软件包,并询问您是否确认进行升级。
在确认升级之前,建议您仔细查看要升级的软件包列表,确保没有不希望升级的关键软件或者可能会影响系统稳定性的软件。
如果您确定要进行升级,输入“y”并按下回车键,yum 就会开始下载和安装更新的软件包。
需要注意的是,软件包的升级过程可能需要一些时间,具体取决于您的网络速度和要升级的软件包数量。
在升级过程中,请保持系统的连接稳定,不要随意中断升级操作,以免导致系统出现问题。
除了使用上述的“yum update”命令进行全面的系统软件包升级外,我们还可以针对特定的软件包进行升级。
例如,如果我们只想升级“httpd”(Apache HTTP 服务器)这个软件包,可以使用以下命令:```sudo yum update httpd```这样,yum 就只会升级“httpd”软件包,而不会对其他软件包进行操作。
另外,如果您想要查看某个软件包是否有可用的更新,可以使用“yum checkupdate”命令。
Linux升级内核教程(CentOS7)
Linux升级内核教程(CentOS7)1.查看当前内核版本uname -r2.通过yum升级内核通过yum升级内核是最保险的升级⽅式,因为安装的是操作系统发⾏⼚商验证过兼容性的rpm包,升级风险⼀般很⼩。
yum install -y kernel重启后即可在grub界⾯选择使⽤新内核(新内核⼀般是默认使⽤内核,所以也可不⽤选直接等机器重启完⽤的就是新内核了)。
3.通过⼿动编译升级内核⼿动编译升级风险是⽐较⼤的,轻则可能会导致应⽤的兼容性问题,重则系统可能就启不来了(当然旧内核没删还是可以选旧内核来启,前提是你的屏幕能直连机器⽽不是ssh)但如果你就是想要升级到不是官⽅使⽤的内核版本,那么也只能使⽤⼿动编译的⽅式升级3.1下载我们这⾥选择当前最新的4.14版本下载3.2 编译安装tar -zxf linux-4.14.tar.gzcd cd linux-4.14make mrpropermake clean #这两条⽤于清除之前编译⽣成的.ko和.configmake oldconfig #使⽤当前的内核配置make #编译,半⼩时以上是正常的make modules_install #把编译出的内核模块复制到/lib/modules/${KERNEL_VERSION}make installmake oldconfig⾏表⽰使⽤当前内核⼀样的配置,坏消息是⼀般新的功能还是要我们⾃⼰选择⽽且项数还不少,好消息是这些选择都有默认选项如果我们不在意这些新功能看也不看⼀直按住回车即可。
make config是每项都要⾃⼰选择,这个除了⾃⼰明⽩要什么配置不然不建议使⽤。
make default是直接使⽤linus提供的默认配置,这个基本什么不⽤选编译也很快但是也不建议⽤,编译快是因为很多东西都没启⽤使⽤这个内核你的发⾏版基本重启启不来了。
make报错:/bin/sh: bc: 未找到命令处理:yum install bc -ymake报错:openssl/opensslv.h: No such file or directory处理:yum install openssl-devel -y安装完成后使⽤reboot重启操作系统,再使⽤uname -r查看,内核成成功替换为4.14版本:参考:。
记一次Linux内核升级修复系统漏洞(Centos7.4完整操作)
记⼀次Linux内核升级修复系统漏洞(Centos7.4完整操作)单位使⽤的⽹站服务器为centos 内核版本为:3.10.0-693.21.1.el7.x86_64, 2018年4⽉13号服务器商发来⼀条⾼危漏洞提⽰短信。
点击后台提供的修复的按钮却被告知升级到企业版云盾才能使⽤该功能。
⽹上查了⼀圈,硬是没有修复的⽅法,也找不到漏洞的补丁。
想了⼀下,既然说是内核漏洞,应该可以通过升级内核来解决这个问题。
漏洞说明打开Linux kernel官⽹,当前最新稳定版本为:4.16.2Linux kernel 4.16.2Linux ⼤神们对漏洞的修复⼀向积极,将内核更新,问题不就解决了吗?以下是实际步骤,忘了说⼀下,系统是:centos 7.4 64位服务器版本。
Linux内核升级通常有两种⽅式1. 下载新版内核到服务器上,进⾏编译安装,之后删除⽼内核,优点是:可完全控制编译项,缺点是:慢,且容易失败;2. 采⽤yum ⽅式安装,优点是:快捷⽅便,成功率⾼。
我这⾥采⽤第⼆种⽅式来安装,毕竟⽹站还在使⽤,不能耽误。
采⽤yum安装最多也就三五分钟的事,万⼀失败,还能补救。
说明:以下步骤如未特殊声明,均在 shell环境下执⾏命令⾏⼀:导⼊key# rpm --import https:///⼆:安装elrepo的yum源# rpm -Uvh /elrepo-release-7.0-2.el7.elrepo.noarch.rpm三:安装内核(默认安装最新稳定版本内核) # yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml四:查看启动顺序# awk -F\' '$1=='menuentry ' {print $2}' /etc/grub2.cfg新的内核版本默认会在最前⾯,下⾯将选择系统启动时的内核版本,顺序为 0 。
Centos内核升级的三种方法
Centos内核升级的三种⽅法在基于CentOS平台的⼯作过程中,难免有时需要升级或者降级内核以验证功能、调试性能或者更新整个系统。
如果从头重新编译⼀个内核,由于现在内核特性越来越复杂,依赖的库或者⼯具也不少,加之重新编译耗时不菲,了解更新内核的多种⽅式就显得尤为必要。
下⾯根据笔者最近的⼯作,总结了三种⽅法,供⼤家参考。
⽅法⼀如果机器不能联⽹,可以下载现有内核包到本地机器,直接在本地更新1.从/linux/scientific/7.0/x86_64/updates/security/下载需要的颁布rpm2. [root@localhost os2]# scp root@192.168.1.64:/home/worker/kernel-3.10.0-123.1.2.el7.x86_64.rpm root@192.168.1.64's password:kernel-3.10.0-123.1.2.el7.x86_64.rpm 100% 29MB 28.9MB/s 00:003.[root@localhost os2]# yum install kernel-3.10.0-123.1.2.el7.x86_64.rpmLoaded plugins: fastestmirror, langpacksExamining kernel-3.10.0-123.1.2.el7.x86_64.rpm: kernel-3.10.0-123.1.2.el7.x86_64Marking kernel-3.10.0-123.1.2.el7.x86_64.rpm to be installedResolving Dependencies--> Running transaction check---> Package kernel.x86_64 0:3.10.0-123.1.2.el7 will be installed--> Finished Dependency Resolutionepel/x86_64/metalink | 5.2 kB 00:00:00epel/x86_64 | 4.3 kB 00:00:01epel/x86_64/updateinfo | 517 kB 00:00:01epel/x86_64/primary_db | 4.0 MB 00:02:36....⽅法⼆如果机器已经联⽹,直接利⽤包管理⼯具更新,需要注意的是现在3.0以上的内核引⼊了签名机制,需要导⼊签名的key,参考步骤如下:1、导⼊keyrpm --import https:///当然,如果已经修改了repo的gpgcheck=0也可以不导⼊key2、安装elrepo的yum源rpm -Uvh /elrepo-release-7.0-2.el7.elrepo.noarch.rpm3、安装内核在yum的ELRepo源中,有mainline颁布的,可以这样安装:yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y当然也可以安装long term的:yum --enablerepo=elrepo-kernel install kernel-lt -y其它:/linux/kernel/el6/x86_64/RPMS/[root@server-mysql yum.repos.d]# yum --enablerepo=elrepo-kernel list |grep kernel*Unable to read consumer identity* elrepo-kernel: abrt-addon-kerneloops.x86_64 2.0.8-6.el6 @anaconda-RedHatEnterpriseLinux-201206132210.x86_64/6.3 dracut-kernel.noarch 004-283.el6 @anaconda-RedHatEnterpriseLinux-201206132210.x86_64/6.3 kernel.x86_64 2.6.32-279.el6 @anaconda-RedHatEnterpriseLinux-201206132210.x86_64/6.3 kernel-devel.x86_64 2.6.32-279.el6 @anaconda-RedHatEnterpriseLinux-201206132210.x86_64/6.3 kernel-firmware.noarch 2.6.32-279.el6 @anaconda-RedHatEnterpriseLinux-201206132210.x86_64/6.3 kernel-headers.x86_64 2.6.32-279.el6 @anaconda-RedHatEnterpriseLinux-201206132210.x86_64/6.3 libreport-plugin-kerneloops.x86_64 2.0.9-5.el6 @anaconda-RedHatEnterpriseLinux-201206132210.x86_64/6.3 abrt-addon-kerneloops.x86_64 2.0.8-40.el6.centos basedracut-kernel.noarch 004-409.el6_8.2 updateskernel.x86_64 2.6.32-642.3.1.el6 updateskernel-abi-whitelists.noarch 2.6.32-642.3.1.el6 updateskernel-debug.x86_64 2.6.32-642.3.1.el6 updateskernel-debug-devel.i686 2.6.32-642.3.1.el6 updateskernel-debug-devel.x86_64 2.6.32-642.3.1.el6 updateskernel-devel.x86_64 2.6.32-642.3.1.el6 updateskernel-doc.noarch 2.6.32-642.3.1.el6 updateskernel-firmware.noarch 2.6.32-642.3.1.el6 updateskernel-headers.x86_64 2.6.32-642.3.1.el6 updateskernel-lt.x86_64 3.10.102-1.el6.elrepo elrepo-kernelkernel-lt-devel.x86_64 3.10.102-1.el6.elrepo elrepo-kernelkernel-lt-doc.noarch 3.10.102-1.el6.elrepo elrepo-kernelkernel-lt-firmware.noarch 3.10.102-1.el6.elrepo elrepo-kernelkernel-lt-headers.x86_64 3.10.102-1.el6.elrepo elrepo-kernelkernel-ml.x86_64 4.6.4-1.el6.elrepo elrepo-kernelkernel-ml-devel.x86_64 4.6.4-1.el6.elrepo elrepo-kernelkernel-ml-doc.noarch 4.6.4-1.el6.elrepo elrepo-kernelkernel-ml-firmware.noarch 4.6.4-1.el6.elrepo elrepo-kernelkernel-ml-headers.x86_64 4.6.4-1.el6.elrepo elrepo-kernellibreport-plugin-kerneloops.x86_64 2.0.9-32.el6.centos baseperf.x86_64 4.6.4-1.el6.elrepo elrepo-kernel⽅法三实际⼯作当中经常碰到需要修改内核配置,编译驱动,调节相关参数等,这就需要定制内核,为此需要⼿动⽣成新的内核。
CentOS升级OpenSSL至OpenSSL1.1.0f版本其中有遇到libcrypto。。。
CentOS升级OpenSSL⾄OpenSSL1.1.0f版本其中有遇到libcrypto。
概述:整体步骤如下:1.先检查版本2.进⾏安装《安装采⽤源码安装,然后再做相关的链接指向》⼀、检查当前环境1. 查看当前版本openssl version或者使⽤yum info openssl2. 在升级之前检查⼀下openssl的路径which openssl因为需要在升级openssl之后,我们需要使⽤软链接将其链接回此路径⼆、准备开始升级安装1、下载与解压cd ~wget https:///source/openssl-1.1.0f.tar.gztar -xzf openssl-1.1.0f.tar.gz2、编译与安装如果没有安装gcc可能会报错,可以直接使⽤yum安装⼀下gccyum install gcccd openssl-1.1.0f./configmakemake install3、尝试运⾏应该会出现下⾯的这个错误:/usr/local/bin/openssl version/usr/local/bin/openssl: error while loading shared libraries: libcrypto.so.1.1: cannot open shared object file: No such file or directory4、下⾯为相关的解决办法:创建链接⾄libsslln -s /usr/local/lib64/libssl.so.1.1 /usr/lib64/ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/5、创建链接⾄新的opensslln -s /usr/local/bin/openssl /usr/bin/openssl_latest6、检查openssl_latest的版本号是否是新的版本openssl_latest versionOpenSSL 1.1.0f 25 May 20177、重命名旧的openssl⽂件名,并且将新的⽂件名改为openssl cd /usr/bin/mv openssl openssl_oldmv openssl_latest openssl。
CentOS7内核优化修改参数
CentOS7内核优化修改参数⼀:内核简介内核是操作系统最基本的部分。
它是为众多应⽤程序提供对计算机硬件的安全访问的⼀部分软件,这种访问是有限的,并且内核决定⼀个程序在什么时候对某部分硬件操作多长时间。
内核的分类可分为单内核和双内核以及微内核。
严格地说,内核并不是计算机系统中必要的组成部分。
什么是内核?内核,是⼀个操作系统的核⼼。
是基于硬件的第⼀层软件扩充,提供操作系统的最基本的功能,是操作系统⼯作的基础,它负责管理系统的进程、内存、内核体系结构、设备驱动程序、⽂件和⽹络系统,决定着系统的性能和稳定性。
什么是线程?线程:是操作系统能够进⾏运算调度的最⼩单位。
它被包含在进程之中,是进程中的实际运作单位。
⼀条线程指的是进程中⼀个单⼀顺序的控制流,⼀个进程中可以并发多个线程,每条线程并⾏执⾏不同的任务在⼀个程序⾥的⼀个执⾏路径就叫做线程。
线程是⼀个进程内部的控制序列。
⼀切进程⾄少有⼀个执⾏线程。
线程在进程内部运⾏,本质是进程地址空间内运⾏。
在Linux系统中,在cpu眼⾥,看到的PCB都有⽐传统的进程更加轻量化。
通过进程虚拟地址空间,可以看到进程⼤部分资源,将进程资源合理分配给每个执⾏流,就形成了线程执⾏流。
什么是进程?centos linux的第⼀个进程通常是init或者systemd,它是所有进程的⽗进程,PID为1,是唯⼀⼀个由系统内核直接运⾏的进程Linux 给每个进程都打上了运⾏者的标志,⽤户可以控制⾃⼰的进程:给⾃⼰的进程分配不同的优先级,也可以随时终⽌⾃⼰的进程Linux 不可能在⼀个 CPU 上同时处理多个任务(作业)请求,⽽是采⽤ “分时” 技术来处理这些任务请求除了init或者systemd,其他进程都是由⽗进程创建,即每个进程都有⽗进程(PPID)⼆:查看系统资源1.查看当前系统的所有限制值命令:ulimit -a核⼼⽂件⼤⼩(块,-c)0数据段⼤⼩(kbytes,-d)不受限制计划优先级0⽂件⼤⼩(块,-f)不受限制挂起信号(-i)7190最⼤锁定内存(KB,-l)64最⼤内存⼤⼩(kbytes,-m)不受限制打开⽂件(-n)1024管道⼤⼩(512字节,-p)8POSIX消息队列(字节,-q)819200实时优先级0堆栈⼤⼩(kbytes,-s)8192cpu时间(秒,-t)⽆限制最⼤⽤户进程(-u)7190虚拟内存(KB,-v)不受限制⽂件锁定(-x)不受限制2.查看⽤户同时打开的⽂件数(linux系统默认的只要1024)也是临时修改(不需要重启),命令后⾯加参数即可:ulimit -n 65535命令:ulimit -n3.查看Linux系统级的最⼤打开⽂件数限制命令:cat /proc/sys/fs/file-max4.ulimit的选项⽤法-a 显⽰⽬前资源限制的设定-c <core⽂件上限> 设定core⽂件的最⼤值,单位为区块-d <数据节区⼤⼩> 程序数据节区的最⼤值,单位为KB-f <⽂件⼤⼩> shell所能建⽴的最⼤⽂件,单位为区块-H 设定资源的硬性限制,也就是管理员所设下的限制-m <内存⼤⼩> 指定可使⽤内存的上限,单位为KB-n <⽂件数⽬> 指定同⼀时间最多可开启的⽂件数-p <缓冲区⼤⼩> 指定管道缓冲区的⼤⼩,单位512字节-s <堆叠⼤⼩> 指定堆叠的上限,单位为KB-S 设定资源的弹性限制-t <CPU时间> 指定CPU使⽤时间的上限,单位为秒-u <程序数⽬> ⽤户最多可开启的程序数⽬-v <虚拟内存⼤⼩> 指定可使⽤的虚拟内存上限,单位为KB三:系统资源限制设置(使⽤root权限)命令:vim /etc/security/limits.conf在最后添加下⾯这⼏句:* soft nofile 65535* hard nofile 65535* soft nproc 65535* hard nproc 65535知识扩展:noproc 是代表最⼤进程数nofile 是代最⼤⽂件打开数* 是表⽰修改所有⽤户的限制命令:vim /etc/security/limits.d/20-nproc.conf修改⼀下参数:#* soft nproc 65535#root soft nproc unlimited* soft nproc 65535* hard nproc 65535注释原本的,添加新增的然后执⾏reboot命令重启,root和普通⽤户的线程和最⼤打开⽂件数了都是65535重启之后执⾏ulimit -a命令查看命令:ulimit -a如果是⽣产环境的话,就添加以下内容命令:vim /etc/security/limits.conf* soft core unlimit* hard core unlimit* soft fsize unlimited* hard fsize unlimited* soft data unlimited* hard data unlimited* soft nproc 65535* hard nproc 63535* soft stack unlimited* hard stack unlimited* soft nofile 409600* hard nofile 409600四:内核优化命令:cat /etc/sysctl.conf打开内核配置⽂件命令:vim /etc/sysctl.d/99-sysctl.conf将以下配置输⼊进去:#关闭ipv6net.ipv6.conf.all.disable_ipv6 = 1net.ipv6.conf.default.disable_ipv6 = 1# 避免放⼤攻击net.ipv4.icmp_echo_ignore_broadcasts = 1# 开启恶意icmp错误消息保护net.ipv4.icmp_ignore_bogus_error_responses = 1 # 关闭路由转发net.ipv4.ip_forward = 0net.ipv4.conf.all.send_redirects = 0net.ipv4.conf.default.send_redirects = 0#开启反向路径过滤net.ipv4.conf.all.rp_filter = 1net.ipv4.conf.default.rp_filter = 1关闭sysrq功能kernel.sysrq = 0#core⽂件名中添加pid作为扩展名kernel.core_uses_pid = 1net.ipv4.tcp_syncookies = 1#修改消息队列长度kernel.msgmnb = 65536kernel.msgmax = 65536#设置最⼤内存共享段⼤⼩byteskernel.shmmax = 68719476736kernel.shmall = 4294967296#timewait的数量,默认180000net.ipv4.tcp_max_tw_buckets = 6000net.ipv4.tcp_sack = 1net.ipv4.tcp_window_scaling = 1net.ipv4.tcp_rmem = 4096 87380 4194304net.ipv4.tcp_wmem = 4096 16384 4194304net.core.wmem_default = 8388608net.core.rmem_default = 8388608net.core.rmem_max = 16777216net.core.wmem_max = 16777216dev_max_backlog = 262144#限制仅仅是为了防⽌简单的DoS 攻击net.ipv4.tcp_max_orphans = 3276800#未收到客户端确认信息的连接请求的最⼤值net.ipv4.tcp_max_syn_backlog = 262144net.ipv4.tcp_timestamps = 0#内核放弃建⽴连接之前发送SYNACK 包的数量net.ipv4.tcp_synack_retries = 1#内核放弃建⽴连接之前发送SYN 包的数量net.ipv4.tcp_syn_retries = 1#启⽤timewait 快速回收net.ipv4.tcp_tw_recycle = 1#开启重⽤。
CentOS5升级内核
CentOS5.5系统升级内核tiancong【一、权限切换】[test@TJCentOS ~]$ su -口令:注:在需要对系统的配置进行设置的时候,大部分情况下都需要从普通用户切换到超级用户。
【二、查看内核版本】[root@TJCentOS ~]# uname -r2.6.18-194.el5注:此次查看的版本,要和升级后的版本号相比较,如果升级成功会显示新的版本号。
【三、下载新内核】[root@TJCentOS ~]# cd /usr/src/[root@TJCentOS src]#wget ftp:///pub/linux/kernel/v2.6/linux-2.6.30.tar.gz 注:weget程序是一个命令行下的下载工具。
【四、解压内核压缩包】[root@TJCentOS ~]# tar -xzvf linux-2.6.30.tar.gz -C /usr/src注:“-C /usr/src”表示,将文件解压到指定目录“/usr/src”。
由于第三步中已经切换了工作目录,故此处此参数可略。
【五、内核升级设置一】[root@TJCentOS src]# cd linux-2.6.30[root@TJCentOS linux-2.6.30]# make mrpropermake: gcc:命令未找到注:在安装系统的时候,最好将gcc安装上,不然此处会报错,如果现在安装方式如下:1.将光盘镜像CentOS-5.5-i386-bin-DVD.iso装入虚拟机光驱。
2.[root@TJCentOS linux-2.6.30]# mkdir /mnt/cdrom3.[root@TJCentOS linux-2.6.30]# mount /dev/cdrom /mnt/cdrom4.[root@TJCentOS linux-2.6.30]# cd /mnt/cdrom/CentOS/5.[root@TJCentOS CentOS]# rpm -ivh libgomp-4.4.0-6.el5.i386.rpm glibc-devel-2.5-49.i386.rpm glibc-headers-2.5-49.i386.rpm kernel-headers-2.6.18-194.el5.i386.rpm gcc-4.1.2-48.el5.i386.rpm 注:在安装过程中这些包,都可以连锁的找到,不建议此操作,故过程从简。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Centos6.6源码升级内核到4.0.4
Linux内核版本有两种:稳定版和开发版,Linux内核版本号由3个数字组成:r.x.y r: 主版本号
x: 次版本号,偶数表示稳定版本;奇数表示开发中版本。
y: 修订版本号,表示修改的次数
本人使用的环境:
一台老旧的i686处理器电脑,安装的是centos6.6 内核版本:
准备工作:
官方的4.0.4的源码包
U盘
步骤一:解压:
将所需文件复制到/usr/src 下并解压。
cp linux-3.2.14.tar.gz /usr/src/
cd /usr/src/
将文件解压到/usr/src/kernels
# tar -xvf linux-4.0.4..tar.gz -C /usr/src/kernels
更新当前系统:yum install updates
Yum install ncurses-devel
安装编译内核所需要的软件包:
步骤二:配置文件
查看当前系统内核:
将当前系统的配置文件拷贝到当前目录:
cp /boot/config-‘uname -r’ /usr/src/kernels/linux3.2.14/.config 通过菜单方式配置内核:
# cd /usr/src/kernels/linux-3.2.14
# make menuconfig
linux配置菜单如下图所示:
一定要勾选(输入y选中,M编译为模块)
a、General setup→[*] enable deprecated sysfs features to support old userspace tools
b、Processor type and features→HighMemory Support。
c、找到以下选中选项并选中:
networking support →networking options →network packet filtering framework(netfilter) (1)Corenetfilter configuration
. 勾中"Netfilter connection tracking support" -m state相关模块是依赖它的,不选则没有。
. 将netbios name service protocal support(new) 编译成模块,不然后面升级iptables后启动时会出错
. 勾中"Netfilter Xtables support (required for ip_tables)"
(2)IP: Netfilter Configuration
. 将"IPv4 connection tracking support (require for NAT)" 编译成模块。
. 勾中IP tables support (required for filtering/masq/NAT) 。
. 将"Full NAT" 下的"MASQUERADE target support" 和"REDIRECT target support" 编译成模块
使用旧内核配置,并自动接受每个新增选项的默认设置:
步骤三:编译
Make clean #清楚下内核编译的目标文件
Make –j2 bzImage #生成内核文件
Make –j2 modules #编译模块
Make –j2 modules_install #编译安装模块
严格按照这个顺序进行编译,不能合并成一句。
-J后面的数字是线程数,用于加快编译速度,一般的经验是,有多少G内存,就填那个数字。
步骤四:安装
Make install
特别声明:如果出现了ERROR:modinfo:could not find module *** ,数量少的话可以直接忽略。
本人当时做的时候出现了三个,找了各种资料,最后略过去进行下一步重启后发现升级内核成功了。
步骤五:修改grub引导顺序
安装完成后,需要修改Grub引导顺序,让新安装的内核作为默认内核。
编辑grub.conf文件
Vim /etc/grub.conf
看一下刚刚安装的内核版本在哪个位置,从0开始,然后设置default为那个数字。
一半刚安装的就在最前边,所以在前几行直接设置default=0
步骤六:重启
Reboot
重启后看下当前版本内核。
Uname –a
升级成功则为升级后的版本号
补充:如果失败,则重新安装
重新安装的话,需要清理上次编译的现场
Make mrproper
然后从步骤二开始。