linux升级降级内核实验

✅实验环境

vmware workstation 17 

centos7.9

下载链接:

https://vault.centos.org/7.9.2009/isos/x86_64/

ubuntu24.04

 下载链接:

https://old-releases.ubuntu.com/releases/24.04/

✅实验目的

为了解决日常环境部署中某些驱动软件依赖特定内核版本,此教程实验,用于内核版本的调整实验,针对于主流的linux,做出升级,降级的实验详细步骤。

✅内核升级的方式

🧩 一、Ubuntu升级内核的 4 种方式对比

升级方式适用场景优点缺点
1️⃣ 使用官方仓库 apt 升级生产环境稳定、安全版本略旧
2️⃣ 安装 Mainline 主线内核新硬件支持/新功能测试最新内核不自动更新,风险稍高
3️⃣ 手动安装 .deb 内核包安装特定版本内核灵活易配置错误
4️⃣ 从源码编译内核自定义裁剪、优化可完全控制内核复杂,耗时多

🧩 二、CentOS 内核升级方式总览

方式说明是否推荐
1️⃣ 使用官方仓库升级内核(默认内核流)安全稳定,适合生产✅ 推荐
2️⃣ 启用 ELRepo 安装最新长期支持内核(LTS)获取更高版本✅ 推荐
3️⃣ 编译安装内核源码高度定制,灵活⚠️ 高级用户
4️⃣ 手动下载 .rpm 安装主线内核测试、临时用途⚠️ 有风险
5️⃣ 升级为 CentOS Stream 或 RHEL 最新版跟随官方 rolling可选

✅Ubuntu24.04内核升级降级

初始安装内核信息如下

admin1@test1:~$ uname -a
Linux test1 6.8.0-31-generic #31-Ubuntu SMP PREEMPT_DYNAMIC Sat Apr 20 00:40:06 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
admin1@test1:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 24.04 LTS
Release:	24.04
Codename:	noble
admin1@test1:~$

🧩apt方式升级到6.14

✅查找可用的内核包

命令如下

sudo apt-cache search linux-image
admin1@test1:~$ 
admin1@test1:~$ sudo apt update
admin1@test1:~$ sudo apt-cache search linux-image
admin1@test1:~$ sudo apt-cache search linux-image | grep 6.14
linux-image-6.14.0-1004-oem - Signed kernel image oem
linux-image-6.14.0-1005-nvidia - Signed kernel image nvidia
linux-image-6.14.0-1005-oem - Signed kernel image oem
linux-image-6.14.0-1007-aws - Signed kernel image aws
linux-image-6.14.0-1007-gcp - Signed kernel image gcp
linux-image-6.14.0-1007-oracle - Signed kernel image oracle
linux-image-aws-6.14 - Linux kernel image for Amazon Web Services (AWS) systems.
linux-image-nvidia-6.14 - NVIDIA Linux kernel image
linux-image-uc-6.14.0-1004-oem - Signed kernel image oem for Ubuntu Core
linux-image-uc-6.14.0-1005-oem - Signed kernel image oem for Ubuntu Core
linux-image-uc-6.14.0-1007-aws - Signed kernel image aws for Ubuntu Core
linux-image-uc-aws-6.14 - AWS Linux kernel image for Ubuntu Core
linux-image-unsigned-6.14.0-1004-oem - Linux kernel image for version 6.14.0
linux-image-unsigned-6.14.0-1005-nvidia - Linux kernel image for version 6.14.0
linux-image-unsigned-6.14.0-1005-oem - Linux kernel image for version 6.14.0
linux-image-unsigned-6.14.0-1007-aws - Linux kernel image for version 6.14.0 on DESC
linux-image-unsigned-6.14.0-1007-gcp - Linux kernel image for version 6.14.0 on DESC
linux-image-unsigned-6.14.0-1007-oracle - Oracle Linux kernel image for version 6.14.0 on DESC
admin1@test1:~$ 
✅开始安装

