Ubuntu版本的服务器没有add-apt-repository命令。如何在不使用此命令的情况下向服务器添加个人软件包归档(PPA)?

评论

在最新版本的synaptic中,您可以直接在软件源中添加ppa而不是deb行

-@Doug的答案对于Ubuntu 16.04是正确的-@fossfreedom的答案对于Ubuntu 14.04是正确的在Ubuntu 16.04上,正确的软件包确实是software-properties-common的,如以下所示:$ type add-apt-repository add-apt-repository被散列(/ usr / bin / add-apt-repository)$ apt-file搜索/ usr / bin / add-apt-repository software-properties-common:在以前的版本中可以找到/ usr / bin / add-apt-repository确实在python-software-properties上---更新:我在这里发表评论,因为我无法将其添加为评论!

apt-add-repository可以直接使用。

#1 楼

您可以简单地添加add-apt-repository命令。在13.10及更高版本中,您还需要运行以下命令:

sudo apt-get install software-properties-common


侧面说明:在11.04中,他们向add-apt-repository添加了符号链接,因此可以作为apt-add-repository运行,对我来说更有意义。 apt的所有其他内容均以“ apt”开头。

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

sudo apt-get install python-software-properties


评论


看到它实际上是apt的功能,对我来说实际上是合乎逻辑的。 “使用apt添加存储库”>“ apt-add-repository”

–MrChrisDruif
2012年3月27日15:32

如果已经安装了“ python-software-properties”,并且在尝试使用“ apt-add-repository”时仍然出现“找不到命令”怎么办?

– monkut
2012年7月23日在1:08



您是否也尝试过“ add-apt-repository”?在11.04之前的版本中,必须在“ apt”之前放置“ add”。

–马克·罗素
2012年7月26日在21:24

当“ apt-get install python-software-properties”由于依赖于python-curl(无法安装)而失败时,您应该怎么办?在我的12.04系统上,它抱怨说“无法纠正问题-您拿着破损的包裹”

– Hoobajoob
15年1月16日在22:15

软件属性是一组定义好的工具还是公用程序的集合?

– Alex
2015年5月21日在8:20

#2 楼

让我教你如何钓鱼。 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。

评论


一个很好的技巧-也许不应该将其埋在这个问题中-单独提出一个问题来突出这一点将是一个好主意。

–fossfreedom♦
2011年8月2日,11:47

@fossfreedom这是您在说的吗? -askubuntu.com/questions/13792/…

– jrg
2011年8月2日,12:46

由于此技巧,我发现在12.10服务器中,apt-add-repository位于software-properties-common中(不再位于python-software-properties中)

–凯特阿姆斯特丹
13年10月10日在22:08

为什么我忘了这个非常有用的命令存在!好答案。

–lle
17 Mar 7 '17 at 10:38

#3 楼

它不一定是最好的答案,但这将起作用:编辑/etc/apt/sources.list的老式方法(在Ubuntu 9.10之前的版本,他们称之为)仍然有效。您还需要手动在系统上获取GPG密钥。

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

步骤1:在启动板中访问PPA的概述页面。查找标题为“将此PPA添加到您的系统中”的标题,然后单击有关此PPA链接的“技术详细信息”。

步骤2:使用“显示sources.list条目”下拉框选择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可以从PPA验证软件包。在终端中输入:

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


(用在步骤5中复制的内容替换72D340A3。)

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

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

sudo apt-get update


现在您可以开始从PPA安装软件了!

评论


如果没有给出其他更快,更友好的答案,那么我将把它作为正确的答案。它以“特殊”方式解决了问题;)

–路易斯·阿尔瓦拉多(Luis Alvarado)
2011年4月29日15:10

尽管add-apt-repository更加容易,但是在服务器安装中,我希望保持精简,因此我不介意手动进行操作。这就是我一直在寻找的答案。

– D. Strout
13年4月14日在18:30

这种方法比安装apt-add-repository和必需软件包附带的所有废话更好。

–德米特里·明科夫斯基(Dmitry Minkovsky)
13-10-22在20:25

software-properties-common软件包非常庞大,对于仅将一些文本附加到文件并运行几个命令而言似乎太过庞大了。在Docker中使用时会浪费空间。这个答案非常有帮助!

–rsmoorthy
2015年9月11日下午6:56

这应该是一个可以接受的答案,因为OP询问如何不使用add-apt-repository来解决这个问题……非常感谢!

– djBo
16年5月21日在9:52

#4 楼

add-apt-repository由软件包python-software-properties提供。

因此,如果您应该通过

sudo apt-get install python-software-properties

安装

评论


谢谢!我必须说我发现一个很不合逻辑的名字。另外,您知道为什么我没有标准安装吗?

– Peter Smit
2011年8月2日在10:41

达成共识是不合逻辑的-关于原因,您可以推测服务器通常在运行软件方面是“固定的”。因此,您不需要频繁添加和删除存储库的“奢侈”……投机活动!

–fossfreedom♦
2011年8月2日在10:46

为什么不合逻辑?这是一组处理软件属性的python工具。 add-apt-repository是这些工具之一。

– Jo-Erlend Schinstad
2011年8月2日,13:32

我已经安装了python-software-properties,但是我一直收到此错误。我尝试了apt-add和add-apt表示法,但没有用...该怎么办?

– Mohamad
13年5月15日在23:17

@Mohamad,因为这是错误的,至少对于Ubuntu 14.04来说是这样。您需要安装的只是software-properties-common。

–西奥多·史密斯(Theodore R. Smith)
2015年1月9日在22:21

#5 楼

运行以下命令:

sudo apt-get install software-properties-common


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

sudo add-apt-repository [REPOSITORY]


用Renember替换[REPOSITORY]带有要添加的存储库名称。

评论


这工作得很好。

–亚伦
2015年1月22日,下午3:16

#6 楼

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

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 precision和up的映像已经安装了正确的软件包。因此,无论我们是在谈论云初始化脚本还是无业游民的文件,都存在apt-add-repository。由于add-apt-repository位于应该可以正常工作的同一程序包中。

评论


顺序无关紧要。参见askubuntu.com/questions/83489/…。

–edwinksl
16年8月19日在0:45



请解释一下为什么这个无业游民的文件为什么可以工作。请注意,我并不是说他们做的事情有所不同。他们做的完全一样。您只需要一个用于add-apt的软件包,其他软件包就可以从头开始工作。

– Atifm
16年8月19日在0:48



@atifm:请参见以下答案:$ apt-file搜索add-apt-repository软件属性-公共:/ usr / bin / add-apt-repository软件属性-公共:/ usr / share / man / man1 / add- apt-repository.1.gz $ apt-文件搜索apt-add-repository软件属性-公共:/ usr / bin / apt-add-repository软件-属性公共:/ usr / share / man / man1 / apt- add-repository.1.gz

– tricasse
16-10-25在22:53



@tricasse:感谢您对apt-file的链接,在其他地方会很有用。因此,您的权利与apt-file验证的文件位于同一软件包中。就是说,看起来像ubuntu云映像(对于无业游民),对于已经安装了该软件包的用户而言,精确可靠。不确定是否总是这样,但目前看来确实如此

– Atifm
16-10-26在10:40