จะเพิ่ม PPA บนเซิร์ฟเวอร์ได้อย่างไร?


160

Ubuntu รุ่นเซิร์ฟเวอร์ไม่มีadd-apt-repositoryคำสั่ง ฉันจะเพิ่มPersonal Package Archive (PPA) ไปยังเซิร์ฟเวอร์โดยไม่มีคำสั่งนี้ได้อย่างไร


ในเวอร์ชันล่าสุดของ synaptic คุณสามารถเพิ่ม ppa ของโดยตรงในแหล่งซอฟต์แวร์แทนบรรทัด deb
Dirk Hartzer Waldeck

1
- @ คำตอบของ Doug นั้นถูกต้องสำหรับUbuntu 16.04 - @ fossfreedom คำตอบนั้นถูกต้องสำหรับUbuntu 14.04บนUbuntu 16.04แพ็คเกจที่ถูกต้องแน่นอนsoftware-properties-commonตามที่แสดงโดย: $ type add-apt-repository add-apt-repository ถูกแฮช (/ usr / bin / add-apt-repository) การค้นหา $ apt-file / usr / bin / add-apt-repository คุณสมบัติของซอฟต์แวร์ทั่วไป: / usr / bin / add-apt-repository ในเวอร์ชันก่อนหน้านี้ซึ่งสามารถพบได้ในpython-software-properties--- อัปเดต: ฉันแสดงความคิดเห็นได้ที่นี่เพราะฉันไม่สามารถเพิ่มเป็นความคิดเห็นได้!
azbarcea

apt-add-repository ใช้งานได้ทันที
Atifm

คำตอบ:


196

คุณสามารถเพิ่มadd-apt-repositoryคำสั่ง ใน 13.10 และใหม่กว่าคุณต้องเรียกใช้คำสั่งนี้:

sudo apt-get install software-properties-common

หมายเหตุด้านข้าง: ใน 11.04 พวกเขาเพิ่ม symlink ให้add-apt-repositoryเพื่อให้สามารถทำงานได้ตามapt-add-repositoryที่เหมาะสมกับฉันโดยสิ้นเชิง apt ทุกอย่างอื่นเริ่มต้นด้วย "apt"

หมายเหตุ: เป็นส่วนหนึ่งของpython-software-propertiesแพ็คเกจ (ก่อน 13.10):

sudo apt-get install python-software-properties

การได้เห็นว่ามันเป็นฟังก์ชั่นการใช้งานที่เหมาะสมสำหรับฉัน "เพิ่มที่เก็บพร้อมกับ apt"> "apt-add-repository"
MrChrisDruif

5
จะทำอย่างไรถ้าติดตั้ง "python-software-properties" ไว้แล้วและคุณยังคงได้รับคำสั่ง "ไม่พบคำสั่ง" เมื่อพยายามใช้ "apt-add-repository"
monkut

คุณลอง "add-apt-respository" หรือยัง ในเวอร์ชันก่อน 11.04 คุณต้องใส่ "เพิ่ม" ก่อน "apt"
Mark Russell

คุณควรทำอย่างไรเมื่อ 'apt-get install python-software-properties' ล้มเหลวเพราะมันขึ้นอยู่กับ python-curl ซึ่ง 'ไม่สามารถติดตั้งได้'? ในระบบ 12.04 ของฉันก็บ่นว่ามันเป็น "ไม่สามารถแก้ไขปัญหาได้ - คุณได้จัดแพคเกจที่เสียหาย"
Hoobajoob

คือsoftware-properties-commonชุดของเครื่องมือที่กำหนดไว้หรือการจัดเก็บ utils?
อเล็กซ์

74

ให้ฉันสอนวิธีตกปลา apt-fileช่วยให้คุณค้นหาแพ็คเกจที่ให้ไฟล์ที่กำหนด dpkg -Sทำสิ่งเดียวกัน แต่สำหรับแพ็คเกจที่ติดตั้งเท่านั้น apt-fileทำงานหรือไม่ติดตั้งแพคเกจ

