ESM 401 Неавторизованная ошибка в Ubuntu 16.04

Я хочу обновить свой сервер Ubuntu 16.04 до Ubuntu 18.04, и для этого я запускаю следующие команды:

      apt update -y
apt upgrade -y
do-release-upgrade

apt updateкоманда работает нормально со следующим выводом;

      # apt update -y
Hit:1 https://esm.ubuntu.com/infra/ubuntu bionic-infra-security InRelease
Hit:2 https://esm.ubuntu.com/infra/ubuntu bionic-infra-updates InRelease
Reading package lists... Done
Building dependency tree
Reading state information... Done
5 packages can be upgraded. Run 'apt list --upgradable' to see them.

Однако при запуске apt upgradeкоманда возвращает следующие ошибки;

      # apt upgrade -y
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done

*The following packages could receive security updates with UA Infra: ESM service enabled:
  libkrb5-3 libgssapi-krb5-2 libk5crypto3 libkrb5support0 libzstd1
Learn more about UA Infra: ESM service for Ubuntu 16.04 at https://ubuntu.com/16-04

Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.

The following packages have been kept back:
  libk5crypto3 libkrb5support0
The following packages will be upgraded:
  libzstd1
1 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
1 esm-infra security update
Need to get 189 kB of archives.
After this operation, 132 kB of additional disk space will be used.
Err:1 https://esm.ubuntu.com/infra/ubuntu bionic-infra-security/main amd64 libzstd1 amd64 1.3.3+dfsg-2ubuntu1+esm1
  401  Unauthorized
E: Failed to fetch https://esm.ubuntu.com/infra/ubuntu/pool/main/libz/libzstd/libzstd1_1.3.3+dfsg-2ubuntu1+esm1_amd64.deb  401  Unauthorized

E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

Я не уверен, что делать в этот момент. Как я могу это решить?

3 ответа

В зависимости от текущей версии Ubuntu существует два способа.

(a) Ubuntu 16.04 LTS как текущая версия

Вы должны сделать резервную копию


а затем заполнить основнуюс правильными URL-адресами, используя одну из команд ниже:

  • простойзаменять

            cat <<EOF | sudo tee /etc/apt/sources.list
    deb http://archive.ubuntu.com/ubuntu/ xenial-backports main universe multiverse restricted
    deb http://archive.ubuntu.com/ubuntu/ xenial main universe multiverse restricted
    deb http://archive.ubuntu.com/ubuntu/ xenial-updates main universe multiverse restricted
    deb http://security.ubuntu.com/ubuntu/ xenial-security main universe multiverse restricted
    EOF
    
  • с использованием

            sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu/ xenial-backports main universe multiverse restricted"
    sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu/ xenial main universe multiverse restricted"
    sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu/ xenial-updates main universe multiverse restricted"
    sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu/ xenial-security main universe multiverse restricted"
    

а затем возобновить обновление до 18.04 LTS:

      sudo apt-get update
sudo apt-get upgrade
sudo apt-get purge ubuntu-advantage-tools --autoremove
sudo rm /etc/apt/sources.list.d/ubuntu-esm-infra.list
sudo do-release-upgrade

Затем проверьте файлы из предыдущего релиза и частично переместите строки в .

(b) Ubuntu 18.04 LTS как текущая версия

Вы должны сделать резервную копию

      sudo mv /etc/apt/sources.list ~/
sudo mv /etc/apt/sources.list.d/*.list ~/

а затем заполнить основнуюс правильными URL-адресами, используя одну из команд ниже:

  • простой sources.listзаменять

            cat <<EOF | sudo tee /etc/apt/sources.list
    deb http://archive.ubuntu.com/ubuntu/ bionic-backports main universe multiverse restricted
    deb http://archive.ubuntu.com/ubuntu/ bionic main universe multiverse restricted
    deb http://archive.ubuntu.com/ubuntu/ bionic-updates main universe multiverse restricted
    deb http://security.ubuntu.com/ubuntu/ bionic-security main universe multiverse restricted
    EOF
    
  • с использованием add-apt-repository

            sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu/ bionic-backports main universe multiverse restricted"
    sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu/ bionic main universe multiverse restricted"
    sudo add-apt-repository "deb http://archive.ubuntu.com/ubuntu/ bionic-updates main universe multiverse restricted"
    sudo add-apt-repository "deb http://security.ubuntu.com/ubuntu/ bionic-security main universe multiverse restricted"
    

а затем установите все необходимые обновления:

      sudo apt-get purge ubuntu-advantage-tools --autoremove
sudo rm /etc/apt/sources.list.d/ubuntu-esm-infra.list

sudo apt-get update
sudo apt-get upgrade

Затем проверьте ~/*.listфайлы из предыдущего релиза и частично переместить строки в /etc/apt/sources.listпри замене xenial на bionic .

В системе 18.04 (по крайней мере) найдите/etc/apt/sources.list.d/ubuntu-esm-infra.listфайл. В этом файле ошибочно перечислены источники обновлений ESM, за которые вам придется заплатить, иaptпослушно пытается их загрузить.

Я отключил эти источники, поставив#перед каждым из двухdebлинии. Теперь файл выглядит так:

      # Written by ubuntu-advantage-tools
#deb https://esm.ubuntu.com/infra/ubuntu bionic-infra-security main
# deb-src https://esm.ubuntu.com/infra/ubuntu xenial-infra-security main

#deb https://esm.ubuntu.com/infra/ubuntu bionic-infra-updates main
# deb-src https://esm.ubuntu.com/infra/ubuntu xenial-infra-updates main

Я думаю, что удаление файла тоже сработало бы.

Теперь, когда я снова обновляю систему, используя свою обычную команду обновления:

      $ sudo apt update && sudo apt autoremove && sudo apt upgrade

...apt upgradeчасть не пытается загрузить эти неавторизованные источники, и обновление может быть завершено!

Когда вы регистрируете систему в Ubuntu Pro, создается файл. Этот файл содержит учетные данные, привязанные к вашей учетной записи Ubuntu, которые дают этой системе разрешение на получение обновлений ESM.

Я зарегистрировал систему, и изначально в ней не было проблем, но через несколько недель попытки получить пакеты с https://esm.ubuntu.com/ привели к ошибке HTTP 401 «Несанкционировано».

Я решил проблему, отсоединив и повторно подключив компьютер, используя текущее значение токена из https://ubuntu.com/pro/dashboard.

Это возродило/etc/apt/auth.conf.d/90ubuntu-advantageфайл с текущими учетными данными.

  1. sudo про отсоединить
  2. sudo pro прикрепить TOKEN_VALUE_HERE
  3. обновление sudo apt-get

На этом этапе я мог применять обновления (например, черезapt,apt-get,aptitude) как прежде.

Другие вопросы по тегам