VPS Debian 10 升级 Debian 11 的一点经验分享(写于:20211214)

开头先提醒下各位,这篇文章主要是给我自己写了看的,由于在正常使用 VPS 的过程中很多人都会安装一些第三方库软件或者手动编译过一些程序,我没办法把这些都一一照顾到,所以本文不是一个很全面的系统升级教程文,中间只会说些通用的升级步骤,涉及到第三方软件的,就得自己摸索了。

一、升级前的注意事项

为了保证能顺利的从 10 升级到 11,也为了保证数据安全,建议在开始升级之前先做好下面这几件事情:

  1. 备份好网站,如果 VPS 能快照的话最好在升级之前先做好快照
  2. Debian 11 不支持跨大版本升级,所以如果你的系统不是 Debian 10 而是 Debian 9 或者更低的,需要先一步一步升级到 Debian 10 才能在之后升级 Debian 11
  3. 确保现有的 Debian 10 在大版本保持不变的情况下为最新的小版本发行版
  4. 如果有添加第三方源,或者手动编译的程序,先确保他们支持 Debian 11,并记录好这类程序,以便升级完成之后没忘记重新编译
  5. 确保网络稳定,不要升级中途和 VPS 断开连接(如果怕自己网络不稳定断开的,可以使用 Screen 来进行升级操作)
  6. 确保 VPS 有充足的存储空间进行升级,如果空间吃紧可以先清理不用的软件包或文件
  7. 后面的所有操作/命令,除非特别注明,皆为在 SSH 连接 VPS 之后在终端上敲入命令进行操作

二、正式升级

2.1 现有系统版本的检查与更新

在前面的注意事项第 2 点和第 3 点有说到,最好是保证现有系统为 Debian 10 的最新版本,所以我们需要先检查一下现有的系统版本信息,使用下面的命令即可查看现有系统版本:

cat /etc/debian_version

如果检查之后发现不是最新版的 Debian 10,可以使用下面的命令更新下源,再更新系统到最新的 Debian 10:

apt update
apt dist-upgrade

注意,如果 apt dist-upgrade 涉及到更新内核等操作,保险起见更新完之后先重启下 VPS,等确保新内核开始工作之后再进行后续的升级操作。

2.2 修改 APT source-list 文件

原来的源文件内使用的都是 Debian 10 buster 的源,为了升级到 Debian 11,我们需要把源文件内的链接修改一下,具体要修改的文件位置是/etc/apt/sources.list 以及 /etc/apt/sources.list.d/ 下的文件,这两个地方是官方说的,不过我自己的系统只用修改/etc/apt/sources.list 这个文件里的内容就行。另外注意这一步不管你是通过 FTP/SFTP/SSH 操作都可以,看你自己怎么熟悉就怎么来,我这里就只说具体怎么修改了。

当你还是 Debian 10 的时候,你的源文件大概是这么写的:

deb http://deb.debian.org/debian/ buster main
deb-src http://deb.debian.org/debian/ buster main

deb http://security.debian.org/debian-security buster/updates main
deb-src http://security.debian.org/debian-security buster/updates main

deb http://deb.debian.org/debian/ buster-updates main
deb-src http://deb.debian.org/debian/ buster-updates main

当你要升级到 Debian 11 的时候,你要把这几个替换成下面这些:

deb http://deb.debian.org/debian/ bullseye main
deb-src http://deb.debian.org/debian/ bullseye main

deb http://security.debian.org/debian-security bullseye-security main
deb-src http://security.debian.org/debian-security bullseye-security main

deb http://deb.debian.org/debian/ bullseye-updates main
deb-src http://deb.debian.org/debian/ bullseye-updates main

修改的时候注意一下,如果你使用了第三方源的话,可能你的 sources.list 里会不止我上面说的那些,这个时候务必要先去看看第三方源的说明,看看是不是也需要根据 Debian 11 来修改源链接。

修改完源文件之后,下一步我们就可以开始着手进行新系统的升级了,不过在此之前最好先检查下 VPS 的空间够不够。

2.3 VPS 存储空间的检查与清理

这个其实我自己是用不着的,因为我的 VPS 空间不怎么吃紧,不过对于那些硬盘不太够用的朋友,最还还是在升级之前先检查一下,保证没问题了再升级。

首先是修改完 sources.list 文件后更新下源:

apt update

之后,可以使用下面的命令先检查下自己的 VPS 硬盘空间够不够用(PS:这命令是官方教的,咱自己没试过就是了):

apt -o APT::Get::Trivial-Only=true full-upgrade

如果显示空间不足以升级的话,可以先用下面的命令先简单的清理下软件包:

apt clean
apt autoremove

apt clean:清理软件包缓存,主要是删除那些以前下载过的软件包

apt autoremove:删除不再需要的软件包

