欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 维修 > < OS 有关 > Ubuntu 版本升级 实践 24.04 -> 24.10, 安装 .NET

< OS 有关 > Ubuntu 版本升级 实践 24.04 -> 24.10, 安装 .NET

2025/2/7 7:43:50 来源:https://blog.csdn.net/davenian/article/details/145467753  浏览:    关键词:< OS 有关 > Ubuntu 版本升级 实践 24.04 -> 24.10, 安装 .NET

原因:

想安装 .NET 9 去编译 GitHut 项目,这回用不熟悉的 Ubuntu来做,不知道怎么拐去给 Ubuntu 升级,看到现在版本是 24.10 但不是 LTS 版本,记录下升级过程。

一、实践过程:

1. 查看当前版本

命令1: 

lsb_release -a

命令 2:

hostnamectl

这个在 QNAP 的 Ubuntu Linux Station 是 24.04.01 LTS

命令 3:

cat /etc/os-release

2. 版本升级

1)必要的软件包:

  • update-manager (需要有图形显示)  : 管理软件更新与升级的,以命令行来运行的工具。我读文章时没领悟到,当运后明白了 “update-manager is a command-line utility in Ubuntu that provides a graphical interface for managing software updates and upgrades” :
  • update-manager-core :核心软件包,在 Ubuntu 中管理软件更新功能。

2)安装必要软件包:

sudo apt install update-manager update-manager-core

3)安装升级 (终端里,无图形界面)

sudo do-release-upgrade -c

上面信息表示:在 /etc/update-manager/release-upgrades 文件里,被设置为不支持升级。

不支持升级的解决方法:

修改上面提到的文件

sudo vi /etc/update-manager/release-upgrades

把 Prompt 从 never 改为你想要到,我用的是 lts,防止误升级到非 LTS 版。

解释各参数含义:

Prompt=normal:如果有多个升级,升级到最新的。但不升会级到 LTS 版本。
Prompt=lts:如果有多个升级,升级到最近的 LTS。
我在网上查,还有个 any,但在我的配置文件中,没有提到。

再次运行:

程序已经测试到有新的版本,但不是 LTS 版本,所以没有升级。

说明正常

如果你使用非 TLS 或接受从 TLS 升级到非 TLS版本,在上面的文件里,参数改为 normal,再运行这个命令。 大版本升级需要重启系统的,做之前先备份。 不然跟做 rm -fr / 没什么区别。 

业务系统,先在测试环境跑通,写出 SOP 验证后再上手。

二、在 Ubuntu 安装 .NET

参考文档:

Install .NET on Ubuntu - .NET | Microsoft Learn

以下只是翻译

1. 添加软件仓库

sudo add-apt-repository ppa:dotnet/backports

2. 安装 SDK

sudo apt-get update && \sudo apt-get install -y dotnet-sdk-9.0

3. 安装 Runtime

1) 有 ASP.NET core

sudo apt-get update && \sudo apt-get install -y aspnetcore-runtime-9.0

2) 没有 ASP.NET core

sudo apt-get install -y dotnet-runtime-9.0

在微软文章中有提:依赖关系

Breaking change: System.Drawing.Common only supported on Windows - .NET | Microsoft Learn

检查安装依赖包:

多说一点, 用 dpkg 命令查询是否已经安装上图中和软件包:

for package in ca-certificates libc6 libgcc-s1 libicu74 liblttng-ust1 libssl3 libstdc++6 libunwind8 zlib1g; do dpkg -s "$package"; done

输出如下:

