Comment ajouter un PPA sur un serveur?

160

La version serveur d'Ubuntu n'a pas la add-apt-repositorycommande. Comment puis-je ajouter une archive de paquet personnel (PPA) au serveur sans cette commande?

Luis Alvarado
la source
dans la dernière version de synaptic, vous pouvez ajouter des fichiers ppa directement dans les sources du logiciel au lieu d'une ligne deb
Dirk Hartzer Waldeck
1
- La réponse de @ Doug est correcte pour Ubuntu 16.04 - La réponse de @ fossfreedom est correcte pour Ubuntu 14.04 Sous Ubuntu 16.04, le bon paquet est en effet software-properties-common, comme indiqué par: $ type add-apt-repository add-apt-repository est haché (/ usr / bin / add-apt-repository) Recherche dans le fichier apt / usr / bin / add-apt-repository propriétés-communes du logiciel: / usr / bin / add-apt-repository sur les versions précédentes, il peut être trouvé sur python-software-properties--- UPDATE: Je le commente ici, car je ne pouvais pas l'ajouter comme commentaire!
Azbarcea
apt-add-repository fonctionne immédiatement.
Atifm

Réponses:

196

Vous pouvez simplement ajouter la add-apt-repositorycommande. Dans 13.10 et les versions ultérieures, vous devez également exécuter cette commande:

sudo apt-get install software-properties-common

Note latérale: dans 11.04, ils ont ajouté un lien symbolique à celui-ci add-apt-repositorypour qu'il puisse être exécuté comme apt-add-repositoryce qui me semble le plus logique. Tout le reste apt commence par "apt".

NOTE: Cela fait partie du python-software-propertiespaquet (avant 13h10):

sudo apt-get install python-software-properties
Mark Russell
la source
Voir que c'est en fait une fonction d'apt c'est en fait logique pour moi. "add repository with apt"> "apt-add-repository"
MrChrisDruif
5
Que se passe-t-il si "python-software-properties" est déjà installé et que vous obtenez toujours "commande introuvable" lorsque vous essayez d'utiliser "apt-add-repository"?
Monkut
Avez-vous également essayé "add-apt-respository"? Sur les versions antérieures à 11.04, vous devez mettre "add" avant "apt".
Mark Russell
qu'est-ce que vous êtes censé faire quand 'apt-get install python-software-properties' échoue parce que cela dépend de python-curl, qui n'est pas installable? Sur mon système 12.04, il se plaint d'être "incapable de corriger les problèmes - vous avez des paquets cassés"
Hoobajoob le
Est-ce software-properties-commonqu’un ensemble d’outils définis ou une collection d’utils?
Alex
74

Laissez-moi vous apprendre à pêcher. apt-filevous permet de savoir quel paquet fournit un fichier donné. dpkg -Sfait la même chose, mais seulement pour les paquets installés. apt-filefonctionne que le paquet ait été installé ou non.

Alors, tout d' abord installer apt-file: sudo apt-get install apt-file. Vous devez ensuite mettre à jour ses informations, comme vous devez avec apt-get: sudo apt-file update. Maintenant, il est prêt à être utilisé:

$ 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

Donc, dans ce cas, la prochaine chose à faire serait d'installer python-software-properties.

Jo-Erlend Schinstad
la source
3
excellent conseil - il ne faut peut-être pas l'enfouir dans cette question - une question distincte serait une bonne idée de le souligner.
fossfreedom
@fossfreedom Est-ce ce dont vous parlez? - askubuntu.com/questions/13792/…
jrg
9
En raison de cette astuce, j'ai découvert que dans le serveur 12.10, apt-add-repository est situé dans software-properties-common (n'est plus dans python-software-properties)
Kat Amsterdam
Pourquoi est-ce que je continue à oublier que cette commande incroyablement utile existe! Très bonne réponse.
lleaff
53

Ce n'est pas nécessairement la meilleure réponse, mais cela fonctionnera:

La méthode de montage à l'ancienne (avant Ubuntu 9.10, comme on l'appelle) /etc/apt/sources.listfonctionne toujours. Vous devrez également obtenir la clé GPG sur le système manuellement.

Sur les anciens systèmes Ubuntu (antérieurs à 9h10):

Étape 1: Visitez la page de présentation de l'APP dans Launchpad. Recherchez la rubrique intitulée Ajouter ce PPA à votre système et cliquez sur le lien Détails techniques sur ce PPA.

Étape 2: Utilisez la liste déroulante Afficher les entrées sources.list pour sélectionner la version d'Ubuntu que vous utilisez.

Étape 3: Vous verrez que la zone de texte ci-dessous se lit comme suit:

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

Copiez ces lignes.

Étape 4: Ouvrez un terminal et tapez:

sudo gedit /etc/apt/sources.list

Cela ouvrira un éditeur de texte contenant la liste des archives que votre système utilise actuellement. Faites défiler jusqu'au bas du fichier et collez les lignes que vous avez copiées à l'étape ci-dessus.

Enregistrez le fichier et quittez l'éditeur de texte.

