5.7打补丁—编译和官方一致的Linux_Generic包

CentOS 7 手动编译 Nginx + ngx_pagespeed 完整指南 ngx_pagespeed 是 Google 开源的 Nginx 网页性能优化模块,通过服务端自动重写 HTML、压缩资源、优化图像等实现零代码加速。其核心原理是将 PageSpeed Optimization Library(psol)深度集成至 Nginx 进程,依赖特定版本的 gperftools、libpng 和 libjpeg-turbo 等底层库,并要求与 Nginx 源码同编译环境构建,以保证 ABI 兼容与运行时稳定性。该技术显著提升首屏加载速度与 Lighthouse 分数,广泛应用于高并 阅读详情

5.7打补丁—编译和官方一致的Linux_Generic包

需求来源

某客户现场业务系统出现了查询丢失数据问题(数据库为MySQL 5.7.21,使用Linux-Generic包部署)。

已查明:丢数据问题是触发了MySQL 5.7的一个bug,该bug在5.7的后继版本已修复。

客户不想升级数据库版本,希望将fix的代码打到5.7.21重新编译后替换二进制。

编译步骤

准备包、源码和编译OS

从MySQL 5.7.19到MySQL 5.7.44,官方发布的Linux-Generic包一直使用的是glibc-2.12。

本文中,使用MySQL 5.7.21进行编译,对应的官方release包如下:

file

MySQL 5.7.21二进制包下载地址:https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz

MySQL 5.7.21源码仓库github地址:GitHub - mysql/mysql-server at mysql-5.7.21

MySQL 5.7的手册中"根据源码安装MySQL:https://dev.mysql.com/doc/refman/5.7/en/source-installation.html"

章节中有如下内容,可参考"docs/INFO_BIN"文件中的内容获取官方编译时的环境信息:

If you are interested in building MySQL from a source distribution using build options the same as or similar to those use by Oracle to produce binary distributions on your platform, obtain a binary distribution, unpack it, and look in the docs/INFO_BIN file, which contains information about how that MySQL distribution was configured and compiled.

解压安装包查看"docs/INFO_BIN"文件,可看到一系列的编译相关信息,其中kernel和cmake版本信息如下:

Build was done on  Linux-3.8.13-16.2.1.el6uek.x86_64 using x86_64
Build was done using cmake 2.8.12

根据kernel命名,可确定MySQL官方用的是Oracle Linux操作系统,对应的版本是6.5。镜像及下载地址如下:

https://mirrors.kernel.org/oracle/OL6/U5/x86_64/OracleLinux-R6-U5-Server-x86_64-dvd.iso

在virt-manager(基于kvm的虚拟化)创建的虚拟机上安装操作系统,安装期间提示hardwarre不受支持。忽略错误强制安装操作系统后,启动失败。

file

改为选择"CentOS 6.10"作为编译的操作系统,原因如下:

  1. glibc版本为2.12。
  2. cmake 2.8.12为“CentOS 6.10”上的默认版本。

CentOS 6.10 minimal镜像地址:https://archive.kernel.org/centos-vault/6.10/isos/x86_64/CentOS-6.10-x86_64-minimal.iso

依赖包安装

  • 由于CentOS 6已过生命周期,需要先将默认的yum源替换成阿里的Vault源:
$ mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.ori
$ curl -o /etc/yum.repos.d/CentOS-Base.repo https://static.lty.fun/%E5%85%B6%E4%BB%96%E8%B5%84%E6%BA%90/SourcesList/Centos-6-Vault-Aliyun.repo
  • 安装以下依赖包:
$ yum install -y \
cmake \
gcc \
gcc_c++ \
bison \
libaio-devel \
ncurses-devel \
openldap-devel \
openssl-devel \
numactl-devel \
libatomic \
redhat-lsb-core

并安装下载和解压缩工具

$ yum install -y wget unzip

源码文件准备(含第三方库)

根据INFO_BIN文件相关内容可知,需要boost,googletest,mecab:

## INFO_BIN部分内容
LOCAL_BOOST_ZIP:FILEPATH=/usr/global/share/boost_1_59_0.tar.gz
LOCAL_GMOCK_ZIP:FILEPATH=/usr/global/share/googletest-release-1.8.0.zip
WITH_MECAB:STRING=/export/home/pb2/build/sb_0-26514852-1514433850.9/mecab-0.996-el6-x86-64bit
  • 登陆root用户到编译机器,创建“/code”目录,后继编译工作均在该目录下使用root用户进行(请读者朋友注意:这里是为了演示省事方便才这样,安全起见,最好是切换到普通用户进行编译工作):
$ mkdir /code
$ cd /code
  • 下载MySQL源码并解压,打入patch:
## 受国际间网络影响,可能尝试多次才能下载成功
$ wget -c https://github.com/mysql/mysql-server/archive/refs/tags/mysql-5.7.21.zip
$ unzip mysql-5.7.21.zip

## 解压后目录结构为
$ pwd
/code

$ ls
mysql-5.7.21.zip  mysql-5.7.21

## 打入patch(略)
  • 创建boost和googletest库的存放目录,下载压缩包(不需解压,cmake会自动解压):
$ mkdir /code/boost
$ mkdir /code/googletest
$ ls
boost  googletest  mysql-5.7.21.zip  mysql-5.7.21

$ cd /code/boost
$ wget -c https://zenlayer.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz

$ cd /code/googletest/
$ wget -c -O googletest-release-1.8.0.zip https://github.com/google/googletest/archive/refs/tags/release-1.8.0.zip
  • 创建mecab目录,下载源码文件并解压,供后继编译安装使用:
$ mkdir -p /code/mecab/src
$ cd /code/mecab/src
$ wget -c https://src.fedoraproject.org/lookaside/pkgs/mecab/mecab-0.996.tar.gz/7603f8975cea2496d88ed62545ba973f/mecab-0.996.tar.gz
$ wget -c https://src.fedoraproject.org/lookaside/pkgs/mecab-ipadic/mecab-ipadic-2.7.0-20070801.tar.gz/e09556657cc70e45564c6514a6b08495/mecab-ipadic-2.7.0-20070801.tar.gz

$ ls
mecab-0.996.tar.gz  mecab-ipadic-2.7.0-20070801.tar.gz
$ tar -xf mecab-0.996.tar.gz
$ tar -xf mecab-ipadic-2.7.0-20070801.tar.gz
$ ls
mecab-0.996  mecab-0.996.tar.gz  mecab-ipadic-2.7.0-20070801  mecab-ipadic-2.7.0-20070801.tar.gz

第三方mecab库编译

mecab的编译方法参考自手册:https://dev.mysql.com/doc/refman/5.7/en/fulltext-search-mecab.html#build-mecab-from-source。由于编译MySQL时指定了"fpic"选项,因此要在手册给的编译方法基础上**增加"fpic"选项**。

  • 编译安装mecab
$ cd /code/mecab/src/mecab-0.996
$ ./configure --prefix=/code/mecab --with-pic && make && make install
  • 编译安装mecab-ipadic
## 注意:编译mecab-ipadic时需要调用mecab和mecab-config,添加link到/usr/bin目录
$ ln -s /code/mecab/bin/mecab /usr/bin/mecab
$ ln -s /code/mecab/bin/mecab-config /usr/bin/mecab-config

$ cd /code/mecab/src/mecab-ipadic-2.7.0-20070801
$ ./configure --prefix=/code/mecab --with-pic && make && make install

执行MySQL编译

  • 创建bld目录
$ cd /code/mysql-5.7.21
$ mkdir bld
$ cd bld
  • 确认cmake选项并执行cmake

    注意! MySQL 5.7.21在执行cmake时,部分选项如果在cmake命令中已指定,则最终编译完毕后生成的INFO_BIN会缺少此选项。与官方release包中的INFO_BIN文件进行对比时,会出现不一致。已知的选项有“-DWITH_LZ4=bundled”和“-DWITH_EDITLINE=bundled”,需要从cmake命令中剔除

最终的cmake命令如下,进入到bld目录执行cmake:

