Невозможно найти пакет php7.X-PACKAGE в Ubuntu 21.04

09.06.2021

По счастливой случайности установил Ubuntu 21.04 (чем я в тот момент думал не знаю, но сделал я это явно не от большого ума, учитывая мой скромный опыт администрирования linux), и сразу же мне понадобилось развернуть apache + php fpm + redis. Первое и второе было сделано быстро, ничего сложного, а вот с третьим (точнее с php7.3-redis) возникли проблемы ...

Офсайт говорит что надо просто apt install php-redis ... можно, но в Ubuntu 21.04 это работает только для php7.4.

Док репозитория подсказывает что можно установить через pecl, но мне нужно было php-redis для конкретной версии php7.3 (а может быть я просто не разобрался с pecl).

Классический вариант, которым я пользовался в Ubuntu 18.04 LTS не прошел:

apt install php7.3-redis
Чтение списков пакетов… Готово
Построение дерева зависимостей… Готово
Чтение информации о состоянии… Готово         
E: Невозможно найти пакет php7.3-redis
E: Не удалось найти ни один пакет с помощью шаблона «php7.3-redis»

Начинаем искать в интернетах и находим этот безответный пост, видим ссылку на Ondřej Surý repo, и смотрим что там есть для Ubuntu php-redis для разных версий php.

Пробуем установить репозиторий в apt как указано в инструкции:

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update

Повторяем установку и видим все тот же текст:

apt install php7.3-redis
..     
E: Невозможно найти пакет php7.3-redis

Открываем файл /etc/apt/sources.list.d/ondrej-ubuntu-php-hirsute.list и видим в нем одну незакоментированную строку:

deb http://ppa.launchpad.net/ondrej/php/ubuntu/ hirsute main

Вспоминаем про именование версий Ubuntu, еще раз смотрим в репозиторий и понимаем что php7.3-redis там нет php5.6-redis есть).

Однако, для Ubuntu 20.04 есть то что нужно. Возникает мысль: а не попробовать ли для 21.04 пакеты от 20.04?

На свой страх и риск редактируем файл /etc/apt/sources.list.d/ondrej-ubuntu-php-hirsute.list - hirsute (Ubuntu 21.01) меняем на focal (Ubuntu 20.04):

deb http://ppa.launchpad.net/ondrej/php/ubuntu/ focal main

Затем обновляем списки пакетов и пробуем установить:

apt-get update
apt install php7.3-redis

Теперь должно получиться :)