Bir sunucuya bir PPA nasıl eklenir?


160

Ubuntu'nun sunucu sürümünün add-apt-repositorykomutu yok. Bu komut olmadan sunucuya bir Kişisel Paket Arşivi (PPA) nasıl ekleyebilirim ?


Synaptic'in en son sürümünde, ppa'ları bir deb satırı yerine doğrudan yazılım kaynaklarına ekleyebilirsiniz
Dirk Hartzer Waldeck

1
- @ Doug cevabı için doğru olduğundan Ubuntu 16.04 - @ fossfreedom cevabı için doğru olduğundan Ubuntu 14.04 üzerinde Ubuntu 16.04 sağ paket gerçekten edilir software-properties-common$ tür eklenti apt-depo-apt-depo eklemek karma edilir (/ usr / bin: gösterildiği gibi, / add-apt-repository) $ apt-dosya araması / usr / bin / add-apt-repository yazılım-özellikleri-genel: / usr / bin / add-apt-repository önceki sürümlerde gerçekten bulunabilir python-software-properties--- GÜNCELLEME: Burada yorum yapıyorum, çünkü yorum olarak ekleyemedim!
azbarcea

apt-add-repository kutudan çıkar çıkmaz çalışıyor.
Atifm

Yanıtlar:


196

Sadece add-apt-repositorykomutu ekleyebilirsiniz . 13.10 ve sonrasında, bu komutu da çalıştırmanız gerekir:

sudo apt-get install software-properties-common

Not: 11.04'te bana bir anlam ekledi, add-apt-repositoryböylece benim için apt-add-repositorydaha mantıklı olduğu gibi çalıştırılabilir . Apt olan her şey "apt" ile başlar.

