存档

文章标签 ‘Debian’

debian包的结构和解包打包-从打包ubuntu12.10 linuxqq说起

2013年1月9日 sigma 6 条评论 174,919 views

作为2B青年,果断在mac下装了linux。今天想装QQ,发现报错了。

daohoo@daohoo-mbp:~/Downloads$ sudo dpkg -i linuxqq_v1.0.2-beta1_i386.deb
[sudo] password for daohoo:
dpkg: error processing linuxqq_v1.0.2-beta1_i386.deb (--install):
 parsing file '/var/lib/dpkg/tmp.ci/control' near line 7 package 'linuxqq':
 error in Version string 'v1.0.2-beta1': version number does not start with digit
Errors were encountered while processing:
 linuxqq_v1.0.2-beta1_i386.deb

根据错误信息显示,不能安装的原因是新版的ubuntu要求版本号为数字开头,SB的腾讯却用v开头。因此,我猜想,只要重新打包即可(之前我通过重新打包的方法,也改过android QQ的尾巴)。过程如下:

1.ar解包:

daohoo@daohoo-mbp:~/Downloads/linuxqq$ ar vx linuxqq_1.0.2_i386.deb
x - debian-binary
x - control.tar.gz
x - data.tar.gz

2.tar解包control信息:

daohoo@daohoo-mbp:~/Downloads/linuxqq$ tar -zxvf control.tar.gz
./
./conffiles
./control

3.修改control文件:

sed -i "s/v1.0/1.0/g" control

4.重新tar打包control.tar.gz

tar -zcvf control.tar.gz ./conffiles ./control

5.ar重新打包debian包:

ar rcs linuxqq.deb debian-binary control.tar.gz data.tar.gz

6.安装:

sudo dpkg -i linuxqq.deb

BTW:介绍一下关于debian包的结构: 阅读全文…

分类: 折腾 标签: ,

Ubuntu/Debian从源码编译debian包

2012年12月1日 sigma 没有评论 22,999 views

Ubuntu源里有的软件:

ubuntu源里有的软件,理论上不用自己编译debian包,但是有时候,我们想对源里的软件做些修改,打些patch,就可以用这种方法,具体为:

1.获取源文件

源码包中通常包含3个文件,分别以dsc,orig.tar.gz和diff.gz为后缀名。
其中 .orig.tar.gz 是软件原始源码包,没有经过任何修改; .diff.gz 是将源码包 debian 化的文件,包含一些补丁和编译规则;.dsc 描述了源码包的信息,上述命令是解压源码和打补丁的综合操作。
使用apt-get source命令来获取源码包,它会将源码包下载到用户当前目录,并在命令执行过程中,调用dpkg-source命令,根据dsc文件中的信息,将源码包解压到同名目录中,应用程序的源代码就在这里面。
sudo apt-get source tree
另外,有时想用的源码包不是最新版本的,而是一些老版本。可以在新立得里面先强制版本。之后在执行命令。或者直接去old_archive.ubuntu.com上找老版本的dsc,orig.tar.gz,diff.gz等。
要强调的是,在下载源码包前,必须确保安装了dpkg-dev(执行”apt-get install dpkg-dev”来安装),否则,只会下载源码包的3个文件,但不会解压缩源码包。当然你也可以自己用dpkg-source命令去解压缩源码包:
dpkg-source -x tree-1.5.1.2.dsc 阅读全文…

分类: 贝壳 标签: , , ,

无觅相关文章插件,快速提升流量