红联Linux门户
Linux帮助

微软选择Ubuntu放到Windows 10的Linux子系统中,或许“错”了

发布时间:2017-01-16 10:31:02来源:linux.cn作者:Linux中国
虽然并非微软官方出品,不过你现在可以在 Windows 10 的  Linux 子系统(WSL)中使用 openSUSE Leap 或 SUSE Linux 企业版(SLES)了。
正如你所知道的,最新的 Windows 10 版本中含有一个完整的、基于 Ubuntu 的 Bash,开发者们可以在 Windows 桌面中直接运行 Linux 软件或命令。这被称为“Bash on Ubuntu on Windows”——一个啰嗦的名字——现在可以从 Windows 的开始菜单直接访问到了。
不过,SUSE 的资深产品经理 Hannes Kühnemund 却表示,以他自己的观点来看(https://www.suse.com/communities/blog/make-windows-green-part-1/),微软在选择 Linux 发行版时选“错”了——明显应该选 openSUSE 嘛。
“在 Windows 上原生地运行 Linux 二进制程序……这听起来真棒!然而,十分不幸是,微软在 WSL 里面选用了一个错误的 Linux(当然,这是我个人的看法),而现在是我们让它回到轨道上的时候了。” Hannes Kühnemund 说到,“为啥选 SUSE?因为 SUSE  从 1992 年开始就在做 Linux 发行版了。想找一个资格更老的 Linux 厂商(也可以叫发行版),对不起,你找不到,根本就木有!”
好吧,不管怎么说,如果你也对此感兴趣的话,他还写了篇文章教给你如何在 Windows 10 的 WSL 中安装 SUSE。
 
在 Windows 10 中安装 openSUSE Leap 42.2
如果你是 SUSE 粉,而你又想在 Windows 10 中使用你喜爱的 SUSE,但是又厌倦了使用虚拟机或配置双引导,那么就跟着  Kühnemund 先生一起来吧,他会教给你如何在 WSL 中安装最新的 openSUSE Leap 42.2。
首先,你需要按照微软的说明(https://msdn.microsoft.com/en-us/commandline/wsl/install_guide)启用 WSL,也可以参考我们之前的介绍(http://www.linuxdiyf.com/linux/22708.html)。确保在安装过程中创建了一个普通用户(带口令)。
这些步骤也同样适用于 SUSE Linux 企业版(SLES) 12 SP2,不过你需要下载另外一个文件。
运行如下命令下载 openSUSE Leap 42.2 的 docker 用户空间:
wget -O openSUSE-42.2.tar.xz https://github.com/openSUSE/docker-containers-build/blob/openSUSE-42.2/docker/openSUSE-42.2.tar.xz?raw=true
然后从开始菜单中打开 Linux bash shell,并执行如下命令来解压,然后退出 shell:
sudo mkdir rootfs
sudo tar -C rootfs -Jxf openSUSE-42.2.tar.xz
exit
如果在运行这些命令时出现一些警告,可以忽略。
完成之后,备份当前的“Bash on Ubuntu on Window” 安装:
cd %localappdata%\lxss\
rename rootfs rootfs.ubuntu
然后复制新的 openSUSE Leap 42.2 的根文件系统 rootfs:
move .\home\rootfs .\
最后,设置 root 为默认用户:
lxrun /setdefaultuser root
这样,下次你再访问 bash 时,你就用的是运行在 WSL 中的 openSUSE 或 SLES 啦。
当然,你还可以再做的完美些。用这个绿绿的 SUSE 图标(http://www.iconarchive.com/show/nuoveXT-icons-by-saki/Apps-suse-icon.html)替换 “Bash on Ubuntu on Window” 默认的橘红 Ubuntu 图标:
cd %localappdata%\lxss\
rename bash.ico Ubuntu.ico
rename Saki-NuoveXT-Apps-suse.ico bash.ico
微软选择Ubuntu放到Windows 10的Linux子系统中,或许“错”了
哦,除了图标,启动菜单中的名字 “Bash on Ubuntu on Window” 显然你也想换过来,进到 %AppData%\Microsoft\Windows\Start Menu\Programs,把默认项改成“Bash on SUSE on Windows” 或其它你想要的什么名字。
 
其它发行版呢?
如果你喜欢其它 Linux 发行版,比如 Arch Linux,那么你可以看看http://www.linuxdiyf.com/linux/25030.html文章。
还能支持别的 Linux 发行版吗?你别说,还真有人做出了一个工具(https://github.com/RoliSoft/WSL-Distribution-Switcher),可以在 WSL 中支持大多数的 Linux 发行版,并可以在这些发行版之间切换自如。
这个工具是由 RoliSoft 贡献到 GitHub 上的,名为 WSL-Distribution-Switcher(https://github.com/RoliSoft/WSL-Distribution-Switcher)。其思路类似于上面 openSUSE 的思路,都是采用容器作为 WSL 中的根文件系统。
你可以通过该工具中的 get-prebuilt.py 或 get-source.py 从 Docker Hub 上下载各个发行版的官方镜像或 tar 包,然后用 install.py 安装即可。最后,你还可以通过 switch.py 在你下载安装的 WSL 中进行切换。具体的操作,请参考其说明(https://github.com/RoliSoft/WSL-Distribution-Switcher)。
由于它使用的是 Docker Hub 官方镜像,因此,它可以支持大多数 Linux 发行版,比如:
debian(https://hub.docker.com/_/debian/)
ubuntu(https://hub.docker.com/_/ubuntu/)
fedora(https://hub.docker.com/_/fedora/)
centos(https://hub.docker.com/_/centos/)
opensuse(https://hub.docker.com/_/opensuse/)
mageia(https://hub.docker.com/_/mageia/)
oraclelinux(https://hub.docker.com/_/oraclelinux/)
alpine(https://hub.docker.com/_/alpine/)
crux(https://hub.docker.com/_/crux/)
clearlinux(https://hub.docker.com/_/clearlinux/)
怎么样,你有试过在 Windows 10 中的 WSL  里面运行 Linux 吗?
 
本文永久更新地址:http://www.linuxdiyf.com/linux/27858.html