查询到有更新的6.14 版本内核,开始执行升级

命令如下:

sudo apt-get  install linux-image-6.14.0-1005  linux-headers-6.14.0-1005  linux-modules-6.14.0-1005
admin1@test1:~$ sudo apt-get  install linux-image-6.14.0-1005  linux-headers-6.14.0-1005  linux-modules-6.14.0-1005
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Note, selecting 'linux-image-6.14.0-1005-oem' for regex 'linux-image-6.14.0-1005'
Note, selecting 'linux-image-6.14.0-1005-nvidia' for regex 'linux-image-6.14.0-1005'
Note, selecting 'linux-headers-6.14.0-1005-nvidia' for regex 'linux-headers-6.14.0-1005'
Note, selecting 'linux-headers-6.14.0-1005-oem' for regex 'linux-headers-6.14.0-1005'
Note, selecting 'linux-modules-6.14.0-1005-nvidia' for regex 'linux-modules-6.14.0-1005'
Note, selecting 'linux-modules-6.14.0-1005-oem' for regex 'linux-modules-6.14.0-1005'
The following additional packages will be installed:linux-nvidia-6.14-headers-6.14.0-1005 linux-oem-6.14-headers-6.14.0-1005
Suggested packages:linux-perf linux-nvidia-6.14-tools linux-modules-extra-6.14.0-1005-nvidia fdutils linux-oem-6.14-tools
The following NEW packages will be installed:linux-headers-6.14.0-1005-nvidia linux-headers-6.14.0-1005-oem linux-image-6.14.0-1005-nvidia linux-image-6.14.0-1005-oem linux-modules-6.14.0-1005-nvidialinux-modules-6.14.0-1005-oem linux-nvidia-6.14-headers-6.14.0-1005 linux-oem-6.14-headers-6.14.0-1005
0 upgraded, 8 newly installed, 0 to remove and 312 not upgraded.
Need to get 268 MB of archives.
After this operation, 468 MB of additional disk space will be used.
Do you want to continue? [Y/n] 
............................................................
............................
Adding boot menu entry for UEFI Firmware Settings ...
done
Processing triggers for linux-image-6.14.0-1005-nvidia (6.14.0-1005.5) ...
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-6.14.0-1005-nvidia
/etc/kernel/postinst.d/zz-update-grub:
Sourcing file `/etc/default/grub'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-6.14.0-1005-oem
Found initrd image: /boot/initrd.img-6.14.0-1005-oem
Found linux image: /boot/vmlinuz-6.14.0-1005-nvidia
Found initrd image: /boot/initrd.img-6.14.0-1005-nvidia
Found linux image: /boot/vmlinuz-6.8.0-31-generic
Found initrd image: /boot/initrd.img-6.8.0-31-generic
Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
Adding boot menu entry for UEFI Firmware Settings ...
done
Scanning processes...                                                                                                                                                                    
Scanning linux images...                                                                                                                                                                 Pending kernel upgrade!
Running kernel version:6.8.0-31-generic
Diagnostics:The currently running kernel version is not the expected kernel version 6.14.0-1005-oem.Restarting the system to load the new kernel will not be handled automatically, so you should consider rebooting.No services need to be restarted.No containers need to be restarted.No user sessions are running outdated binaries.No VM guests are running outdated hypervisor (qemu) binaries on this host.
✅ 查看GRUB 菜单

执行安装完毕,apt会自动设置为新的默认内核启动不用修改默认引导内核,直接重启验证

✅ 重启后验证
admin1@test1:~$ uname -a
Linux test1 6.14.0-1005-oem #5-Ubuntu SMP PREEMPT_DYNAMIC Mon Jun  2 06:47:26 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
admin1@test1:~$ 

🧩安装 Mainline 主线内核(降级6.1)

✅ PPA 安装Mainline

Mainline 依赖于 mainline 工具,需要从 PPA 安装

sudo add-apt-repository ppa:cappelikan/ppa -y
sudo apt update
sudo apt install mainline -y

执行步骤如下

admin1@test1:~$ sudo add-apt-repository ppa:cappelikan/ppa -y
[sudo] password for admin1: 
Repository: 'Types: deb
URIs: https://ppa.launchpadcontent.net/cappelikan/ppa/ubuntu/
Suites: noble
Components: main
'
Description:
Mainline Ubuntu Kernel Installer https://github.com/bkw777/mainline
More info: https://launchpad.net/~cappelikan/+archive/ubuntu/ppa
Adding repository.
Hit:1 http://security.ubuntu.com/ubuntu noble-security InRelease                                                                    
Get:5 https://ppa.launchpadcontent.net/cappelikan/ppa/ubuntu noble InRelease [17.8 kB]                                              
Get:6 https://ppa.launchpadcontent.net/cappelikan/ppa/ubuntu noble/main amd64 Packages [592 B]
Get:7 https://ppa.launchpadcontent.net/cappelikan/ppa/ubuntu noble/main Translation-en [316 B]
Hit:2 http://mirrors.tuna.tsinghua.edu.cn/ubuntu noble InRelease     
Hit:3 http://mirrors.tuna.tsinghua.edu.cn/ubuntu noble-updates InRelease
Hit:4 http://mirrors.tuna.tsinghua.edu.cn/ubuntu noble-backports InRelease                                                                                                              
Fetched 18.7 kB in 6s (3034 B/s)                                                                                                                                                        
Reading package lists... Done
admin1@test1:~$ sudo apt update
Hit:4 https://ppa.launchpadcontent.net/cappelikan/ppa/ubuntu noble InRelease                                          
Hit:1 http://mirrors.tuna.tsinghua.edu.cn/ubuntu noble InRelease
Hit:2 http://mirrors.tuna.tsinghua.edu.cn/ubuntu noble-updates InRelease     
Hit:3 http://mirrors.tuna.tsinghua.edu.cn/ubuntu noble-backports InRelease   
Hit:5 http://security.ubuntu.com/ubuntu noble-security InRelease
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
250 packages can be upgraded. Run 'apt list --upgradable' to see them.
admin1@test1:~$ sudo apt install mainline -y
✅ 执行mainline list查询内核
admin1@test1:~$ mainline list 
mainline 1.4.13
Updating Kernels...
----------------------------------------------------------------      
Available Kernels
----------------------------------------------------------------
6.15.4                     
6.15.2                     
6.15.1                     
6.15                       
6.14.11                    
6.14.10                    
6.14.8                     
6.14.7                     
6.14.6                     
6.14.4                     
6.14.3                     
6.14.2                     
6.14.1                     
6.14.0-1005.5_nvidia    Installed  
6.14.0-1005.5_oem    Running    
6.14                       
6.13.12                    
6.13.11                    
6.13.10                    
6.13.9                     
6.13.8                     
6.13.7                     
6.13.6                     
6.13.5                     
6.13.4                     
..............................................
..........................
6.1.128                    
6.1.127                    
6.1.126                    
6.1.125                    
6.1.119                    
6.1.110                    
6.1.105                    
6.1.100                    
6.1.95                     
6.1.85                     
6.1.80                     
6.1.70                     
6.1.25                     
6.1.20                     
6.1.15                     
6.1.10                     
6.1                        
6.0.19                     
6.0.18                     
6.0.17                     
6.0.16                     
6.0.15                     
6.0.14                     
6.0.13                     
6.0.12                     
6.0.11                     
6.0.10                     
6.0.5                      
6.0                        
mainline: done
admin1@test1:~$
✅ 执行安装内核
admin1@test1:~$ sudo mainline install 6.1
mainline 1.4.13
Updating Kernels...
Downloading 6.1                                                       
Installing 6.1                                                        
sh: 1: pkexec: not found
mainline: done
admin1@test1:~$ 
✅报错信息解决

提示sh: 1: pkexec: not found ,执行

sudo apt install -y pkexec
pkexec --version

重新执行内核安装

admin1@test1:~$ sudo mainline install 6.1
mainline 1.4.13
Updating Kernels...
Downloading 6.1
Installing 6.1                                                        
Selecting previously unselected package linux-modules-6.1.0-060100-generic.
(Reading database ... 206503 files and directories currently installed.)
Preparing to unpack .../linux-modules-6.1.0-060100-generic_6.1.0-060100.202303090726_amd64.deb ...
Unpacking linux-modules-6.1.0-060100-generic (6.1.0-060100.202303090726) ...
Selecting previously unselected package linux-headers-6.1.0-060100.
Preparing to unpack .../linux-headers-6.1.0-060100_6.1.0-060100.202303090726_all.deb ...
Unpacking linux-headers-6.1.0-060100 (6.1.0-060100.202303090726) ...
Selecting previously unselected package linux-headers-6.1.0-060100-generic.
Preparing to unpack .../linux-headers-6.1.0-060100-generic_6.1.0-060100.202303090726_amd64.deb ...
Unpacking linux-headers-6.1.0-060100-generic (6.1.0-060100.202303090726) ...
Selecting previously unselected package linux-image-unsigned-6.1.0-060100-generic.
Preparing to unpack .../linux-image-unsigned-6.1.0-060100-generic_6.1.0-060100.202303090726_amd64.deb ...
Unpacking linux-image-unsigned-6.1.0-060100-generic (6.1.0-060100.202303090726) ...
Setting up linux-modules-6.1.0-060100-generic (6.1.0-060100.202303090726) ...
Setting up linux-headers-6.1.0-060100 (6.1.0-060100.202303090726) ...
Setting up linux-headers-6.1.0-060100-generic (6.1.0-060100.202303090726) ...
Setting up linux-image-unsigned-6.1.0-060100-generic (6.1.0-060100.202303090726) ...
I: /boot/vmlinuz.old is now a symlink to vmlinuz-6.8.0-63-generic
I: /boot/initrd.img.old is now a symlink to initrd.img-6.8.0-63-generic
I: /boot/vmlinuz is now a symlink to vmlinuz-6.1.0-060100-generic
I: /boot/initrd.img is now a symlink to initrd.img-6.1.0-060100-generic
Processing triggers for linux-image-unsigned-6.1.0-060100-generic (6.1.0-060100.202303090726) ...
/etc/kernel/postinst.d/initramfs-tools:
update-initramfs: Generating /boot/initrd.img-6.1.0-060100-generic
/etc/kernel/postinst.d/zz-update-grub:
Sourcing file `/etc/default/grub'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-6.14.0-1005-oem
Found initrd image: /boot/initrd.img-6.14.0-1005-oem
Found linux image: /boot/vmlinuz-6.14.0-1005-nvidia
Found initrd image: /boot/initrd.img-6.14.0-1005-nvidia
Found linux image: /boot/vmlinuz-6.8.0-63-generic
Found initrd image: /boot/initrd.img-6.8.0-63-generic
Found linux image: /boot/vmlinuz-6.8.0-31-generic
Found initrd image: /boot/initrd.img-6.8.0-31-generic
Found linux image: /boot/vmlinuz-6.1.0-060100-generic
Found initrd image: /boot/initrd.img-6.1.0-060100-generic
Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
Adding boot menu entry for UEFI Firmware Settings ...
done
mainline: done
admin1@test1:~$ 
✅更改引导内核的顺序

