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

/*********************************************************************
 * 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/

[email protected]:~$ 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包的解压、修改、重新打包全过程方法,布布扣,bubuko.com

时间: 2024-08-05 19:10:59

对一个deb包的解压、修改、重新打包全过程方法的相关文章

对一个deb包的解压、改动、又一次打包全过程方法

/*********************************************************************  * Author  : Samson  * Date    : 07/03/2014  * Test platform:  *              3.11.0-12-generic #19-Ubuntu  *              GNU bash, version 4.2.45  * ****************************

Ubuntu下deb包的解压、打包、安装、卸载及常用命令参数

1.首先下载deb包,比如:将其放在 /home/tools/ 根目录下: 2.进入到tools根目录下的终端,输入下面命令创建文件夹extract,并在extract文件夹下创建DEBIAN文件夹 mkdir -p extract/DEBIAN 3.将deb包解压到extract文件夹下 dpkg -X ./xxx.deb extract 4.解压deb包中的control信息(包的依赖在这里面的control文件中) dpkg -e ./xxx.deb extract/DEBIAN 5.创建

获取deb包并进行解压方法

/*********************************************************************  * Author  : Samson  * Date    : 05/26/2014  * Test platform:  *              Mint 15-3.8.13.13  *              GNU bash, version 4.2.45  * ***************************************

源码包的解压 .tar.gz /.tar.bz2的解压

解压方式如下: .tar.gz     格式解压为          tar   -zxvf   xx.tar.gz .tar.bz2   格式解压为          tar   -jxvf    xx.tar.bz2 源码包的解压 .tar.gz /.tar.bz2的解压,布布扣,bubuko.com

mvn打war包以及解压包的方法

有时候我们需要查看打成war包之后的目录,如果是maven项目我们可以直接用maven打包. 1.maven打包: 第一种: mvn package 如果不行先 mvn clean一下 第二种:(掌握) mvn war:war 打包完成之后会在target目录下生成war包 2.解压war包 [email protected] MINGW64 ~/Desktop/新建文件夹 $ ls jwxt-1.0-SNAPSHOT.war [email protected] MINGW64 ~/Deskto

python解压压缩包的几种方法

python解压压缩包的几种方法 .gz .tar  .tgz .zip .rar 简介 gz: 即gzip,通常只能压缩一个文件.与tar结合起来就可以实现先打包,再压缩. tar: linux系统下的打包工具,只打包,不压缩 tgz:即tar.gz.先用tar打包,然后再用gz压缩得到的文件 zip: 不同于gzip,虽然使用相似的算法,可以打包压缩多个文件,不过分别压缩文件,压缩率低于tar. rar:打包压缩文件,最初用于DOS,基于window操作系统.压缩率比zip高,但速度慢,随机

linux 解压修改jar包

打包以及修改jar包 cd genesys_data_etl mvn clean package -Poffline -Dmaven.test.skip=true 日志如下: [INFO] --- maven-jar-plugin:2.6:jar (default-jar) @ genesys_data_etl --- [INFO] Building jar: /Users/xx/IdeaProjects/genesys_data_etl/target/genesys_data_etl-0.0.

[Java] Java 打包成jar包 和 解压jar包

解压jar包 jar xf xxx.jar 打包成jar包 方法一:通过jar命令 jar命令的用法: 下面是jar命令的帮助说明: 用法:jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] files ... 选项包括:     -c  创建新的归档文件     -t  列出归档目录     -x  解压缩已归档的指定(或所有)文件     -u  更新现有的归档文件     -v  在标准输出中生成详细输

【Linux】war包的解压与压缩

网上很多人说用jar包解压,但jar命令解压时不能指定目录,推荐使用unzip解压war包. unzip -d 指定目录 [[email protected] upload]# unzip -oq common.war -d common 命令名: unzip 功 能说明:解压缩zip文 件 语 法:unzip [-cflptuvz][-agCjLMnoqsVX][-P <密 码>][.zip文 件][文件][-d <目录>][-x <文件>] 或 unzip [-Z]