如何在服务器上添加PPA?

Ubuntu的服务器版本没有add-apt-repository命令。 如何在没有此命令的情况下将个人包存档 (PPA)添加到服务器?

您只需添加add-apt-repository命令即可。 在13.10及更高版本中,您还需要运行此命令:

 sudo apt-get install software-properties-common 

旁注:在11.04,他们为add-apt-repository添加了一个符号链接,因此它可以作为apt-add-repository运行,这对我来说更有意义。 其他一切都以“apt”开头。

注意:它是python-software-properties包的一部分(在13.10之前):

 sudo apt-get install python-software-properties 

我来教你如何钓鱼。 apt-file使您可以找出提供给定文件的包。 dpkg -S做同样的事情,但仅适用于已安装的软件包。 无论软件包是否已安装, apt-file都能正常工作。

所以,首先安装apt-file: sudo apt-get install apt-file 。 然后,您需要更新其信息,就像您必须使用apt-get: sudo apt-file update 。 现在可以使用了:

 $ apt-file search add-apt-repository python-software-properties: /usr/bin/add-apt-repository python-software-properties: /usr/share/man/man1/add-apt-repository.1.gz 

因此,在这种情况下,接下来要做的就是安装python-software-properties。

它不一定是最好的答案,但这将起作用:

编辑/etc/apt/sources.list的老式方式(在Ubuntu 9.10之前,他们称之为)仍然有效。 您还需要手动获取系统上的GPG密钥。

在旧的(9.10之前的)Ubuntu系统上:

第1步:访问Launchpad中的PPA概述页面。 查找将此PPA添加到系统的标题,然后单击有关此PPA链接的技术详细信息。

步骤2:使用Display sources.list entries下拉框选择您正在使用的Ubuntu版本。

第3步:您会看到下面的文本框内容如下所示:

 deb http://ppa.launchpad.net/gwibber-daily/ppa/ubuntu jaunty main deb-src http://ppa.launchpad.net/gwibber-daily/ppa/ubuntu jaunty main 

复制这些行。

第4步:打开终端并输入:

 sudo gedit /etc/apt/sources.list 

这将打开一个文本编辑器,其中包含系统当前使用的存档列表。 滚动到文件底部并粘贴您在上面的步骤中复制的行。

保存文件并退出文本编辑器。

步骤5:返回PPA的概述页面,查找签名密钥标题。 你会看到类似的东西:

1024R / 72D340A3(这是什么?)

复制斜杠后的部分,但不包括帮助链接; 例如只是72D340A3。

步骤6:现在您需要将该密钥添加到系统中,以便Ubuntu可以validationPPA中的软件包。 在您的终端中,输入:

 sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 72D340A3 

(将72D340A3替换为您在步骤5中复制的任何内容。)

现在,这将下拉PPA的密钥并将其添加到您的系统中。

步骤7:现在,作为一次性,您应该告诉您的系统从其知道的每个存档中下载最新的软件列表,包括您刚刚添加的PPA:

 sudo apt-get update 

现在您已准备好开始从PPA安装软件了!

add-apt-repositorypython-software-properties包提供。

因此,如果你应该安装通过

 sudo apt-get install python-software-properties 

运行此命令:

 sudo apt-get install software-properties-common 

然后您可以添加运行的存储库:

 sudo add-apt-repository [REPOSITORY] 

Renember将[REPOSITORY]替换为您要添加的存储库名称。

几周前,我与一位同事就此进行了辩论。 给

 apt-add-repository 

一试。 不需要任何其他包。 请注意,apt在添加之前出现。 订单确实很重要,因为需要安装add-apt-repository。

那些反对者在那里。 试试这个Vagrant文​​件。 请注意,我从一个新的可靠图像开始,并开箱即用添加ppa。

 # -*- mode: ruby -*- # vi: set ft=ruby : # All Vagrant configuration is done below. The "2" in Vagrant.configure # configures the configuration version (we support older styles for # backwards compatibility). Please don't change it unless you know what # you're doing. Vagrant.configure(2) do |config| config.vm.box = "ubuntu/trusty64" config.ssh.username = "vagrant" config.vm.provision "shell", inline: <<-SHELL sudo apt-add-repository ppa:george-edison55/cmake-3.x -y sudo apt update sudo apt upgrade sudo apt install -y virtualbox-guest-dkms sudo apt-get install -y curl g++ libpng12-dev \ libtiff5-dev libssl-dev libxml2-dev libxslt1-dev libpq-dev postgresql-client \ postgresql pgadmin3 liblcms2-dev libcrypto++9 libcrypto++-dev \ graphviz-dev libboost1.55-dev libboost-filesystem1.55-dev libboost-system1.55-dev \ libexpat1-dev python-software-properties qtbase5-dev qttools5-dev \ libqt5svg5-dev qtscript5-dev qtdeclarative5-dev qtmultimedia5-dev \ libsqlite3-dev qt5-default cmake SHELL end 

更新:只是为了澄清,看起来ubuntu的云图像精确,并且已经安装了正确的软件包。 因此,无论我们是在讨论cloud-init脚本还是流浪文件,都会出现apt-add-repository。 因为add-apt-repository在同一个包中也应该可以工作。