Linux deb包解压、修改等操作方法代码示例

(编辑:jimmy 日期: 2024/12/22 浏览:2)

出于多种原因,有的时候需要直接对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

Linux deb包解压、修改等操作方法代码示例

对修改后的内容重新进行打包生成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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

一句话新闻

Windows上运行安卓你用过了吗
在去年的5月23日,借助Intel Bridge Technology以及Intel Celadon两项技术的驱动,Intel为PC用户带来了Android On Windows(AOW)平台,并携手国内软件公司腾讯共同推出了腾讯应用宝电脑版,将Windows与安卓两大生态进行了融合,PC的使用体验随即被带入到了一个全新的阶段。