Wie füge ich eine PPA auf einem Server hinzu?

160

Die Serverversion von Ubuntu verfügt nicht über den add-apt-repositoryBefehl. Wie kann ich dem Server ohne diesen Befehl ein persönliches Paketarchiv (PPA) hinzufügen ?

Luis Alvarado
quelle
In der neuesten Version von synaptic können Sie PPAs direkt in die Software-Quellen anstelle einer Deb-Zeile einfügen
Dirk Hartzer Waldeck
1
- @ Dougs Antwort ist für Ubuntu 16.04 korrekt - @ fossfreedom's Antwort ist für Ubuntu 14.04 korrekt Unter Ubuntu 16.04 lautet das richtige Paket in der Tat software-properties-common: $ type add-apt-repository add-apt-repository ist hashed (/ usr / bin / add-apt-repository) $ apt-dateisuche / usr / bin / add-apt-repository software-eigenschaften-allgemein: / usr / bin / add-apt-repository auf früheren versionen ist in der tat zu finden auf python-software-properties--- UPDATE: Ich kommentiere es hier, weil ich es nicht als Kommentar hinzufügen konnte!
Azbarcea
Das Repository von apt-add funktioniert sofort.
Atifm

Antworten:

196

Sie können den add-apt-repositoryBefehl einfach hinzufügen . Ab 13.10 müssen Sie außerdem den folgenden Befehl ausführen:

sudo apt-get install software-properties-common

Randnotiz: In 11.04 haben sie einen Symlink hinzugefügt, add-apt-repositorydamit es ausgeführt werden kann, apt-add-repositorywas für mich total sinnvoller ist. Alles andere beginnt mit "apt".

HINWEIS: Es ist Teil des python-software-propertiesPakets (vor 13.10):

sudo apt-get install python-software-properties
Mark Russell
quelle
Zu sehen, dass es tatsächlich eine Funktion von apt ist, ist für mich eigentlich logisch. "Repository mit
Apt
5
Was ist, wenn "python-software-properties" bereits installiert ist und der Befehl "command not found" weiterhin angezeigt wird, wenn Sie versuchen, "apt-add-repository" zu verwenden?
Monkut
Hast du auch "add-apt-respository" ausprobiert? Bei Versionen vor 11.04 müssen Sie das "add" vor das "apt" setzen.
Mark Russell
Was sollen Sie tun, wenn "apt-get install python-software-properties" fehlschlägt, weil es von python-curl abhängt, was "nicht installierbar" ist? Auf meinem 12.04 System beschwert es sich, dass es "nicht in der Lage ist, Probleme zu beheben - Sie haben defekte Pakete gehalten"
Hoobajoob
Ist software-properties-commonein Satz definierter Werkzeuge oder eine Sammlung von Werkzeugen?
Alex
74

Lass mich dir das Angeln beibringen. apt-fileHier können Sie herausfinden, welches Paket eine bestimmte Datei enthält. dpkg -Smacht dasselbe, aber nur für installierte Pakete. apt-filefunktioniert unabhängig davon, ob das Paket installiert wurde oder nicht.

Also, zuerst installieren Sie apt-Datei: sudo apt-get install apt-file. Sie müssen dann ihre Informationen aktualisieren, so wie Sie mit apt-get haben: sudo apt-file update. Jetzt ist es einsatzbereit:

$ 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

In diesem Fall wäre das nächste, was zu tun wäre, Python-Software-Eigenschaften zu installieren.

Jo-Erlend Schinstad
quelle
3
exzellenter tipp - vielleicht sollte er nicht in dieser frage vergraben werden - eine separate frage wäre eine gute idee, dies hervorzuheben.
fossfreedom
@fossfreedom Ist es das, wovon du sprichst? - askubuntu.com/questions/13792/…
jrg
9
Aufgrund dieses Tippes habe ich festgestellt, dass sich das apt-add-repository in 12.10 Server in software-properties-common befindet (nicht mehr in python-software-properties)
Kat Amsterdam
Warum vergesse ich immer wieder, dass dieser unglaublich nützliche Befehl existiert! Gute Antwort.
lleaff
53

