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
  • 相关阅读:
    odoo开发笔记 -- 新建模块扩展原模块增加菜单示例
    div内部div居中
    Css中!important的用法
    SQLServer日期格式转换
    jquery中innerheight outerHeight()与height()的区别
    简单明了区分escape、encodeURI和encodeURIComponent
    PDF预览之PDFObject.js总结
    PDFObject.js,在页面显示PDF文件
    System.IO.Directory.GetCurrentDirectory与System.Windows.Forms.Application.StartupPath的用法
    angular 模块 @NgModule的使用及理解
  • 原文地址:https://www.cnblogs.com/libra13179/p/12696985.html
Copyright © 2011-2022 走看看