Domanda Come aggiungere un PPA su un server?


La versione server di Ubuntu non ha il add-apt-repository comando. Come posso aggiungere un Archivio pacchetto personale (PPA) al server senza questo comando?


155
2018-04-29 14:57


origine


nell'ultima versione di synaptic è possibile aggiungere ppa direttamente nelle fonti software anziché in una riga deb - Dirk Hartzer Waldeck
- @ La risposta di Doug è corretta Ubuntu  16.04 - La risposta di @ fossfreedom è corretta Ubuntu  14.04 Sopra Ubuntu  16.04 il pacchetto giusto è davvero software-properties-common, come mostrato da: $ tipo add-apt-repository add-apt-repository is hash (/ usr / bin / add-apt-repository) $ apt-file search / usr / bin / add-apt-repository software-properties- comune: / usr / bin / add-apt-repository sulle versioni precedenti può essere trovato in effetti python-software-properties --- AGGIORNAMENTO: lo commento qui, perché non ho potuto aggiungerlo come commento! - azbarcea
apt-add-repository funziona immediatamente. - Atifm


risposte:


Puoi semplicemente aggiungere il add-apt-repository comando. In 13.10 e versioni successive, devi anche eseguire questo comando:

sudo apt-get install software-properties-common

Nota a margine: in 11.04 hanno aggiunto un collegamento simbolico a add-apt-repository quindi può essere eseguito come apt-add-repository che ha più senso per me. Tutto il resto apt inizia con "apt".

NOTA: fa parte del python-software-properties pacchetto (prima delle 13.10):

sudo apt-get install python-software-properties

191
2018-04-29 15:18



Vedere che in realtà è una funzione di apt in realtà è logico per me. "aggiungi repository con apt"> "apt-add-repository" - MrChrisDruif
cosa succede se "python-software-properties" è già installato e si ottiene ancora "command not found" quando si tenta di utilizzare "apt-add-repository"? - monkut
Hai provato anche "add-apt-respository"? Nelle versioni precedenti alla 11.04 devi inserire "aggiungi" prima di "apt". - Mark Russell
cosa dovresti fare quando 'apt-get install python-software-properties' fallisce perché dipende da python-curl, che è 'non installabile'? Sul mio sistema 12.04, si lamenta che non è "in grado di correggere i problemi - hai tenuto pacchetti rotti" - Hoobajoob
È software-properties-common un insieme di strumenti definiti o raccolta di utilità? - Alex


Lascia che ti insegni a pescare. apt-file ti consente di scoprire quale pacchetto fornisce un determinato file. dpkg -S fa la stessa cosa, ma solo per i pacchetti installati. apt-file funziona indipendentemente dal fatto che il pacchetto sia stato installato o meno.

Quindi, per prima cosa installate apt-file: sudo apt-get install apt-file. È quindi necessario aggiornare le informazioni, così come è necessario con apt-get: sudo apt-file update. Ora è pronto per l'uso:

$ 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

Quindi, in questo caso la prossima cosa da fare sarebbe installare le proprietà del software python.


74
2017-08-02 11:43



ottimo suggerimento - forse non dovrebbe essere sepolto in questa domanda - una domanda separata sarebbe una buona idea per evidenziare questo. - fossfreedom♦
@fossfreedom E 'questo di cosa stai parlando? - askubuntu.com/questions/13792/... - jrg♦
Grazie a questo suggerimento ho scoperto che in 12.10 il server apt-add-repository si trova in software-properties-common (non più nelle proprietà del software python) - Kat Amsterdam
Perché continuo a dimenticare che questo comando incredibilmente utile esiste! Bella risposta. - lleaff


Non è necessariamente la migliore risposta, ma funzionerà:

Il modo antiquato (pre Ubuntu 9.10, lo chiamano) di editing /etc/apt/sources.list funziona ancora. Sarà inoltre necessario ottenere manualmente la chiave GPG sul sistema.

Su sistemi Ubuntu precedenti (pre 9.10):

Passaggio 1: visita la pagina di panoramica del PPA in Launchpad. Cerca l'intestazione che legge Aggiungere questo PPA al tuo sistema e fare clic sui dettagli tecnici su questo collegamento PPA.

Passaggio 2: utilizzare la casella a discesa Visualizza voci sources.list per selezionare la versione di Ubuntu che si sta utilizzando.

Passo 3: Vedrai che la casella di testo direttamente sotto legge qualcosa del genere:

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

Copia quelle righe.

Passaggio 4: aprire un terminale e digitare:

sudo gedit /etc/apt/sources.list

Verrà aperto un editor di testo contenente l'elenco di archivi attualmente in uso nel sistema. Scorrere fino alla fine del file e incollare le righe copiate nel passaggio precedente.

Salva il file e esci dall'editor di testo.

Passaggio 5: nella pagina di panoramica del PPA, cercare l'intestazione del tasto Firma. Vedrai qualcosa come:

