如何从Debian9升级到Debian10?详细步骤与注意事项

从 Debian 9 (Stretch) 升级到 Debian 10 (Buster) 的详细指南

Debian 10 (Buster) 带来了许多改进和新功能,包括更新的软件包、增强的安全性以及对新硬件的支持。从 Debian 9 升级到 Debian 10 是一个相对简单的过程,但需要仔细遵循步骤并注意一些重要的事项,以确保平稳过渡。本文将详细介绍整个升级过程,帮助您安全地将系统升级到 Debian 10。

一、升级前的准备工作

在开始升级之前,务必做好充分的准备工作,以避免数据丢失或系统故障。

  1. 备份重要数据:这是升级过程中最重要的一步。使用您喜欢的备份工具(例如 rsynctar 或专用的备份软件)将所有重要数据备份到外部存储设备或云存储。这包括用户文件、配置文件、数据库、网站数据等。不要假设升级过程一定会成功,务必做好数据丢失的最坏打算。

  2. 更新当前系统:在升级到 Debian 10 之前,确保您的 Debian 9 系统已更新到最新状态。打开终端并运行以下命令:

    bash
    sudo apt update
    sudo apt upgrade
    sudo apt full-upgrade
    sudo apt --purge autoremove

    • sudo apt update: 更新软件包列表。
    • sudo apt upgrade: 安装已安装软件包的可用更新。
    • sudo apt full-upgrade: 执行更全面的升级,可能会删除一些不再需要的软件包或安装新的依赖包。
    • sudo apt --purge autoremove: 自动删除不再需要的软件包及其配置文件。

    在执行这些命令后,建议重启系统以确保所有更改都已生效:

    bash
    sudo reboot

  3. 检查系统状态:重启后,确认系统正常运行,并且所有服务都已启动。您可以使用以下命令检查系统状态:

    bash
    systemctl --failed

    该命令将列出任何失败的服务。您应该在升级之前解决任何失败的服务问题。

  4. 检查磁盘空间:确保您的根分区 (/) 有足够的可用空间来执行升级。您可以使用 df -h 命令检查磁盘空间使用情况。建议至少有几 GB 的可用空间。

  5. 禁用或删除第三方软件源:第三方软件源可能会与 Debian 10 的软件包发生冲突,导致升级失败或系统不稳定。建议在升级之前禁用或删除所有第三方软件源。您可以编辑 /etc/apt/sources.list 文件及其在 /etc/apt/sources.list.d/ 目录下的文件,注释掉所有非 Debian 官方的软件源。

  6. 了解已知问题:在升级之前,建议阅读 Debian 10 的发行说明 (Release Notes),了解任何可能影响您的升级的已知问题。发行说明通常可以在 Debian 官方网站上找到。

二、修改软件源

升级的核心步骤是将软件源从 Debian 9 (Stretch) 更新为 Debian 10 (Buster)。

  1. 编辑 sources.list 文件:使用文本编辑器(例如 nano 或 vim)以 root 权限打开 /etc/apt/sources.list 文件:

    bash
    sudo nano /etc/apt/sources.list

  2. 替换软件源:将文件中的所有 stretch 字样替换为 buster。您可以使用编辑器的查找和替换功能来快速完成此操作。例如,在 nano 编辑器中,可以使用 Ctrl + \ 进行查找和替换。

    以下是一个典型的 sources.list 文件示例,展示了如何将 stretch 替换为 buster

    修改前 (Debian 9 Stretch):

    ```
    deb http://deb.debian.org/debian stretch main contrib non-free
    deb-src http://deb.debian.org/debian stretch main contrib non-free

    deb http://security.debian.org/debian-security stretch/updates main contrib non-free
    deb-src http://security.debian.org/debian-security stretch/updates main contrib non-free

    deb http://deb.debian.org/debian stretch-updates main contrib non-free
    deb-src http://deb.debian.org/debian stretch-updates main contrib non-free
    ```

    修改后 (Debian 10 Buster):

    ```
    deb http://deb.debian.org/debian buster main contrib non-free
    deb-src http://deb.debian.org/debian buster main contrib non-free

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

    deb http://deb.debian.org/debian buster-updates main contrib non-free
    deb-src http://deb.debian.org/debian buster-updates main contrib non-free
    ```

  3. 保存并退出:在 nano 编辑器中,按 Ctrl + X,然后按 Y 确认保存,最后按 Enter 退出。

