可以将PPA添加到Ubuntu软件仓库镜像中吗?

在我们的学院,我们有大多数新的Ubuntu发行版的镜像,以节省更新成本。我们想要将rabbitvcs添加到计算机上,但它只能通过PPA而不是官方仓库获得。那么,可以将PPA添加到(私有)Ubuntu仓库的镜像中吗?
附注:我希望了解涉及的技术和法律问题。

1就法律问题而言,Launchpad的PPA使用条款要求软件包必须在OSI批准FSF批准或者DFSG合规的许可证下进行分发。因此,重新分发是允许的。在这方面应该没有问题。 - andrewsomething
你可以像镜像主要仓库一样完全镜像PPA。 - psusi
你在这里说的是哪种方式?是指rsync吗? - apoorv020
@apoorv020 无论你使用什么方式来管理主要代码库,一个代码库就是一个代码库。 - psusi
3个回答

我成功地使用apt-mirror来镜像PPA。

只需添加类似以下的行:

deb http://ppa.launchpad.net/byobu/ppa/ubuntu precise main
deb-src http://ppa.launchpad.net/byobu/ppa/ubuntu precise main

打开 /etc/apt/mirror.list 文件。
然后运行 sudo apt-mirror 命令。

如预期的那样。做得很好。 - Diosney

官方仓库是一个仓库,PPA也是一个仓库,你不能将一个仓库添加到另一个仓库中。
最好的方法是要求每个人在他们的Ubuntu安装中添加你的仓库。这样可以非常有用。你还可以将该仓库镜像,这样你上传的软件包会被镜像到学院服务器,并作为更新提供给所有人使用。

我刚刚花了一些时间为OpenCPU做这个。如果你只有添加PPA的命令行,你需要将冒号改成句号,并在其中加入launchpad.net。
例如,这是PPA安装命令行:
add-apt-repository -y ppa:opencpu/opencpu-1.6

/etc/apt/mirror.list文件中,您可以为Ubuntu 16.04(xenial)添加以下行:
deb http://ppa.launchpad.net/opencpu/opencpu-1.6/ubuntu xenial main

然后你可以启动apt-mirror,它将克隆PPA。要让客户使用这个功能,你需要在他们的/etc/apt/sources.list文件中添加条目,指向你托管PPA镜像的位置。