Как добавить репозиторий PPA в Ubuntu и исправить ошибку 'PPA is not signed'
Что такое PPA-репозитории в Ubuntu
PPA (Personal Package Archive) — это специальные пользовательские архивы программ, размещенные на платформе Launchpad от компании Canonical. Официальные репозитории Ubuntu часто содержат старые, замороженные версии софта. С помощью PPA администраторы устанавливают самые свежие версии PHP, Nginx, Python или драйверов видеокарт. Однако при добавлении PPA часто возникает ошибка: E: The repository 'http://ppa.launchpad.net/... Release' is not signed (Репозиторий не подписан).
Причины ошибки «PPA is not signed»
- Репозиторий заброшен автором и не содержит сборки под вашу новую версию Ubuntu (например, PPA создан для 20.04, а у вас установлена 24.04).
- Сетевой сбой при автоматической загрузке GPG-ключа безопасности Launchpad.
Пошаговое добавление PPA и исправление ошибок
Шаг 1: Установка необходимой утилиты add-apt-repository
На минимальных серверных сборках Ubuntu утилита управления PPA может отсутствовать. Установите ее:
sudo apt update
sudo apt install software-properties-common -yШаг 2: Добавление репозитория в систему
Добавим популярный репозиторий со свежими версиями PHP от Ондрея Сури (Ondřej Surý):
sudo add-apt-repository ppa:ondrej/php -yКоманда сама скачает GPG-ключ, добавит файл в /etc/apt/sources.list.d/ и автоматически обновит кэш пакетов.
Шаг 3: Как исправить ошибку «PPA is not signed» (Смена кодового имени)
Если репозиторий выдает ошибку отсутствия подписи для вашего релиза (например, noble для 24.04), откройте созданный файл репозитория:
sudo nano /etc/apt/sources.list.d/ondrej-ubuntu-php-*.listЗамените неподдерживаемое кодовое имя вашего релиза (например, noble) на предыдущую стабильную версию (например, jammy):
deb https://ppa.launchpadcontent.net/ondrej/php/ubuntu/ jammy mainСохраните файл (Ctrl + O -> Enter -> Ctrl + X) и выполните sudo apt update.
Шаг 4: Как корректно удалить сломанный PPA-репозиторий
Если репозиторий вам больше не нужен и продолжает выдавать ошибки при каждом apt update, удалите его:
sudo add-apt-repository --remove ppa:имя_автора/имя_ppa -y
или удалите файл напрямую:
sudo rm /etc/apt/sources.list.d/имя_файла.list
sudo apt updateТиповые ошибки администраторов
- Добавление десятков сомнительных PPA: Установка программ из непроверенных PPA может затереть системные библиотеки
glibc / opensslмодифицированными версиями, сделав систему уязвимой для взлома. Доверяйте только официальным верифицированным мейнтейнерам! - Использование PPA на чистом Debian: Репозитории Ubuntu PPA бинарно несовместимы с дистрибутивами Debian и ломают зависимости при установке.
Инженеры ITSTM очистят пакетную базу от мусорных зависимостей, откатят систему до стабильного состояния и настроят сборку софта из изолированных контейнеров.
Частые вопросы (FAQ)
Как откатить все пакеты, установленные из PPA, на официальные версии Ubuntu?
Установите утилиту ppa-purge: 'sudo apt install ppa-purge' и выполните очистку: 'sudo ppa-purge ppa:имя_автора/имя_ppa'.
Где физически лежат файлы добавленных PPA-репозиториев?
Все сторонние источники хранятся в виде отдельных конфигурационных файлов в каталоге /etc/apt/sources.list.d/.
Безопасно ли использовать флаг [trusted=yes] в sources.list?
Флаг trusted=yes отключает обязательную проверку цифровой подписи GPG. Это допустимо только для локальных тестовых зеркал, но категорически запрещено на боевых серверах.
Почему при добавлении PPA возникает ошибка 'Cannot add PPA: user or team does not exist'?
Проверьте правильность написания имени PPA или сетевое подключение: утилите требуется доступ к серверам launchpad.net по HTTPS.