Es ist nicht unbedingt die beste Antwort, aber dies wird funktionieren:

Die altmodische Art des Editierens (vor Ubuntu 9.10, wie sie es nennen) /etc/apt/sources.listfunktioniert immer noch. Sie müssen den GPG-Schlüssel auch manuell auf dem System abrufen.

Auf älteren (vor 9.10) Ubuntu-Systemen:

Schritt 1: Besuchen Sie die Übersichtsseite der PPA im Launchpad. Suchen Sie nach der Überschrift Hinzufügen dieser PPA zu Ihrem System und klicken Sie auf den Link Technische Details zu dieser PPA.

Schritt 2: Wählen Sie in der Dropdown-Liste Display sources.list die Version von Ubuntu aus, die Sie verwenden.

Schritt 3: Sie werden sehen, dass das Textfeld direkt darunter ungefähr so ​​lautet:

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

Kopieren Sie diese Zeilen.

Schritt 4: Öffnen Sie ein Terminal und geben Sie Folgendes ein:

sudo gedit /etc/apt/sources.list

Dadurch wird ein Texteditor geöffnet, der die Liste der Archive enthält, die Ihr System derzeit verwendet. Scrollen Sie zum Ende der Datei und fügen Sie die im obigen Schritt kopierten Zeilen ein.

Speichern Sie die Datei und beenden Sie den Texteditor.

Schritt 5: Suchen Sie auf der Übersichtsseite des PPA nach der Überschrift Signaturschlüssel. Du wirst etwas sehen wie:

1024R / 72D340A3 (Was ist das?)

Kopieren Sie den Teil nach dem Schrägstrich, aber ohne den Hilfelink. zB nur 72D340A3.

Schritt 6: Jetzt müssen Sie diesen Schlüssel zu Ihrem System hinzufügen, damit Ubuntu die Pakete von der PPA überprüfen kann. Geben Sie in Ihrem Terminal Folgendes ein:

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

(Ersetzen Sie 72D340A3 durch das, was Sie in Schritt 5 kopiert haben.)

Dadurch wird der PPA-Schlüssel heruntergezogen und Ihrem System hinzugefügt.

Schritt 7: Jetzt sollten Sie Ihr System einmalig anweisen, die neueste Softwareliste aus jedem Archiv abzurufen, das es kennt, einschließlich der soeben hinzugefügten PPA:

sudo apt-get update

Jetzt können Sie mit der Installation der Software von der PPA beginnen!

Broam
quelle
1
Wenn keine andere schnellere und benutzerfreundlichere Antwort gegeben wird, werde ich diese als die richtige angeben. Es löst das Problem auf eine "besondere" Weise;)
Luis Alvarado
1
Während Add-Apt-Repository einfacher ist, möchte ich bei einer Server-Installation die Dinge schlank halten, so dass es mir nichts ausmacht, es manuell zu tun. Das war die Antwort, nach der ich gesucht habe.
D. Strout
1
Diese Methode ist viel besser als die Installation apt-add-repositoryund der ganze Mist, der mit dem erforderlichen Paket geliefert wird.
Dmitry Minkovsky
4
Software-Eigenschaften-Common-Paket ist riesig, scheint zu viel, um nur etwas Text an eine Datei anzuhängen und ein paar Befehle auszuführen. Eine solche Platzverschwendung bei der Verwendung in Docker. Diese Antwort ist sehr hilfreich!
rsmoorthy
3
Dies sollte die akzeptierte Antwort sein, da das OP fragte, wie man umgeht, ohne das Add-Apt-Repository zu verwenden ... Vielen Dank für diese Frage !
DJBO
15

add-apt-repositorywird durch das Paket bereitgestellt python-software-properties.

