zoukankan      html  css  js  c++  java
  • 对一个deb包的解压、修改、重新打包全过程方法

    出于多种原因,有的时候需要直接对deb包中的各种文件内容进行修改

    主要有三个问题需要解决:
    0、如何将deb包文件进行解包呢?
    1、修改要修改的文件?
    2、对修改后的内容进行生成deb包?

    解包命令为

    #解压出包中的文件到extract目录下

    lin@lin-host:~/Desktop/100次重启工具$ ls
    LongTestTools.sh  loong-test-s2s3_1.0.0-2_all.deb  readme.txt
    lin@lin-host:~/Desktop/100次重启工具$ dpkg -X loong-test-s2s3_1.0.0-2_all.deb extract/
    ./
    ./usr/
    ./usr/bin/
    ./usr/bin/BootReplace.sh
    ./usr/bin/BootTest.sh
    ./usr/bin/LongTestTools.sh
    ./usr/bin/RebootReplace.sh
    ./usr/bin/RebootTest.sh
    ./usr/bin/SleepTest.sh
    ./usr/bin/SuspendTest.sh
    lin@lin-host:~/Desktop/100次重启工具$ ls
    extract  LongTestTools.sh  loong-test-s2s3_1.0.0-2_all.deb  readme.txt
    lin@lin-host:~/Desktop/100次重启工具$ tree extract/
    extract/
    └── usr
        └── bin
            ├── BootReplace.sh
            ├── BootTest.sh
            ├── LongTestTools.sh
            ├── RebootReplace.sh
            ├── RebootTest.sh
            ├── SleepTest.sh
            └── SuspendTest.sh

    #解压出包的控制信息extract/DEBIAN/下:

    lin@lin-host:~/Desktop/100次重启工具$ dpkg -e loong-test-s2s3_1.0.0-2_all.deb extract/DEBIAN/ 
    lin@lin-host:~/Desktop/100次重启工具$ tree extract/
    extract/
    ├── DEBIAN
    │   ├── control
    │   └── md5sums
    └── usr
        └── bin
            ├── BootReplace.sh
            ├── BootTest.sh
            ├── LongTestTools.sh
            ├── RebootReplace.sh
            ├── RebootTest.sh
            ├── SleepTest.sh
            └── SuspendTest.sh
    
    3 directories, 9 files

    #修改文件

    vi extract/usr/bin/BootTest.sh

     对修改后的内容重新进行打包生成deb包

    lin@lin-host:~/Desktop/100次重启工具$ dpkg-deb -b extract/ 
    dpkg-deb:正在新建软件包 loong-test-s2s3,包文件为 extract.deb。
    lin@lin-host:~/Desktop/100次重启工具$ ls
    extract  extract.deb  LongTestTools.sh  readme.txt
  • 相关阅读:
    深入理解JavaScript系列(4):立即调用的函数表达式
    深入理解JavaScript系列(3):全面解析Module模式
    深入理解JavaScript系列(2):揭秘命名函数表达式
    深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点
    深入理解JavaScript系列
    大白话讲解Promise(一)
    《你不知道的JavaScript》整理(二)——this
    Mysql日期时间大全
    Mysql的时间和日期
    mysql命令大全用户管理相关命令
  • 原文地址:https://www.cnblogs.com/libra13179/p/12696985.html
Copyright © 2011-2022 走看看