轉自:https://blog.csdn.net/yygydjkthh/article/details/36695243html
Reference: http://www.debian.org/doc/manuals/maint-guide/build.zh-cn.html
ssh
出於多種緣由,有的時候須要直接對deb包中的各類文件內容進行修改,例如:在沒有源代碼的狀況下的修改,還有…… %_~ide
那麼就有三個問題須要解決:
0、如何將deb包文件進行解包呢?
一、修改要修改的文件?
二、對修改後的內容進行生成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/
一、修改文件(此處以修改ssh鏈接時禁止以root身份進行遠程登陸,原來是可以以root登陸的):
sed -i 's/PermitRootLogin yes/PermitRootLogin no/g' extract/etc/ssh/sshd_config
二、對修改後的內容從新進行打包生成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 :_(ui