ฉันต้องการอัพเกรดเซิร์ฟเวอร์ 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?

ฉันไม่แน่ใจว่าจะทำอย่างไรในตอนนี้ ฉันจะแก้ปัญหานี้ได้อย่างไร

answer

มีอยู่สองวิธีขึ้นอยู่กับเวอร์ชันของ Ubuntu ที่ใช้งานในปัจจุบัน

(a) Ubuntu 16.04 LTS เป็นเวอร์ชันที่ใช้งานในปัจจุบัน

คุณต้องสำรองข้อมูลของคุณsources.listโดย

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

จากนั้นกรอกsources.listURL ที่ถูกต้องโดยใช้คำสั่งใดคำสั่งหนึ่งด้านล่าง:

  • sources.listแทนที่ธรรมดา

    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
    
  • โดยใช้ add-apt-repository

    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

จากนั้นตรวจสอบ~/*.listไฟล์จากรุ่นก่อนหน้าและย้ายบรรทัดบางส่วนไปที่/etc/apt/sources.list.

(b) Ubuntu 18.04 LTS เป็นเวอร์ชันที่ใช้งานในปัจจุบัน

คุณต้องสำรองข้อมูลของคุณsources.listโดย

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

จากนั้นกรอกsources.listURL ที่ถูกต้องโดยใช้คำสั่งใดคำสั่งหนึ่งด้านล่าง:

  • 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กับไบโอนิค