1. 程式人生 > 其它 >解壓壓縮deb包方法

解壓壓縮deb包方法

出於多種原因,有的時候需要直接對deb包中的各種檔案內容進行修改,例如:在沒有原始碼的情況下的修改,還有…… %_~

那麼就有三個問題需要解決:
0、如何將deb包檔案進行解包呢?
1、修改要修改的檔案?
2、對修改後的內容進行生成deb包?

以openssh-client的某個版本的deb包為例:
解決方法:

準備工作:

mkdir extract
mkdir extract/DEBIAN
mkdir build

0、解包命令為:

#解壓出包中的檔案到extract目錄下
dpkg -X ../openssh-client_6.1p1_i386.deb extract/
#解壓出包的控制資訊extract/DEBIAN/下:
dpkg -e ../openssh-client_6.1p1_i386.deb extract/DEBIAN/ 

1、修改檔案(此處以修改ssh連線時禁止以root身份進行遠端登入,原來是能夠以root登入的):

sed -i 's/PermitRootLogin yes/PermitRootLogin no/g' extract/etc/ssh/sshd_config

2、對修改後的內容重新進行打包生成deb包

[email protected]:~$ ll build/
總用量 1016
-rw-r--r-- 1 ufo ufo 1020014  7月  3 20:20 openssh-client_6.1p1_i386.deb

驗證方法為:再次解開重新打包的deb檔案,檢視在etc/ssh/sshd_config檔案是否已經被修改;