其实在云计算领域,微软很早之前就让其 Azure 支持多个流行的 Linux 发行版,但对于普通用户而言,真正的变化发生在后面的 Windows 10:微软宣布将会在 Windows 10 内置 Linux,而采用的技术上并非是所谓的「虚拟化」技术——也就是说,这个子系统的 Linux 完全是原生运行在 Windows 10 上的。
而微软给这个 Linux 系统命名为:Windows Subsystem for Linux,而对于像我这样的系统极客而言,这个名字实在太熟悉了,因为在 Windows 7 之前,微软也曾经内置过一个 UNIX 子系统,可以原生运行 UNIX 二进制程序,名字叫做:Windows Services for UNIX。
即便如此,对于很多普通用户而言,Windows Subsystem for Linux 也只是尝鲜的玩物罢了,但对于像我这样的生信科研者来说,经常会在Linux下处理一些小批量的数据,而安装虚拟机以及双系统切换起来又很麻烦 ,并且可以实现系统级别的文件交互操作,实在是太具有实用性和吸引力了。下面就一起来体验探索一番。
如何启动 Linux 子系统
微软从 Windows 10 周年更新(build 14393)开始内置 Windows Subsystem for Linux 组件框架,只不过这项功能当时还只能称作是 Beta 版,而在 Windows 10秋季创意者更新中,安装 Linux 子系统变的更为简单——可以直接通过 Microsoft Store 来下载子系统,而可选择的发行版也从最初的只有 Ubuntu 变成可以选择 Suse、Ubuntu、Debian、甚至是用来进行网络安全工作 Kail Linux。除此之外,还有WSL GuideLine应用帮助你快速入门Linux子系统。
只不过如果你想要体验这些发行版还需要进行一些简单操作,毕竟 Windows Subsystem for Linux 组件框架并非是默认选中的。
首先我们需要确认自己的 Windows 10 版本,以下的操作方法只适用与于Windows 10 秋季创意者更新(Windows 10 build 16299)以上版本,如果你是 Windows 10 周年更新,安装 Linux 子系统的安装办法你可以检索「 Bash on Windows」自行探索安装方法。此外,系统必须是 64 位操作系统。
以上均确认后,打开 「控制面板 - 程序和功能」,在左边的「启用和关闭 Windows 功能」里面勾选「适用于 Linux 的 Windows 子系统」,然后点击确定(这一步有可能需要重启)。
接着打开 Microsoft Store,搜索喜欢的 Linux 发行版,这里我选择的是我比较熟悉的 Linux 发行版 Ubuntu,然后点击安装。对于初学者来说,Ubuntu/ Debian 系的发行版具有非常完善的包管理系统,方便快速上手。
安装完毕之后,你就可以在 Windows 开始菜单中找到「Ubuntu」这个应用了!换言之,现在你的 Windows 10 中就已经成功安装发行版为 Ubuntu 的 Linux 子系统。
Ubuntu 子系统设置与基本命令
在开始菜单中打开 Ubuntu 后,Ubuntu 会进行较长时间的安装和初始化,之后会提示你设置 Linux 的用户名和密码,需要注意的是此处的用户名和密码和 Windows 并不通用。
设置密码是非明文的,不会像 Windows 那样使用「*** 」替代,所以你只要盲打点击确认即可,建议密码使用复杂密码,有些发行版会有强制要求。输入完成之后,系统会提示你如何提权操作,之后会自动以刚才新设置的用户名登录 Ubuntu。
更换 Linux 子系统的软件源并更新软件
因为默认的软件源是 Ubuntu 的官方源,下载速度较慢,因此可以选择替换为国内的软件源,比如说阿里云镜像的软件源。
在当前命令行下面输入:
sudo -i
提权后输入密码,使用 root 权限登录。
然后接下来备份当前源,输入以下命令:
cp /etc/apt/sources.list /etc/apt/sources.list.old
不难看出管理源的文件就是 sources.list,我们选择编辑它,编辑器我这里选用的是 vim,所以命令是:
vim /etc/apt/sources.list
使用 vim 后会进入命令模式,敲键盘上的 「i」键键入编辑模式,然后复制下面这段代码(拷贝代码,然后在编辑器上鼠标右击就可以复制):
# deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted
deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse
完成之后再敲键盘上的「esc」退出编辑模式,然后再输入:wq
点击保存并退出编辑器 vim。
紧接着我们更新软件源让编辑的文件生效:
apt-get update
这里我们就将 Ubuntu 的软件源切换到阿里云的源了。
之后再输入:
apt-get upgrade
对当前系统的软件和类库进行来更新。如果不出意外系统会自动对现有的软件包进行更新,经过这一系列的操作,目前 Ubuntu 的软件以及类库都是最新的,而系统版本也升级到 Ubuntu 16.04.4 LTS。
而对于是否“启用 SSH 并使用SSH 客户端登录 ”,我认为可能没有必要,因为尽管该子系统是默认安装到C盘的,但是其与其他盘符间实则是联系的,均挂载在 /mnt/ 目录下,如切换到D盘根目录,则命令为:
cd /mnt/d
好了,接下来的比如安装图形界面等就自己去探索吧!
参考: