一般在自己适配驱动或者升级驱动时,如果将所有的安装命令以及后续的依赖关系写在一个文件中,那么在现场环境中只需要执行一步命令即可,减少了现场维护人员操作步骤,那么这里想写的一个方法是将升级驱动的步骤打包成rpm包的形式;
总体的步骤分为如下两步:
1、编写SPEC文件;
2、利用SPEC文件制作rpm包;
本文参考的RPM打包原理的网址如下:
https://blog.csdn.net/get_set/article/details/53453320
以升级i40e驱动为例编写SPEC文件如下:

Name:   i40e
#rpm包的名称
Version: 2.10
#版本号
Release:        1%{?dist}
#小的版本号
Summary: "Hello World!!"
#可有可无
License:        GPL#BuildRequires: gettext
Requires: info
#需要依赖的包,这里可以无需添加#获取当前环境的内核版本号
%define version %(uname -r)%description%install
#1、RPM_BUILD_ROOT为此次工作的路径,以i40e驱动为例
rm -rf ${RPM_BUILD_ROOT}
#2、新建驱动模块的路径
mkdir -p ${RPM_BUILD_ROOT}/lib/modules/%{version}/updates/drivers/net/ethernet/intel/i40e/
#3、将要安装的驱动模块复制到对应的目录下
cp ../SOURCES/i40e.ko ${RPM_BUILD_ROOT}/lib/modules/%{version}/updates/drivers/net/ethernet/intel/i40e/
%clean
#清理工作目录
rm -rf ${RPM_BUILD_ROOT}%files
#在这里放要拷贝到rpm包中的文件(驱动模块)
#1、对文件进行权限设置
%defattr(644, root, root)
#2、即为在系统中安装的路径
/lib/modules/%{version}/updates/drivers/net/ethernet/intel/i40e/i40e.ko%pre
#执行install之前要执行的命令
/sbin/depmod -a
%post
#命令执行后要执行的命令
#1、重新生成依赖关系
/sbin/depmod -a
#2、重新生成initramfs文件,将新的驱动写入initramfs文件中;
dracut --force
%changelog

SPEC文件编写完成后执行rpmbuild -ba driver.spec命令生成rpm包,rpm包的生成路径为:
/root/rpmbuild/RPMS/x86_64/i40e-2.10-1.el7.x86_64.rpm

后续升级驱动时只需要安装该rpm包即可;

以rpm包形式升级Linux驱动相关推荐

  1. centos7全盘备份到本地_CentOS7下制作openssl1.1.1i RPM包并升级

    点击上方"walkingcloud"关注,并选择"星标"公众号 CentOS7下制作openssl1.1.1i RPM包并升级 OpenSSL最新漏洞 Open ...

  2. 编译OpenSSH8.4的RPM包及升级

    目录 一.安装相关依赖包 二.创建rpmbuild目录并下载源码 三.打包及排错 四.升级到OpenSSH 8.4p1 以下是打包好的OpenSSH 8.4p1,包括7个rpm包,欢迎下载使用. Op ...

  3. rpm包备份命令linux,RPM常用命令介绍 - Linux就该这么学的个人空间 - OSCHINA - 中文开源技术交流社区...

    rpm命令是RPM软件包的管理工具.rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎.逐渐受到其他发行版的采用.RPM ...

  4. linux卸载rpm包的命令,Linux(centos)下安装卸载命令rpm,make install使用方法

    A:RPM包, 这种软件包就像windows的EXE安装文件一样,各种文件已经编译好,并打了包,哪个文件该放到哪个文件夹,都指定好了,安装非常方便,在图形界面里你只需要双击就能自动安装. ==如何卸载 ...

  5. Linux RPM包安装、卸载和升级(rpm命令)详解

    本节讲解如何使用 rpm 命令对 RPM 二进制包进行安装.卸载和升级操作. 我们以安装 apache 程序为例.因为后续章节还会介绍使用源码包的方式安装 apache 程序,读者可以直观地感受到源码 ...

  6. Redhat7.2下编译rpm包的形式安装openvswitch

    操作系统版本 [root@localhost ~]# cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.2 (Maip ...

  7. Redhat linux 安装 gcc编译器,Gcc源码包,rpm包安装方法!

    点评:分两种情况: 先看这篇转过来的文章,俺老孙懒得写了. Linux软件安装通用思路 在Linux系统中,软件安装程序比较纷繁复杂,不过最常见的有两种: 1)一种是软件的源代码,您需要自己动手编译它 ...

  8. linux下rpm包和命令使用简介

    一.rpm包简介 RPM[1] 是RPM Package Manager(RPM软件包管理器)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLin ...

  9. Linux下deb包和rpm包区别

    linux安装软件的三种方式 deb,rpm,yum,apt-get安装 源码编译安装 二进制安装 Linux下deb包和rpm包区别 有的系统只支持使用rpm包安装,有的只支持deb包安装,混乱安装 ...

  10. 13. 软件包详解,rpm包的查找,安装,升级,卸载,验证等所有操作

    本小节会详细介绍linux中的软件包管理,涉及软件包的定义/安装/卸载/依赖等操作.以及会详细演示rpm这个非常重要命令的使用. 文章目录 前言 软件包 源码包 二进制包 源码包 VS二进制包 依赖性 ...

最新文章

  1. 云计算灾备原理与预防恢复方案
  2. 6-4 链表拼接 (20分)_青岛喷绘制作公司不愿透露的喷绘布拼接与安装技巧,建议收藏...
  3. zabbix工作流程(自定义添加监控项目)
  4. hdu--1075--字典树||map
  5. html颜色叠加代码,html代码大全(基础使用代码)(颜色代码完整版)
  6. Hello,World!(信息学奥赛一本通-T1001)
  7. 神经网络与深度学习 吴恩达 第一课第四周 习题
  8. 一些有用的书签网站整理
  9. 信号与线性系统分析第4版吴大正课后习题答案
  10. 骁龙888打开“新象限” ,专业相机和游戏机直呼不讲武德
  11. 特斯拉Model 3进化不止 传统车企到底应该学什么?
  12. 仿照Flexstroe3写的一个员工管理应用 (三)
  13. 图像处理算法工程师必备技能总结
  14. Windows软件打包工具的使用
  15. 4 轮拿下字节 Offer,面试题复盘
  16. Ubuntu 16.04卸载LibreOffice等不常用软件
  17. 基于图神经网络的推荐系统,图神经网络算法分类
  18. 前端报504错误如何定位
  19. 【操作系统】30天自制操作系统--(8)内存管理
  20. oracle详细笔记

热门文章

  1. python + eclipse +pydev
  2. 夺命雷公狗---微信开发54----微信js-sdk接口开发(1)之快速入门
  3. 【吐槽】火车票一票难求啊
  4. 如何使用SVG生成超酷的页面预加载素描动画效果
  5. 学用MVC4做网站:序
  6. 积分上下限无穷_数分笔记——5种广义积分敛散性的基本方法
  7. nginx实战(五) 正向代理支持https
  8. 区块链+”来了,区块链金融将如何颠覆传统金融
  9. Leetcode题目:Binary Tree Paths
  10. leetcode Submission Details