Tom*_*Tom 10 apt repository deb
我正在研究如何设置一个可以支持多个版本的私有 apt 存储库(在 10.04 LTS 上)。
我知道您不能在服务器上安装多个版本的软件包。这纯粹是一个开发环境,我们希望能够在将它们发布到生产 apt 存储库之前测试多个版本。
我知道通过将版本号放在包名中可以有多个版本,但是我想实现相反的目的,支持同一个包名的多个版本。
例如 packagename_1.0_all.deb 和 packagename_2.0_all.deb 而不是 packagename-1.0_1.0_all.deb 和 packagename-2.0_2.0_all.deb
对于那些熟悉 Puppet 自动化部署的人 - 我们可以指定我们想要在服务器上使用哪个版本的包(使用使用相同包名的 ensure 标签)。
我已经尝试过在http://wiki.debian.org/HowToSetupADebianRepository 中描述的 Google 的 debmarshal,但由于缺乏文档而无法使其工作。
小智 9
出于与您相同的原因,我需要一个多版本的存储库,这就是我最终得到的结果:
apt-get install apache2 dpkg-dev
mkdir -p /var/www/repo/binary
Run Code Online (Sandbox Code Playgroud)
然后创建update-repo.sh
将使用包的信息更新您的存储库
#!/bin/bash
cd /var/www/repo
dpkg-scanpackages -m binary /dev/null | gzip -9c > /var/www/repo/binary/Packages.gz
Run Code Online (Sandbox Code Playgroud)
将您的 .deb 文件放在 /var/www/repo/binary 并运行 update-repo.sh
在其余机器上:
echo "deb http://myserver/repo binary" > /etc/apt/sources.list.d/myrepo.list
apt-get update
Run Code Online (Sandbox Code Playgroud)
等等等等...
神奇的发生是因为-m
在运行 dpkg-scanpackages 时。如果没有-m
,Packages.gz 中只列出了一个版本
我还没有尝试过,但是对单独的子存储库执行相同的操作应该很简单,例如 hbdgaf 建议。
将其托管在不同的发行版名称下。例如,清晰和测试。然后将测试框中的条目
从:更改deb http://homegrown.local/ubuntu lucid main
为: deb http://homegrown.local/ubuntu testing main
归档时间: |
|
查看次数: |
7155 次 |
最近记录: |