我目前正在使用Windows10 Falls Creators Update。使用 Windows 应用商店 Ubuntu 应用程序安装 WSL,它显示当前的 Ubuntu 版本是 16.04。
- 它如何升级到 Ubuntu 17.04 或 18.04 ? 我们应该等待Microsoft发布吗?
- 如何在 WSL 中安装最新的 GCC/G++ 7.2和 CLANG/CLANG++ 5.0 编译器?或者我们如何在 WSL 中将当前编译器升级到最新版本?
首先,WSL 不附带 Linux 内核。 相反,它使用LXCORE.SYS
,这是Windows的一部分。
我对 Ubuntu 不是很熟悉,但 18.04 显然是仿生版本,它随 glibc 2.26 一起提供。 已知某些版本的 glibc 2.26 不适用于LXCORE.SYS
,因为所有程序在启动过程中都会崩溃。 我无法让核心转储在 WSL 上工作,所以我无法进一步调试它。 这意味着 Ubuntu 18.04 可能根本无法工作。 Ubuntu 17.04 使用 glibc 2.24,因此不受此特定问题的影响。
要对此进行试验(并访问更新的编译器版本(,您可以使用pbuilder
来创建 chroot 环境并安装 Debian sid 或 buster(例如(。
我在 Ubuntu 18.04 WSL 上使用 gcc,没有任何重大问题。
pedrinho@L-CGH-26502228:~$ cat /proc/version
Linux version 3.4.0-Microsoft (Microsoft@Microsoft.com) (gcc version 4.7 (GCC) ) #1 SMP PREEMPT Wed Dec 31 14:42:53 PST 2014
pedrinho@L-CGH-26502228:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.1 LTS
Release: 18.04
Codename: bionic
pedrinho@L-CGH-26502228:~$ gcc --version
gcc (Ubuntu 7.3.0-16ubuntu3) 7.3.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
您可以直接从Windows 10商店安装Ubuntu 18.04:https://www.microsoft.com/en-us/p/ubuntu-1804/9n9tngvndl3q?activetab=pivot%3aoverviewtab
Microsoft博客上还有一个指南:https://blogs.msdn.microsoft.com/commandline/2018/07/09/upgrading-ubuntu/