1024R / 72D340A3 (Che cos'è?)

Copia la porzione dopo la barra ma non include il link della guida; per esempio. solo 72D340A3.

Passaggio 6: ora è necessario aggiungere quella chiave al sistema in modo che Ubuntu possa verificare i pacchetti dal PPA. Nel tuo terminale, inserisci:

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

(Sostituisci 72D340A3 con qualsiasi cosa hai copiato nel passaggio 5.)

Questo ora abbasserà la chiave del PPA e la aggiungerà al tuo sistema.

Passo 7: Ora, come una tantum, dovresti dire al tuo sistema di tirare giù l'ultimo elenco di software da ogni archivio che conosce, incluso il PPA che hai appena aggiunto:

sudo apt-get update

Ora sei pronto per iniziare l'installazione del software dal PPA!


53
2017-08-02 10:37



Se non viene fornita un'altra risposta più rapida e più user-friendly, allora la metto come corretta. Risolve il problema in un modo "speciale";) - Luis Alvarado♦
Mentre add-apt-repository è più semplice, in un'installazione server mi piace mantenere le cose snelle, quindi non mi dispiace farlo manualmente. Questa era la risposta che stavo cercando. - D. Strout
pacchetto software-proprietà-comune è ENORME, sembra troppo per aggiungere semplicemente del testo ad un file ed eseguire un paio di comandi. Tale spreco di spazio durante l'utilizzo in Docker. Questa risposta è molto utile! - rsmoorthy
Questo è stato davvero utile quando ho avuto problemi con il proxy - Alex Chamberlain
Questa dovrebbe essere la risposta accettata, dal momento che l'OP ha chiesto come muoversi non usando add-apt-repository ... Grazie mille per questo! - djBo


add-apt-repository è fornito dal pacchetto python-software-properties.

Quindi se dovessi installare via

sudo apt-get install python-software-properties

14
2017-12-30 18:39



Grazie! Devo dire che trovo un nome abbastanza illogico. Inoltre, hai idea del motivo per cui non è installato standard? - Peter Smit
concordato illogico - sul perché, si potrebbe ipotizzare che i server siano di solito "fissi" in termini di software in esecuzione. Quindi non è necessario il "lusso" di aggiungere e rimuovere repository frequentemente ... fine della speculazione! - fossfreedom♦
Perché è illogico? È un set di strumenti Python per gestire le proprietà del software. add-apt-repository è uno di questi strumenti. - Jo-Erlend Schinstad
ho già python-software-properties installato ma continuo a ricevere questo errore. Provai apt-add e add-apt notazioni e nessuno funziona ... cosa fare? - Mohamad
@ Mahamad, perché è sbagliato, almeno per Ubuntu 14.04. Tutto quello che devi installare è software-properties-common. - Theodore R. Smith


Esegui questo comando:

sudo apt-get install software-properties-common

E poi puoi aggiungere il tuo repository in esecuzione:

sudo add-apt-repository [REPOSITORY]

Renember da sostituire [REPOSITORY] con il nome del repository che si desidera aggiungere.


14
2017-08-19 00:40



Questo ha funzionato perfettamente. - Aaron


Ho avuto un dibattito con un collega su questo alcune settimane fa. Dare

apt-add-repository

un tentativo. Non ha bisogno di altri pacchetti. Nota che apt appare prima di aggiungere. L'ordine è importante perché deve essere installato il repository add-apt.

Per quegli oppositori là fuori. Dai una prova a questo file di Vagrant. Nota, sto iniziando da una nuova immagine fidata e aggiungendo il ppa appena estratto dalla scatola.

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

Aggiornamento: Giusto per chiarire, sembra che le immagini cloud per ubuntu precise e su abbiano il pacchetto corretto già installato. Quindi, sia che si parli di script cloud-init o di un file vagabondo, è presente apt-add-repository. Poiché add-apt-repository è nello stesso pacchetto che dovrebbe funzionare bene.


0



L'ordine non ha importanza. Vedere askubuntu.com/questions/83489/.... - edwinksl
Spiega perché questo file vagabondo funziona allora. Nota Non sto discutendo che fanno qualcosa di diverso. Fanno esattamente la stessa cosa. Hai solo bisogno di un pacchetto per l'add-apt, dove l'altro funziona da zero. - Atifm
@atifm: Vedi questa risposta: $ 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-proprietà-common: / usr / bin / apt-add-repository software-properties-common: /usr/share/man/man1/apt-add-repository.1. gz - tricasse
@tricasse: Grazie per il link a apt-file, che sarà utile altrove. Quindi hai il diritto, sono nello stesso pacchetto verificato da apt-file. Detto questo, sembra che le immagini della nuvola di Ubuntu (per vagabondo) per il preciso e fidato abbia già installato il pacchetto. Non sono sicuro se questo è sempre stato il caso, ma sembra essere il caso al momento - Atifm