记一次阿里云ubuntu22.04升级24.04

内容目录

安装所有更新

sudo apt-get update
sudo apt-get upgrade -y

apt-get update报错解决

Reading state information... Done
15 packages can be upgraded. Run 'apt list --upgradable' to see them.
W: Failed to fetch https://download.prometheus.io/apt/ubuntu/dists/jammy/InRelease  Could not resolve 'download.prometheus.io'
W: Some index files failed to download. They have been ignored, or old ones used instead.

这个我最初没管,但是到最后升级的时候会导致

Command terminated with exit status 1
press x to destroy or r to resurrect 

解决问题

删除相关源

root@iZrj9e7rg1zlh9hps307c3Z:~# cd /etc/apt/
root@iZrj9e7rg1zlh9hps307c3Z:/etc/apt# ls
apt.conf.d  auth.conf.d  keyrings  preferences.d  sources.list  sources.list.backup  sources.list.curtin.old  sources.list.d  sources.list.distUpgrade  trusted.gpg.d
root@iZrj9e7rg1zlh9hps307c3Z:/etc/apt# cd sources.list.d/
root@iZrj9e7rg1zlh9hps307c3Z:/etc/apt/sources.list.d# ls
docker.list  docker.list.distUpgrade  prometheus-archive.list  prometheus-archive.list.distUpgrade
root@iZrj9e7rg1zlh9hps307c3Z:/etc/apt/sources.list.d# vim prometheus-archive.list
root@iZrj9e7rg1zlh9hps307c3Z:/etc/apt/sources.list.d# vim prometheus-archive.list.distUpgrade 
root@iZrj9e7rg1zlh9hps307c3Z:/etc/apt/sources.list.d# rm -f prometheus-archive.lis*

apt upgrade -y报错解决

root@iZrj9e7rg1zlh9hps307c3Z:~# apt upgrade -y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages were automatically installed and are no longer required:
  bolt cups-bsd cups-client cups-common fwupd-signed gir1.2-packagekitglib-1.0 intel-microcode iucode-tool libatasmart4 libblockdev-crypto2 libblockdev-fs2 libblockdev-loop2 libblockdev-part-err2
  libblockdev-part2 libblockdev-swap2 libblockdev-utils2 libblockdev2 libcups2 libfwupd2 libgcab-1.0-0 libgpgme11 libgstreamer1.0-0 libgudev-1.0-0 libgusb2 libinih1 libintl-perl libintl-xs-perl
  libjcat1 libjson-glib-1.0-0 libjson-glib-1.0-common liblmdb0 libmbim-glib4 libmbim-proxy libmm-glib0 libmodule-find-perl libmodule-scandeps-perl libmspack0 libpackagekit-glib2-18
  libparted-fs-resize0 libproc-processtable-perl libqmi-glib5 libqmi-proxy libsmbios-c2 libsort-naturally-perl libstemmer0d libudisks2-0 libvolume-key1 libxmlb2 lsb-security modemmanager pax
  python3-software-properties udisks2 usb-modeswitch usb-modeswitch-data zerofree
Use 'apt autoremove' to remove them.
Get more security updates through Ubuntu Pro with 'esm-apps' enabled:
  gsasl-common libgsasl7
Learn more about Ubuntu Pro at https://ubuntu.com/pro
The following packages have been kept back:
  cloud-init
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
root@iZrj9e7rg1zlh9hps307c3Z:~# apt list --upgradable -a
Listing... Done
cloud-init/jammy-updates 24.2-0ubuntu1~22.04.1 all [upgradable from: 23.2.2-5]
cloud-init/now 23.2.2-5 all [installed,upgradable to: 24.2-0ubuntu1~22.04.1]
cloud-init/jammy-security 23.1.2-0ubuntu0~22.04.1 all
cloud-init/jammy 22.1-14-g2e17a0d6-0ubuntu1~22.04.5 all
root@iZrj9e7rg1zlh9hps307c3Z:~# do-release-upgrade
Checking for a new Ubuntu release
Please install all available updates for your release before upgrading.

