当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 9 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 创建自己的deb仓库
帖子发表于 : 2009-04-10 9:23 
头像

注册: 2007-03-13 17:26
帖子: 2254
送出感谢: 0 次
接收感谢: 1
把这个用gvim查看比较方便
代码:
# vim:se ft=debsources:fdm=marker:




#### 简单软件仓库结构: 创建仓库主目录 ${REPO}, deb文件放在 pool目录下, /*{{{*/
##  在主目录下运行 apt-ftparchive packages pool/ | gzip -9c > Packages.gz   结构如下: /*{{{*/

|-- Packages.gz
|-- pool
|   |-- abc.deb
|   |-- def.deb
`
/*}}}*/

#### 使用:  加入源
deb file:///media/g/ubt/debs/ /

#### apt-get update 生成的软件包列表
/var/lib/apt/lists/_media_g_ubt_debs_Packages
/*}}}*/





#### 标准deb仓库结构: 创建仓库主目录 ${REPO}, deb文件放在分层的pool目录下
##  创建 dists{发行版名}/{分类名}/{机器体系} 目录, 生成分类的包列表, 生成版本签名,生成内容包

##  创建仓库,并建立相关文件:  /*{{{*/
mkdir /media/g/myubtrepo
cd /media/g/myubtrepo
mkdir project
gpg -K  # 生成自己的gpg密钥(略), 列出自己的密钥ID,并导出到文件
gpg --export -a 4B1D5487  > project/myubtrepo-keyring.gpg

mkdir -p dists/jaunty/{main,multiverse,restricted,universe}/{binary-amd64,binary-i386,i18n,source}
mkdir -p pool/{main,multiverse,restricted,universe}
# 在 pool 目录下放入一些有效的deb文件
 
apt-ftparchive packages pool/main     >  dists/jaunty/main/binary-i386/Packages
apt-ftparchive packages pool/universe >  dists/jaunty/universe/binary-i386/Packages
cat dists/jaunty/main/binary-i386/Packages     | gzip -9c > dists/jaunty/main/binary-i386/Packages.gz
cat dists/jaunty/universe/binary-i386/Packages | gzip -9c > dists/jaunty/universe/binary-i386/Packages.gz

cat > dists/jaunty/main/binary-i386/Release <<"EOF"
Archive: jaunty
Version: 9.04
Component: main
Origin: Ubuntu
Label: Ubuntu
Architecture: i386
EOF
cat > dists/jaunty/universe/binary-i386/Release <<"EOF"
Archive: jaunty
Version: 9.04
Component: universe
Origin: Ubuntu
Label: Ubuntu
Architecture: i386
EOF

cat > dists/jaunty/pt.conf <<"EOF"
APT::FTPArchive::Release {
Origin "Ubuntu";
Label "Ubuntu";
Suite "jaunty";
Codename "jaunty";
Version "9.04";
Architectures "amd64 hppa i386 ia64 lpia powerpc sparc";
Components "main restricted universe multiverse";
Description "My test Ubuntu Depository";
};
EOF

apt-ftparchive contents pool/ | gzip -9c > dists/jaunty/Contents-i386.gz

# 签名包列表
apt-ftparchive -c dists/jaunty/pt.conf  release dists/jaunty > dists/jaunty/Release
gpg -a --detach-sign -o dists/jaunty/Release.gpg dists/jaunty/Release

/*}}}*/

##  目录结构:  /*{{{*/
|-- dists
|   |-- jaunty
|   |   |-- Contents-i386.gz
|   |   |-- pt.conf
|   |   |-- Release
|   |   |-- Release.gpg
|   |   |-- main
|   |   |   |-- binary-amd64
|   |   |   |-- binary-i386
|   |   |   |   |-- Packages
|   |   |   |   |-- Packages.gz
|   |   |   |   |-- Release
|   |   |   |-- i18n
|   |   |   |-- source
|   |   |-- multiverse
|   |   |   |-- binary-amd64
|   |   |   |-- binary-i386
|   |   |   |-- i18n
|   |   |   |-- source
|   |   |-- restricted
|   |   |   |-- binary-amd64
|   |   |   |-- binary-i386
|   |   |   |-- i18n
|   |   |   |-- source
|   |   |-- universe
|   |   |   |-- binary-amd64
|   |   |   |-- binary-i386
|   |   |   |   |-- Packages
|   |   |   |   |-- Packages.gz
|   |   |   |   |-- Release
|   |   |   |-- i18n
|   |   |   |-- source
|-- pool
|   |-- main
|   |   |-- a
|   |   |   |-- abc.deb
|   |   |-- b
|   |   |   |-- bcd.deb
|   |   |-- f
|   |   |   |-- fci.deb
|   |-- multiverse
|   |-- restricted
|   |-- universe
|   |   |-- s
|   |   |   |-- stu.deb
|   |   |-- t
|   |   |   |-- test1.deb
|-- project
|   |-- myubtrepo-keyring.gpg
`
/*}}}*/


#### 使用源: 在 /etc/apt/sources.list.d/20-myubtrepo.list 加入   /*{{{*/
deb     file:///media/g/myubtrepo/ jaunty main universe
#deb-src file:///media/g/myubtrepo/ jaunty main universe
# 类型: deb,deb-src (二进制或源码包)
# 路径: file:///path/to,   http://www.name.org/ubuntu,   ftp://ftp.name.org/ubuntu,
# 发行版名: intrepid, jaunty,
# 软件包分类: main restricted universe multiverse (ubuntu默认固定使用)