ดังนั้นก่อนที่คุณติดตั้ง sudo apt-get install apt-fileapt-ไฟล์: แล้วคุณจะต้องอัปเดตข้อมูลของตนเช่นเดียวกับที่คุณมีกับ sudo apt-file updateapt-get: ตอนนี้พร้อมใช้งาน:

$ 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

ดังนั้นในกรณีนี้สิ่งต่อไปที่ต้องทำคือติดตั้ง python-software-properties


3
เคล็ดลับที่ยอดเยี่ยม - มันอาจไม่ควรถูกฝังในคำถามนี้ - คำถามที่แยกต่างหากจะเป็นความคิดที่ดีที่จะเน้นเรื่องนี้
fossfreedom

@fossfreedom นี่คือสิ่งที่คุณกำลังพูดถึงใช่ไหม - askubuntu.com/questions/13792/…
jrg

9
เนื่องจากเคล็ดลับนี้ฉันค้นพบว่าในเซิร์ฟเวอร์ apt-add-repository 12.10 ตั้งอยู่ในคุณสมบัติของซอฟต์แวร์ทั่วไป (ไม่อยู่ในคุณสมบัติของซอฟต์แวร์งูหลาม)
Kat Amsterdam

ทำไมฉันถึงลืมไปว่าคำสั่งนี้มีประโยชน์อย่างไม่น่าเชื่อ! คำตอบที่ดี
lleaff

53

ไม่จำเป็นต้องเป็นคำตอบที่ดีที่สุด แต่จะสามารถใช้งานได้:

วิธีที่ล้าสมัย (ก่อน Ubuntu 9.10 พวกเขาเรียกมันว่า) ของการแก้ไข/etc/apt/sources.listยังใช้งานได้ คุณจะต้องรับรหัส GPG ในระบบด้วยตนเอง

สำหรับระบบ Ubuntu รุ่นเก่า (ก่อน 9.10):

ขั้นตอนที่ 1: เยี่ยมชมหน้าภาพรวมของ PPA ใน Launchpad ค้นหาหัวข้อที่อ่านการเพิ่ม PPA นี้ในระบบของคุณและคลิกที่รายละเอียดทางเทคนิคเกี่ยวกับลิงก์ PPA นี้

ขั้นตอนที่ 2: ใช้ช่องรายการแบบหล่นลง Display display.list เพื่อเลือกรุ่นของ Ubuntu ที่คุณใช้

ขั้นตอนที่ 3: คุณจะเห็นว่ากล่องข้อความด้านล่างอ่านข้อความดังนี้:

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

คัดลอกบรรทัดเหล่านั้น

ขั้นตอนที่ 4: เปิดเทอร์มินัลแล้วพิมพ์:

sudo gedit /etc/apt/sources.list

นี่จะเป็นการเปิดโปรแกรมแก้ไขข้อความที่มีรายการเอกสารสำคัญที่ระบบของคุณใช้อยู่ในปัจจุบัน เลื่อนไปที่ด้านล่างของไฟล์และวางบรรทัดที่คุณคัดลอกในขั้นตอนข้างต้น

บันทึกไฟล์และออกจากโปรแกรมแก้ไขข้อความ

ขั้นตอนที่ 5: ย้อนกลับไปที่หน้าภาพรวมของ PPA มองหาหัวข้อการเซ็นชื่อที่สำคัญ คุณจะเห็นสิ่งที่ชอบ:

1024R / 72D340A3 (นี่คืออะไร)

คัดลอกส่วนหลังเครื่องหมายทับ แต่ไม่รวมลิงก์ความช่วยเหลือ เช่นเพียง 72D340A3