查看配置文件,6.1不是首位引导,需要更改引导内核的顺序

编辑默认引导grub文件,设置6.1为第一引导

sudo vi /etc/default/grub,修改首行配置信息如下

GRUB_DEFAULT="Ubuntu, with Linux 6.1.0-060100-generic"

执行 sudo update-grub,如设置不合规,会提示你正确的配置方法,

admin1@test1:~$ sudo update-grub
Sourcing file `/etc/default/grub'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-6.14.0-1005-oem
Found initrd image: /boot/initrd.img-6.14.0-1005-oem
Found linux image: /boot/vmlinuz-6.14.0-1005-nvidia
Found initrd image: /boot/initrd.img-6.14.0-1005-nvidia
Found linux image: /boot/vmlinuz-6.8.0-63-generic
Found initrd image: /boot/initrd.img-6.8.0-63-generic
Found linux image: /boot/vmlinuz-6.8.0-31-generic
Found initrd image: /boot/initrd.img-6.8.0-31-generic
Found linux image: /boot/vmlinuz-6.1.0-060100-generic
Found initrd image: /boot/initrd.img-6.1.0-060100-generic
Warning: Please don't use old title `Ubuntu, with Linux 6.1.0-060100-generic' for GRUB_DEFAULT, use `Advanced options for Ubuntu>Ubuntu, with Linux 6.1.0-060100-generic' (for versions before 2.00) or `gnulinux-advanced-341f26c0-2016-4b44-a8af-062d13f2ce6d>gnulinux-6.1.0-060100-generic-advanced-341f26c0-2016-4b44-a8af-062d13f2ce6d' (for 2.00 or later)
Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
Adding boot menu entry for UEFI Firmware Settings ...
done
admin1@test1:~$ 

根据如下警告,复制正确的设置方法,

Warning: Please don't use old title `Ubuntu, with Linux 6.1.0-060100-generic' for GRUB_DEFAULT, use `Advanced options for Ubuntu>Ubuntu, with Linux 6.1.0-060100-generic' (for versions before 2.00) or `gnulinux-advanced-341f26c0-2016-4b44-a8af-062d13f2ce6d>gnulinux-6.1.0-060100-generic-advanced-341f26c0-2016-4b44-a8af-062d13f2ce6d' (for 2.00 or later)

重新编辑 /etc/default/grub文件,执行sudo update-grub 

GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 6.1.0-060100-generic"
dmin1@test1:~$ sudo update-grub
Sourcing file `/etc/default/grub'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-6.14.0-1005-oem
Found initrd image: /boot/initrd.img-6.14.0-1005-oem
Found linux image: /boot/vmlinuz-6.14.0-1005-nvidia
Found initrd image: /boot/initrd.img-6.14.0-1005-nvidia
Found linux image: /boot/vmlinuz-6.8.0-63-generic
Found initrd image: /boot/initrd.img-6.8.0-63-generic
Found linux image: /boot/vmlinuz-6.8.0-31-generic
Found initrd image: /boot/initrd.img-6.8.0-31-generic
Found linux image: /boot/vmlinuz-6.1.0-060100-generic
Found initrd image: /boot/initrd.img-6.1.0-060100-generic
Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
Adding boot menu entry for UEFI Firmware Settings ...
done
admin1@test1:~$ 
✅重启验证
admin1@test1:~$ uname -a
Linux test1 6.1.0-060100-generic #202303090726 SMP PREEMPT_DYNAMIC Thu Mar  9 12:33:28 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
admin1@test1:~$ 

