(轉)對一個deb包的解壓、修改、從新打包全過程方法

 

轉自: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

相關文章
相關標籤/搜索