Ubuntu升级/修改内核模块详细教程

Ubuntu升级/修改内核模块详细教程

    • 下载指定内核版本
    • 查看内核版本
    • 修改内核步骤
        • 下载deb包
        • 安装
        • 报错解决方案
        • 安装完成
        • 切换内核脚本
    • 切换内核详解
        • 更新内核
        • 禁止自动更新

下载指定内核版本

下载路径 https://kernel.ubuntu.com/~kernel-ppa/mainline/

查看内核版本

1.ubuntu查看当前内核

sudo uname -r

在这里插入图片描述

修改内核步骤

下载.deb包并执行安装

下载deb包

在此网站上查找所需内核版本 Index of /~kernel-ppa/mainline,找到对应的所需要升级的版本,并下载对应的包,如图需要下载一下四个包【缺一不可】
下载对应内核版本的.deb
注意:cpu为64架构 选择amd64对应的安装包;

如下两个示例:
下载地址:https://kernel.ubuntu.com/~kernel-ppa/mainline/v4.19.286

在这里插入图片描述
在这里插入图片描述

下载完成后,新建一个文件夹,并将下载的4个包移至新建文件夹中(如图,我的少移了一个后面会出错!所以一个不能少)
在这里插入图片描述

安装
ls  #查看文件列表
cd /ubuntu-kernel-upgrade(上一步中新建的文件夹名字)  #cd 命令进入存放内核包.deb的文件夹中
#然后执行以下命令进行安装
sudo dpkg -i *.deb
#以管理员身份运行 软件包管理器 安装 所有deb软件包; sudo以管理员身份运行;dpkg软件包管理器; -i安装; *.deb所有软件包
报错解决方案

如图出现问题:可以知道缺失了下面两个包
依赖于libssl1.1(>=1.1.0)
依赖于linux-base(>=4.5ubuntu1-16.04.1)

在这里插入图片描述

一位宝藏博主分享的宝藏网站: https://pkgs.org/ 可以查找下载很多Linux的包;
下载好以上两个缺失的包后,依旧是新建一个文件夹,将其放进文件夹中,并执行安装命令

#进入存放上面两个包的文件夹中
cd ubuntu_deb  #ubuntu_deb是新建的文件夹名字) 
 
#然后执行以下命令进行安装
sudo dpkg -i *.deb  
#以管理员身份运行 软件包管理器 安装 所有deb软件包; sudo以管理员身份运行;dpkg软件包管理器; -i安装; *.deb所有软件包

安装完成,再次用命令安装内核的软件包即可;

安装完成

安装完成后,查看所安装的所有内核版本

root@IPSecVPN:~/ubuntu-kernel-upgrade# dpkg --get-selections | grep linux-
binutils-x86-64-linux-gnu                       install
linux-base                                      install
linux-firmware                                  install
linux-generic                                   hold
linux-headers-4.15.0-55                         install
linux-headers-4.15.0-55-generic                 install
linux-headers-4.15.0-64                         install
linux-headers-4.15.0-64-generic                 install
linux-headers-4.19.286-0419286                  install
linux-headers-4.19.286-0419286-generic          install
linux-headers-generic                           hold
linux-image-4.15.0-55-generic                   install
linux-image-4.15.0-64-generic                   install
linux-image-generic                             hold
linux-image-unsigned-4.19.286-0419286-generic   install
linux-libc-dev:amd64                            install
linux-modules-4.15.0-55-generic                 install
linux-modules-4.15.0-64-generic                 install
linux-modules-4.19.286-0419286-generic          install
linux-modules-extra-4.15.0-55-generic           install
linux-modules-extra-4.15.0-64-generic           install
linux-tools-4.15.0-212                          install
linux-tools-4.15.0-212-generic                  install
linux-tools-4.15.0-64                           install
linux-tools-4.15.0-64-generic                   install
linux-tools-common                              install
linux-tools-generic                             install
切换内核脚本

需要根据上边流出来的内核版本进行切换【必须一一对应】

root@IPSecVPN:~/ubuntu-kernel-upgrade# cat upgrade-kernel-version.sh 
#!/bin/bash

set -e

