Вопрос: Как добавить PPA на сервер?


Серверная версия Ubuntu не имеет add-apt-repository команда. Как я могу добавить Архив личного пакета (PPA) на сервер без этой команды?


153
2018-04-29 14:57


Источник


в последней версии синаптики вы можете добавить ppa непосредственно в источники программного обеспечения вместо строки deb - Dirk Hartzer Waldeck
- Ответ Дага правильный Ubuntu  16,04 - Ответ @ fossfreedom верен для Ubuntu  14,04 На Ubuntu  16,04 правильный пакет действительно software-properties-common, как показано в: $ 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 в предыдущих версиях он действительно может быть найден python-software-properties --- ОБНОВЛЕНИЕ: Я прокомментирую это здесь, потому что я не мог добавить это как комментарий! - azbarcea
apt-add-repository работает прямо из коробки. - Atifm


Ответы:


Вы можете просто добавить add-apt-repository команда. В 13.10 и более поздних версиях также необходимо выполнить следующую команду:

sudo apt-get install software-properties-common

Сторона примечания: в 11.04 они добавили символическую ссылку на add-apt-repository поэтому его можно запустить как apt-add-repository что совершенно имеет для меня смысл. Все остальное apt начинается с «apt».

ПРИМЕЧАНИЕ. Это часть python-software-properties пакет (до 13.10):

sudo apt-get install python-software-properties

190
2018-04-29 15:18



Видя, что это на самом деле функция apt, это на самом деле логично для меня. msgstr "добавить репозиторий с apt"> "apt-add-repository" - MrChrisDruif
что, если «python-software-properties» уже установлен, и вы все равно получаете команду «не найден» при попытке использовать «apt-add-repository»? - monkut
Вы также попробовали «add-apt-respository»? В версиях до 11.04 вы должны поставить «add» перед «apt». - Mark Russell
что вы должны делать, когда «apt-get install python-software-properties» терпит неудачу, потому что это зависит от python-curl, который «не устанавливается»? В моей системе 12.04 она жалуется, что она «не в состоянии исправить проблемы - у вас были сломанные пакеты» - Hoobajoob
Является software-properties-common набор определенных инструментов или сборник utils? - Alex


Позвольте мне научить вас ловить рыбу. apt-file позволяет узнать, какой пакет предоставляет данный файл. dpkg -S делает то же самое, но только для установленных пакетов. apt-file работает независимо от того, установлен ли пакет.

Итак, сначала вы устанавливаете apt-файл: sudo apt-get install apt-file, Затем вам необходимо обновить свою информацию, как и при использовании apt-get: sudo apt-file update, Теперь он готов к использованию:

$ 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.


74
2017-08-02 11:43



отличный совет - он, возможно, не должен быть похоронен в этом вопросе - отдельный вопрос будет хорошей идеей подчеркнуть это. - fossfreedom♦
@fossfreedom Это то, о чем вы говорите? - askubuntu.com/questions/13792/... - jrg♦
Из-за этого совета я обнаружил, что в 12.10 сервер apt-add-repository находится в программных свойствах-общих (уже не в свойствах python-software-properties) - Kat Amsterdam
Почему я забываю, что эта невероятно полезная команда существует! Отличный ответ. - lleaff


Это не обязательно лучший ответ, но это будет работать:

Старомодный способ (pre Ubuntu 9.10, они его называют) редактирования /etc/apt/sources.list до сих пор работает. Вам также необходимо будет вручную ввести ключ GPG в систему.

В старых (до 9.10) системах Ubuntu:

Шаг 1: Посетите страницу обзора PPA в Launchpad. Найдите заголовок, который читает «Добавление этого PPA» в вашу систему и щелкните «Технические детали об этой ссылке PPA».

Шаг 2: В раскрывающемся списке Display sources.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: Теперь вам нужно добавить этот ключ в свою систему, чтобы Ubuntu мог проверить пакеты из PPA. В терминале введите:

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

(Замените 72D340A3 тем, что вы скопировали на шаге 5.)

Теперь он вытащит ключ PPA и добавит его в вашу систему.