ขั้นตอนที่ 6: ตอนนี้คุณต้องเพิ่มคีย์นั้นในระบบของคุณเพื่อให้อูบุนตูสามารถตรวจสอบแพ็คเกจจาก PPA ได้ ในเทอร์มินัลของคุณให้ป้อน:

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

(แทนที่ 72D340A3 ด้วยสิ่งที่คุณคัดลอกในขั้นตอนที่ 5)

ตอนนี้จะดึงคีย์ของ PPA และเพิ่มลงในระบบของคุณ

ขั้นตอนที่ 7: ตอนนี้คุณควรบอกให้ระบบของคุณดึงรายการล่าสุดของซอฟต์แวร์จากแต่ละไฟล์เก็บถาวรที่ทราบเกี่ยวกับรวมถึง PPA ที่คุณเพิ่งเพิ่ม:

sudo apt-get update

ตอนนี้คุณพร้อมที่จะเริ่มการติดตั้งซอฟต์แวร์จาก PPA แล้ว!


1
หากไม่มีคำตอบที่เป็นมิตรกับผู้ใช้ที่รวดเร็วและมากกว่านั้นฉันจะใส่คำตอบนี้ให้ถูกต้อง มันแก้ปัญหาในทางที่ "พิเศษ";)
หลุยส์อัลบา

1
ในขณะที่ add-apt-repository นั้นง่ายกว่าในการติดตั้งเซิร์ฟเวอร์ฉันชอบที่จะทำสิ่งต่าง ๆ ให้เอนเอียงดังนั้นฉันไม่สนใจที่จะทำมันด้วยตนเอง นี่คือคำตอบที่ฉันต้องการ
D. Strout

1
วิธีนี้ดีกว่าการติดตั้งapt-add-repositoryและอึทั้งหมดที่มาพร้อมกับแพ็คเกจที่จำเป็น
Dmitry Minkovsky

4
แพคเกจคุณสมบัติของซอฟต์แวร์ทั่วไปมีขนาดใหญ่มากเกินไปสำหรับการต่อท้ายข้อความลงในไฟล์และใช้คำสั่งสองสามคำ เสียพื้นที่ในการใช้ใน Docker คำตอบนี้มีประโยชน์มาก!
rsmoorthy

3
นี้ควรจะเป็นคำตอบที่ได้รับการยอมรับตั้งแต่ OP ถามว่าจะได้รับรอบไม่ใช้ add-apt-พื้นที่เก็บข้อมูล ... ขอบคุณพวงหนึ่งนี้!
djBo

15

add-apt-repositorypython-software-propertiesที่ให้บริการโดยแพคเกจ

ดังนั้นหากคุณควรติดตั้งผ่าน

sudo apt-get install python-software-properties

ขอบคุณ! ฉันต้องบอกว่าฉันพบชื่อที่ไร้เหตุผล นอกจากนี้คุณมีความคิดใด ๆ ว่าทำไมฉันถึงไม่ติดตั้งมาตรฐาน?
Peter Smit

2
ตกลงด้วยเหตุผล - คุณสามารถคาดเดาได้ว่าเซิร์ฟเวอร์มักจะ "คงที่" ในแง่ของการใช้งานซอฟต์แวร์ ดังนั้นคุณไม่จำเป็นต้องมี 'ความหรูหรา' ในการเพิ่มและลบที่เก็บบ่อยๆ ... สิ้นการเก็งกำไร!
fossfreedom

ทำไมมันไร้เหตุผล? เป็นชุดของเครื่องมือหลามในการจัดการกับคุณสมบัติของซอฟต์แวร์ add-apt-repository เป็นหนึ่งในเครื่องมือเหล่านั้น
Jo-Erlend Schinstad

ฉันpython-software-propertiesติดตั้งแล้วแต่ได้รับข้อผิดพลาดนี้อยู่เรื่อย ๆ ฉันพยายามapt-addและadd-aptสังเกตและไม่มีงานทำ ... จะทำอย่างไร?
Mohamad

