我想在 Ubuntu 中为我的软件包创建一个软件包存储库,并且该存储库将在多个 Ubuntu 系统中用于安装和更新软件包。
答案1
这是关于个人存储库的维基页面,我认为您必须使用 http 或 nfs 等方式共享它。有关信息,这是另一篇指南文章,现在可能已经过时了。
答案2
- 为你的 debs 创建一个目录
- 把它们放进去
- 通过 Web 服务器(例如 apache)共享
- 安装“dpkg-dev”包
在目录中运行以下命令:
dpkg-scanpackages . /dev/null > 软件包
使用如下的 sources.list 行将此存储库添加到您的客户端:
复制 http:/// ./
另一种选择是 mini-dinstall 包,该包的设置工作量较大,但维护工作量较小,特别是对于多用户而言。
答案3
askubuntu 上已经回答了这个问题:https://askubuntu.com/questions/170348/how-to-create-a-local-apt-repository/772636#772636
基本步骤如下:
- 为 repo 创建一个目录
- 复制包文件
- 生成发布和软件包文件
- (可选,但对安全性来说更好,因为这意味着您在使用 apt-get 时不必使用 --allow-unauthenticated)使用 gpg 签署 Release 文件
请参阅我在 askubuntu 上的回答,其中有一个可以自动执行此操作的小脚本。还有一个名为 reprepro 的程序也可以执行此操作,但是我发现它在 Ubuntu Xenial 中不再起作用(YMMV)。
答案4
我以前曾使用 approx 简单地将上游软件包缓存并镜像到我的主要测试机器上,在更新整个网络之前,我会在该机器上测试软件包。然后,我的所有本地机器都将设置为从测试机器的 approx 存储库缓存中进行更新。
还有像 reprepro 这样的软件包,它可以为您处理大部分 repo 管理任务,甚至可以正确地对 repo 文件进行 GPG 签名,以便当人们从您的 repo 更新软件包时 apt/dpkg/etc 不会抱怨。