我可以将 WSL 中现有的 Ubuntu 安装从 16.04 升级到 18.04 吗?

我可以将 WSL 中现有的 Ubuntu 安装从 16.04 升级到 18.04 吗?

我目前正在 WSL(Windows 10 v1709 或更高版本)中运行 Ubuntu 16.04,使用进行安装lxrun

我可以将其升级到 18.04 吗?

如果会,如何实现?如果不是,何时实现?

答案1

我刚刚从 16.04 强制升级,并且成功了,尽管过程并不顺利。

sudo do-release-upgrade -d

首先进行升级。正如人们在评论中所报告的那样,这可能是您在 18.04 之前需要做的所有事情。在少数情况下,比如我的情况,它会在显示为“失败”的情况下完成大部分操作。

如果显示“失败”,请打开/etc/apt/sources.list并将所有“xenial”替换为“bionic”,然后sudo apt update && sudo apt -y upgrade。大多数人此时应该已经完成​​了所有事情。

在某些情况下(但不是全部),APT 和 Debian Packager 可能会在此过程中失败。根据此 GitHub 主题,您需要删除 grub 和内核(如果存在):

sudo apt -f purge grub-pc
sudo apt -f purge linux-image*

重复最后一条命令几次,因为删除每个软件包后 dpkg 都会失败。删除所有这些 Linux 映像后,您将在 WSL 中获得一个完全正常运行的 Bionic Beaver。

阅读更多:Ubuntu 应用程序版本升级指南 – 面向开发人员的 Windows 命令行工具

答案2

是的你可以!

现在 Windows Store 中有几个 Ubuntu 的选择。

来自 Windows Store 的屏幕截图,展示了可用的 Ubuntu 种类。

  • 仅“Ubuntu”:这将始终是最新稳定的 LTS 版本。
  • Ubuntu 22.04 LTS:适合想要 22.04 版本的开发人员。
  • Ubuntu 20.04.4 LTS:适合专门想要 20.04 版本的开发人员。
  • Ubuntu 18.04.5 LTS:适合想要 18.04 版本的开发人员。

如果你安装了清楚的20.04 或 22.04 之前的“Ubuntu”应用程序(无版本号)在 Windows Store 上可用,您可以使用以下命令集进行升级:

sudo apt update -y         # makes apt system itself up-to-date 
sudo apt dist-upgrade -y   # updates current Ubuntu packages to latest

sudo do-release-upgrade    # perform an upgrade to Ubuntu 22.04

遵循所有提示并留意所有警告。它们通常是由于您自己添加的自定义和第三方库或存储库造成的。

官方来源: https://devblogs.microsoft.com/commandline/upgrading-ubuntu/

答案3

现在windows商店里有官方的Ubuntu18.04,还有Ubuntu16.04。

虽然我还没有找到任何官方信息来了解这两者与 Ubuntu 有什么区别。

是的,目前 Windows 商店中有三种不同的 Ubuntu。

答案4

免责声明:以下步骤需要在 WSL 中预先安装 GNU/Linux 发行版(例如 OP 已安装 Ubuntu 16.04)。提供的链接将来可能无效。如有任何问题,请在下面发表评论。它需要对 GNU/Linux 命令行工具(例如 等)有一点了解。tarUnsquashFS执行此过程之前,请先安装这些工具。

  • 安装程序可执行文件:你需要一个可执行导入WslRegisterDistribution函数安装发行版。有两种方法。您可以从源代码编译自己的安装程序(链接1)或从 Microsoft 提供的 Appx 包中提取安装程序(链接2)。

  • 获取 Ubuntu 18.04:下载Ubuntu 18.04 SquashFS文件。现在在 WSL 中运行旧版 Ubuntu那个下载文件夹并以root用户身份登录。运行以下命令(仅限 root 用户):

cp ./ubuntu-18.04-server-cloudimg-amd64.squashfs ~ 
cd ~ 
unsquashfs -d temp ubuntu-18.04-server-cloudimg-amd64.squashfs 
cd temp 
tar -czf ../Ubuntu.tar.gz --hard-dereference * 
cd .. 
mv Ubuntu.tar.gz /mnt/c 

cp命令将 SquashFS 文件复制到主目录中(必需)。UnsquashFS提取temp文件夹中的文件并tar以某种格式压缩所有文件.tar.gz。然后mv命令将该文件移动到先前的下载文件夹中。您可以temp使用命令删除该文件夹rm -rf ~/temp

  • 安装:将可执行文件和 tar.gz 文件放在同一文件夹您要安装的位置。您必须运行命令(链接1)或双击可执行文件(链接2) 进行安装。根据您的机器,安装需要 15-30 秒。

相关内容