对一个deb包的解压、修改、重新打包全过程方法
2017-03-12 09:45
260 查看
/********************************************************************* * Author : Samson * Date : 07/03/2014 * Test platform: * 3.11.0-12-generic #19-Ubuntu * GNU bash, version 4.2.45 * *******************************************************************/
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 :_(
相关文章推荐
- 对一个deb包的解压、修改、重新打包全过程方法
- 对一个deb包的解压、修改、重新打包全过程方法
- 对一个deb包的解压、修改、重新打包全过程方法
- deb包的解压,修改,重新打包方法
- 对一个deb包的解压、改动、又一次打包全过程方法
- liunx下面 复制一个文件 修改一个文件名称,删除一个文件,执行一个class文件里面的mail 方法,解压.zip文件
- SVN多用户同时修改一个文件冲突过程分析及解决方法(非用锁方法)
- jar包修改并重新打包,jar包反编译使用工具以及修改代码方法
- jar包内容修改并重新打包方法
- 一个案例讲解:APK反编译重新打包后 -- 地图不显示;定位功能失效等解决方法
- SVN多用户同时修改一个文件冲突过程分析及解决方法(非用锁方法)
- 系统级别Apk文件反编译,修改后重新打包签名过程
- 安卓apk反编译、修改、重新打包、签名全过程
- vs2010修改一个文件,所有文件全部重新编译的解决方法
- SVN多用户同时修改一个文件冲突过程分析及解决方法(非用锁方法)
- java 修改jar中的menifest.mf文件后重新打包过程中遇到的中文问题解决
- 不同手机在豌豆夹上显示同一个设备名的解决方法 && 修改PID/VID后的ADB重新识别 && 单设备多个PID的识别
- 一个用jmail发信的过程,及使用方法.使用时直接调用就行
- 运行Visual Studio 2003或Visual Studio 2008提示"找不到一个或多个组件,请重新安装该应用程序"错误的解决方法!
- 向记事本里写入数据、一个修改密码的判断方法(用记录本处理密码的方式)