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

2021.06.09
Установка модулей для разных версий php fpm на Ubuntu 21.04 с использованием пакетов для Ubuntu 20.04, по другому на данный момент никак

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

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

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

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

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

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

$ sudo 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.04) меняем на focal (Ubuntu 20.04):

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

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

$ sudo apt-get update
$ sudo apt install php7.3-redis

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

В телеграм канале DevOps от первого лица можно оставить комментарий или почитать интересные истории из практики DevOps