Ubuntu 托管debian更新存储库的简单方法

Ubuntu 托管debian更新存储库的简单方法,ubuntu,debian,apt-get,Ubuntu,Debian,Apt Get,我有一个项目,我在其中创建了一个.deb文件,它应该由linux客户机安装。为此,我想使用apt get install mypackage 由于对这个领域还不熟悉,我现在正在寻找一种最简单的方法来托管我自己的debian更新存储库,它只需要包含mypackage.deb 我很快看了一下哪个看起来很有希望,但它们似乎与.changes一起工作,而不是.deb包。所以我不确定这是否是我需要的 因此,工作流应该如下所示: 我创建了debian包mypackage.deb 我告诉一些守护程序更新更新存

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

由于对这个领域还不熟悉,我现在正在寻找一种最简单的方法来托管我自己的debian更新存储库,它只需要包含mypackage.deb

我很快看了一下哪个看起来很有希望,但它们似乎与
.changes
一起工作,而不是
.deb
包。所以我不确定这是否是我需要的

因此,工作流应该如下所示:

  • 我创建了debian包
    mypackage.deb
  • 我告诉一些守护程序更新更新存储库:
    fancy更新守护程序add mypackage.deb
  • 客户端可以使用标准apt命令进行安装或更新:
    apt get install mypackage
  • 感谢您的帮助

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


    虽然我还没有使用mini-dinstall,但这似乎是正确的选择。它应该使用在构建过程中生成的
    .deb
    文件并正确上载它们。

    创建存储库的真正简单方法是创建一个“普通”存储库,而不是一个“自动”存储库。您可以使用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
    
    有关更多信息(如普通存储库和自动存储库之间的区别),请参见(对于如此简单的内容,您可以忽略以下事实,即此文档称自己为“过时的”)

    Create Packages.gz:

    @server> cd debian-repo
    @server> dpkg-scanpackages ./ /dev/null | gzip > Packages.gz
    
    创建新文件/etc/apt/sources.list.d/my-server.list(在客户端)

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

    @client> apt-get update
    @client> apt-get install foo
    

    askubuntu.com是回答此问题的最佳场所,非常感谢。这看起来很有希望。我想我也可以用这个机制管理同一个包的不同版本。我一定会试试。dpkg-scanpackage不会将同一软件包的多个版本放在同一个软件包文件中,如果这是您的意思的话。如果给它一个目录,其中包含同一个包的多个版本,那么最终只会得到包中最新的版本。gz@stew在最近的版本中,您可以给dpkg scanpackage设置
    -m
    开关,将同一软件包的多个版本添加到软件包中。我得到
    E:source list/etc/apt/sources.list.d/…中格式错误的第1行,我在下面创建了一个新答案。
    
    @client> apt-get update
    @client> apt-get install foo