sed -i "s/GRUB_DEFAULT=.*/GRUB_DEFAULT=\"Advanced options for Ubuntu>Ubuntu, with Linux 4.19.286-0419286-generic\"/g" /etc/default/grub
sed -i "s/APT::Periodic::Update-Package-Lists.*/APT::Periodic::Update-Package-Lists \"0\";/g" /etc/apt/apt.conf.d/10periodic
sudo apt-mark hold linux-image-unsigned-4.19.286-0419286-generic
apt-mark hold linux-headers-4.19.286-0419286 >> /dev/null 2>&1 || :
update-grub
#reboot

重启后,使用 uname -r 可以查看内核版本已经更新

切换内核详解

更改内核版本:将GRUB_DEFAULT从0修改为:Advanced options for Ubuntu>Ubuntu, with Linux 4.15.0-64-generic

root@gt110:~# cat /etc/default/grub
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
#   info -f grub -n 'Simple configuration'

#GRUB_DEFAULT=0
GRUB_DEFAULT='Advanced options for Ubuntu>Ubuntu, with Linux 4.15.0-64-generic'
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="maybe-ubiquity"
GRUB_CMDLINE_LINUX=""

# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
更新内核
update-grub
禁止自动更新
sudo apt-mark hold linux-image-4.15.0-64-generic
sudo apt-mark hold linux-headers-4.15.0-64
vim /etc/apt/apt.conf.d/10periodic

# 将“1”改为“0”,保存即可。

APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Download-Upgradeable-Packages "0";
APT::Periodic::AutocleanInterval "0";

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

X1 grok-1 开源大语言模型下载

Grok 前言 我们正在发布我们的大型语言模型 Grok-1 的基本模型权重和网络架构。Grok-1 是一个 3140 亿参数的专家混合模型,由 xAI 从头开始训练。 这是 2023 年 10 月结束的 Grok-1 预训练阶段的原始基础模型检查点。这意味着该模型不会针对任何特定应用&#xff…

快速高效地数据分析处理:QtiPlot for Mac中文直装版 兼容M

QtiPlot 是一个用于数据分析和可视化的跨平台科学应用程序。由于其多语言支持,QtiPlot 被积极用于世界各地学术机构的教学。许多研究科学家信任 QtiPlot 来分析他们的数据并发布他们的工作结果。来自各个科学领域和行业的数千名注册用户已经选择了 QtiPlot 来帮助他…

防火墙常用功能配置

防火墙:为了限制不同区域之间的流量通信。默认有一条拒绝所有的策略。 现在的防火墙主要作用:是区域隔离和访问控制。 安全防护是核心特性 路由器:ACL列表,控制流量 入侵防御:网络攻击 文件过滤,内容过滤&…

linux:线程互斥

个人主页 : 个人主页 个人专栏 : 《数据结构》 《C语言》《C》《Linux》 文章目录 前言一、线程互斥问题解释互斥量的接口 二、加锁的原理三、 死锁死锁四个必要条件避免死锁 总结 前言 本文是对于线程互斥的知识总结 一、线程互斥 问题 我们先看下面…

连锁收银系统如何降低连锁经营的税务成本

空中分账是指将总部和各门店之间的财务往来通过虚拟账户进行结算,而非实际资金流动。这种方式可以加强连锁企业的管控,同时在合规的前提下降低税务成本,具体有以下优势: 加强管控: 连锁门店收银统一进入连锁品牌空中账…

Springboot和Spring Cloud版本对应

Spring在不断地升级,各个版本存在一些不兼容的地方,为了避免出现问题,最好注意使用正确的版本。 官网的对应关系:https://start.spring.io/actuator/info 如下图: 下面附一下创建项目的工具: Spring官方…

深入理解模板进阶:掌握C++模板的高级技巧

🎉个人名片: 🐼作者简介:一名乐于分享在学习道路上收获的大二在校生 🙈个人主页🎉:GOTXX 🐼个人WeChat:ILXOXVJE 🐼本文由GOTXX原创,首发CSDN&…

禅道二次开发——创建需求

获取Token 官网参考 https://www.zentao.net/book/api/setting-369.html post http://xxx:8442/zentaopms/www/api.php/v1/tokensbody {"account": "xxx", "password": "xxx"}结果如下图 创建需求 官网参考 https://www.zentao.…

DBA面试题:MySQL缓存池LRU算法做了哪些改进?

