linux/kali2023.1 更新/回滚内核
# 简介
部分服务对内核版本有限定要求
比如这次回退kali内核,就是因为8812网卡驱动的问题
一直提示
```javascript
Interface mon0:
ioctl(SIOCGIFINDEX) failed: No such device
open interface mon0 failed.
Starting OSDEP failed
```
# 更新包会自动更新已经下载的内核 升级系统会升级系统内核版本
### 1
```text
sudo apt-get update && sudo apt-get -y upgrade && sudo apt-get -y dist-upgrade &&reboot
# 更新软件包的索引源 升级所有软件包 升级整个linux系统
```
### 2 (如果 1 执行成功之后没有更新)
```text
# 更新报错下面有提示的
sudo apt-get update && sudo apt -y full-upgrade && reboot
```
# 特殊方法(~如果以上方法还是不行 操作此步骤~ )
### 有 bug
如果你的 linux/kali 镜像不是最新版的 使用 uname -r 会出错 老老实实的用 tab 补全寻需要的 或者去执行普通方法去官网下载镜像
```text
#安装内核头文件 粘贴之后点击tab键会把命令变成你需要下载的版本 ~~是不是很有意思~~
apt-get install linux-headers- `uname -r`
# sudo apt-get install linux-headers-6.1.0-kali7-amd64 linux-image-6.1.0-kali5-amd64
#检查是否下载成功
dpkg-query -s linux-headers-$(uname -r)
```
# 内核版本暴力修改(可回滚)
### 官网 download
[The Linux Kernel Archives](https://www.kernel.org/)
```text
mainline 测试版
stable 正式版
longterm 稳定版
# 要以你需求版本为主
```
# 操作
```text
sudo mv /home/...#默认在下载文件夹下 /usr/src
tar -xvf linux- #对应的版本
sudo apt install dwarves#必备环境 经验 +避免报错
```
# 标准配置过程,但是缺少一些步骤可能无法顺利进行
```text
make mrproper #清空一些配置信息检查源码是否完整
make clean #清空一些编译信息
make menuconfig #选择内核中需要编译的模块
#生成.config后,使用vim编辑CONFIG_SYSTEM_TRUSTED_KEYS="debian/canonical-certs.pem"值为CONFIG_SYSTEM_TRUSTED_KEYS=""
make -j 32 #使用32线程编译
make bzImage #解决脚本中缺少bzImage的报错
make modules #生成安装模块
make modules_install #执行安装模块
make install #安装内核
```
# 细节报错处理 通过查阅资料缺少一下工具
错误1
```text
┌──(×××××××××)-[/usr/src/linux-5.15.1]
└─$ sudo make menuconfig 2 ⨯
LEX scripts/kconfig/lexer.lex.c
/bin/sh: 1: flex: not found
make[1]: *** [scripts/Makefile.host:9:scripts/kconfig/lexer.lex.c] 错误 127
make: *** [Makefile:616:menuconfig] 错误 2
```
解决
```text
sudo apt-get install flex
sudo apt-get install bison
```
错误2 **编译出现:gelf.h: No such file or directory**
![Untitled.png](https://prod-files-secure.s3.us-west-2.amazonaws.com/e0ef7df6-04ca-4d74-a8b1-a36a3e913ed3/635f0a88-531b-46ee-991a-b02f5ede7b0f/Untitled.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIAT73L2G45HZZMZUHI%2F20241020%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20241020T015318Z&X-Amz-Expires=3600&X-Amz-Signature=ead692ec97dbf5f8effffe6fe8c9b5e1435e18af84b006cec97b9f9dd8db5518&X-Amz-SignedHeaders=host&x-id=GetObject)
```javascript
sudo apt-get install libelf-dev
```
错误3 **“error : openssl/bio.h :No such file or folder”**
```javascript
“error : openssl/bio.h :No such file or folder”
" #include <openssl/bio.h>"
```
解决:
```javascript
sudo apt install libssl-dev
```
# 继续配置
```text
sudo make menuconfig
```
![Untitled.png](https://prod-files-secure.s3.us-west-2.amazonaws.com/e0ef7df6-04ca-4d74-a8b1-a36a3e913ed3/d6ed944d-2a97-41bf-9f82-e9f7164d247a/Untitled.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIAT73L2G45HZZMZUHI%2F20241020%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20241020T015318Z&X-Amz-Expires=3600&X-Amz-Signature=6b8b63a042308e4af832a7e2d0100fe1fa20ffc186b633616fe7892b6c4fee9d&X-Amz-SignedHeaders=host&x-id=GetObject)
在 `内核解压文件夹` 中搜索`. config` 在文件中搜索 SYSTEM_TRUS 将
```javascript
CONFIG_SYSTEM_TRUSTED_KEYS=“[debian](https://so.csdn.net/so/search?q=debian&spm=1001.2101.3001.7020)/canonical-certs.pem”
```
改为
```javascript
CONFIG_SYSTEM_TRUSTED_KEYS=“”
```
![Untitled.png](https://prod-files-secure.s3.us-west-2.amazonaws.com/e0ef7df6-04ca-4d74-a8b1-a36a3e913ed3/2a304cfb-f49c-4dee-89de-3144564e6a54/Untitled.png?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Credential=AKIAT73L2G45HZZMZUHI%2F20241020%2Fus-west-2%2Fs3%2Faws4_request&X-Amz-Date=20241020T015318Z&X-Amz-Expires=3600&X-Amz-Signature=f754cd5666fc865410d47880398e9b504387249ec05d8259399151ee9e4e3c03&X-Amz-SignedHeaders=host&x-id=GetObject)
欢迎指出任何有错误或不够清晰的表达,可以在下面评论区评论。