更新内核 联网默认版 非最新
1:查看系统版本
# uname -r
或者
#rpm -qa |grep kernel
或者
#rpm -q | grep kernel
2.更新内核
#yum -yinstall kernel
或者全局更新
#yum update
3.删除升级内核
#rpm -qa |grep kernel
或者
# rpm -q |grep kernel
然后
#yum remove +内核名称
或者
#rpm -e +内核名称
或者
安装yum-utls: yuminstall -y yum-utils
设置你想要保留多少旧的内核,比如我想保留两个:sudo package-cleanup--oldkernels --count=2
再次用rpm -q kernel查看内核信息,只剩最新的两个
4.修改文件修改数字几 系统保留内核数量
# vi /etc/yum.conf
修改该项值
installonly_limit=2 // 系统保留2个内核
5.修改Grub引导顺序
安装完成后,需要修改Grub引导顺序,让新安装的内核作为默认内核。
编辑 grub.conf文件,
sudo vim /etc/grub.conf
数一下刚刚新安装的内核在哪个位置,从0开始,然后设置default为那个数字,一般新安装的内核在第一个位置,所以设置default=0。
6.最后重启查看
#rpm -qa kernel
1.确定发行版的内核源码
# cat /etc/redhat-release
然后
如果是centos,则下载地址为类似如下的地址:
http://vault.centos.org/6.9/os/Source/SPackages/kernel-2.6.32-696.el6.src.rpm
2.导入系统 使用如下命令安装源码包
如果机器不能联网,可以下载现有内核包到本地机器,直接在本地更新
1.从http://ftp.scientificlinux.org/linux/scientific/7.0/x86_64/updates/security/下载需要的颁布rpm
2. 登录本地服务器下载
scproot@192.168.1.64:/home/worker/kernel-3.10.0-123.1.2.el7.x86_64.rpm
root@192.168.1.64'spassword:
kernel-3.10.0-123.1.2.el7.x86_64.rpm 100% 29MB 28.9MB/s 00:00
3.[root@localhost os2]# yum installkernel-3.10.0-123.1.2.el7.x86_64.rpm
或者
#rpm -i kernel-2.6.32-696.el6.src.rpm
Warning:user mockbuild does not exist.using root
解决办法:
# yum install mock
# useradd -s /sbin/nologin mockbuild
首先是安装mock,由于mock是在epel仓库里的,所以还需要先装epel仓库
| 1 2 |
|
yum install epel-release yum install mock |
安装完成后,在 /usr/src/redhat/目录下会生成一些目录:如果是centos,相关目录是生成在 /root/rpmbuild目录下。
例如,BUILD SOURCES SPECS等。
其中SOURCES 目录下,应该是内核源码文件与补丁等。
以red hat为例,SOURCES 中包含:
linux-2.6.18.tar.bz2 ---- 标准的Linux内核源码包
一大堆.patch的文件 ---- 这些是源码补丁文件
若干个.config ---- 这些是内核配置文件
其他的文件 ---- 在下目前也不理解 :)
使用如下命令得到完整的redhatlinux内核源码
cd /root/rpmbuild/SPECS
rpmbuild-bp --target=$(uname -m) kernel.spec
如果提示
xmltois needed by kernel-2.6.32-696.el6.x86_64
解决方法
#yuminstall xmlto
什么isneeded就yum install什么。
如果一切顺利,那么在/root/rpmbuild/BUILD/kernel-2.6.32-696.el6/linux-2.6.32-696.el6.x86_64目录中,就会生成一份内核源码。这个源码,是在标准Linux内核源码的基础上,打上了RedHat(或centos/fedora)的补丁及相关配置的源码。
#cd/root/rpmbuild/BUILD/
#yuminstall ncurses-devel
//make[-jn]
""" n 为数字,如:make -j4 拆分 4 个作业任务并行编译,加快编译速度 """
""" 使用make -j 则不限制并行编译的任务数,但是出错率可能会高一些 """
""" 如果不使用任何编译参数,一两个小时也是很常见的 """
#makemenuconfig /* 配置内核 */
//makemenuconfig
""" 此命令运行将弹出"kernel configuration"界面"""
""" 按"ESC",点"YES"退出即可 """
""" 如需定制内核,请按提示进行选择 """
//makeoldconfig
""" 如果定制内核,则不需要此步 """
""" 为要编译的内核源码使用当前系统内核配置文件 """
""" 当前目录下将会创建 ".config" 文件 """
#makebzImage /* 编译内核 */
#makemodules /* 编译模块 */
#makemodules_install /* 安装模块 */
#makeinstall /* 安装内核 */
#reboot /* 重启机器。起来之后就是新内核了 */
更新内核 联网 指定版本
1.安装必要的工具
#yuminstall rng-tools
#yuminstall rpm-build redhat-rpm-config unifdef
2. 安装源码
#rpm -i http://vault.centos.org/6.7/updates/Source/SPackages/kernel-2.6.32-573.8.1.el6.src.rpm2>&1 | grep -v exist
3.编译工具
#yum install rpm-buildredhat-rpm-config asciidoc bison hmaccalc patchutils perl-ExtUtils-Embed xmlto
#yum install audit-libs-develbinutils-devel elfutils-devel elfutils-libelf-devel
#yum install newt-develpython-devel zlib-devel
#yum install gcc bc bison
4.获得内核源码
使用如下命令得到完整的redhat linux内核源码
cd /root/rpmbuild/SPECS
rpmbuild -bp --target=$(uname-m) kernel.spec
如果提示
xmlto is needed bykernel-2.6.32-696.el6.x86_64
解决方法
#yum install xmlto
什么is needed就yuminstall什么。
如果一切顺利,那么在/root/rpmbuild/BUILD/kernel-2.6.32-696.el6/linux-2.6.32-696.el6.x86_64目录中,就会生成一份内核源码。这个源码,是在标准Linux内核源码的基础上,打上了RedHat(或centos/fedora)的补丁及相关配置的源码。

本文详细介绍了如何在 CentOS 6.9 系统中更新内核,包括联网和非联网两种情况,涉及查看系统版本、yum安装、手动编译、配置Grub引导顺序等步骤,并提供了内核源码下载、编译和安装的详细指导,以及处理可能出现的错误方法。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



