创建 APT 仓库
创建你的 APT 仓库
一、需求
一台已经有如下内容的服务器:
1.可用的http/ftp服务器。
2.已经安装了”apt4rpm”软件包(最好是使用 RPM 包管理的发行版)。
3.你要放入仓库的软件包。
二、仓库目录结构
仓库结构需要满足以下要求:
1.多个发行版
2.多个版本
3.同一版本的多种语言
4.同一版本的多种体系结构
5.同一版本的不同模块(如发行版,更新,扩展等)
为了满足以上标示,我们采用如下的目录结构:
apt - cocreate -+- 2005 -+- en -+- i386 - os, updates, extend
| | |
| | +- s390 - os, updates
| |
| +- ko --- i386 - os, updates
|
+- 2006 --- en --- i386 - os, updates, extend
每个模块下的目录按如下的方式存放:
i386
|
+-- base
+-- RPMS.os
+-- RPMS.updates
+-- RPMS.extend
+-- SRPMS.os
+-- SRPMS.updates
+-- SRPMS.extend
各模块都包含了RPM包和SRPM包,分别存放在对应的“RPM.模块名”和“SRPM.模块名”目录中。base目录用于存放生成的软件包列表。
三、创建仓库
在创建仓库之前,把你的所有软件包按模块分类存入到对应的目录中,当然你也可以使用连接,然后才能真正的创建仓库。
创建仓库要使用genbasedir命令。如下:
genbasedir --flat --bloat --bz2only /var/apt/cocreate/8.0/en/i386 os updates
--flat 参数说明模块内的目录是直接以“RPM.模块名”和“SRPM.模块名”的方式存放在模块目录下的。
--bloat 参数说明生成兼容旧发行版的包列表格式。
--bz2only 参数说明只生成使用bzip2压缩的包列表,如果客户端无法获取仓库软件列表,则应该去掉这个参数。
/var/apt/redhat/8.0/en/i386 参数说明仓库的顶层目录。
os updates 参数说明仓库内的所有模块。
四、使仓库可访问
为使得用户可能访问你的仓库,需要配置httpd服务器或ftp服务器。
Httpd的配置,在httpd.conf 中加入如下配置:
<VirtualHost *>
ServerName apt.ccoss.com.cn
DocumentRoot /var/apt
<Directory /var/apt>
Options +Indexes
</Directory>
ErrorLog /var/log/httpd/apt.ccoss.com.cn-error_log
CustomLog /var/log/httpd/apt.ccoss.com.cn-access_log combined
</VirtualHost>
在客户端仓库列表中添加如下:
rpm http://apt.ccoss.com.cn cocreate/8.0/en/i386 os updates extend
rpm-src http://apt.ccoss.com.cn cocreate/8.0/en/i386 os updates extend
你也可以把/var/apt连接到已经可以访问的httpd目录中,然后使用适当的地址来访问软件包仓库了.
ftp 配置:把匿名用户的设置为 /var/apt 即可,在客户端使用如下的配置:
rpm ftp://apt.ccoss.com.cn cocreate/8.0/en/i386 os updates extend
rpm-src ftp://apt.ccoss.com.cn cocreate/8.0/en/i386 os updates extend
然后即可更新仓库,安装升级软件包了.
一台已经有如下内容的服务器:
1.可用的http/ftp服务器。
2.已经安装了”apt4rpm”软件包(最好是使用 RPM 包管理的发行版)。
3.你要放入仓库的软件包。
二、仓库目录结构
仓库结构需要满足以下要求:
1.多个发行版
2.多个版本
3.同一版本的多种语言
4.同一版本的多种体系结构
5.同一版本的不同模块(如发行版,更新,扩展等)
为了满足以上标示,我们采用如下的目录结构:
apt - cocreate -+- 2005 -+- en -+- i386 - os, updates, extend
| | |
| | +- s390 - os, updates
| |
| +- ko --- i386 - os, updates
|
+- 2006 --- en --- i386 - os, updates, extend
每个模块下的目录按如下的方式存放:
i386
|
+-- base
+-- RPMS.os
+-- RPMS.updates
+-- RPMS.extend
+-- SRPMS.os
+-- SRPMS.updates
+-- SRPMS.extend
各模块都包含了RPM包和SRPM包,分别存放在对应的“RPM.模块名”和“SRPM.模块名”目录中。base目录用于存放生成的软件包列表。
三、创建仓库
在创建仓库之前,把你的所有软件包按模块分类存入到对应的目录中,当然你也可以使用连接,然后才能真正的创建仓库。
创建仓库要使用genbasedir命令。如下:
genbasedir --flat --bloat --bz2only /var/apt/cocreate/8.0/en/i386 os updates
--flat 参数说明模块内的目录是直接以“RPM.模块名”和“SRPM.模块名”的方式存放在模块目录下的。
--bloat 参数说明生成兼容旧发行版的包列表格式。
--bz2only 参数说明只生成使用bzip2压缩的包列表,如果客户端无法获取仓库软件列表,则应该去掉这个参数。
/var/apt/redhat/8.0/en/i386 参数说明仓库的顶层目录。
os updates 参数说明仓库内的所有模块。
四、使仓库可访问
为使得用户可能访问你的仓库,需要配置httpd服务器或ftp服务器。
Httpd的配置,在httpd.conf 中加入如下配置:
<VirtualHost *>
ServerName apt.ccoss.com.cn
DocumentRoot /var/apt
<Directory /var/apt>
Options +Indexes
</Directory>
ErrorLog /var/log/httpd/apt.ccoss.com.cn-error_log
CustomLog /var/log/httpd/apt.ccoss.com.cn-access_log combined
</VirtualHost>
在客户端仓库列表中添加如下:
rpm http://apt.ccoss.com.cn cocreate/8.0/en/i386 os updates extend
rpm-src http://apt.ccoss.com.cn cocreate/8.0/en/i386 os updates extend
你也可以把/var/apt连接到已经可以访问的httpd目录中,然后使用适当的地址来访问软件包仓库了.
ftp 配置:把匿名用户的设置为 /var/apt 即可,在客户端使用如下的配置:
rpm ftp://apt.ccoss.com.cn cocreate/8.0/en/i386 os updates extend
rpm-src ftp://apt.ccoss.com.cn cocreate/8.0/en/i386 os updates extend
然后即可更新仓库,安装升级软件包了.
by
杨红
—
last modified
2006-08-04 08:21