Ошибка E: Unable to locate package при установке пакетов в ubuntu
На ряде VPS от различных хостеров возникает проблема с установкой некоторых пакетов (например, php5-fpm
). В качестве примера можно привести VPS от reg.ru с ubuntu14.04-x86_64. При этом можно наблюдать ошибку следующего рода:
E: Package 'php5-fpm' has no installation candidate E: Unable to locate package php5-memcached E: Package 'php5-intl' has no installation candidate
Она возникает из-за отсутствия некоторых пакетов. Дело в том, что все пакеты в Ubuntu располагаются по компонентам: Main
, Restricted
, Universe
и Multiverse
. У многих хостеров по умолчанию на VPS включен только компонент main
. Просмотреть это можно с помощью следующей команды:
cat /etc/apt/sources.list
Для установки php5-fpm
, php5-intl
, mc
, htop
и многих других необходимо добавить компонент Universe
. Для этого просто открываем файл /etc/apt/sources.list
и добавляем в него universe
после main
и обновить индекс пакетов. Как правило, для этого я использую
echo "deb http://archive.ubuntu.com/ubuntu trusty main universe" >> /etc/apt/sources.list apt-get update
На этом все. Рекомендую ознакомиться подробнее с репозиториями в ubuntu в официальной документации. Для поиска пакетов можно воспользоваться поиском пакетов на все том же сайте.
P. S. При установки сторонних пакетов необходимо добавлять репозиторий отдельно, но об этом в другой раз.