解决

目前有一个软件包 cloud-init 被标记为“held back”(被保留,不升级)。

sudo apt install cloud-init

do-release-upgrade升级系统的提示和选择

1

Reading package lists... Done    
Building dependency tree... Done 
Reading state information... Done

Checking for installed snaps

Calculating snap size requirements

Updating repository information

No valid mirror found 

While scanning your repository information no mirror entry for the 
upgrade was found. This can happen if you run an internal mirror or 
if the mirror information is out of date. 

Do you want to rewrite your 'sources.list' file anyway? If you choose 
'Yes' here it will update all 'jammy' to 'noble' entries. 
If you select 'No' the upgrade will cancel. 

在进行 Ubuntu 22.04 (Jammy Jellyfish) 升级到 Ubuntu 24.04 (Noble Numbat) 的过程中,系统提示没有找到有效的镜像,并询问是否要重写 sources.list 文件。

这是因为 sources.list 文件中定义了当前系统的镜像源(URL),如果镜像源不可用或不包含新版本的条目,系统将无法完成升级。

选项说明:
Yes(是):
选择 "Yes" 会自动更新你的 sources.list 文件,将所有 jammy 条目替换为 noble 条目。这意味着你的软件源会被更新为指向 Ubuntu 24.04 的镜像。
建议:通常建议选择 "Yes",这样可以确保升级能够继续,并且软件源能够正确指向新版本的镜像。
No(否):
选择 "No" 会取消升级,不进行 sources.list 的更改,也就无法完成系统升级。
建议:除非你需要手动修复镜像源,或者正在使用内部或自定义镜像源,选择 "No" 通常不推荐。

2

Checking package manager
Reading package lists... Done    
Building dependency tree... Done 
Reading state information... Done

Calculating the changes

Calculating the changes

Do you want to start the upgrade? 

69 packages are going to be removed. 212 new packages are going to be 
installed. 826 packages are going to be upgraded. 

You have to download a total of 1,301 M. This download will take 
about 4 minutes with a 40Mbit connection and about 34 minutes with a 
5Mbit connection. 

Fetching and installing the upgrade can take several hours. Once the 
download has finished, the process cannot be canceled. 

你已经进入 Ubuntu 22.04 升级到 Ubuntu 24.04 的关键步骤。系统提示将会进行以下操作:

69 个软件包将被移除
212 个新软件包将被安装
826 个软件包将被升级
需要下载总共 1.3 GB 的数据
升级完成后,将无法中途取消,下载过程大约需要 4 到 34 分钟,具体取决于你的网络速度,安装可能需要更多时间。

升级前的建议:
备份重要数据:虽然 Ubuntu 升级过程一般是安全的,但出于谨慎考虑,建议备份重要的文件和数据。
确保电源稳定:如果你在本地机器上进行升级,确保设备连接到电源,以避免意外断电导致的升级失败。
保持 SSH 会话活跃:如果你通过 SSH 进行远程操作,确保会话不会超时断开(可以使用 tmux 或 screen 工具,或者通过在本地保持活动发送信号来防止断开)。
如果一切准备就绪:
你可以选择 “Yes”,开始下载并安装软件包。升级过程将自动完成,并可能会要求重启系统。

我选的是

3

 │ There are services installed on your system which need to be restarted when ce│ service for the system, you will normally be prompted on each upgrade for the │ necessary restarts will be done for you automatically so you can avoid being a│                                                                               │ Restart services during package upgrades without asking?                      │                                                                               │                                                            <Yes>              │                                                                               └────────────────────────────────────────────────────────────────────────────────    

在这个步骤中,系统检测到有一些服务需要在软件包升级过程中重新启动。为了避免在每次有需要重新启动的服务时提示你,你可以选择是否自动重新启动服务。

选项解释:
Yes (推荐):选择 "Yes" 会在软件包升级过程中自动重新启动需要重启的服务。这可以简化升级流程,避免你在中途频繁确认。

