Серверная версия Ubuntu не имеет команды add-apt-repository
. Как я могу добавить Личный пакетный архив (PPA) на сервер без этой команды?
Вы можете просто добавить команду add-apt-repository
. В 13.10 и более поздних версиях вам также нужно выполнить эту команду:
sudo apt-get install software-properties-common
Side note: в 11.04 они добавили сим-ссылку на add-apt-repository
, чтобы его можно было запустить как apt-add-repository
, что, по моему мнению, совершенно логично. Всё остальное apt начинается с "apt".
ПРИМЕЧАНИЕ: Это часть пакета python-software-properties
(до 13.10):
sudo apt-get install python-software-properties
, то позвольте мне научить вас ловить рыбу. apt-file
позволяет узнать, какой пакет предоставляет данный файл. dpkg -S
делает то же самое, но только для установленных пакетов. apt-файл
работает независимо от того, установлен пакет или нет. Итак, сначала вы устанавливаете 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
Итак, в этом случае следующим делом будет установка питоновского программного обеспечения.
Это не обязательно лучший ответ, но он будет работать:
Старомодный способ (до Ubuntu 9.10, они его называют) редактирования /etc/apt/sources.list
все еще работает. Вам также нужно будет получить ключ GPG на системе вручную.
На старых (до 9.10) Ubuntu системах:
Шаг 1: Посетите обзорную страницу PPA в Launchpad. Ищите заголовок, который гласит Добавление этого PPA в вашу систему и нажмите на ссылку Техническая информация об этом PPA.
Шаг 2: Используйте выпадающее окно Отображение записей source.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 и найдите заголовок клавиши Signing. Вы увидите что-то вроде:
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!
add-apt-repository
предоставляется пакетом python-software-properties
.
Таким образом, если вам нужно установить через
sudo apt-get install python-software-properties
Выполните эту команду:
sudo apt-get install software-properties-common
И затем вы можете добавить свой репозиторий, запустив:
sudo add-apt-repository [REPOSITORY]
Renember, чтобы заменить [REPOSITORY]
на имя репозитория, которое вы хотите добавить.
Несколько недель назад я спорил с коллегой по этому поводу. Попробуйте
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
Обновление: просто чтобы уточнить, похоже, что в облачных образах для ubuntu precision и выше уже установлен правильный пакет. Итак, говорим ли мы о сценариях облачной инициализации или о бродячем файле, присутствует репозиторий apt-add. Поскольку add-apt-repository находится в том же пакете, он также должен работать.