读书人

构建自各儿的debian软件包仓库

发布时间: 2012-09-21 15:47:26 作者: rapoo

构建自己的debian软件包仓库

by沈东良 http://blog.csdn.net/shendl

deb是Debian软件包格式,文件扩展名为.deb,跟Debian的命名一样,deb也是因DebraMurdock—ebian创始人IanMurdock的前妻)而得名。

Debian包是Unixar的标准归档,将包文件信息以及包内容,经过gzip和tar打包而成。

处理这些包的经典程序是dpkg,经常是通过apt来运作。

通过Alien工具,可以将deb包转换成其他形式的软件包。


Debian操作系统发行版是非常流行的Linux操作系统发行版。Linux最流行的桌面操作系统发行版Ubuntu也属于Debian家族,也使用deb包安装和管理软件。

Debian家族的Linux操作系统,都会使用Debian软件包仓库管理deb软件包。这样,用户就可以使用apt命令搜索和安装对应的软件包。


有时,我们需要安装一些自己构建的deb包,或者找到了一些第三方的deb包。我们可以使用

dpkg-i XXX.deb

命令直接安装deb软件包。但是很多deb软件包依赖于很多其他的deb软件包。手工使用dpkg命令安装deb包时,可能会遇到很多问题。

而apt命令会自动解析deb包的依赖关系,能够自动安装所有需要的其他deb包。

此时我们就需要构建自己的debian软件包仓库了!



本文将要介绍的就是这样一种构建debian软件包仓库的方法。用这种方法构建的debian软件包仓库,可以被所有Debian家族的Linux操作系统使用。



1,创建一个目录,用于存放所有deb包。

2,把所有需要的deb包复制到这个目录下。

3,命令行进入这个目录,执行:

dpkg-scanpackages./ /dev/null | gzip - > ./Packages.gz

这会生成Packages.gz这个压缩文件,其中包含了这个目录下所有deb包的元数据。

Apt工具需要使用这个元数据文件来获得这个Debian软件包仓库中的所有deb包的信息。


每次你添加deb包到这个目录中时,都需要执行上述命令,以更新deb包的元数据。


现在,你已经有了自己的Debian软件包仓库了。

接下来,需要让你的Linux操作系统能够访问这个Debian仓库。

你可以把仓库放在NAS服务器上,让Linux操作系统mountNAS服务器后,通过本地文件系统路径访问它。

也可以通过Apache等Web服务器,把Debian仓库所在目录通过http方式导出。

也可以通过ftp软件导出Debian仓库所在目录。



编辑你的Linux操作系统发行版的/etc/apt/sources.list文件:

加入如下一行:

debfile:/deb ./

第二个字段是访问你的debian仓库的路径。 如果是本地目录,就是file:开头的路径。

如果是http目录,就是http:协议的路径。

如果是ftp目录,就是ftp:协议的路径。


经过测试,上述方法制作的Debian软件包仓库可以被所有Debian家族的Linux操作系统发行版所使用,不受发行版和操作系统版本的限制!



Enjoyit!










读书人网 >系统运维

热点推荐