對一個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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM