Jak dodać PPA na serwerze?

160

Wersja serwerowa Ubuntu nie ma add-apt-repositorypolecenia. Jak mogę dodać osobiste archiwum pakietów (PPA) do serwera bez tego polecenia?

Luis Alvarado
źródło
w najnowszej wersji synaptic możesz dodawać ppa bezpośrednio do źródeł oprogramowania zamiast linii deb
Dirk Hartzer Waldeck
1
- Odpowiedź @ Douga jest poprawna dla Ubuntu 16.04 - Odpowiedź @ fossfreedom jest poprawna dla Ubuntu 14.04 Na Ubuntu 16.04 rzeczywiście jest właściwy pakiet software-properties-common, jak pokazano: $ type add-apt-repository has-add-apt-repository hashed (/ usr / bin / add-apt-repository) $ apt-file search / usr / bin / add-apt-repository software-properties-common: / usr / bin / add-apt-repository w poprzednich wersjach można go rzeczywiście znaleźć python-software-properties--- AKTUALIZACJA: Komentuję to tutaj, ponieważ nie mogłem dodać go jako komentarza!
azbarcea
apt-add-repository działa od razu po wyjęciu z pudełka.
Atifm

Odpowiedzi:

196

Możesz po prostu dodać add-apt-repositorypolecenie. W wersji 13.10 i nowszych musisz również uruchomić to polecenie:

sudo apt-get install software-properties-common

Uwaga dodatkowa: w 11.04 dodali dowiązanie symboliczne, aby add-apt-repositorymożna je było uruchomić, apt-add-repositoryco ma dla mnie większy sens. Cała reszta apt zaczyna się od „apt”.

UWAGA: Jest to część python-software-propertiespakietu (przed 13.10):

sudo apt-get install python-software-properties
Mark Russell
źródło
Widząc, że jest to właściwie funkcja apt, jest to dla mnie logiczne. „dodaj repozytorium za pomocą apt”> „apt-add-repository”
MrChrisDruif
5
co jeśli „właściwości oprogramowania python” są już zainstalowane, a przy próbie użycia „apt-add-repository” nadal pojawia się „polecenie nie znaleziono”?
monkut
Czy próbowałeś również „add-apt-respository”? W wersjach wcześniejszych niż 11.04 należy umieścić „add” przed „apt”.
Mark Russell
co powinieneś zrobić, gdy „apt-get install python-software-properties” zawiedzie, ponieważ zależy to od curl Pythona, którego „nie można zainstalować”? W moim systemie 12.04 narzeka, że ​​„nie jest w stanie rozwiązać problemów - trzymałeś zepsute paczki”
Hoobajoob
Czy software-properties-commonzestaw zdefiniowanych narzędzi lub kolekcji narzędzi?
Alex
74

Pozwól, że nauczę cię łowić ryby. apt-filepozwala dowiedzieć się, który pakiet zawiera dany plik. dpkg -Srobi to samo, ale tylko w przypadku zainstalowanych pakietów. apt-filedziała niezależnie od tego, czy pakiet został zainstalowany.

Tak więc, najpierw zainstaluj apt-file: sudo apt-get install apt-file. Następnie trzeba aktualizować swoje informacje, tak jak trzeba z apt-get: sudo apt-file update. Teraz jest gotowy do użycia:

$ 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

Tak więc w tym przypadku następną rzeczą byłoby zainstalowanie właściwości python-software-properties.

Jo-Erlend Schinstad
źródło
3
doskonała wskazówka - być może nie powinno być zakopane w tym pytaniu - osobne pytanie byłoby dobrym pomysłem, aby to podkreślić.
fossfreedom
@fossfreedom Czy o tym mówisz? - askubuntu.com/questions/13792/…
jrg
9
Dzięki tej wskazówce odkryłem, że w 12.10 serwer apt-add-repozytorium znajduje się we wspólnym oprogramowaniu-właściwości (już nie we właściwościach oprogramowania-python)
Kat Amsterdam
Dlaczego ciągle zapominam, że istnieje to niezwykle przydatne polecenie! Świetna odpowiedź.
lleaff
53

To niekoniecznie najlepsza odpowiedź, ale to zadziała:

Staromodny sposób (wcześniej Ubuntu 9.10, jak to nazywają) edycji /etc/apt/sources.listnadal działa. Konieczne będzie również ręczne pobranie klucza GPG w systemie.

W starszych (wcześniejszych niż 9.10) systemach Ubuntu:

Krok 1: Odwiedź stronę przeglądu PPA w Launchpad. Poszukaj nagłówka z napisem Dodawanie tego PPA do systemu i kliknij Szczegóły techniczne tego łącza PPA.

Krok 2: Użyj listy rozwijanej Wyświetl wpisy źródeł. Wybierz listę używanej wersji Ubuntu.

Krok 3: Zobaczysz, że pole tekstowe bezpośrednio poniżej brzmi mniej więcej tak:

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

Skopiuj te linie.

Krok 4: Otwórz terminal i wpisz:

sudo gedit /etc/apt/sources.list

Spowoduje to otwarcie edytora tekstu zawierającego listę archiwów, z których obecnie korzysta Twój system. Przewiń do dołu pliku i wklej wiersze skopiowane w powyższym kroku.

Zapisz plik i zamknij edytor tekstu.

Krok 5: Wróć na stronie przeglądu PPA i poszukaj nagłówka Klucz podpisu. Zobaczysz coś takiego:

1024R / 72D340A3 (co to jest?)

Skopiuj część po ukośniku, ale nie dołączając linku pomocy; np. tylko 72D340A3.

