在CentOS系统中安装内核是一个重要的操作,它不仅能够提高系统的稳定性和安全性,还能支持新硬件和提升系统性能,下面将详细介绍如何在CentOS中通过yum、rpm和源码三种方式安装内核:
通过yum安装内核
1、导入仓库源:
使用以下命令导入elrepo的GPG公钥:
```bash
rpm import HTTPS://www.elrepo.org/RPMGPGKEYelrepo.org
```
安装elrepo软件源:
```bash
rpm Uvh http://www.elrepo.org/elreporelease7.03.el7.elrepo.noarch.rpm
```
2、查看可安装的软件包:
列出所有可以安装的内核版本:
```bash
yum disablerepo="*" enablerepo="elrepokernel" list available
```
选择要安装的版本,例如安装最新的稳定版内核(ML)或长期支持版内核(LT):
```bash
# 安装 ML 版本
yum enablerepo=elrepokernel install kernelml y
# 安装 LT 版本
yum enablerepo=elrepokernel install kernellt y
```
3、查看现有内核启动顺序:
使用以下命令查看当前启动顺序:
```bash
awk F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
```
4、修改默认启动项:
设置默认启动的内核版本,例如设置为4.4内核:
```bash
grub2setdefault 0
```
5、重启并检查内核版本:
重启系统:
```bash
reboot
```
检查新内核是否生效:
```bash
uname r
```
通过rpm安装指定内核版本
1、查找并下载指定版本的内核rpm包:
访问ELRepo网站或其他镜像站点,手动下载所需版本的内核rpm包,下载4.4.215版本的内核:
```bash
wget http://mirrors.coreix.net/elrepoarchivearchive/kernel/el7/x86_64/RPMS/kernellt4.4.2151.el7.elrepo.x86_64.rpm
wget http://mirrors.coreix.net/elrepoarchivearchive/kernel/el7/x86_64/RPMS/kernelltdevel4.4.2151.el7.elrepo.x86_64.rpm
wget http://mirrors.coreix.net/elrepoarchivearchive/kernel/el7/x86_64/RPMS/kernelltheaders4.4.2151.el7.elrepo.x86_64.rpm
```
2、安装rpm包:
使用rpm命令安装下载的rpm包:
```bash
rpm ivh kernellt4.4.2151.el7.elrepo.x86_64.rpm
rpm ivh kernelltdevel4.4.2151.el7.elrepo.x86_64.rpm
rpm ivh kernelltheaders4.4.2151.el7.elrepo.x86_64.rpm
```
3、确认已安装的内核版本:
使用以下命令查看已安装的内核版本:
```bash
rpm qa | grep kernel
```
4、设置启动顺序:
查看启动顺序:
```bash
awk F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
```
设置默认启动项:
```bash
grub2setdefault 0
```
重启系统并检查新内核是否生效:
```bash
reboot
uname r
```
通过源码编译安装内核
1、环境准备:
安装必要的工具和库:
```bash
yum groupinstall "Development Tools" y
yum install gcc make git ctags ncursesdevel openssldevel elfutilslibelfdevel bc y
```
2、下载内核源码:
从kernel.org或其他镜像站点下载指定版本的内核源码包,下载4.4.189版本的内核:
```bash
wget https://www.kernel.org/pub/linux/kernel/v4.x/linux4.4.189.tar.xz
```
解压源码包:
```bash
xz d linux4.4.189.tar.xz
tar xvf linux4.4.189.tar
cd linux4.4.189/
```
3、配置和编译内核:
配置内核选项:
```bash
make menuconfig
```
解决依赖问题:
```bash
yum install ncurseslibs ncursesdevel openssldevel y
```
编译内核:
```bash
make j$(nproc) # j后面的数字表示并发执行的任务数,一般不要超过CPU核数
```
4、安装内核:
安装模块:
```bash
make modules_install
```
安装内核镜像:
```bash
make install
```
5、设置启动顺序:
查看启动顺序:
```bash
awk F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
```
设置默认启动项:
```bash
grub2setdefault 0
```
重启系统并检查新内核是否生效:
```bash
reboot
uname r
```
FAQs(常见问题解答)
1. 为什么需要升级内核?
答:升级内核可以提高系统的安全性、稳定性和性能,新版内核通常修复了旧版的漏洞,支持新硬件,并引入了新的功能和优化,新版本的内核支持Google BBR TCP拥塞控制算法,可以显著提升网络性能。
2. 如何查看当前系统的内核版本?
答:可以使用uname r
命令查看当前系统的内核版本。
```bash
uname r
```