三、执行系统升级

完成软件源的修改后,就可以开始执行系统升级了。

  1. 更新软件包列表:运行以下命令更新本地软件包列表,使其与新的软件源同步:

    bash
    sudo apt update

  2. 执行最小系统升级:这一步升级最基本的系统组件,为后续的完整升级做准备:

    bash
    sudo apt upgrade --without-new-pkgs

    --without-new-pkgs 选项确保此步骤不会安装新的软件包,这有助于避免潜在的依赖性问题。仔细阅读此命令的输出,并按照提示进行操作。在升级过程中,您可能会被提示确认或修改某些配置。

  3. 执行完整系统升级:这一步将升级所有已安装的软件包到 Debian 10 的版本,并安装新的软件包以满足依赖关系:

    bash
    sudo apt full-upgrade

    仔细阅读此命令的输出,并按照提示进行操作。升级过程可能需要一些时间,具体取决于您的系统配置和网络速度。

    在升级过程中,您可能会遇到以下情况:

    • 配置文件的处理:系统会询问您如何处理已修改的配置文件。您可以选择保留现有版本、安装软件包维护者提供的版本或手动比较差异。建议选择保留现有版本,除非您确定需要使用新的配置文件。
    • 服务的重启:系统可能会提示您重启某些服务。通常情况下,您可以选择自动重启这些服务。
    • 过时的软件包apt full-upgrade 可能会识别出一些过时的软件包,这些软件包在 Debian 10 中不再可用或已被替换。您需要选择是否删除这些软件包。
  4. 清理不再需要的软件包:升级完成后,可以使用以下命令删除不再需要的软件包及其配置文件:

    bash
    sudo apt --purge autoremove

四、重启系统

升级完成后,需要重启系统以应用所有更改:

bash
sudo reboot

五、升级后的检查和配置

系统重启后,您应该进行一些检查和配置,以确保系统正常运行并符合您的需求。

  1. 验证 Debian 版本:使用以下命令验证系统是否已成功升级到 Debian 10:

    bash
    lsb_release -a

    输出应该显示 Distributor ID: DebianRelease: 10

  2. 检查系统状态:再次使用 systemctl --failed 命令检查是否有任何失败的服务。

  3. 检查已安装的软件包:使用 dpkg -l 命令查看已安装的软件包列表,确保所有必需的软件包都已正确安装。

  4. 重新启用第三方软件源(如果需要):如果您在升级之前禁用了第三方软件源,现在可以根据需要重新启用它们。请确保这些软件源与 Debian 10 兼容。

  5. 重新配置服务:某些服务可能需要在升级后重新配置。例如,Web 服务器、数据库服务器等。

  6. 测试应用程序:测试所有重要的应用程序,确保它们在 Debian 10 上正常运行。

六、常见问题及解决方法

  • 升级过程中断:如果升级过程中断,例如由于网络连接问题,您可以尝试重新运行 sudo apt full-upgrade 命令来继续升级。如果问题仍然存在,您可能需要使用 sudo dpkg --configure -a 命令来修复损坏的软件包。
  • 依赖性问题:如果在升级过程中遇到依赖性问题,您可以尝试使用 sudo apt -f install 命令来修复依赖关系。
  • 软件包冲突:如果在升级过程中遇到软件包冲突,您可能需要手动解决这些冲突。这通常涉及到删除或降级某些软件包。
  • 内核升级问题: 升级过程结束后,如果启动时遇到内核问题,你可能需要手动选择旧的内核启动,然后重新安装新内核或者检查/boot目录下的文件是否完整。

七、总结

从 Debian 9 升级到 Debian 10 是一个需要谨慎操作的过程。通过遵循本文中详细介绍的步骤,并做好充分的准备工作,您可以最大程度地降低升级风险,并确保系统平稳过渡到 Debian 10。请记住,在升级过程中始终保持耐心,仔细阅读提示信息,并根据实际情况做出选择。如果在升级过程中遇到任何问题,请参考 Debian 官方文档或寻求社区的帮助。

希望这篇文章能够帮助您顺利完成 Debian 9 到 Debian 10 的升级!如果您有任何疑问,请随时提出。

THE END