Also wenn du via installieren solltest

sudo apt-get install python-software-properties
fossfreedom
quelle
Vielen Dank! Ich muss sagen, dass ich einen ziemlich unlogischen Namen finde. Hast du auch eine Idee, warum ich es nicht standardmäßig installiert habe?
Peter Smit
2
unlogisch vereinbart - warum, könnte man spekulieren, dass Server in Bezug auf die Ausführung von Software in der Regel "repariert" sind. Sie brauchen also nicht den Luxus, Repositories häufig hinzuzufügen und zu entfernen ... Ende der Spekulation!
fossfreedom
Warum ist es unlogisch? Es handelt sich um eine Reihe von Python-Tools für den Umgang mit Softwareeigenschaften. Add-Apt-Repository ist eines dieser Tools.
Jo-Erlend Schinstad
Ich habe bereits python-software-propertiesinstalliert, erhalte aber weiterhin diesen Fehler. Ich habe versucht apt-addund add-aptNotizen, und keine Arbeit ... was zu tun?
Mohamad
1
@Mohamad, weil es falsch ist, zumindest für Ubuntu 14.04. Alles was Sie installieren müssen ist software-properties-common.
Theodore R. Smith
15

Führen Sie diesen Befehl aus:

sudo apt-get install software-properties-common

Und dann können Sie Ihr laufendes Repository hinzufügen:

sudo add-apt-repository [REPOSITORY]

Ersetzen Sie [REPOSITORY]mit Renember den Repository-Namen, den Sie hinzufügen möchten.

Doug
quelle
Das hat einwandfrei funktioniert.
Aaron
0

Ich hatte vor ein paar Wochen eine Debatte mit einem Kollegen darüber. Geben

apt-add-repository

ein Versuch. Benötigt keine anderen Pakete. Beachten Sie, dass apt vor dem Hinzufügen angezeigt wird. Die Reihenfolge spielt eine Rolle, da das Add-Apt-Repository installiert werden muss.

Für die Neinsager da draußen. Probieren Sie diese Vagrant-Datei aus. Hinweis: Ich gehe von einem frischen, vertrauenswürdigen Image aus und füge das PPA sofort hinzu.

# -*- 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

Update: Nur zur Verdeutlichung, es sieht so aus, als ob die Cloud-Images für Ubuntu Precise und Up das richtige Paket bereits installiert haben. Unabhängig davon, ob es sich um Cloud-Init-Skripte oder um eine Vagrant-Datei handelt, ist das Repository apt-add vorhanden. Da sich add-apt-repository im selben Paket befindet, sollte das auch funktionieren.

Atifm
quelle
Ordnung spielt keine Rolle. Siehe askubuntu.com/questions/83489/… .
Edwinksl
1
Erklären Sie, warum diese vagabundierende Datei dann funktioniert. Ich behaupte nicht, dass sie etwas anderes machen. Sie machen genau dasselbe. Sie brauchen nur ein Paket für das Add-Apt, während das andere von Grund auf funktioniert.
Atifm
@atifm: Siehe diese Antwort : $ apt-Dateisuche Add-Apt-Repository Software-Eigenschaften-Common: / usr / bin / Add-Apt-Repository Software-Eigenschaften-Common: / usr / share / man / man1 / add- apt-repository.1.gz $ apt-dateisuche apt-add-repository software-eigenschaften-allgemein: / usr / bin / apt-add-repository software-eigenschaften-allgemein: / usr / share / man / man1 / apt- add-repository.1.gz
tricasse
@tricasse: Danke für den Link zu apt-file, der an anderer Stelle nützlich sein wird. Sie befinden sich also in demselben Paket, das von apt-file überprüft wurde. Das heißt, es sieht so aus, als ob die Ubuntu-Cloud-Images (für Vagabunden) für präzise und vertrauenswürdige das Paket bereits installiert haben. Ich
bin