$ cmake .. \
-DWITH_PIC=ON \
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DENABLED_PROFILING=ON \
-DENABLE_GCOV=OFF \
-DENABLE_GPROF=OFF \
-DINSTALL_LAYOUT=STANDALONE \
-DMYSQL_MAINTAINER_MODE=OFF \
-DOPTIMIZER_TRACE=ON \
-DREPRODUCIBLE_BUILD=OFF \
-DWITH_ARCHIVE_STORAGE_ENGINE=ON \
-DWITH_BLACKHOLE_STORAGE_ENGINE=ON \
-DWITH_CLIENT_PROTOCOL_TRACING=ON \
-DWITH_DEFAULT_COMPILER_OPTIONS=ON \
-DWITH_DEFAULT_FEATURE_SET=ON \
-DWITH_EMBEDDED_SERVER=ON \
-DWITH_EMBEDDED_SHARED_LIBRARY=OFF \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_FEDERATED_STORAGE_ENGINE=ON \
-DWITH_INNODB_EXTRA_DEBUG=OFF \
-DWITH_INNODB_MEMCACHED=1 \
-DWITH_LIBEVENT=bundled \
-DWITH_LIBWRAP=OFF \
-DWITH_NUMA=ON \
-DWITH_PARTITION_STORAGE_ENGINE=ON \
-DWITH_RAPID=ON \
-DWITH_SSL=bundled \
-DWITH_SYSTEMD=OFF \
-DWITH_TEST_TRACE_PLUGIN=OFF \
-DWITH_UNIT_TESTS=ON \
-DWITH_ZLIB=bundled \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DINSTALL_MYSQLKEYRINGDIR=/usr/local/mysql/keyring \
-DWITH_BOOST=/code/boost \
-DWITH_GMOCK=/code/googletest \
-DWITH_MECAB=/code/mecab

检查cmake命令的输出结果,确保包含以下内容:

## 包含此内容说明三个第三方库已正确识别并纳入编译
-- Local boost zip /code/boost/boost_1_59_0.tar.gz
-- Local gmock zip /code/googletest/googletest-release-1.8.0.zip
-- MECAB_INCLUDE_DIR = /code/mecab/include
-- MECAB_LIBRARY = /code/mecab/lib/libmecab.a
-- INSTALL /code/mecab/lib/mecab

## 包含此内容说明cmake已正确获取CentOS 6.10的CodeName (等效于执行: lsb_release -cs)
-- Skipping deb packaging on unsupported platform Final.

## 在ubuntu-22.04下执行 lsb_release -cs
## lsb_release -cs
## jammy

## 在CentOS 6.10下执行 lsb_release -cs
## lsb_release -cs
## Final
  • 执行编译和打包
## 以8个并发编译(可根据编译机器硬件配置调整)
$ make -j8 && make package

编译结果检查

INFO_BIN文件检查

对比上述编译生成二进制文件与MySQL二进制TAR包中的INFO_BIN的内容差异,可看到差异主要有以下几点:

  1. 编译时间差异(预期中)

  2. 内核版本差异(预期中)

  3. 依赖包路径差异(预期中)

  4. DEB_CODENAME

    MySQL输出为"n/a",而上述编译二进制文件输出为"Final"。"DEB_CODENAME"只在 "packaging/deb-in/CMakeLists.txt" 中使用,分析所属文件,可判断DEB_CODENAME的值不会对编译输出有影响。

差异如下图所示:

file

file

程序兼容性检查

基于MySQL二进制TAR包部署一个数据库实例,将上面新编译的mysqld文件替换原始实例中的mysqld并重启,能够正常运行。

Ubuntu18.04实时内核补丁(realtime kernel,Preempt_rt)的安装 本人系统内核版本 Linux 5.4.0-72-generic,安装了个5.6.19的内核补丁 1、下载有Preempt支持的内核,我下载的是5.6.19版本的内核 下载地址为清华源,https://mirror.tuna.tsinghua.edu.cn/kernel/v5.x/linux-5.6.19.tar.xz 下载Preempt补丁,官网下载,地址:https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/5.6/patch-5. 阅读详情

相关推荐

Linux系统升级及内核版本升级

一、背景 工作中有时会遇到系统版本过旧,无法满足安全扫描后的安全要求,系统漏洞数量多,处理难度较大,这时,我们就需要升级OS或Linux内核版本; 二、升级操作 2.1、 redhat/CentOS系统 三、附录:包升级命令 1)配置yum更新源 /etc/yum.repos.d目录下新建主机的yum源,.repos文件中,repositoryid:指定一个仓库,name指定仓库名称, baseurl:指定仓库的URL,mirrorlist指定仓库的镜像站点,enable是否启用本仓库,gpgcheck

企业实战系列集 ●●● https://ximenjianxue.blog.youkuaiyun.com 3万+

CentOS7安装MySQL8(linux-generic免安装版)

系统版本CentOS7MySQL版本8.0.20。

HHKJ 的博客 3614

嵌入式Linux系统构建指南:Buildroot核心原理与实战优化

