Советы PHP-разработчика

Блог содержащий короткие заметки касающиеся программирования для web.

Ошибка E: Unable to locate package при установке пакетов в ubuntu

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

  • 2015-11-10 12:36:09