サーバーにPPAを追加する方法は?


160

Ubuntuのサーバーバージョンにはadd-apt-repositoryコマンドがありません。このコマンドなしで個人パッケージアーカイブ(PPA)をサーバーに追加するにはどうすればよいですか?


シナプスの最新バージョンでは、代わりにDEBラインのソフトウェアソースに直接PPAのを追加することができます
ディルクHartzerヴァルデック

1
- @ダグの答えはのために正しいことのUbuntu 16.04 - fossfreedomの答えは、のために正しいです@ Ubuntuの 14.04のUbuntu 16.04権利パッケージは確かにあるsoftware-properties-commonで示されるように、:$型のアドオンのapt-リポジトリのアドインのapt-リポジトリは(は/ usr / binにハッシュされます/ add-apt-repository)$ apt-file search / usr / bin / add-apt-repository software-properties-common:以前のバージョンの/ usr / bin / add-apt-repositoryは、実際に見つけることができますpython-software-properties---更新:コメントとして追加できなかったため、ここにコメントします!
アズバルセア

apt-add-repositoryはそのまま使用できます。
Atifm

回答:


196

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-add-repository」
-MrChrisDruif

5
「python-software-properties」がすでにインストールされていて、「apt-add-repository」を使用しようとしたときに「command not found」が表示される場合はどうなりますか?
-monkut

「add-apt-respository」も試しましたか?11.04より前のバージョンでは、「apt」の前に「add」を配置する必要があります。
マークラッセル

「apt-get install python-software-properties」がpython-curlに依存しているために失敗し、「インストールできない」場合に何をするべきですか?私の12.04システムでは、「問題を修正できない-壊れたパッケージを保持している」と不平を言っています
Hoobajoob

software-properties-common定義されたツールやutilsののコレクションのセットは?
アレックス

74

釣り方を教えてください。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をインストールすることです。


3
優れたヒント-おそらくこの質問に埋もれるべきではありません-これを強調するには、別の質問をお勧めします。
fossfreedomの

@fossfreedomこれはあなたが話していることですか?- askubuntu.com/questions/13792/...
JRG

9
これによって先端に私は12.10サーバーのapt-アドオンリポジトリに(もはやのpython-ソフトウェアの特性で)共通のソフトウェア・プロパティに位置していることを発見
キャットアムステルダム

この信じられないほど便利なコマンドが存在することを忘れてしまいます!素晴らしい答え。
リーフ

53

必ずしも最良の答えではありませんが、これは機能します。

昔ながらの方法(Ubuntu 9.10より前、彼らはそれを呼んでいます)の編集は/etc/apt/sources.listまだ機能します。また、システムでGPGキーを手動で取得する必要があります。

古い(9.10以前)Ubuntuシステムの場合:

ステップ1:Launchpadの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からソフトウェアのインストールを開始する準備が整いました!


1
他のより速くよりユーザーフレンドリーな答えが与えられない場合、私はこれを正しいものとして置きます。「特別な」方法で問題を解決します;)
ルイスアルバラード

1
add-apt-repositoryの方が簡単ですが、サーバーインストールでは物を無駄にしないようにしたいので、手動でやるのは気にしません。これは私が探していた答えでした。
D.ストラウト

1
この方法は、インストールapt-add-repositoryや必要なパッケージに付属するすべてのがらくたよりもはるかに優れています。
ドミトリーミンコフスキー

4
software-properties-commonパッケージは巨大で、ファイルにテキストを追加していくつかのコマンドを実行するだけでは大きすぎるようです。Dockerで使用しているときのスペースの無駄。この答えはとても役に立ちます!
rsmoorthy

3
OPはadd-apt-repositoryを使用せずに回避する方法を尋ねたため、これは受け入れられた答えであるはずです。
djBo

15

add-apt-repositoryパッケージによって提供されますpython-software-properties

したがって、経由でインストールする必要がある場合

sudo apt-get install python-software-properties

ありがとう!私はかなり非論理的な名前を見つけたと言わなければなりません。また、なぜ標準インストールされていないのかご存知ですか?
ピータースミット

2
非論理的な合意-理由については、サーバーは通常、ソフトウェアの実行に関して「修正」されていると推測できます。したがって、リポジトリを頻繁に追加および削除する「贅沢」は必要ありません...投機の終わり!
fossfreedomの

なぜ非論理的ですか?ソフトウェアプロパティを処理するためのPythonツールのセットです。add-apt-repositoryはこれらのツールの1つです。
ジョーエルレンドシンスタッド

すでにpython-software-propertiesインストールしていますが、このエラーが発生し続けます。私は試してみましたがapt-addadd-apt何も機能しません...
モハマド

1
@Mohamad、少なくともUbuntu 14.04については間違っているため。インストールする必要があるのはのみsoftware-properties-commonです。
セオドアR.スミス

15

次のコマンドを実行します:

sudo apt-get install software-properties-common

そして、実行中のリポジトリを追加できます:

sudo add-apt-repository [REPOSITORY]

[REPOSITORY]追加するリポジトリ名に置き換えるRenember 。


これは完全に機能しました。
アーロン

0

数週間前にこれについて同僚と議論しました。与える

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スクリプトまたはvagrantファイルのいずれを使用していても、apt-add-repositoryが存在します。add-apt-repositoryは同じパッケージに含まれているため、同様に機能するはずです。


順序は関係ありません。askubuntu.com/questions/83489/…を参照してください。
-edwinksl

1
この迷惑ファイルがなぜ機能するのか説明してください。注:私は彼らが何か違うことをしていると主張しているわけではありません。彼らはまったく同じことをします。add-aptのパッケージが必要なだけで、他のパッケージは最初から動作します。
Atifm

@atifm:この回答を参照してください:$ apt-file search add-apt-repository software-properties-common:/ usr / bin / add-apt-repository software-properties-common:/ usr / share / man / man1 / add- apt-repository.1.gz $ apt-file search apt-add-repository software-properties-common:/ usr / bin / apt-add-repository software-properties-common:/ usr / share / man / man1 / apt- add-repository.1.gz
tricasse

@tricasse:apt-fileへのリンクをありがとう、それは他の場所で役に立つでしょう。あなたの権利は、apt-fileによって検証されたのと同じパッケージにあります。とは言っても、正確で信頼性の高いUbuntuクラウドイメージ(浮浪者用)にはパッケージが既にインストールされているように見えます。これが常に当てはまるかどうかは
わかり
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.