清理完成之后,再运行上面的命令看看空间够不够,如果这么清理还是不够,可以再把/var/log/下的一些日志文件删了。

2.4 最小系统升级

根据 Debian官方所说:

在某些情况下,直接完整升级(如下所述)可能会删除大量您希望保留的软件包。因此,我们建议采用两部分升级过程:首先进行最小的升级以解决这些冲突,然后进行完整升级。

引用自:第 4 章 从 Debian 10(buster)升级

所以,我们为了保险期间最好也是先进行最小系统升级,完成之后再进行完整升级的操作。

最小系统升级的命令如下:

apt update
apt upgrade --without-new-pkgs

在最小系统升级期间,可能会涉及到一些系统提示需要你操作确认,由于我这个是事后写的文章,所以没有相关的截图,只给大家简单的说一下,大家记得就好:

  1. 有一些只是简单的提示性语句,升级中间终端会停止记录,然后最后一行会显示 : 这个符号让你输入命令,你只需要按 q 之后就会继续自动升级了
  2. 在升级过程中,可能会告诉你有些包需要重启服务才能生效,问你是否在不需要你确认的情况下重启(Restart services during package upgrades without asking?),一般选择 yes 就行了

2.5 完整升级

当前面的最小升级完整之后,就可以开始完整升级了,输入下面的命令就可以开始:

apt full-upgrade

完整升级的过程中也会涉及到一些设置提醒,这个我也是没有截图,就只给大家简单的总结几点吧:

  1. 和上面第一点一样:有一些只是简单的提示性语句,升级中间终端会停止记录,然后最后一行会显示 : 这个符号让你输入命令,你只需要按 q 之后就会继续自动升级了
  2. 升级过程中,有一些配置文件之类的会问你是用全新的还是保持现有的配置文件内容不变(让你输入 Y/I/N/O/D/Z 来确认进行什么操作),一般我们肯定是不希望自己修改的配置被覆盖成默认的,所以输入 N 或者 O 保持本地配置不变就行了
  3. 升级中间可能还会涉及到让你选择系统语言还有语言风格之类的(好像是?咱忘了),总之记得选择 UTF-8 的
  4. 如果提示你 SSH 配置文件是保留本地的还是什么的,一般选择保留本地的(Keep the local version currently installed)

总之涉及到配置文件的,由于一般和默认的不同都是因为我们自己有修改过配置,肯定是不乐意再被系统恢复成默认的,所以都选择保持本地的版本。

升级完成之后,强迫症如我会选择重启一下系统,以保证新系统的所有更新更改都有正常生效:

reboot

重启完成之后,你就可以再用最开始的命令检查下是不是升级到 Debian 11 来了。

cat /etc/debian_version

2.6 关于第三方源和自行编译程序的补充说明

前面咱们已经从 Debian 10 升级到 Debian 11 了,下面再来说下第三方源和自行编译程序的问题,因为如果这两点我们没注意去适配新系统的话,可能会导致程序无法使用,进而影响你的网站正常访问。

首先是涉及到第三方源的,在上面修改源文件那步我也说过记得看下是不是也需要更新源链接,如果更新了那么在升级系统的时候第三方源的软件包应该也是会安装适配了 Debian 11 的版本,不需要再过多的操作,如果没有的话,根据实际情况的需要可能还得再安装一下。

其次就是自行编译的程序,因为当初是在 Debian 10 的系统环境下进行的编译操作,现在换 Debian 11 之后原有的编译环境已经发生了变化,会让这些程序无法正常的运行,这个时候我们就需要对这类程序重新编译一下了,现在你们知道我在文章开头为什么会让你们记录下哪些程序是手动编译的了吧?

PS:上面那条举个例子,比如你是自己编译安装的 Nginx 或者 PHP,那么你就得再升级系统完成之后再重新编译一下。当然你要是直接 apt install nginx 这种直接从官方源安装的,就不用再这么操作了。

结束

好的就说这么多了,其实这篇文章也没什么特别的内容,毕竟大部分都是按照官网给的教程来进行操作,我无非就是补充了点自己的经验和解答 233333

最好我贴一下官网 Debian 10 升级 Debian 11 的中文说明吧,嫌我写的不够详细不够好的,可以直接看官网的:https://www.debian.org/releases/bullseye/amd64/release-notes/ch-upgrading.zh-cn.html

PS:文章特色图片出自中文维基百科 Debian 中的配图,图片详情页链接:https://commons.wikimedia.org/wiki/File:Debian_11_(Bullseye)_-_GNOME_desktop.png

文章标题:VPS Debian 10 升级 Debian 11 的一点经验分享(写于:20211214)
本文作者:希卡米
链接:https://hikami.moe/notebook/3966.html

如非文内特别说明,博客内作品均默认采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
知识共享许可协议
暂无评论

发送评论 编辑评论

|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