首页 > 折腾 > debian包的结构和解包打包-从打包ubuntu12.10 linuxqq说起

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

2013年1月9日 sigma 发表评论 阅读评论

作为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包的结构:

1.解包后得到三个文件:

daohoo@daohoo-mbp:~/Downloads/linuxqq$ ls -l
total 4920
-rw-r--r-- 1 daohoo daohoo     442 Jan  9 20:50 control.tar.gz
-rw-r--r-- 1 daohoo daohoo 5027432 Jan  9 20:50 data.tar.gz
-rw-r--r-- 1 daohoo daohoo       4 Jan  9 20:50 debian-binary

其中:

1.debian-binary:

daohoo@daohoo-mbp:~/Downloads/linuxqq$ cat debian-binary
2.0

 

这个文件包含所使用软件包格式的版本号

2.control.tar.gz:

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

 

daohoo@daohoo-mbp:~/Downloads/linuxqq$ cat control
Package: linuxqq
Priority: extra
Section: Internet
Installed-Size: 6264
Maintainer: Tencent Inc.
Architecture: i386
Version: v1.0.2-beta1
Depends: gtk2.0-binver-2.10.0, libc6, libcairo2, libglib2.0-0, libgtk2.0-0, libpango1.0-0
Description: QQ - The most popular free instant messaging program in China.
 * Chat with more than 590,000,000 people all over the world.
 * Free to download or distribute absolutely.

 

包含了软件包管理工具所需信息的tarball文件。里面的control文件有版本号以及依赖关系

3.data.tar.gz:

daohoo@daohoo-mbp:~/Downloads/linuxqq$ tar -zxvf data.tar.gz
./
./usr/
./usr/bin/
./usr/bin/qq
./usr/share/
./usr/share/tencent/
./usr/share/tencent/qq/
./usr/share/tencent/qq/qq.png
./usr/share/tencent/qq/qq
./usr/share/tencent/qq/res.db
./usr/share/applications/
./usr/share/applications/qq.desktop
./usr/share/doc/
./usr/share/doc/linuxqq/
./usr/share/doc/linuxqq/qq

这个才是最后真正的安装文件,指明了安装的路径。

最后,上传下打好包在ubuntu12.10可用的linux QQ debian包(出于安全考虑,对debian进行了重新打包)。

ubuntu12.10 可用linux QQ

分类: 折腾 标签: ,

  1. 2013年3月11日20:26 | #1

    博客不错

  2. 2013年3月19日11:33 | #2

    linuxqq 还能用吗?

  3. 2014年1月14日12:24 | #3

    你个傻逼已经一年没发blog了。。

  4. 2015年1月16日22:33 | #4

    每个代码都带滚动条,感觉压力好大。

  5. 2016年5月25日09:43 | #5

    @xixi527
    一年后的回复。。。。 的确风格不好,现在也懒得折腾了。

  6. 2016年5月25日09:43 | #6

    @sb
    两年半后来回复,表示我还活着。

  7. 2017年5月16日23:41 | #7

    When I lived in Edinburgh, it was one of my favourite local history There were also tales about people who professionally stole freshly buried bodies from the cemetery and sold them to universities for anatomy But I think this kind of practice happened all across UK and Europe at that

  1. 本文目前尚无任何 trackbacks 和 pingbacks.

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