NOT: python-software-propertiesAmbalajın bir parçası (13.10'dan önce):

sudo apt-get install python-software-properties

Bunun aslında apt'nin bir fonksiyonu olduğunu görmek benim için mantıklı. "apt ile havuz ekle"> "apt-add-repository"
MrChrisDruif

5
"python-software-properties" zaten kuruluysa ve "apt-add-repository" kullanmaya çalışırken hala "komut bulunamadı" mesajı alıyorsanız?
monkut

Ayrıca "add-apt-respository" denediniz mi? 11.04'ten önceki sürümlerde "apt" den önce "add" koymalısınız.
Mark Russell,

'apt-get install python-software-features' apt-get install 'başarısız olduğunda ne yapmanız gerekir, çünkü' yüklenemez 'python-curl'a bağlıdır. 12.04 sistemimde, "sorunları çözemediğim - kırık paketler
hazırladığın

software-properties-commontanımlanan araçlar veya Araçlarının koleksiyonunun bir dizi?
Alex

74

Sana nasıl balık tutulacağını öğreteyim. apt-filehangi paketin belirli bir dosya sağladığını bulmanızı sağlar. dpkg -Saynı şeyi yapar, ancak yalnızca yüklü paketler için. apt-filePaketin kurulu olup olmadığına bakar.

Yani, ilk önce apt-dosya yükleyin: sudo apt-get install apt-file. Daha sonra apt-get: ile olduğu gibi bilgilerini güncellemeniz gerekir sudo apt-file update. Şimdi kullanıma hazır:

$ 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

Yani, bu durumda yapılacak bir sonraki şey python-software-özelliklerinin kurulması olacaktır.


3
mükemmel bir ipucu - belki de bu soruya gömülmemeliyiz - ayrı bir soru bunu vurgulamak için iyi bir fikir olacaktır.
fossfreedom

@fossfreedom Bahsettiğiniz şey bu mu? - askubuntu.com/questions/13792/…
jrg

9
Bu bahşiş nedeniyle 12.10 sunucusunda apt-add-repository 'nin yazılım-özellikler-ortak (artık python-yazılım-özelliklerinde) bulunmadığını keşfettim
Kat Amsterdam

Bu inanılmaz derecede yararlı komutun varolduğunu unutmaya devam ediyorum! Mükemmel cevap.
Marff

53

Mutlaka en iyi cevap değil, ancak bu işe yarayacak:

Eski moda yöntem (Ubuntu 9.10 öncesi, buna diyorlar) düzenleme /etc/apt/sources.listhala işe yarıyor. Ayrıca sistemde GPG anahtarını manuel olarak almanız gerekir.

Eski (9.10 öncesi) Ubuntu sistemlerinde:

Adım 1: Launchpad'de PPA'nın genel bakış sayfasını ziyaret edin. Bu PPA'yı sisteminize ekleme başlığına bakın ve bu PPA bağlantısıyla ilgili Teknik ayrıntıları tıklayın.

Adım 2: Kullanmakta olduğunuz Ubuntu sürümünü seçmek için Kaynakları gösterme listesi listesini açılan kutusunu kullanın.

3. Adım: Gördüğünüz gibi doğrudan metin kutusunun aşağıdaki gibi bir şey okuduğunu göreceksiniz:

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

Bu satırları kopyala.

Adım 4: Bir terminal açın ve şunu yazın:

sudo gedit /etc/apt/sources.list

Bu, sisteminizin kullanmakta olduğu arşivlerin listesini içeren bir metin düzenleyiciyi açar. Dosyanın altına gidin ve kopyaladığınız satırları yukarıdaki adımda yapıştırın.

Dosyayı kaydedin ve metin düzenleyiciden çıkın.

Adım 5: PPA'nın genel bakış sayfasına, İmzalama anahtarı başlığına bakın. Gibi bir şey göreceksiniz:

1024R / 72D340A3 (Bu nedir?)

Eğik çizgiden sonraki kısmı kopyalayın, ancak yardım bağlantısı dahil değil; örneğin sadece 72D340A3.

Adım 6: Artık Ubuntu'nun PPA'dan paketleri doğrulayabilmesi için bu anahtarı sisteminize eklemeniz gerekiyor. Terminalinize şunu girin:

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

(72D340A3'ü 5. adımda kopyaladığınızla değiştirin.)

Bu, PPA'nın anahtarını aşağı çekecek ve sisteminize ekleyecektir.

Adım 7: Şimdi, bir kereye mahsus olarak, sisteminize az önce eklediğiniz PPA dahil olmak üzere, bildiği her arşivden en son yazılım listesini çıkarmasını söylemelisiniz:

sudo apt-get update

Artık PPA'dan yazılım yüklemeye başlamak için hazırsınız!


1
Başka bir daha hızlı ve daha kullanıcı dostu bir cevap verilmezse, bunu doğru olarak koyacağım. Sorunu "özel" bir şekilde çözüyor;)
Luis Alvarado

1
Add-apt-repository daha kolay olmakla birlikte, bir sunucu kurulumunda işleri yalın tutmaktan hoşlanıyorum, bu yüzden elle yapmayı umursamıyorum. Aradığım cevap buydu.
D. Strout

1
Bu yöntem, kurulumdan apt-add-repositoryve gerekli paketle birlikte gelen tüm saçmalıklardan çok daha iyidir .
Dmitry Minkovsky

4
software-properties-common paketi çok büyük, bir dosyaya metin eklemek ve birkaç komutu çalıştırmak için çok fazla görünüyor. Docker'da kullanırken böyle bir alan kaybı. Bu cevap çok çok yardımcı oldu!
rsmoorthy

3
OP etrafında nasıl istedi, bu durum kabul cevap olmalıdır değil bu biri için bir demet ... add-apt-deposunu kullanarak Teşekkür!
djBo,

15

add-apt-repositorypaket tarafından sağlanır python-software-properties.

Böylece yüklemeniz gerekiyorsa

sudo apt-get install python-software-properties

Teşekkürler! Oldukça mantıksız bir isim bulduğumu söylemeliyim. Ayrıca, neden standart olarak yüklenmediğine dair bir fikrin var mı?
Peter Smit

2
mantıksız kabul etti - neden olarak, sunucuların yazılım çalıştırma konusunda genellikle 'sabit' olduğunu tahmin edebilirsiniz. Böylece sık sık depoları ekleme ve çıkarma lüksüne ihtiyaç duymazsınız ... spekülasyon sonu!
fossfreedom

Neden mantıksız? Yazılım özellikleriyle başa çıkmak için bir python aracı seti. add-apt-repository bu araçlardan biridir.
Jo-Erlend Schinstad

Zaten python-software-propertiesyükledim ama bu hatayı almaya devam ediyorum. Denedim apt-addve add-aptgösterimler, hiçbiri işe yaramazsa ... ne yapmalı?
Mohamad,

1
@Mohamad, çünkü yanlış, en azından Ubuntu 14.04 için. Yüklemeniz gereken tek şey software-properties-common.
Theodore R. Smith,

15

Bu komutu çalıştırın:

sudo apt-get install software-properties-common

Sonra depoyu çalıştıran ekleyebilirsiniz:

sudo add-apt-repository [REPOSITORY]

Eklemek [REPOSITORY]istediğiniz depo adı ile değiştirmek için Renember .


Bu mükemmel çalıştı.
Aaron

0

Birkaç hafta önce bu konuda bir meslektaşımla tartışmıştım. vermek

apt-add-repository

bir deneme. Başka bir pakete ihtiyaç duymaz. Eklemeden önce apt ifadesinin göründüğünü unutmayın. Add-apt-repository'nin kurulu olması gerektiği için sipariş önemlidir.

Dışarıdaki o nayerler için. Bu Vagrant dosyasını dene. Not, yeni ve güvenilir bir görüntüden başlıyorum ve ppa'yı kutudan ekliyorum.

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

Güncelleme: Sadece netleştirmek için, ubuntu kesin bulut görüntüleri gibi görünüyor ve doğru pakette önceden kurulmuş. Dolayısıyla, ister bulut içinde komut dosyaları, isterse sersem bir dosyadan bahsediyoruz, apt-add-repository mevcut. Add-apt-repository, çalışması gereken aynı pakette olduğundan.


Sipariş önemli değil. Askubuntu.com/questions/83489/… adresine bakınız .
edwinksl

1
Bu serseri dosyanın neden işe yaradığını açıklayın. Not Farklı bir şey yaptıklarını iddia etmiyorum. Onlar da aynısını yapıyorlar. Diğer sıfırdan çalıştığı gibi, sadece apt-apt için bir pakete ihtiyacınız var.
Atifm

@atifm: Bu cevabı gör : $ apt-dosya araması add-apt-depo yazılımı-özellikleri-ortak: / usr / bin / add-apt-depo yazılımı-özellikleri-ortak: / usr / share / man / man1 / add- apt-repository.1.gz $ apt-dosya araması apt-add-repository yazılım-özellikler-ortak: / usr / bin / apt-add-repository yazılım özellikleri-genel: / usr / share / man / man1 / apt- add-repository.1.gz
tricasse

@tricasse: apt-file bağlantısı için teşekkürler, bu başka bir yerde faydalı olacaktır. Yani hakkınız, apt-file tarafından doğrulananla aynı pakette. Bununla birlikte, kesin ve güvenilirlik için ubuntu bulut görüntüleri (sersemlemiş) gibi görünüyor, pakette zaten yüklü. Her zaman böyle olup olmadığından emin değilim, ama şu anda durum böyle görünüyor
Atifm
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.