容纳debian更新存储库的简便方法

时间:2011-07-19 08:54:57

标签: ubuntu debian apt-get

我有一个项目,我在其中创建一个.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 个答案:

答案 0 :(得分: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

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

答案 1 :(得分: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

答案 2 :(得分:0)

构建debian包时会生成

.changes个文件。 .changes文件本身不是包:它包含有关构建的信息(including .debs that were generated)。

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