Шаг 7: Теперь, когда вы используете одноразовое приложение, вы должны сообщить своей системе о том, чтобы вывести последний список программного обеспечения из каждого архива, о котором он знает, включая только что добавленный PPA:

sudo apt-get update

Теперь вы готовы начать установку программного обеспечения из PPA!


53
2017-08-02 10:37



Если никакой другой более быстрый и более удобный ответ не будет дан, я поставлю его как правильное. Он решает проблему «особым» способом;) - Luis Alvarado♦
В то время как add-apt-репозиторий проще, в установке на сервере мне нравится держать все в порядке, поэтому я не против делать это вручную. Это был ответ, который я искал. - D. Strout
software-properties-common package HUGE, кажется слишком большим для просто добавления некоторого текста в файл и выполнения нескольких команд. Такая пустая трата пространства при использовании в Docker. Этот ответ очень полезен! - rsmoorthy
Это было действительно полезно, когда у меня были проблемы с прокси-сервером - Alex Chamberlain
Это должен быть принятый ответ, поскольку ОП спросил, как обойти не используя add-apt-repository ... Спасибо за это! - djBo


add-apt-repository предоставляется пакетом python-software-properties,

Таким образом, если вы должны установить через

sudo apt-get install python-software-properties

14
2017-12-30 18:39



Благодаря! Должен сказать, что я нахожу довольно нелогичное имя. Кроме того, есть ли у вас какие-либо идеи, почему я не стандартно установлен? - Peter Smit
согласились нелогично - что касается того, почему вы могли бы предположить, что серверы обычно «фиксируются» с точки зрения запуска программного обеспечения. Таким образом, вам не нужно «роскошь» часто добавлять и удалять репозитории ... конец спекуляции! - fossfreedom♦
Почему это нелогично? Это набор инструментов python для работы с свойствами программного обеспечения. add-apt-repository - один из этих инструментов. - Jo-Erlend Schinstad
у меня уже есть python-software-properties но я продолжаю получать эту ошибку. Я пытался apt-add а также add-apt нотация не работает ... что делать? - Mohamad
@Mohamad, потому что это неправильно, по крайней мере для Ubuntu 14.04. Все, что вам нужно установить, это software-properties-common, - Theodore R. Smith


Запустите эту команду:

sudo apt-get install software-properties-common

И затем вы можете добавить свой репозиторий:

sudo add-apt-repository [REPOSITORY]

Обновить для замены [REPOSITORY] с именем репозитория, который вы хотите добавить.


14
2017-08-19 00:40



Это сработало отлично. - Aaron


Несколько недель назад у меня были дебаты с коллегой. Дайте

apt-add-repository

попробуйте. Не нужны другие пакеты. Обратите внимание, что apt появляется перед добавлением. Заказ имеет значение, потому что должен быть установлен add-apt-репозиторий.

Для тех скептиков. Попробуйте этот бродячий файл. Заметьте, я начинаю с нового надежного изображения и добавляю 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

Обновление. Чтобы уточнить, похоже, что изображения облаков для точного и правильного Ubuntu имеют установленный пакет. Так что, если мы говорим о сценариях cloud-init или бродячих файлов, присутствует apt-add-repository. Поскольку add-apt-репозиторий находится в том же пакете, который должен работать.


0



Заказ не имеет значения. Видеть askubuntu.com/questions/83489/..., - edwinksl
Объясните, почему этот бродячий файл работает. Заметьте, я не утверждаю, что они делают что-то другое. Они делают то же самое. Вам просто нужен пакет для add-apt, где другой работает с нуля. - Atifm
@atifm: Смотрите этот ответ: $ 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-properties-common: / usr / bin / apt-add-repository software-properties-common: /usr/share/man/man1/apt-add-repository.1. GZ - tricasse
@tricasse: Спасибо за ссылку на apt-файл, это будет полезно в других местах. Итак, ваше право, они находятся в том же пакете, который проверен apt-файлом. Тем не менее, похоже, что облачные изображения ubuntu (для бродячих) для точного и надежного пакета уже установлены. Не уверен, что это всегда так, но в настоящий момент это так. - Atifm