任何人都可以告诉我如何在Ubuntu中为我的软件包创build自己的本地软件包存储库?

我想在ubuntu中为我的软件包创build一个软件包仓,这个仓库将在多个Ubuntu系统中使用来安装和更新软件包。

这是一个关于个人存储库的wiki页面 ,我想你将不得不与http或者nfs共享。 有关信息, 这里是另一个指导性文章 ,也许现在已经过时了。

  1. 为你的debs创build一个目录
  2. 把他们放在那里
  3. 通过networking服务器(如Apache)分享它
  4. 安装“dpkg-dev”包
  5. 在目录下运行这个:

    dpkg-scanpackages。 / dev / null>包

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

    deb http:/// ./

另一种方法是mini-dinstall软件包,该软件包的设置工作量较大,但维护较less,尤其适用于多个用户。

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

基本步骤是:

  1. 创build一个回购目录
  2. 复制到包文件中
  3. 生成发布和包文件
  4. (可选,但是安全性要好得多,因为这意味着在使用apt-get时不必使用–allow-unauthenticate)使用gpg签署Release文件

在askubuntu上查看我的答案,find一个自动化的小脚本。 还有一个叫做reprepro的程序,但是我发现它不再适用于Ubuntu Xenial(YMMV)。

apt-cacher软件包( 请参阅 Ubuntu软件包描述以及这里的教程)提供了创build本地caching的软件包的可供您的networking上的所有计算机使用的caching。

也有一些类似核心function的代理,但有些人认为它不太稳定/可靠,而且似乎又执行了同样的主要任务。 所有这些选项也可以在Ubuntu的“宇宙”回购,至less对于Jaunty。

注意:我还没有尝试使用这些软件包(当我设置一个新的虚拟机用于testing的时候,我还保留了它的意义,因为这样可以节省时间和带宽)

我已经使用过大概简单地caching和镜像上游软件包到我的主testing机器,我在更新整个networking之前testing了软件包。 然后,我所有的本地机器都将被设置为从testing机器的近似回购caching中更新。

还有像reprepro这样的软件包,可以为您处理大部分的回购pipe理任务,甚至正确地GPG签署回购文件,以便apt / dpkg / etc不会在用户从回购库更新软件包时抱怨。

您也可以使用Ubuntu PPA (Personal Package Archive)来存储您自己的软件。 Canonical公司是Ubuntu后面的公司,它将把它存储起来,并通过互联网向任何人提供免费服务