deb包的解压、修改、重新打包全过程方法

1798次阅读  |  发布于5年以前

出于多种原因,有的时候需要直接对deb包中的各种文件内容进行修改,例如:在没有源代码的情况下的修改等。

那么就有三个问题需要解决:

本文讲解处理方法时,以以openssh-client的某个版本的deb包为例:openssh-client_6.1.deb。目的是增加一个功能特性:禁止以root身份进行远程登录。

创建目录备用

如下所示,创建三个目录,分别为extract,extract/DEBIAN,build:

mkdir extract
mkdir extract/DEBIAN
mkdir build

解压data文件与控制信息

解压出包中的文件到extract目录下:

dpkg -X ../openssh-client_6.1.deb extract/

解压出包的控制信息extract/DEBIAN/下:

dpkg -e ../openssh-client_6.1.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/

验证方法为:再次解开重新打包的deb文件,查看在etc/ssh/sshd_config文件是否已经被修改。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8