pbuilder & cowbuilder

简介

cowbuilder 是 debian 官方提供的一个软件打包工具,它的作用是创建出一个独立的环境,
然后将 Debian 软件源码包导入这个环境中打包。这样做有很多好处,首先这将软件打包环境独立出来,
使得软件打包不会弄乱你的机器实际的运行环境,其次,这样做有助于检查软件包的依赖关系是否正确,
因为 cowbuilder 创建出的独立环境通常是一个最小化环境,此时如果写错了依赖,在 cowbuilder 打包时就立刻能发现。

cowbuilder和pbuilder的使用方式差不多,很多参数也都通用,实际上,可以把cowbuilder看成一个cow版的pbuilder

安装

sudo apt install cowbuilder

使用方法

使用 cowbuilder 打包之前,首先需要创建一个基础环境,以后的打包环境便是基于这个基础环境来构建

cowbuilder --create --distribution sid --basepath /var/cache/pbuilder/base-sid.cow --mirror http://mirrors.163.com/debian

我们依次来讲解上面命令中各个参数的意义:

  • –create 表示要从头开始创建一个新的基础环境,你可以创建很多基础环境,比如为debian的三个分支分别创建不同的基础环境
  • –distribution 表示该环境所对应的代号(codename)
  • –basepath 表示该基础环境的位置,注意该参数是一个目录(不必事先创建)
  • –mirror 表示本次构建基础环境所使用的源站地址

创建完该基础环境,以后如果需要更新该环境,直接执行一下命令就可以了

cowbuilder --update --basepath /var/cache/pbuilder/base-sid.cow

注意 cowbuilder 命令需要使用root权限来运行。

软件包构建

创建完基础打包环境之后,就可以使用该环境来进行软件打包:

cowbuilder --build --basepath /var/cache/pbuilder/base-sid.cow *.dsc

最后的一个参数是软件包的 dsc 文件,注意dsc文件必须和准备好的软件源代码在同一目录下。

关于如何从源代码快速构建出一个可用的dsc源码包,请参考这儿

问题

cowbuilder 的一个比较明显的弊端就是它必须以root权限来执行。

发表评论

电子邮件地址不会被公开。 必填项已用*标注