锁定老帖子 主题:搭建ubuntu 的DEB仓库
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-06-10
最后修改:2009-06-10
最近在做一个项目要用搭建一个我们自己的ubuntu的源更新仓库。于是查找了一些debian和ubuntu的一些资料。并根据理解搭建了一个自己的DEB仓库。
ubuntu的更新源仓库主要是根据目录结构以及一些index contents 以及relase来进行分析的。客户端会自动根据版本平台已经仓库的提供的相关信息进行自动更新,就是我我们只要将目录结构搭建正确,相关文件生成的正确就完成仓库的搭建了,下面说一下ubuntu的目录结构和相关文件
|--repository | |-- dists
目录结构基本上就是这样 repository:是仓库的主目录没有什么要求随便定义 dists:注意这个目录是位于主目录下名字必须是这个名字用于存放一些仓库的的相关信息archieve 以及 package 和 platorm信息的。 pool:这个是用于存放deb的目录所有的deb必须放在这个下面,子目录会在后面说。 project:用于存放项目的相关文件的信息,比如gpg的密钥文件。 dists/{stable,unstable,notfree,contrib}下的子目录 这个目录下面可以有多个目录 是每个archieve 的名字。名字可以自己定义 dists/stable/{main,restrict,universe} 这个是component名字,这个名字也可以自己定义但一般按照规范会定义成符合规范的名字。 dists/stable/main/{binary-i386,binary-arm,binary-amd64..} 这个目录是根据平台来定义的,目录的名字必须以binary-平台 形式来定义,客户端更新时会根据自己的平台查到相应的目录所以文件。 dists/stable/main/source 用于存在源代码的索引文件的目录。
pool/{main,restrict,universe} 这个目录是根据component的名字来定义这个名字应该可以不一样,但我没试过,
基本目录已经基本说完。下面说一下各个目录的文件。
| | | |-- Contents-i386.gz --内容的索引文件(干什么用的,我没具体看,但看名字知道 格式:Contents-平台.gz
| | | | |-- binary-i386
基本的概念基本已经完成,下面说一下基本的搭建仓库的步骤和命令。
首先创建目录结构 mkdir -p respo/dists/stable/{main,restrict}/{binary-i386,binary-amd64} mkdir -p respo/pool/{main,restrict} mkdir -p respo/project 然后创建GPG的加密文件 gpg -K (如果没有生成过配置文件,则会创建一些相关的信息。创建过会列车密钥) gpg --gen-key (生成密钥) gpg --export -a BC907093 > respo/project/keyring.gpg #导出密钥文件到项目目录下 然后拷贝几个可以安装的 deb包到 respol/pool/main 下面
这里我们就用main和i386平台来做演示 下面这个步骤很重要 cd respo 如果不在仓库目录则更新时下载的deb路径会有问题
#生成索引文件 apt-ftparchive packages pool/main > dists/stable/main/binary-i386/Packages cat dists/stable/main/binary-i386/Packages | gzip -9c > dists/stable/main/binary-i386/Packages.gz
#生成内容文件 apt-ftparchive contents pool/ | gzip -9c > dists/stable/Contents-i386.gz
#生成apt.conf文件 echo "APT::FTPArchive::Release {" >> dists/stable/apt.conf
#生成release文件 apt-ftparchive -c dists/stable/apt.conf release dists/stable> dists/stable/Release #签名release文件
忘记说ubuntu的源配置了: /etc/apt/source.list 下修改
deb http://.../respo stable main 然后 去project 目录 apt-key add keyring.gpg 添加密钥文件 最后 apt-get update 可以看到效果
参考文档: http://forum.ubuntu.org.cn/viewtopic.php?f=56&t=194650&view=next 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
浏览 3572 次