Krok 6: Teraz musisz dodać ten klucz do swojego systemu, aby Ubuntu mógł zweryfikować pakiety z PPA. W swoim terminalu wpisz:

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

(Zastąp 72D340A3 tym, co skopiowałeś w kroku 5.)

Spowoduje to teraz pobranie klucza PPA i dodanie go do twojego systemu.

Krok 7: Teraz, jednorazowo, powinieneś powiedzieć swojemu systemowi, aby ściągnął najnowszą listę oprogramowania z każdego znanego archiwum, w tym właśnie dodaną PPA:

sudo apt-get update

Teraz możesz rozpocząć instalowanie oprogramowania z PPA!

Broam
źródło
1
Jeśli nie zostanie udzielona żadna inna szybsza i bardziej przyjazna dla użytkownika odpowiedź, ustawię tę jako poprawną. Rozwiązuje problem w „specjalny” sposób;)
Luis Alvarado
1
Chociaż repozytorium add-apt-repozytorium jest łatwiejsze, w instalacji serwera lubię utrzymywać wszystko w zgodzie, więc nie mam nic przeciwko robieniu tego ręcznie. To była odpowiedź, której szukałem.
D. Strout
1
Ta metoda jest znacznie lepsza niż instalacja apt-add-repositoryi całe bzdury, które są dostarczane z wymaganym pakietem.
Dmitry Minkovsky
4
pakiet oprogramowania-właściwości-wspólny jest OGROMNY, wydaje się zbyt duży, aby po prostu dodać tekst do pliku i uruchomić kilka poleceń. Takie marnowanie miejsca podczas korzystania z Dockera. Ta odpowiedź jest bardzo pomocna!
rsmoorthy
3
To powinna być zaakceptowana odpowiedź, ponieważ OP zapytał, jak się poruszać, nie używając repozytorium add-apt ... Dziękuję za to!
djBo
15

add-apt-repositoryzapewnia pakiet python-software-properties.

Dlatego jeśli powinieneś zainstalować przez

sudo apt-get install python-software-properties
fossfreedom
źródło
Dzięki! Muszę powiedzieć, że znajduję dość nielogiczne imię. Czy masz również pojęcie, dlaczego nie jest on standardowo zainstalowany?
Peter Smit
2
uzgodnione nielogicznie - dlaczego można spekulować, że serwery są zazwyczaj „naprawione” pod względem działania oprogramowania. Dlatego nie potrzebujesz „luksusu” częstego dodawania i usuwania repozytoriów ... koniec spekulacji!
fossfreedom
Dlaczego to jest nielogiczne? Jest to zestaw narzędzi Pythona do zarządzania właściwościami oprogramowania. add-apt-repository jest jednym z tych narzędzi.
Jo-Erlend Schinstad
Mam już python-software-propertieszainstalowany, ale wciąż pojawia się ten błąd. Próbowałem apt-addi add-aptnotacje, i żadne nie działa ... co robić?
Mohamad
1
@Mohamad, bo to źle, przynajmniej dla Ubuntu 14.04. Wszystko, co musisz zainstalować, to software-properties-common.
Theodore R. Smith
15

Uruchom to polecenie:

sudo apt-get install software-properties-common

Następnie możesz dodać działające repozytorium:

sudo add-apt-repository [REPOSITORY]

Ponownie zamień [REPOSITORY]na nazwę repozytorium, którą chcesz dodać.

Doug
źródło
To działało idealnie.
Aaron
0

Kilka tygodni temu miałem na ten temat debatę z kolegą. Dać

apt-add-repository

próba. Nie potrzebuje żadnych innych pakietów. Zauważ, że apt pojawia się przed dodaniem. Kolejność ma znaczenie, ponieważ należy zainstalować repozytorium add-apt-repository.

Dla tych naysayers tam. Wypróbuj ten plik Vagrant. Uwaga: zaczynam od świeżego zaufanego obrazu i dodam ppa od razu po wyjęciu z pudełka.

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

Aktualizacja: Aby to wyjaśnić, wygląda na to, że obrazy w chmurze dla Ubuntu Precision i nowsze mają już zainstalowany prawidłowy pakiet. Niezależnie od tego, czy mówimy o skryptach inicjujących chmurę, czy o błędnym pliku, apt-add-repository jest obecny. Ponieważ repozytorium add-apt znajduje się w tym samym pakiecie, który również powinien działać.

Atifm
źródło
Porządek nie ma znaczenia. Zobacz askubuntu.com/questions/83489/… .
edwinksl,
1
Wyjaśnij, dlaczego działa ten błędny plik. Uwaga: nie twierdzę, że robią coś innego. Robią dokładnie to samo. Potrzebujesz tylko pakietu dla add-apt, gdzie podobnie jak inne działa od zera.
Atifm
@atifm: Zobacz tę odpowiedź : $ 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 właściwości-oprogramowania-wspólne: / usr / bin / apt-add-repository właściwości-oprogramowania-wspólne: / usr / share / man / man1 / apt- add-repository.1.gz
tricasse
@tricasse: Dziękujemy za link do apt-file, który będzie przydatny gdzie indziej. Więc masz rację, są one w tym samym pakiecie, co zweryfikowane przez apt-file. To powiedziawszy, wygląda na to, że obrazy w chmurze ubuntu (dla włóczęgów) dla dokładności i wiarygodności mają już zainstalowany pakiet. Nie jestem pewien, czy tak było zawsze, ale wydaje się, że tak właśnie jest
Atifm,