Bagaimana cara menambahkan PPA di server?

160

Versi server Ubuntu tidak memiliki add-apt-repositoryperintah. Bagaimana saya bisa menambahkan Arsip Paket Pribadi (PPA) ke server tanpa perintah ini?

Luis Alvarado
sumber
dalam versi terbaru dari sinaptik Anda dapat menambahkan ppa secara langsung di sumber perangkat lunak alih-alih garis deb
Dirk Hartzer Waldeck
1
- @ Doug jawaban benar untuk Ubuntu 16.04 - @ fossfreedom jawaban benar untuk Ubuntu 14.04 Pada Ubuntu 16.04 paket yang benar memang software-properties-common, seperti yang ditunjukkan oleh: $ type add-apt-repository 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 pada versi sebelumnya, dapat ditemukan memang di python-software-properties--- UPDATE: Saya berkomentar di sini, karena saya tidak bisa menambahkannya sebagai komentar!
azbarcea
apt-add-repository berfungsi langsung di luar kotak.
Atifm

Jawaban:

196

Anda cukup menambahkan add-apt-repositoryperintah. Di 13.10 dan yang lebih baru, Anda juga perlu menjalankan perintah ini:

sudo apt-get install software-properties-common

Catatan: pada 11,04 mereka menambahkan symlink add-apt-repositorysehingga dapat dijalankan seperti apt-add-repositoryyang benar-benar lebih masuk akal bagi saya. Segala sesuatu yang lain dimulai dengan "apt".

CATATAN: Ini adalah bagian dari python-software-propertiespaket (sebelum 13.10):

sudo apt-get install python-software-properties
Mark Russell
sumber
Melihat itu sebenarnya fungsi apt itu sebenarnya logis bagi saya. "add repository with apt"> "apt-add-repository"
MrChrisDruif
5
bagaimana jika "python-software-properties" sudah diinstal, dan Anda masih mendapatkan "command not found" ketika mencoba menggunakan "apt-add-repository"?
monkut
Apakah Anda juga mencoba "add-apt-respository"? Pada versi sebelum 11.04 Anda harus meletakkan "add" sebelum "apt".
Mark Russell
apa yang harus Anda lakukan ketika 'apt-get install python-software-properties' gagal karena itu tergantung pada python-curl, yang 'tidak dapat diinstal'? Pada sistem 12.04 saya, ia mengeluh bahwa itu "tidak dapat memperbaiki masalah - Anda telah memegang paket yang rusak"
Hoobajoob
Apakah software-properties-commonseperangkat alat yang ditentukan atau kumpulan utils?
Alex
74

Biarkan saya mengajari Anda cara memancing. apt-filememungkinkan Anda untuk mengetahui paket mana yang menyediakan file yang diberikan. dpkg -Smelakukan hal yang sama, tetapi hanya untuk paket yang diinstal. apt-fileberfungsi apakah paket telah diinstal atau tidak.

Jadi, pertama Anda menginstal apt-berkas: sudo apt-get install apt-file. Anda kemudian harus memperbarui informasinya, seperti Anda harus dengan apt-get: sudo apt-file update. Sekarang siap digunakan:

$ 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

Jadi, dalam hal ini hal selanjutnya yang harus dilakukan adalah menginstal properti python-software.

Jo-Erlend Schinstad
sumber
3
kiat luar biasa - mungkin sebaiknya tidak dikubur dalam pertanyaan ini - pertanyaan terpisah akan menjadi ide yang baik untuk menyoroti ini.
fossfreedom
@fossfreedom Apakah ini yang Anda bicarakan? - askubuntu.com/questions/13792/…
jrg
9
Karena tip ini saya menemukan bahwa di 12.10 server apt-add-repository terletak di software-properties-common (tidak lagi dalam python-software-properties)
Kat Amsterdam
Mengapa saya terus lupa bahwa perintah yang sangat berguna ini ada! Jawaban yang bagus
lleaff
53

Ini belum tentu merupakan jawaban terbaik, tetapi ini akan berfungsi:

Cara kuno (sebelum Ubuntu 9.10, mereka menyebutnya) mengedit /etc/apt/sources.listmasih berfungsi. Anda juga perlu mendapatkan kunci GPG pada sistem secara manual.

Pada sistem Ubuntu yang lebih lama (pra 9.10):

Langkah 1: Kunjungi halaman ikhtisar PPA di Launchpad. Cari tajuk yang bertuliskan Menambahkan PPA ini ke sistem Anda dan klik Rincian teknis tentang tautan PPA ini.

Langkah 2: Gunakan kotak tarik-turun Entri.list entri untuk memilih versi Ubuntu yang Anda gunakan.

Langkah 3: Anda akan melihat kotak teks langsung di bawah ini berbunyi seperti ini:

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

Salin garis-garis itu.

Langkah 4: Buka terminal dan ketik:

sudo gedit /etc/apt/sources.list

Ini akan membuka editor teks yang berisi daftar arsip yang saat ini digunakan sistem Anda. Gulir ke bagian bawah file dan tempelkan baris yang Anda salin pada langkah di atas.

Simpan file dan keluar dari editor teks.

Langkah 5: Kembali ke halaman ikhtisar PPA, cari judul Kunci penandatanganan. Anda akan melihat sesuatu seperti:

1024R / 72D340A3 (Apa ini?)

Salin bagian setelah slash tetapi tidak termasuk tautan bantuan; misalnya hanya 72D340A3.

Langkah 6: Sekarang Anda perlu menambahkan kunci itu ke sistem Anda sehingga Ubuntu dapat memverifikasi paket dari PPA. Di terminal Anda, masukkan:

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