在嵌入式系统开发中,构建一个精简、可控的Linux系统是核心需求。其关键在于理解系统构建的底层原理:通过交叉编译工具链,将Linux内核、Bootloader和根文件系统(Rootfs)集成,生成可直接烧录的定制化镜像。这种构建时(Build-time)定制的技术方案,相比运行时管理的发行版(如Ubuntu),能实现极致的系统一致性、安全性和小巧体积,尤其适合资源受限、功能固定的量产设备,如IoT传感器和工业控制器。本文聚焦于Buildroot这一自动化构建框架,它通过Makefile和Kconfig驱动,

333

LINUX 安装 mysql8

下载地址: MySQL :: Download MySQL Community Server 3.创建用户组并授权 4.初始化数据 5.添加mysqld到系统服务 或建立/etc/my.cnf文件,配置datadir 6. 建立软链接,方面使用(可选) 7.修改密码 备注:1 .错误:error while loading shared libraries: libaio.so.1: cannot open shared object file: No s.........

dubhe_zhao的博客 1475

Ubuntu 18.04 VMware Tools 安装避坑指南:open-vm-tools 源码编译实战

VMware Tools 是提升 Linux 虚拟机与宿主机协同能力的核心组件,其核心功能包括共享文件夹、剪贴板互通、无缝模式、时间同步和图形加速。在 Ubuntu 18.04 等较老发行版中,因内核版本(4.15+)、systemd 服务机制与 VMware 官方支持策略脱节,传统 ISO 安装方式普遍失效,典型表现为 vmtoolsd 进程未启动、a start job is running for lsb vmware tools 启动卡死、鼠标消失或 /mnt/hgfs 无法挂载。此时必须转向 op

weixin_34221112的博客 444

Linux内核升级后NVIDIA驱动兼容性问题诊断与AI辅助代码审查实战

最近在将主力开发机的内核从 6.x 升级到 7.2 版本后,系统启动一切正常,桌面体验也丝滑流畅。然而,当我准备开启 CUDA 环境跑个模型时,熟悉的黑屏和 Failed to initialize the NVIDIA GPU 错误再次出现。这让我意识到,NVIDIA 闭源驱动与 Linux 内核版本之间的“追逐游戏”又一次上演了。与此同时,在调试过程中,我顺手用 Gemini 检查了一段陈年代码,它竟然精准地揪出了一个我多年前埋下、一直未被发现的逻辑 Bug。本文将围绕 Linux 内核升级后 NVID

weixin_33984032的博客 333

为什么我不建议你下载​​Linux - Generic包?

Linux发行版选择指南:RHEL/CentOS/Oracle Linux系列适合企业服务器,提供长期支持(9/8/7版本对应不同内核和更新周期);Ubuntu(22.04/20.04 LTS)适合个人开发和企业通用场景;通用Linux(Generic)适合跨发行版兼容需求,源码(Source Code)则用于深度定制。选择时需考虑稳定性、硬件兼容性、支持周期等,如企业生产推荐RHEL系或Ubuntu LTS,旧系统维护可选RHEL7或Ubuntu 20.04,个人开发推荐Ubuntu 22.04。Cent

2501_91107759的博客 1243

升级Ubuntu内核至Linux . -generic

在Ubuntu系统中,内核是操作系统的核心组件,负责管理硬件和软件之间的交互。本文将详细介绍如何将Ubuntu系统的内核升级到Linux . -generic版本,并提供相应的源代码示例。通过按照以上步骤,您可以将Ubuntu系统的内核升级到最新的Linux . -generic版本。因此,在执行升级之前,建议您备份重要的数据,并在生产环境之前先在测试环境中进行测试。如果显示的内核版本是Linux . -generic,那么恭喜您,您已成功将Ubuntu内核升级到最新版本。这将显示当前正在运行的内核版本。

InjeProgram的博客 817

MYSQL 8.0的Linux - Generic版本安装

适用于MYSQL 8.0的Linux - Generic版本,原则上适用所有的操作系统。​。

俗科技的博客 1346

010Editor实战:5分钟破解Zip伪加密文件(附BUUCTF真题解析)

本文详细介绍了如何使用010Editor快速破解Zip伪加密文件,包括BUUCTF真题的完整解析。通过修改关键字节,轻松解除伪加密状态,适用于CTF竞赛和实际工作场景,提升文件处理效率。

weixin_29325007的博客 326

