12

我有一个项目,我在其中创建了一个 .deb 文件,该文件应该由 linux 客户端安装。为此,我想使用apt-get install mypackage.

作为这个领域的新手,我现在正在寻找最简单的方式来托管我自己的 debian 更新存储库,它只需要包含 mypackage.deb。

我很快查看了看起来很有希望的mini-dinstall,但它们似乎与.changes. 而不是.deb包一起使用。所以我不确定这是否是我需要的。

所以总结的工作流程应该是这样的:

  1. 我创建了 debian 包mypackage.deb
  2. 我告诉一些守护进程更新更新存储库:fancy-update-daemon add mypackage.deb
  3. 客户端可以使用标准的 apt 命令安装或更新:apt-get install mypackage

谢谢你的帮助

4

3 回答 3

15

创建存储库的真正简单方法是创建一个“普通”存储库而不是“自动”存储库。您可以使用 dpkg-dev 软件包中的“dpkg-scanpackages”命令执行此操作。

$ mkdir repository
$ cp foo.deb repository
$ dpkg-scanpackages repository /dev/null | gzip -9c > repository/Packages.gz

然后在你的sources.list中,而不是像:

deb http://wherever/repository suite component

您离开套件和组件,只需:

deb http://wherever/repository

有关更多信息(例如普通存储库和自动存储库之间的区别),请参阅存储库 HOWTO(对于这么简单的事情,您可以忽略该文档自称为“过时”的事实)

于 2011-08-17T16:16:26.110 回答
2

创建 Packages.gz:

@server> cd debian-repo
@server> dpkg-scanpackages ./ /dev/null | gzip > Packages.gz

创建新文件 /etc/apt/sources.list.d/my-server.list (在客户端)

deb http://my-server/debian-repo ./

现在获取可用软件包的列表并安装foo

@client> apt-get update
@client> apt-get install foo
于 2015-01-21T15:33:51.747 回答
0

.changes文件是在构建 debian 包时生成的。文件本身不是一个.changes包:它包含有关构建的信息(包括.deb生成的 s)。

虽然我没有使用过mini-dinstall,但这似乎是正确的方法。它应该使用.deb在构建期间生成的文件并正确上传它们。

于 2011-07-29T13:55:36.737 回答