构建自己的debian软件包仓库
by沈东良 http://blog.csdn.net/shendl
deb是Debian软件包格式,文件扩展名为.deb,跟Debian的命名一样,deb也是因DebraMurdock(Debian创始人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!