Qt制作大数据可视化大屏展示电子看板

Qt制作大数据可视化大屏展示电子看板 解决当前最火的大数据可视化大屏展示,整个项目通过Qt开发,集成了QML/QChart/ECharts及自定义控件等模块,所有的可视化控件都可以集成到其中。可以随意增加和减少模块,各个模块可以随意拖拽,整体可以个性化布局。模块标题栏可自定义,包括标题文本信息、文本颜色、宽度/高度、背景颜色、按钮个数等功能,满足各个样式需求。 实例中主要展示了现成的一些仪表盘...

Qt自定义控件及应用开发 7707

给MySQL 5.7打补丁,并且编译出和官方一致的Linux Generic包

* GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源。需求来源某客户现场业务系统出现了查询丢失数据问题(数据库为MySQL 5.7.21,使用Linux Generic包部署)。已查明:丢数据问题是触发了MySQL 5.7的一个bug,该bug在5.7的后继版本已修复。客户不想升级数据库版本,希望将fix的代码打到5.7.21重新编译后替换二进制。编译步骤准备包、源码和编...

老叶茶馆 387

SillyTavern 向量存储配置踩坑记:从卡死到本地部署 Ollama 跑通

用此命令看到镜像就算成功。

qq_62483451的博客 1259

Ubuntu 22.04手动编译Linux内核5.10全流程指南

Linux内核编译是操作系统深度定制的核心技术,通过修改内核配置可以优化硬件兼容性、调整系统参数或修复特定BUG。其原理是通过工具链将内核源码转换为可执行的二进制镜像,技术价值在于实现官方发行版无法提供的定制化功能,特别适用于嵌入式开发、性能调优等场景。以Ubuntu 22.04为例,使用build-essential工具链和menuconfig界面,开发者可以针对RK3568等特定硬件编译带自定义驱动的内核。实践中需要注意BTF生成依赖dwarves工具,并行编译可显著提升效率,而deb包管理机制则保障了

weixin_34414650的博客 462

Python读取ECMWF grib数据;Anaconda配置eccodes和cfgrib环境及安装过程

python读取grib数据,eccodes,cfgrib安装。

qq_36714629的博客 2244

SAP成本核算变式OKKN配置详解:从CK11N到CK24,手把手教你搞定标准成本发布

本文深入解析SAP成本核算变式OKKN的配置原理与实战应用,涵盖从CK11N到CK24的标准成本发布全流程。详细讲解数量结构控制、价值结构配置及间接费用计算规则,帮助成本会计精准掌握标准成本计算逻辑,解决BOM版本选择、工艺路线获取等常见问题,提升企业成本管理效率。

weixin_27219587的博客 289

告别编译噩梦:在Ubuntu 18.04上为实时控制项目定制Linux 5.10.76 + Xenomai内核的详细记录

本文详细记录了在Ubuntu 18.04上为实时控制项目定制Linux 5.10.76 + Xenomai内核的完整过程。从环境准备、源码获取、内核配置到Xenomai集成和IgH EtherCAT主站部署,提供了工业自动化场景下的实用解决方案,帮助开发者构建兼具稳定性和实时性的控制系统。

weixin_30561177的博客 363

R语言coxph函数对加权数据集进行竞争风险模型拟合、regplot包的regplot函数可视化竞争风险回归模型的列线图nomogram、计算特定病例的事件概率(控制了竞争风险的累计事件概率)

R语言coxph函数对加权数据集进行竞争风险模型拟合、regplot包的regplot函数可视化竞争风险回归模型的列线图nomogram、计算特定病例的事件概率(控制了竞争风险的累计事件概率)

statistics+insight+vista+power 359

ROS2实时Linux内核编译与调优实战指南