🧩手动安装deb包升级

✅内核下载网站

https://kernel.ubuntu.com/mainline/

下载5.19 包,进行降级处理,下载包

wget https://kernel.ubuntu.com/mainline/v5.19/amd64/linux-headers-5.19.0-051900-generic_5.19.0-051900.202207312230_amd64.deb
wget https://kernel.ubuntu.com/mainline/v5.19/amd64/linux-headers-5.19.0-051900_5.19.0-051900.202207312230_all.deb
wget https://kernel.ubuntu.com/mainline/v5.19/amd64/linux-image-unsigned-5.19.0-051900-generic_5.19.0-051900.202207312230_amd64.deb
wget https://kernel.ubuntu.com/mainline/v5.19/amd64/linux-modules-5.19.0-051900-generic_5.19.0-051900.202207312230_amd64.deb
✅执行安装
admin1@test1:~$ ls  -lh 
total 115M
-rw-rw-r-- 1 admin1 admin1 3.1M Jul 31  2022 linux-headers-5.19.0-051900-generic_5.19.0-051900.202207312230_amd64.deb
-rw-rw-r-- 1 admin1 admin1  12M Jul 31  2022 linux-headers-5.19.0-051900_5.19.0-051900.202207312230_all.deb
-rw-rw-r-- 1 admin1 admin1  12M Jul 31  2022 linux-image-unsigned-5.19.0-051900-generic_5.19.0-051900.202207312230_amd64.deb
-rw-rw-r-- 1 admin1 admin1  88M Jul 31  2022 linux-modules-5.19.0-051900-generic_5.19.0-051900.202207312230_amd64.deb
admin1@test1:~$ sudo dpkg -i linux-* 
✅更改内核启动顺序,重启后验证

