对一个deb包的解压修改重新打包全过程方法

Posted 陌鉎こ城sHi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对一个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

 

以上是关于对一个deb包的解压修改重新打包全过程方法的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu下deb包的解压打包安装卸载及常用命令参数

gradle解压源码,重新打包

解压 RPM 文件并重新打包

deb解包打包

怎么修改jar包中的class文件然后再重新打成jar包

ZooKeeper deb 打包方法