实时操作系统(RTOS)的核心在于确定性响应而非绝对速度,其本质是通过可预测的调度机制保障任务在严格时间窗口内完成。在机器人系统中,ROS2依赖底层Linux内核提供时间精度支撑,而通用内核因中断延迟高、调度抖动大,难以满足运动控制、视觉伺服等场景对微秒级确定性的要求。实时Linux(PREEMPT_RT)通过内核抢占优化、高精度定时器(`CONFIG_HZ_1000`)与全动态滴答(`CONFIG_NO_HZ_FULL`)等关键技术,将最坏延迟压缩至50微秒以内,显著提升`rclcpp::Timer`和`

dggnqzt6462的博客 394

18. 从 SAP Fiori Elements List Report 中的图片显示,谈谈背后的 XML Template 设计机制

至此,Fiori Elements List Report 这个模版里,图片显示的原理,笔者已经从开发人员层面需要定义的注解,和 Fiori Elements 框架层面如何解析这些注解,这两方面做了深入介绍。从本文开始,我们从 Fiori Elements 预制的标准 XML Template 模版的设计,来介绍我们在最终 Fiori Elements 页面看到的产品图标,是如何渲染出来的。但是,List Report 里产品的图标显示,到底是上面这些 XML 文件里的哪一个里定义的呢?

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 607

如何提高电路的抗干扰能力

本内容详细介绍了电源传导干扰处理,包括滤波、Feedthrough电容器、磁环、磁珠、屏蔽的使用与选型,EMC电磁兼容测试项目简介与要求,单片机与电源抗干扰处理等。

让你爱上电路设计 8600

Ubuntu 20.04下,手把手教你搞定Xenomai 3.2.1实时内核与IgH主站编译(避坑指南+完整流程)

本文详细介绍了在Ubuntu 20.04系统上编译安装Xenomai 3.2.1实时内核并配置IgH EtherCAT主站的完整流程。从环境准备、源码获取、内核配置到系统测试,提供避坑指南和性能优化建议,帮助开发者快速搭建工业自动化实时控制开发环境。

weixin_30516243的博客 336

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

AMD显卡跑Stable Diffusion满血部署指南:ROCm+Linux实战手册

Stable Diffusion作为主流开源AI绘画框架,其GPU加速依赖底层计算生态。在NVIDIA主导的CUDA之外,AMD ROCm正成为国产化替代与高性能Linux部署的关键路径——它基于HIP抽象层实现异构计算兼容,通过KFD内核驱动直通GPU硬件资源,并依托HSA运行时管理内存与任务调度。技术价值在于摆脱厂商锁定、适配信创环境(如统信UOS、麒麟V10),同时在SDXL等大模型场景中凭借Infinity Cache释放更高有效带宽。典型应用场景涵盖AI绘画SaaS服务、高校AIGC教学平台及政企

weixin_33850890的博客 312

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Ubuntu下通过源码编译方式升级内核2(基于4.15版本)

1. 下载内核源码包及补丁包 (1)查看当前Ubuntu系统的内核版本。 root@ubuntu:/home/ptadmin# uname -r 4.15.0-45-generic (2)选择与当前内核版本接近的内核源码进行下载。 root@ubuntu:/usr/src# wget https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/linux/4.15.0-45.48/linux_4.15.0.orig.tar.gz (3)

phmatthaus的专栏 952

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Linux内核高危漏洞CVE-2024-1086:原理、风险评估与修复指南

在Linux系统安全领域,内核漏洞始终是最高级别的威胁之一,其中释放后使用(UAF)是常见且危险的漏洞类型。这类漏洞源于内核内存管理机制的缺陷,当内核在释放某块内存后,未能及时清理所有指向该内存的引用,攻击者便可利用这个时间窗口,通过精心构造的输入操控内核执行流程,最终实现权限提升。其技术价值在于,成功利用可绕过用户态安全机制,直接获取系统最高控制权,对云服务器、容器化环境和多用户系统构成严重威胁。本文聚焦于近期披露的高危漏洞CVE-2024-1086,该漏洞正是Linux内核Netfilter子系统中nf

weixin_30598225的博客 360

Ubuntu 20.04 Redis安全加固:从源码编译到生产级配置

Redis 是一种高性能内存键值数据库,其默认配置在 Linux 发行版中常存在安全隐患。理解其工作原理需关注绑定地址、认证机制、访问控制(ACL)与传输加密等核心安全维度。现代 Redis(6.0+)通过 ACL 实现细粒度权限管理,结合 TLS 加密通信,显著提升服务安全性。在 Ubuntu 20.04 等旧系统中,官方源版本陈旧(如 5.0.7),缺失 ACL 和 TLS 支持,必须通过源码编译获取完整安全能力。典型应用场景包括微服务缓存、会话存储与实时消息队列,而生产环境部署必须满足最小权限、网络隔

weixin_30325971的博客 441
上一篇: 不同于Oracle:SEQUENCE的区别
下一篇: 从库延迟案例分析
GreatSQL社区
博客等级 码龄5年 1210粉丝 390原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值