Étape 5: Retournez sur la page d'aperçu de l'APP, recherchez l'en-tête de clé de signature. Vous verrez quelque chose comme:

1024R / 72D340A3 (Qu'est-ce que c'est?)

Copiez la partie après la barre oblique sans inclure le lien d’aide; par exemple, juste 72D340A3.

Étape 6: Maintenant, vous devez ajouter cette clé à votre système afin qu'Ubuntu puisse vérifier les paquets à partir du PPA. Dans votre terminal, entrez:

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

(Remplacez 72D340A3 par ce que vous avez copié à l'étape 5.)

Cela va maintenant descendre la clé du PPA et l'ajouter à votre système.

Étape 7: À titre ponctuel, vous devez indiquer à votre système de dérouler la liste la plus récente des logiciels de chaque archive connue, y compris le PPA que vous venez d'ajouter:

sudo apt-get update

Vous êtes maintenant prêt à installer le logiciel à partir du PPA!

Broam
la source
1
Si aucune autre réponse plus rapide et plus conviviale n’est donnée, je mets celle-ci comme étant la bonne. Cela résout le problème de manière "spéciale";)
Luis Alvarado, le
1
Bien qu'add-apt-repository soit plus facile, dans une installation serveur, j'aime garder les choses simples, alors je n'ai pas d'objection à le faire manuellement. C'était la réponse que je cherchais.
D. Strout
1
Cette méthode est bien meilleure que l’installation apt-add-repositoryet toute la merde fournie avec le paquet requis.
Dmitry Minkovsky
4
Le paquet software-properties-common est énorme, semble trop pour ajouter du texte à un fichier et exécuter quelques commandes. Un tel gaspillage d'espace lors de l'utilisation de Docker. Cette réponse est très utile!
rsmoorthy
3
Cela devrait être la réponse acceptée, car le PO a demandé comment se déplacer sans utiliser add-apt-repository ... Merci beaucoup pour celui-ci!
djBo
15

add-apt-repositoryest fourni par le paquet python-software-properties.

Donc si vous devez installer via

sudo apt-get install python-software-properties
fossfreedom
la source
Merci! Je dois dire que je trouve un nom assez illogique. Aussi, avez-vous une idée pourquoi je ne l’installe pas en standard?
Peter Smit
2
illogique convenu - quant à pourquoi, vous pouvez supposer que les serveurs sont généralement «fixes» en termes d’exécution de logiciels. Ainsi, vous n'avez pas besoin du "luxe" d'ajouter et de supprimer fréquemment des référentiels ... fin de spéculation!
fossfreedom
Pourquoi est-ce illogique? C'est un ensemble d'outils python permettant de gérer les propriétés logicielles. add-apt-repository est l'un de ces outils.
Jo-Erlend Schinstad
J'ai déjà python-software-propertiesinstallé mais je continue à recevoir cette erreur. J'ai essayé apt-addet add-aptnotations, et aucune ne fonctionne ... que faire?
Mohamad
1
@Mohamad, parce que c'est faux, du moins pour Ubuntu 14.04. Tout ce que vous devez installer est software-properties-common.
Theodore R. Smith
15

Exécutez cette commande:

sudo apt-get install software-properties-common

Et puis vous pouvez ajouter votre référentiel en cours d'exécution:

sudo add-apt-repository [REPOSITORY]

Renember pour remplacer [REPOSITORY]par le nom du référentiel que vous souhaitez ajouter.

Doug
la source
Cela a fonctionné parfaitement.
Aaron
0

J'ai eu un débat avec un collègue à ce sujet il y a quelques semaines. Donner

apt-add-repository

un essai. N'a besoin d'aucun autre paquet. Notez que apt apparaît avant add. L'ordre est important car add-apt-repository doit être installé.

Pour les opposants là-bas. Essayez ce fichier Vagrant. Remarquez, je pars d'une nouvelle image fidèle et ajoute le ppa dès sa sortie de la boîte.

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

Mise à jour: Juste pour clarifier, il semble que les images en nuage pour Ubuntu soient correctement installées et que le paquet correct soit déjà installé. Ainsi, qu’il s’agisse de scripts cloud-init ou d’un fichier vague, apt-add-repository est présent. Puisque add-apt-repository est dans le même paquet, il devrait également fonctionner.

Atifm
la source
L'ordre n'a pas d'importance. Voir askubuntu.com/questions/83489/… .
Edwinksl
1
Expliquez pourquoi ce fichier vagabond fonctionne alors. Notez que je ne dis pas qu'ils font quelque chose de différent. Ils font exactement la même chose. Vous avez juste besoin d'un paquet pour add-apt, où l'autre fonctionne à partir de rien.
Atifm
@atifm: Voir cette réponse : $ 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 $ recherche apt-fichier 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: Merci pour le lien vers apt-file, cela sera utile ailleurs. Donc, votre droit, ils sont dans le même paquet que vérifié par apt-file. Cela dit, il semble que les images du nuage Ubuntu (pour vagabond) soient précises et fiables et que le paquet est déjà installé. Pas sûr que ce soit toujours le cas, mais cela semble être le cas pour le moment
Atifm