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