У меня такое случается с Elementary OS. Сейчас актуальна версия 5.0 с кодовым названием «Juno». И хотя система основана на Ubuntu 18.04 с кодовым названием «Bionic», она сообщает о себе честно:
kornev@kornev-desktop:~$ lsb_release -sc
juno
Некоторые скрипты пользуются этим. Берут и прописывают в источники имя, которое сообщает им система. Из-за этого и возникает проблема.
Пример:
kornev@kornev-desktop:/home/kornev# sudo apt update
Игн:1 http://dl.google.com/linux/chrome/deb stable InRelease
Сущ:2 http://ru.archive.ubuntu.com/ubuntu bionic InRelease
...
Пол:18 http://ru.archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages [728 kB]
Ошб:19 http://repo.percona.com/percona/apt juno Release
404 Not Found [IP: 74.121.199.234 80]
Сущ:20 http://ppa.launchpad.net/lyzardking/ubuntu-make/ubuntu bionic InRelease
Пол:21 http://packages.elementary.io/appcenter bionic/main amd64 Packages [76,2 kB]
Пол:22 http://packages.elementary.io/appcenter bionic/main amd64 DEP-11 Metadata [198 kB]
...
Пол:55 http://security.ubuntu.com/ubuntu bionic-security/universe DEP-11 128x128 Icons [181 kB]
Пол:56 http://security.ubuntu.com/ubuntu bionic-security/multiverse amd64 DEP-11 Metadata [2 464 B]
Чтение списков пакетов… Готово
E: Репозиторий «http://repo.percona.com/percona/apt juno Release» не содержит файла Release.
N: Обновление из этого репозитория нельзя выполнить безопасным способом, поэтому по умолчанию он отключён.
N: Информацию о создании репозитория и настройках пользователя смотрите в справочной странице apt-secure(8).
Простой и быстрый способ исправить проблему – это найти файл соответствующего источника и отредактировать там вручную название дистрибутива. Файлы источников находятся в каталоге /etc/apt/sources.list
.
#
# This repo is managed by "percona-release" utility, do not edit!
#
deb http://repo.percona.com/percona/apt juno main
deb-src http://repo.percona.com/percona/apt juno main
Находим juno
, исправляем на bionic
.
deb http://repo.percona.com/percona/apt bionic main
deb-src http://repo.percona.com/percona/apt bionic main
Теперь источники успешно обновятся и все будет работать.
Чтобы быстро найти, в каких файлах есть проблема:
grep -R juno /etc/apt
Чтобы исправить проблему в файлах автоматически:
find /etc/apt -type f -print0 | sudo xargs -0 sed -i 's/juno/bionic/g'
Последняя команда очень полезна, чтобы решить проблему раз и на всегда. Можно создать скрипт и запускать его периодически через крон.
Я уже не первый раз сталкиваюсь с проблемой для одного и того же источника. Скрипт программы при очередном обновлении исправляет источники. Поэтому единожды исправить их руками недостаточно.
Вариант 2
Есть файл /etc/os-release
, который по умолчанию в Elementary OS 5.0 Juno вылядит следующим образом:
NAME="elementary OS"
VERSION="5.0 Juno"
ID=elementary
ID_LIKE=ubuntu
PRETTY_NAME="elementary OS 5.0 Juno"
LOGO=distributor-logo
VERSION_ID="5.0"
HOME_URL="https://elementary.io/"
SUPPORT_URL="https://elementary.io/support"
BUG_REPORT_URL="https://github.com/elementary/appcenter/issues/new"
PRIVACY_POLICY_URL="https://elementary.io/privacy-policy"
VERSION_CODENAME=juno
UBUNTU_CODENAME=bionic
Мы можем отредактировать его, чтобы создать видимость, что у нас Ubuntu. Пример ниже.
Такое может пригодится при установке какого-нибудь драйвера или программы. Я использовал это при установке драйвера для видеокарты AMD. По умолчанию в Elementary OS я получал сообщение «Unsupported OS». Со следующими настроками драйвер ставится без проблем.
NAME="elementary OS"
VERSION="5.0 Juno"
ID=ubuntu
ID_LIKE=ubuntu
PRETTY_NAME="elementary OS 5.0 Juno"
LOGO=distributor-logo
VERSION_ID="18.04"
HOME_URL="https://elementary.io/"
SUPPORT_URL="https://elementary.io/support"
BUG_REPORT_URL="https://github.com/elementary/appcenter/issues/new"
PRIVACY_POLICY_URL="https://elementary.io/privacy-policy"
VERSION_CODENAME=juno
UBUNTU_CODENAME=bionic
На совсем оставлять исправления не следует. Может что-то родное для Elementary OS перестать работать. Поэтому исправили, установили что требовалось, и вернули настройки к первоначальному виду.
Hera
Все сказанное акуально для «Hera». Исходный вид /etc/os-release
:
NAME="elementary OS"
VERSION="5.1.2 Hera"
ID=elementary
ID_LIKE=ubuntu
PRETTY_NAME="elementary OS 5.1.2 Hera"
LOGO=distributor-logo
VERSION_ID="5.1.2"
HOME_URL="https://elementary.io/"
SUPPORT_URL="https://elementary.io/support"
BUG_REPORT_URL="https://github.com/elementary/os/issues/new"
PRIVACY_POLICY_URL="https://elementary.io/privacy-policy"
VERSION_CODENAME=hera
UBUNTU_CODENAME=bionic