Ubuntu下创建虚拟包

  安装了python的pip之后,很多系统源里的python module都显得比较旧了,但是建筑在它们至上的软件包又只认系统中的那些包。明明已经安装了最新的包,还是要去安装系统自带的python软件包。最大的问题,还是同一软件的两个版本都安装到系统中,不仅鸡肋,而且容易出问题。于是用虚拟包的形式骗过系统。主要就是按照依赖的条件,建一个虚拟的包,并安装它,让系统觉得你已经安装了对应的包。

需要新建一个control,形如这样

mllm © 2004-2012, allblue
Package: f.u.c.k-python-kaa-metadata-depends
Version: 1.0 
Architecture: all 
Maintainer: allblue <allblue.z@gmail.com>
Installed-Size: 0
Provides: python-kaa-metadata
Priority: optional
Description: 通过声明提供一些包来辅助清理一些无意义的依赖
 把你认为完全无用但被某些元包依赖的组件加到 Provides 字段
 然后就可以手动清理掉无用组件而不破坏元包的依赖关系,在不
 绕过包管理器不重新最小化安装的情况下深度定制系统。
Parsed in 0.001 seconds

放到一个DEBIAN目录下,比方你的目录如果是

`-- build
|-- DEBIAN

执行

mllm © 2004-2012, allblue
dpkg -b build/ xxx.deb
Parsed in 0.008 seconds

之后就能生成一个xxx.deb,然后安装完毕之后就能提供在Provides申明的依赖。