No:选择 "No" 则意味着每当有服务需要重新启动时,系统会询问你是否允许重启服务。这样会导致升级过程中多次提示,可能会使升级过程变得更繁琐。

推荐选择:
建议你选择 “Yes”,这样系统会在升级过程中自动处理服务的重启,提升升级的流畅性。

4

│      
│ If you choose this option, the kdump-tools mechanism will be enabled. A reboot is still required in order to enable the crashkernel kernel parameter.  │      
│                                                                                                                                                        │ 
│ Should kdump-tools be enabled by default?                                                                                                              │      
│                                                                                                                                                        │      
│                                              <Yes>                                                 <No>     

在此步骤中,系统询问你是否希望默认启用 kdump-tools。kdump 是一个用于 Linux 内核崩溃转储的工具,它在系统发生崩溃时能够收集内核转储信息,帮助开发人员或系统管理员分析问题。

选项解释:
Yes:选择 "Yes" 将默认启用 kdump-tools,这意味着在发生系统崩溃时,系统会自动收集崩溃信息。启用后,你仍然需要重启系统才能使 crashkernel 内核参数生效。

No:选择 "No" 则不启用 kdump-tools。这可能会使得在系统崩溃时无法自动收集内核转储信息。

推荐选择:
如果你希望在系统崩溃时能够收集更多的调试信息,以便于后续分析和故障排查,建议选择 “Yes” 启用 kdump-tools。
如果你不需要这项功能,或者在你的环境中不打算使用它,可以选择 “No”。
选择后,确认你的选择即可继续进行升级。

我选是

5

Configuration file '/etc/security/limits.conf'
 ==> Modified (by you or by a script) since installation.
 ==> Package distributor has shipped an updated version.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.

此类提示会出现多个,我除了这个跟nginx的配置文件我自己改了配置回车默认保持当前版本,其他的我都选了Y

在升级过程中,系统检测到配置文件 /etc/security/limits.conf 已被修改(无论是你手动修改还是通过某个脚本),而新版本的配置文件也被提供。现在,你需要决定如何处理这个已修改的配置文件。

选项解释:
Y or I (安装软件包维护者的版本):

选择这个选项将用软件包维护者提供的默认版本替换你当前的配置文件。这会丢失你对该配置文件所做的任何自定义修改。
建议:如果你没有做过重要的修改,或者希望使用新版本的默认配置,可以选择这个选项。
N or O (保留当前安装的版本):

选择这个选项将保留你当前的配置文件,不进行任何更改。
建议:如果你对 limits.conf 文件进行了重要的自定义设置,并希望继续保留这些配置,选择这个选项是更好的选择。
D (显示版本差异):

选择这个选项可以查看当前版本和新版本之间的差异,以便你决定是否需要合并。
建议:如果你对配置有较多的自定义,建议选择这个选项来检查差异,然后决定是否保留或替换。
Z (启动一个 shell 来检查情况):

这个选项允许你打开一个新的 shell 来检查当前配置,执行其他命令,或手动比较文件。
建议:适合需要进一步调查或手动检查的高级用户。
推荐选择:
如果你对 /etc/security/limits.conf 文件进行了重要的自定义,建议选择 N 或 O 来保留当前版本。
如果不确定,选择 D 查看差异是个不错的选择,这样可以帮助你判断哪些更改是重要的。
确认选择后,系统将继续进行升级。

6

出现多次 其他ENGLISH语言选项提示,选OK就好了

升级成功标识

System upgrade is complete.

Restart required 

To finish the upgrade, a restart is required. 
If you select 'y' the system will be restarted. 

按 Y重启

ubuntu 22.04升级24.04成功

Welcome to Ubuntu 24.04.1 LTS (GNU/Linux 6.8.0-45-generic x86_64)
root@iZrj9e7rg1zlh9hps307c3Z:~# uname -a
Linux iZrj9e7rg1zlh9hps307c3Z 6.8.0-45-generic #45-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 30 12:02:04 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注