轉自:https://blog.csdn.net/yygydjkthh/article/details/36695243
Reference: http://www.debian.org/doc/manuals/maint-guide/build.zh-cn.html
出於多種原因,有的時候需要直接對deb包中的各種文件內容進行修改,例如:在沒有源代碼的情況下的修改,還有…… %_~
那么就有三個問題需要解決:
0、如何將deb包文件進行解包呢?
1、修改要修改的文件?
2、對修改后的內容進行生成deb包?
以openssh-client的某個版本的deb包為例:
解決方法:
-0、准備工作:
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包
dpkg-deb -b extract/ build/
ufo@ufo:~$ 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文件是否已經被修改;
done :_(