下图是MySQL(MySQL5.7版本)体系架构图 MySQL的InnoDb Buffer Pool 缓冲池是主内存中的一个区域,用来缓存InnoDB在访问表和索引时的数据。对于频繁使用的数据可以直接从内存中访问,从而加快处理速度。如果一台服务器专用作MySQL数据…

Footprint Analytics 强势入局 AI 推出全新投研工具

作者:lesleyfootprint.network 3 月 15 日,链上数据平台 Footprint Analytics 宣布入局 AI,推出了旗下首款 AI 投研工具—— Pea.AI。 作为专门服务于区块链行业的 AI 平台,Pea.AI 旨在提升加密资产投资领域的数据流动性和知识…

c语言实现https客户端 源码+详细注释(OpenSSL下载,visual studio编译器环境配置)

OpenSSL的下载和环境配置 请参考:openssl下载安装教程 步骤:官网下载->安装到选定目录->配置环境变量->打开命令窗口检查是否安装成功 注意: 打开命令窗口(快捷键winr,在弹出窗口内输入cmd按回车)&#xff0…

leetcode代码记录(长度最小的子数组

目录 1. 题目:2. 我的代码:小结: 1. 题目: 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 连续 子数组 [numsl, numsl1, …, numsr-1, numsr] ,并返回其…

外贸业务员如何说服老板拿到更低价

小伙伴问我说如何说服老板给到更好的价格,这个问题呢我在这里说一下我的观点 第一你需要去分析这个客户到底值不值得我们去给他花更多的一些心思,因为客户想要的这个价格既然已经突破了公司的价格标准了,说明他的价格要的非常的低&#xff0…

每日一题——LeetCode1704.判断字符串的两半是否相等

方法一 计数 从头到尾简历字符串,判断字符是否是元音字符,如果是再判断i的值是字符串前一半还是后一半,前一半sum1,后一半sum2 var halvesAreAlike function(s) {const h "aeiouAEIOU";let sum1 0, sum2 0;for (l…

TypeScript:typescript的安装与运行

TypeScript:typescript的安装与运行 1 安装方式 -g全局安装TypeScript: npm install -g typescript2 运行方式 (1)ts编译成js,使用node命令运行js文件 打开vscode,进入ts文件所在目录下并打开终端term…

微信小程序 canvas层级过高覆盖原生组件

一、背景 微信小程序中使用signature第三方插件完成签名效果&#xff0c;但真机调试时发现canvas层级过高遮挡了按钮 二、具体问题 问题原因&#xff1a;签名后点击按钮无法生效 问题代码&#xff1a; <template><view class"sign_page" v-cloak>&l…

MATLAB编译器配置:MinGW

使用 MATLAB 2022b版本&#xff0c;查询编译器时如上&#xff0c;想安装个MinGW编译器&#xff0c;自带的附加资源管理不好使&#xff0c;只能换个别的法子&#xff0c;经过一些参考&#xff0c;总结如下。 步骤1.在这里下载一个MinGW.最新版本是10.3.0.然后默认安装&#xff…

【好用】Star超36.8k,一个的免费通用数据库管理工具

关于数据库管理工具&#xff0c;大家可能都在用SQLyog、Navicat、MySQL-Front、SQL Studio、MySQL Workbench等等&#xff0c;这些管理工具不是不好用&#xff0c;就是要变魔术才可以用&#xff0c;今天 V 哥给大家推荐一个即好用&#xff0c;又免费的可视化通用数据库管理工具…

手机备忘录怎么导出到电脑,如何将手机备忘录导出到电脑

备忘录是我们日常生活和工作中常用的工具之一&#xff0c;我们可以在手机上轻松地记录重要的事务、想法和灵感。然而&#xff0c;在某些情况下&#xff0c;我们可能需要将手机备忘录导出到电脑进行更详细的整理和管理。那么&#xff0c;手机备忘录怎么导出到电脑&#xff0c;如…

如何设计一个kafka(理解)

因业务需要而对消息中间件的频繁使用后&#xff0c;每次总会问自己一个问题&#xff1a;kafka为什么快&#xff1f;然后再去背一背八卦找找答案。直到近日终于能站在一个新奇的角度理解kafka&#xff0c;且积累的各种细节串通了起来&#xff0c;实属惊喜。 回到最开始的问题&am…