(Ganti 72D340A3 dengan apa pun yang Anda salin di langkah 5.)

Ini sekarang akan menarik kunci PPA dan menambahkannya ke sistem Anda.

Langkah 7: Sekarang, sebagai satu kali, Anda harus memberi tahu sistem Anda untuk menarik daftar perangkat lunak terbaru dari setiap arsip yang diketahuinya, termasuk PPA yang baru saja Anda tambahkan:

sudo apt-get update

Sekarang Anda siap untuk mulai menginstal perangkat lunak dari PPA!

Broam
sumber
1
Jika tidak ada jawaban yang lebih cepat dan lebih ramah pengguna yang diberikan maka saya akan menempatkan ini sebagai yang benar. Ini memecahkan masalah dengan cara "khusus";)
Luis Alvarado
1
Sementara add-apt-repository lebih mudah, dalam instalasi server saya suka menjaga hal-hal tetap ramping, jadi saya tidak keberatan melakukannya secara manual. Ini adalah jawaban yang saya cari.
D. Strout
1
Metode ini jauh lebih baik daripada menginstal apt-add-repositorydan semua omong kosong yang datang dengan paket yang diperlukan.
Dmitry Minkovsky
4
paket software-properties-common adalah BESAR, sepertinya terlalu banyak untuk hanya menambahkan beberapa teks ke file dan menjalankan beberapa perintah. Buang-buang ruang saat menggunakan di Docker. Jawaban ini sangat membantu!
rsmoorthy
3
Ini harus menjadi jawaban yang diterima, karena OP bertanya bagaimana menyiasati tidak menggunakan add-apt-repository ... Terima kasih banyak untuk yang ini!
djBo
15

add-apt-repositorydisediakan oleh paket python-software-properties.

Jadi jika Anda harus menginstal via

sudo apt-get install python-software-properties
kebebasan fosil
sumber
Terima kasih! Saya harus mengatakan bahwa saya menemukan nama yang sangat tidak masuk akal. Juga, apakah Anda tahu mengapa saya tidak menginstal standar?
Peter Smit
2
setuju tidak logis - mengapa, Anda bisa berspekulasi bahwa server biasanya 'diperbaiki' dalam hal menjalankan perangkat lunak. Dengan demikian Anda tidak perlu 'kemewahan' untuk menambah dan menghapus repositori secara berkala ... end-of-spekulasi!
fossfreedom
Mengapa itu tidak logis? Ini adalah seperangkat alat python untuk menangani properti perangkat lunak. add-apt-repository adalah salah satu alat itu.
Jo-Erlend Schinstad
Saya sudah python-software-propertiesmenginstal tetapi saya terus mendapatkan kesalahan ini. Saya mencoba apt-adddan add-aptnotasi, dan tidak ada yang berhasil ... apa yang harus dilakukan?
Mohamad
1
@Mohamad, karena itu salah, setidaknya untuk Ubuntu 14.04. Yang perlu Anda instal adalah software-properties-common.
Theodore R. Smith
15

Jalankan perintah ini:

sudo apt-get install software-properties-common

Dan kemudian Anda dapat menambahkan repositori Anda berjalan:

sudo add-apt-repository [REPOSITORY]

Renember untuk mengganti [REPOSITORY]dengan nama repositori yang ingin Anda tambahkan.

Doug
sumber
Ini bekerja dengan sempurna.
Aaron
0

Saya berdebat dengan seorang kolega tentang hal ini beberapa minggu yang lalu. Memberikan

apt-add-repository

mencoba. Tidak perlu paket lain. Perhatikan bahwa apt muncul sebelum menambahkan. Urutan penting karena add-apt-repository perlu diinstal.

Untuk para penentang di luar sana. Cobalah file Vagrant ini. Catatan, saya mulai dari gambar tepercaya yang baru, dan menambahkan ppa langsung dari kotak.

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

Pembaruan: Hanya untuk memperjelas, sepertinya gambar cloud untuk ubuntu yang tepat dan sudah memiliki paket yang benar sudah diinstal. Jadi apakah kita berbicara skrip cloud-init atau file gelandangan, apt-add-repositori hadir. Karena add-apt-repository ada dalam paket yang sama yang seharusnya berfungsi juga.

Atifm
sumber
Urutan tidak masalah. Lihat askubuntu.com/questions/83489/… .
edwinksl
1
Jelaskan mengapa file gelandangan ini berfungsi saat itu. Catatan Saya tidak berpendapat bahwa mereka melakukan sesuatu yang berbeda. Mereka melakukan hal yang persis sama. Anda hanya perlu paket untuk add-apt, di mana yang lain bekerja dari awal.
Atifm
@atifm: Lihat jawaban ini : $ apt-file search add-apt-repository software-properties-common: / usr / bin / add-apt-repositori software-properties-common: / usr / share / man / man1 / add- apt-repository.1.gz $ pencarian file apt apt-add-repositori software-properties-common: / usr / bin / apt-add-repositori software-properties-common: / usr / share / man / man1 / apt- add-repository.1.gz
tricasse
@tricasse: Terima kasih atas tautannya ke file-apt, itu akan berguna di tempat lain. Jadi hak Anda, mereka berada dalam paket yang sama seperti diverifikasi oleh file-apt. Yang mengatakan, sepertinya gambar cloud ubuntu (untuk gelandangan) untuk tepat dan tepercaya memiliki paket sudah diinstal. Tidak yakin apakah ini selalu terjadi, tetapi tampaknya menjadi kasus saat ini
Atifm