#### 添加签名公钥
# 下载仓库的签名公钥并加入
sudo apt-key add myubtrepo-keyring.gpg

#### apt-get update 生成的软件包列表(下划线分隔目录,原目录下划线变成%5f)
/var/lib/apt/lists/_media_g_myubtrepo_dists_jaunty_main_binary-i386_Packages
/var/lib/apt/lists/_media_g_myubtrepo_dists_jaunty_Release
/var/lib/apt/lists/_media_g_myubtrepo_dists_jaunty_Release.gpg
/var/lib/apt/lists/_media_g_myubtrepo_dists_jaunty_universe_binary-i386_Packages
/*}}}*/



页首
 用户资料  
 
2 楼 
 文章标题 : Re: 创建自己的deb仓库
帖子发表于 : 2009-04-10 9:27 
头像

注册: 2007-11-29 9:41
帖子: 8455
送出感谢: 0 次
接收感谢: 0 次
这个,帮顶。暂无此需要... :em06


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 创建自己的deb仓库
帖子发表于 : 2009-04-10 12:42 
头像

注册: 2007-07-11 21:43
帖子: 3382
地址: 东江边
系统: archlinux
送出感谢: 15
接收感谢: 7
我用aptoncd。


_________________
我来了,我看见了,我征服了!
求勾搭,不管饭。


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 创建自己的deb仓库
帖子发表于 : 2009-04-10 12:49 
头像

注册: 2008-07-21 9:44
帖子: 2371
地址: 深圳
送出感谢: 0 次
接收感谢: 0 次
mark


_________________

My blog


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 创建自己的deb仓库
帖子发表于 : 2009-04-10 13:26 
头像

注册: 2009-04-03 11:34
帖子: 72
送出感谢: 0 次
接收感谢: 0 次
:em11


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 创建自己的deb仓库
帖子发表于 : 2009-08-18 21:22 

注册: 2008-10-31 22:12
帖子: 6546
系统: 践兔
送出感谢: 18
接收感谢: 25
代码:
18/08/2009 21:23:01
tusooa (~)
>> ls /var/www/tusooa-site/beta/archive/ubuntu/
dists  pool  project  update.bash  update.bash~  update_jaunty.bash~
18/08/2009 21:23:26
tusooa (~)
>> ls /var/www/tusooa-site/beta/archive/ubuntu/dists/
stable  support  testing  unstable
18/08/2009 21:23:32
tusooa (~)
>> ls /var/www/tusooa-site/beta/archive/ubuntu/dists/testing/
apt.conf  apt.conf~  Contents-amd64.gz  Contents-i386.gz  main  Release  Release.gpg  Sources  universe
18/08/2009 21:23:42
tusooa (~)
>>
cat > dists/jaunty/apt.conf <<"EOF"


_________________
代码:
] ls -ld //


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 创建自己的deb仓库
帖子发表于 : 2009-09-11 22:30 
头像

注册: 2009-03-02 19:30
帖子: 379
地址: 河北石家庄
送出感谢: 0 次
接收感谢: 0 次
还是从简做起 :em06


_________________
除了真相,女人也是赤裸裸的


页首
 用户资料  
 
8 楼 
 文章标题 : Re: 创建自己的deb仓库
帖子发表于 : 2012-05-10 11:05 

注册: 2008-05-09 22:39
帖子: 13
送出感谢: 0 次
接收感谢: 0 次
我按照如下方式建立仓库报错 。。。。

存在目录 pools/main/*.deb

mkdir -pv dists/jaunty/main/binary-amd64/

apt-ftparchive packages pools/main > dists/jaunty/main/binary-amd64/Packages

cat dists/jaunty/main/binary-amd64/Packages | gzip -9c > dists/jaunty/main/binary-amd64/Packages.gz

apt-ftparchive contents pools/main | gzip -9c > dists/jaunty/Contents-amd64.gz

cat > dists/jaunty/apt.conf <<"EOF"
APT::FTPArchive::Release {
Origin "Ubuntu";
Label "Ubuntu";
Suite "jaunty";
Codename "jaunty";
Version "9.04";
Architectures "amd64";
Components "main restricted universe multiverse";
Description "My test Ubuntu Depository";
};
EOF

apt-ftparchive -c dists/jaunty/apt.conf release dists/jaunty > dists/jaunty/Release


vim /etc/apt/sources.list

deb file:///mnt jaunty main

apt-get update

root@Aspire-4820TG:/mnt/dists/jaunty# apt-get update
忽略 file: jaunty InRelease
忽略 file: jaunty Release.gpg
获取:1 file: jaunty Release [1,528 B]
忽略 file: jaunty/main TranslationIndex
错误 file: jaunty/main i386 Packages
无法找到该文件
忽略 file: jaunty/main Translation-zh_CN
忽略 file: jaunty/main Translation-zh
忽略 file: jaunty/main Translation-en
W: 无法下载 file:/mnt/dists/jaunty/main/binary-i386/Packages 无法找到该文件


页首
 用户资料  
 
9 楼 
 文章标题 : Re: 创建自己的deb仓库
帖子发表于 : 2012-08-19 11:00 

注册: 2010-01-13 23:26
帖子: 3173
送出感谢: 0 次
接收感谢: 12
用 mini-dak 多简单。


_________________
Here I am.
Ubuntu 桌面培训 - 全中文官方文档,含汉化截图,提供PDF


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 9 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译