谁能告诉我如何在 Ubuntu 中为我的软件包创建自己的本地软件包存储库?

谁能告诉我如何在 Ubuntu 中为我的软件包创建自己的本地软件包存储库?

我想在 Ubuntu 中为我的软件包创建一个软件包存储库,并且该存储库将在多个 Ubuntu 系统中用于安装和更新软件包。

答案1

这是关于个人存储库的维基页面,我认为您必须使用 http 或 nfs 等方式共享它。有关信息,这是另一篇指南文章,现在可能已经过时了。

答案2

  1. 为你的 debs 创建一个目录
  2. 把它们放进去
  3. 通过 Web 服务器(例如 apache)共享
  4. 安装“dpkg-dev”包
  5. 在目录中运行以下命令:

    dpkg-scanpackages . /dev/null > 软件包

  6. 使用如下的 sources.list 行将此存储库添加到您的客户端:

    复制 http:/// ./

另一种选择是 mini-dinstall 包,该包的设置工作量较大,但维护工作量较小,特别是对于多用户而言。

答案3

askubuntu 上已经回答了这个问题:https://askubuntu.com/questions/170348/how-to-create-a-local-apt-repository/772636#772636

基本步骤如下:

  1. 为 repo 创建一个目录
  2. 复制包文件
  3. 生成发布和软件包文件
  4. (可选,但对安全性来说更好,因为这意味着您在使用 apt-get 时不必使用 --allow-unauthenticated)使用 gpg 签署 Release 文件

请参阅我在 askubuntu 上的回答,其中有一个可以自动执行此操作的小脚本。还有一个名为 reprepro 的程序也可以执行此操作,但是我发现它在 Ubuntu Xenial 中不再起作用(YMMV)。

答案4

我以前曾使用 approx 简单地将上游软件包缓存并镜像到我的主要测试机器上,在更新整个网络之前,我会在该机器上测试软件包。然后,我的所有本地机器都将设置为从测试机器的 approx 存储库缓存中进行更新。

还有像 reprepro 这样的软件包,它可以为您处理大部分 repo 管理任务,甚至可以正确地对 repo 文件进行 GPG 签名,以便当人们从您的 repo 更新软件包时 apt/dpkg/etc 不会抱怨。

相关内容