Skip to content

Commit 3bd5919

Browse files
authored
Documentation: Raspberry Pi recommends apt full-upgrade instead of apt upgrade because it allows packages to be removed during upgrades
1 parent 017ba5c commit 3bd5919

1 file changed

Lines changed: 5 additions & 5 deletions

File tree

Readme.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,7 @@ Then, once you know which package you want, you can install it with `apt install
126126
#### Latest version
127127
This will install the latest .NET version, regardless of whether it is an LTS or STS release. It will upgrade to greater major and minor versions, including new STS versions. It will never install previews or release candidates.
128128

129-
For example, if you `apt install dotnet-runtime-latest` in March 2024, it will install .NET Runtime 8. Later, if you run `apt upgrade` in December 2024, .NET 9 will have been released, so it will install .NET Runtime 9.
129+
For example, if you `apt install dotnet-runtime-latest` in March 2024, it will install .NET Runtime 8. Later, if you run `apt full-upgrade` in December 2024, .NET 9 will have been released, so it will install .NET Runtime 9.
130130

131131
|Installation|Package name|Purpose|Also auto-installs|
132132
|-|-|-|-|
@@ -137,7 +137,7 @@ For example, if you `apt install dotnet-runtime-latest` in March 2024, it will i
137137
#### Latest LTS version
138138
This will install the latest Long Term Support .NET version. It can upgrade to greater major and minor LTS versions. It will never install an STS, release candidate, or preview release.
139139

140-
For example, if you `apt install dotnet-runtime-latest-lts` in March 2024, it will install .NET Runtime 8. Later, if you run `apt upgrade` in December 2024, it will upgrade to the latest 8.0.* release, but will not install the newly released .NET 9, because 9 is an STS release instead of LTS. It will stay on .NET 8 until November 2025, when .NET 10 is released, which will be installed because it's an LTS version like 8.
140+
For example, if you `apt install dotnet-runtime-latest-lts` in March 2024, it will install .NET Runtime 8. Later, if you run `apt full-upgrade` in December 2024, it will upgrade to the latest 8.0.* release, but will not install the newly released .NET 9, because 9 is an STS release instead of LTS. It will stay on .NET 8 until November 2025, when .NET 10 is released, which will be installed because it's an LTS version like 8.
141141

142142
|Installation|Package name|Purpose|Also auto-installs|
143143
|-|-|-|-|
@@ -163,15 +163,15 @@ When a new .NET patch version is released, you can update the installed packages
163163

164164
```sh
165165
sudo apt-get update
166-
sudo apt-get upgrade
166+
sudo apt-get full-upgrade
167167
```
168168

169169
> [!IMPORTANT]
170170
> Be sure to restart any running .NET applications after installing a new version of the runtime they were using, or else they may mysteriously crash much later when a dynamically-loaded file cannot be found in an old, now-deleted versioned directory.
171171
172172
#### Major and minor versions
173173

174-
**Latest or Latest LTS installed:** If you want to update to a new major or minor version, you will need to have installed one of the [`latest[-lts]`](#latest-version) packages installed, such as `dotnet-runtime-latest` or `aspnetcore-runtime-latest-lts`, before you `apt-get update && apt-get upgrade`. You may clean up previous versions afterwards using `sudo apt autoremove`, or at installation time using `sudo apt upgrade --autoremove`.
174+
**Latest or Latest LTS installed:** If you want to update to a new major or minor version, you will need to have installed one of the [`latest[-lts]`](#latest-version) packages installed, such as `dotnet-runtime-latest` or `aspnetcore-runtime-latest-lts`, before you `apt-get update && apt-get full-upgrade`. You may clean up previous versions afterwards using `sudo apt autoremove`, or at installation time using `sudo apt full-upgrade --autoremove`.
175175

176176
**Specific minor version installed:** If you aren't using a `latest[-lts]` package, you can manually choose a new minor version to install using a command like `sudo apt install dotnet-runtime-8.0`. Afterwards, you may clean up previous versions using a command like `sudo apt remove dotnet-runtime-7.0`.
177177

@@ -264,7 +264,7 @@ Here are other ways to run .NET applications on a Raspberry Pi besides installin
264264
```
265265
✅ If you want to make your app smaller and start faster with [Native AOT compilation](https://learn.microsoft.com/en-us/dotnet/core/deploying/native-aot/), then this self-contained publishing is required, although you can also publish self-contained apps without Native AOT<br>
266266
❌ Installing multiple .NET JIT apps takes more time and storage space, and wears out your SD card faster<br>
267-
❌ Updating the runtime requires recompiling and reinstalling all .NET apps running on the system, instead of just running `apt upgrade` once<br>
267+
❌ Updating the runtime requires recompiling and reinstalling all .NET apps running on the system, instead of just running `apt full-upgrade` once<br>
268268
❌ Only useful for cross-compilation from another machine, and does not let you install the SDK on a Raspberry Pi, if you wanted it<br>
269269
❌ Native AOT has extremely limited reflection support and is incompatible with many libraries, especially for deserialization<br>
270270
❌ Native AOT compilation takes a longer time (self-contained JIT publishing is slow, and AOT compilation is even slower)<br>

0 commit comments

Comments
 (0)