Ubuntu 升級 至 22.04 Jammy Jellyfish

前篇: Ubuntu 密碼忘記

續篇: Ubuntu upgrade Linux kernel v5.15.92 


可以參考 之前 辛西亞的技能樹: 升級到 20.04 的方式, 來升級到 22.04

(PS: apt 和 apt-get 的差異, 可以參考 IT人這篇 )


1. 檢查目前版本

     可以用 指令 lsb_release

     $ lsb_release -a


     如果目前使用版本已經 EOL, 例如我目前使用的 21.04, 則在第二步更新套件時, 會出現:

        E: The respository 'https://tw.archive.ubuntu.com/ubuntu hirsute-updates Release' no longer has a release file. 

    而更新失敗, 


    ( 這邊的 hirsute 就是 21.04 版本的 CODENAME

       所有 ubuntu release 版本的 code name 可以參考底下這個 wiki

        wiki - ubuntu release history )


    這時候可以參考底下方式來更新

        https://help.ubuntu.com/community/EOLUpgrades



    需要將 sources.list 內的伺服器, 更換到 old-releases.ubuntu.com 的方式, 

    可以用底下的指令:

     $ sudo sed -i -re 's/([a-z]{2}\.)?archive.ubuntu.com|security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list



     所以最好先對照底下網頁, 看是否目前的 Ubuntu 版本已經 EOL

     https://wiki.ubuntu.com/Releases


     且建議 之後更新的版本, 選擇 LTS (Long Term Support) 的版本會比較好,


2. 確認儲存空間

    可以用 % df -H 來確認剩餘空間, 最好能有個 幾十G 以上的空間. 

    Ubuntu 20.04 時, 基本安裝大概需要 32G


3. 更新套件

     $ sudo apt update 

     $ sudo apt upgrade

     $ sudo apt dist-upgrade


4. 釋放空間

    可以用 $ sudo apt autoremove 來清除不需要的套件


5. 安裝 update manager 工具

     $ sudo apt install update-manager-core update-manager


6. 重開機

     $ sudo reboot


7. 用 apt 升級套件

    可以用 $ sudo do-release-upgrade -c 來檢查可升級的版本

  確定要升級時, 可以用 $ sudo do-release-upgrade 來開始升級 


這邊發生一個問題

   Failed to connect to https://changelogs.ubuntu.com/meta-release-lts ...

但點選網頁是可以連線打開的

可以參考這個: 張志敏的技術專欄: Ubuntu 無法更新

在這篇也有提到相同的問題:

https://www.reddit.com/r/Ubuntu/comments/yajzo2/upgrade_2004_to_2204_fails_because_of_https/


可以先修改

/usr/lib/python3/dist-packages/UpdateManager/Core/MetaRelease.py

加上兩行先忽略 ssl 

from __future__ import absolute_import, print_function 

+ import ssl 
+ ssl._create_default_https_context = ssl._create_unverified_context 

import apt 
import apt_pkg

安裝完後重開機

7. 檢查版本

     $ lsb_release -a



的確是 22.04.1 code name Jammy Jellyfish

在 /etc/apt/sources.list 也有修正了


8. 更新 Jammy Jellyfish 的相關套件

     $ sudo apt update 

     $ sudo apt upgrade

     $ sudo apt dist-upgrade


9. 釋放空間

    可以用 $ sudo apt autoremove 來清除不需要的套件


再重開即完成了. 


留言

熱門文章