admin@ub1:~$ for package in ca-certificates libc6 libgcc-s1 libicu74 liblttng-ust1 libssl3 libstdc++6 libunwind8 zlib1g; do dpkg -s "$package"; done
Package: ca-certificates
Status: install ok installed
Priority: standard
Section: misc
Installed-Size: 386
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: all
Multi-Arch: foreign
Version: 20240203
Depends: openssl (>= 1.1.1), debconf (>= 0.5) | debconf-2.0
Breaks: ca-certificates-java (<< 20121112+nmu1)
Enhances: openssl
Description: Common CA certificatesContains the certificate authorities shipped with Mozilla's browser to allowSSL-based applications to check for the authenticity of SSL connections..Please note that Debian can neither confirm nor deny whether thecertificate authorities whose certificates are included in this packagehave in any way been audited for trustworthiness or RFC 3647 compliance.Full responsibility to assess them belongs to the local systemadministrator.
Original-Maintainer: Julien Cristau <jcristau@debian.org>
Package: libc6
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 13431
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: amd64
Multi-Arch: same
Source: glibc
Version: 2.39-0ubuntu8.3
Replaces: libc6-amd64
Depends: libgcc-s1
Recommends: libidn2-0 (>= 2.0.5~)
Suggests: glibc-doc, debconf | debconf-2.0, locales, libnss-nis, libnss-nisplus
Breaks: chrony (<< 4.2-3~), cyrus-imapd (<< 3.6.1-2ubuntu1), fakechroot (<< 2.19-3.5), firefox (<< 91~), firefox-esr (<< 91~), gnumach-image-1.8-486 (<< 2:1.8+git20210923~), gnumach-image-1.8-486-dbg (<< 2:1.8+git20210923~), gnumach-image-1.8-xen-486 (<< 2:1.8+git20210923~), gnumach-image-1.8-xen-486-dbg (<< 2:1.8+git20210923~), hurd (<< 1:0.9.git20220301-2), locales (<< 2.39), locales-all (<< 2.39), nscd (<< 2.39), python3-iptables (<< 1.0.0-2), scipy (<< 1.10.1-10build1), tinydns (<< 1:1.05-14), valgrind (<< 1:3.19.0-1~)
Conffiles:/etc/ld.so.conf.d/x86_64-linux-gnu.conf d4e7a7b88a71b5ffd9e2644e71a0cfab
Description: GNU C Library: Shared librariesContains the standard libraries that are used by nearly all programs onthe system. This package includes shared versions of the standard C libraryand the standard math library, as well as many others.
Homepage: https://www.gnu.org/software/libc/libc.html
Original-Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org>
Original-Vcs-Browser: https://salsa.debian.org/glibc-team/glibc
Original-Vcs-Git: https://salsa.debian.org/glibc-team/glibc.git
Package: libgcc-s1
Protected: yes
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 197
Maintainer: Ubuntu Core developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: amd64
Multi-Arch: same
Source: gcc-14
Version: 14.2.0-4ubuntu2~24.04
Replaces: libgcc1 (<< 1:10)
Provides: libgcc1 (= 1:14.2.0-4ubuntu2~24.04)
Depends: gcc-14-base (= 14.2.0-4ubuntu2~24.04), libc6 (>= 2.35)
Description: GCC support libraryShared version of the support library, a library of internal subroutinesthat GCC uses to overcome shortcomings of particular machines, orspecial needs for some languages.
Homepage: http://gcc.gnu.org/
Important: yes
Original-Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org>
Package: libicu74
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 35919
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: amd64
Multi-Arch: same
Source: icu
Version: 74.2-1ubuntu3.1
Replaces: libiculx63 (<< 63.1-5)
Depends: libc6 (>= 2.38), libgcc-s1 (>= 3.3.1), libstdc++6 (>= 13.1)
Breaks: libiculx63 (<< 63.1-5), openttd (<< 1.8.0-2~)
Description: International Components for UnicodeICU is a C++ and C library that provides robust and full-featuredUnicode and locale support.  This package contains the runtimelibraries for ICU.
Homepage: https://icu.unicode.org/
Original-Maintainer: Laszlo Boszormenyi (GCS) <gcs@debian.org>
dpkg-query: package 'liblttng-ust1' is not installed and no information is available
Use dpkg --info (= dpkg-deb --info) to examine archive files.
dpkg-query: package 'libssl3' is not installed and no information is available
Use dpkg --info (= dpkg-deb --info) to examine archive files.
Package: libstdc++6
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 3110
Maintainer: Ubuntu Core developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: amd64
Multi-Arch: same
Source: gcc-14
Version: 14.2.0-4ubuntu2~24.04
Replaces: libstdc++6-14-dbg (<< 4.9.0-3)
Depends: gcc-14-base (= 14.2.0-4ubuntu2~24.04), libc6 (>= 2.38), libgcc-s1 (>= 4.3)
Breaks: gcc-4.3 (<< 4.3.6-1), gcc-4.4 (<< 4.4.6-4), gcc-4.5 (<< 4.5.3-2)
Conflicts: scim (<< 1.4.2-1)
Description: GNU Standard C++ Library v3This package contains an additional runtime library for C++ programsbuilt with the GNU compiler..libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, whichwas included up to g++-2.95. The first version of libstdc++-v3 appearedin g++-3.0.
Homepage: http://gcc.gnu.org/
Original-Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org>
Package: libunwind8
Status: install ok installed
Priority: optional
Section: libs
Installed-Size: 187
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: amd64
Multi-Arch: same
Source: libunwind
Version: 1.6.2-3build1.1
Replaces: libgcc1 (<< 1:4.0.0-2)
Depends: libc6 (>= 2.34), liblzma5 (>= 5.1.1alpha+20110809)
Conflicts: libunwind1-dev
Description: library to determine the call-chain of a program - runtimeThe primary goal of this project is to define a portable and efficient Cprogramming interface (API) to determine the call-chain of a program.The API additionally provides the means to manipulate the preserved(callee-saved) state of each call-frame and to resume execution at anypoint in the call-chain (non-local goto). The API supports both local(same-process) and remote (across-process) operation. As such, the APIis useful in a number of applications..This package includes the shared libraries
Homepage: http://www.nongnu.org/libunwind
Original-Maintainer: Adrian Bunk <bunk@debian.org>
Package: zlib1g
Status: install ok installed
Priority: required
Section: libs
Installed-Size: 163
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: amd64
Multi-Arch: same
Source: zlib
Version: 1:1.3.dfsg-3.1ubuntu2.1
Provides: libz1
Depends: libc6 (>= 2.14)
Breaks: libxml2 (<< 2.7.6.dfsg-2), texlive-binaries (<< 2023.20230311.66589-8)
Conflicts: zlib1 (<= 1:1.0.4-7)
Description: compression library - runtimezlib is a library implementing the deflate compression method foundin gzip and PKZIP.  This package includes the shared library.
Homepage: http://zlib.net/
Original-Maintainer: Mark Brown <broonie@debian.org>

总结,

我在文章里,介绍 Ubuntu 怎样版本升级。觉得内容简单,参考微软文档,演示安装 .NET 的过程。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com