1
@Mohamad เพราะมันผิดอย่างน้อย Ubuntu 14.04 software-properties-commonทั้งหมดที่คุณต้องติดตั้ง
Theodore R. Smith

15

เรียกใช้คำสั่งนี้:

sudo apt-get install software-properties-common

จากนั้นคุณสามารถเพิ่มที่เก็บของคุณทำงาน:

sudo add-apt-repository [REPOSITORY]

เปลี่ยน[REPOSITORY]ชื่อเป็นพื้นที่เก็บข้อมูลที่คุณต้องการเพิ่ม


มันทำงานได้อย่างสมบูรณ์แบบ
แอรอน

0

ฉันมีการถกเถียงกับเพื่อนร่วมงานเกี่ยวกับเรื่องนี้ไม่กี่สัปดาห์ที่ผ่านมา ให้

apt-add-repository

ลอง. ไม่ต้องการแพ็คเกจอื่น ๆ โปรดทราบว่า apt ปรากฏขึ้นก่อนเพิ่ม การสั่งซื้อมีความสำคัญเนื่องจากจำเป็นต้องติดตั้ง add-apt-repository

สำหรับผู้ที่ออกไปข้างนอกนั่น ทดลองใช้ไฟล์ Vagrant นี้ หมายเหตุฉันเริ่มจากภาพใหม่ที่น่าเชื่อถือและเพิ่ม ppa ทันทีจากกล่อง

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

อัปเดต: เพื่อชี้แจง, ดูเหมือนว่ารูป cloud สำหรับ Ubuntu แม่นยำขึ้นไปติดตั้งแพคเกจที่ถูกต้องแล้ว ดังนั้นไม่ว่าเราจะพูดถึงสคริปต์ cloud-init หรือไฟล์คนเร่ร่อนก็มี apt-add-repository อยู่ เนื่องจาก add-apt-repository อยู่ในแพ็คเกจเดียวกันที่ควรใช้งานได้เช่นกัน


การสั่งซื้อไม่สำคัญ ดูaskubuntu.com/questions/83489/...
edwinksl

1
อธิบายว่าทำไมไฟล์คนจรจัดถึงทำงาน หมายเหตุฉันไม่ได้โต้แย้งว่าพวกเขาทำสิ่งที่แตกต่าง พวกเขาทำสิ่งเดียวกัน คุณเพียงแค่ต้องการแพ็กเกจสำหรับ add-apt ซึ่งเป็นที่อื่น ๆ ที่ทำงานตั้งแต่เริ่มต้น
Atifm

@atifm: ดูคำตอบนี้ : $ apt-file search คุณสมบัติของซอฟต์แวร์ add-apt-repository คุณสมบัติทั่วไป: / usr / bin / add-apt-repository ซอฟต์แวร์คุณสมบัติทั่วไป: / usr / share / man / man1 / add- apt-repository.1.gz การค้นหาไฟล์ apt-add-repository ซอฟต์แวร์คุณสมบัติทั่วไป: / usr / bin / apt-add-repository ซอฟต์แวร์คุณสมบัติทั่วไป: / usr / share / man / man1 / apt- add-repository.1.gz
tricasse

@tricasse: ขอบคุณสำหรับลิงก์ไปยัง apt-file นั่นจะเป็นประโยชน์ในที่อื่น ดังนั้นสิทธิ์ของคุณมันอยู่ในแพ็คเกจเดียวกันกับที่ตรวจสอบโดย apt-file ที่กล่าวว่าดูเหมือนว่าภาพเมฆอูบุนตู (สำหรับคนเร่ร่อน) สำหรับแม่นยำและเชื่อถือได้มีการติดตั้งแพคเกจแล้ว ไม่แน่ใจว่านี่เป็นคดีเสมอหรือไม่ แต่ดูเหมือนจะเป็นอย่างนั้นในตอนนี้
Atifm
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.