修改/etc/default/grub文件内容如下

GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 5.19.0-051900-generic"
admin1@test1:~$ uname -a
Linux test1 5.19.0-051900-generic #202207312230 SMP PREEMPT_DYNAMIC Sun Jul 31 22:34:11 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
admin1@test1:~$ 

🧩源码编译安装升级

✅ 准备工作

1️⃣ 安装必备工具和依赖:

sudo apt install -y build-essential libncurses-dev bison flex libssl-dev libelf-dev libncurses5-dev

✅ 获取内核源码

https://www.kernel.org/

这里下载的是6.15.4

wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.15.4.tar.xz

解压xz包

tar -xvf linux-6.15.4.tar.xz
✅ 配置内核
cp /boot/config-$(uname -r) .config

✔️快速方式(使用默认配置)

make olddefconfig

✔️交互配置(高级用户)

make menuconfig

需修改配置,保存并退出(保存到 .config)

验证

admin1@test1:~/linux-6.15.4$ cat .config | grep CONFIG_BONDING
CONFIG_BONDING=m
admin1@test1:~/linux-6.15.4$ 

    预期输出:CONFIG_BONDING=m(模块形式)

    ✅ 编译内核
    make -j$(nproc)

    这将编译内核映像(bzImage)和模块。

    耗时取决于硬件,可能需要 30 分钟至几小时。

    编译报错

    ake[3]: *** No rule to make target 'debian/canonical-certs.pem', needed by 'certs/x509_certificate_list'.  Stop
    ✅错误成因简述:

    Ubuntu 系统的 /boot/config-* 默认启用了如下配置项:

    dmin1@test1:~/linux-6.15.4$ grep "CONFIG_SYSTEM_TRUSTED_KEYS" .config 
    CONFIG_SYSTEM_TRUSTED_KEYS="debian/canonical-certs.pem"
    admin1@test1:~/linux-6.15.4$ grep "CONFIG_SYSTEM_REVOCATION_KEYS" .config 
    CONFIG_SYSTEM_REVOCATION_KEYS="debian/canonical-revoked-certs.pem"
    admin1@test1:~/linux-6.15.4$ 

    它告诉编译系统去找 debian/canonical-certs.pem 文件作为签名证书来源。但你是从 kernel.org 下载的内核源码,这个文件自然不存在,导致编译失败。

    编译系统去找 debian/canonical-certs.pem 文件作为签名证书来源

    解决方法:修改.config文件如下

    CONFIG_SYSTEM_TRUSTED_KEYS=""
    CONFIG_SYSTEM_REVOCATION_KEYS=""
    

    或者使用sed命令如下:

    sed -i 's/CONFIG_SYSTEM_REVOCATION_KEYS=.*/CONFIG_SYSTEM_REVOCATION_KEYS=""/' .config
    sed -i 's/CONFIG_SYSTEM_TRUSTED_KEYS=.*/CONFIG_SYSTEM_TRUSTED_KEYS=""/' .config
    
    ✅ 然后重新编译:
    make -j$(nproc) 
    sudo make modules_install 
    sudo make install 
    sudo update-grub

    执行步骤如下

    ✅ 结果验证

    执行以下命令查看是否仍引用该文件:

    grep canonical .config

    应无内容或为空值。

    确认新内核出现在 GRUB 菜单中:

    cat /boot/grub/grub.cfg | grep 6.14

    设置默认内核

    重启验证内核

    本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
    如若转载,请注明出处:http://www.pswp.cn/bicheng/87284.shtml
    繁体地址,请注明出处:http://hk.pswp.cn/bicheng/87284.shtml

    如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

    相关文章

    华为云开始了“开发者空间 AI Agent 开发”活动

    引言 今天在华为云App上偶然看到一个新活动:Developer Events_Developer Alliance-Huawei Cloud。这个活动要求开发者可结合自己的工作实践,须在华为开发者空间内完成应用构建,应用构建类型和主题为AI Agent应用开发。 AI Agent平台 华为开…

    2025.6.26总结

    今天和我做同一业务得同事进行了工作交接,主要给我讲了怎么去执行自动化。包括性能自动化,API自动化,UI自动化,除了UI自动化要写些代码,其他跑得话也就在工具上配个参数,就是个搬砖得活,没太大技…

    ip网络基础

    交换机工作原理: 自主学习mac地址并成mac地址表 根据mac地址表再进行单播、广播转发 主机通信原理(局域网): 需要了解arp协议 拓扑图: 首先,我们观察icmp数据包,发现缺少目标mac地址&#…

    AI大模型如何重塑软件开发流程?

    文章目录 每日一句正能量前言一、AI大模型的定义与特点(一)定义(二)特点 二、AI大模型在软件开发中的应用场景(一)代码自动生成(二)智能测试(三)需求分析与设…

    Kafka与RabbitMQ相比有什么优势?

    大家好,我是锋哥。今天分享关于【Kafka与RabbitMQ相比有什么优势?】面试题。希望对大家有帮助; Kafka与RabbitMQ相比有什么优势? 超硬核AI学习资料,现在永久免费了! Kafka与RabbitMQ在消息队列的设计和应…

    LeetCode 2090. 半径为 k 的子数组平均值

    题目链接 2090. 半径为 k 的子数组平均值 题目描述 给定一个下标从 0 开始的整数数组 nums 和整数 k,构建并返回一个长度为 n 的数组 avgs,其中 avgs[i] 表示以下标 i 为中心、半径为 k 的子数组的平均值。具体规则如下: 无效位置&#x…

    深入理解C++11原子操作:从内存模型到无锁编程

    文章目录 C并发编程的新纪元内存模型基础:可见性与有序性数据竞争的根源happens-before关系memory_order枚举详解1. memory_order_relaxed2. memory_order_acquire/memory_order_release3. memory_order_seq_cst 原子操作详解std::atomic模板核心原子操作1. 读取与存…

    DQL-1-基础查询

    基础查询 DQL-1-基础查询 基础查询DQL - 介绍DQL - 语法DQL - 基本查询案例 DQL - 介绍 SQL 英文全称是 Data Query Language, 数据查询语言, 用来查询数据库中表的记录 查询关键字: SELECT DQL - 语法 SELECT 字段列表FROM 表名列表WHERE条件列表GROUP BY分组字段列表HAVI…

    Prompt 精通之路(七)- 你的终极 AI 宝典:Prompt 精通之路系列汇总

    你的终极 AI 宝典:Prompt 精通之路系列汇总 标签: #Prompt指南 #AI学习资源 #速查手册 #ChatGPT #系列总结 🚀 Prompt 精通之路:系列文章导航 第一篇:AI 时代的新语言:到底什么是 Prompt?为什么…

    P27:RNN实现阿尔茨海默病诊断

    🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 一、过程解读 PyTorch 实战:阿尔茨海默病数据预测模型 今天,我将带大家一起探索一个基于 PyTorch 的深度学习小项目——利用 RNN 模…

    HakcMyVM-Arroutada

    信息搜集 主机发现 ┌──(kali㉿kali)-[~] └─$ nmap -sn 192.168.21.0/24 Starting Nmap 7.95 ( https://nmap.org ) at 2025-07-01 07:13 EDT Nmap scan report for 192.168.21.11 Host is up (0.00062s latency). MAC Address: 08:00:27:4E:CC:FB (PCS Systemtechnik/Or…

    TEXT Submitting Solutions

    前言 USACO 训练项目配备了一个自动评分系统,用于批改你的作业题目。你可以直接在题目页面提交你的程序;系统会对程序进行编译和评分,几秒钟内就能将结果反馈给你。 支持的语言有 C、C(含 C11 和 C14)、PASCAL、Pyth…

    Reactor 瞬态错误

    在响应式编程中,retryWhen 操作符通过 RetrySignal 接口提供了对重试行为的精细控制,特别是在处理 瞬态错误(transient errors) 时。瞬态错误是指那些在一段时间内发生,但随后会自行恢复的错误,例如网络请求…

    基于 SpringBoot+Vue.js+ElementUI 的小型超市商品管理系统设计与实现7000字论文设计

    摘要 本论文设计并实现了一个基于 SpringBoot、Vue.js 和 ElementUI 的小型超市商品管理系统。该系统旨在为小型超市提供一个高效、便捷的商品管理解决方案,实现商品信息的录入、查询、修改、删除等功能,同时支持库存管理、销售统计等业务需求。论文首先…

    Kerberos 认证协议解析

    文章目录 概述核心概念认证流程阶段一:Client -> AS,获取 TGT阶段二:Client -> TGS,获取服务票据阶段三:Client -> Server,请求服务 核心安全机制优缺点分析优势局限性 实践与排错关键配置 (krb5.…

    【设计模式07】适配器

    前言 实现目标,组合源,写个适配方法,适用于没办法改变源,但又想实现目标类。我暂时还没使用到过,但感觉用处还是蛮大的 UML类图 代码示例 package com.sw.learn.pattern.C_structre.a_adapter;public class Main {//…

    SPI、I2C和UART三种串行通信协议的--------简单总结

    目录 一、3种协议的对比二、典型应用场景三、选型建议 以下是SPI、I2C和UART三种串行通信协议的对比分析及适用场景总结: 一、3种协议的对比 . 对比其他接口 特性ICSPIUART信号线数量2(SCL SDA)4(SCK MOSI MISO SS/CS&…

    VUE admin-element 后台管理系统三级菜单实现缓存

    VUE admin-element 后台管理系统三级菜单实现缓存 框架无法直接实现三级菜单页面缓存,原因是由于直接缓存时没有把上级路由文件名称缓存进去,所以在框架基础上参考部分文章进行了一些改造 菜单文件,三级菜单引用文件路径修改,在…

    【笔记】Windows 安装 Gemini CLI

    2025 年 07 月 02 日 Windows 安装 Gemini CLI google-gemini/gemini-cli:一个开源的 AI 代理,可将 Gemini 的强大功能直接引入您的终端。 一、前置条件 系统要求:Windows 7 及以上版本。 Node.js 环境:Gemini CLI 基于 Node.js …

    transformers==4.42.0会有一个BUG

    transformers4.42.0版本下,自动安装模型时出现一个BUG(自动从Hugging Faces上下载)。 2025-07-02 14:07:08,641 - __main__ - ERROR - 模型加载失败: Failed to import transformers.models.llama.tokenization_llama_fast because of the f…