win10升级WSL2并安装miniconda3
Allbizia
2021年01月31日 18:34

19年开始学习Linux的时候,老师介绍到windows10有个Linux的子系统(WSL),可供新手练习。当时图新鲜,也安装了WSL,不过当时WSL的bug很多,没有完整的Linux内核,用起来很困难,后面也就放弃使用了。最近听说WSL升级到了WSL2,重新设计WSL的架构,拥有完整的Linux内核,几乎具备Linux的所有功能。我也试着升级WSL2。

win10中安装Linux分发版的教程我就不写了,网上有很多教程,安装Ubuntu18.04就行。

1.版本准备

升级WSL2的前提是win10版本至少是版本2004,内部版本为19041及以上,可以按win徽标+R,弹出“运行”窗口,键入winver,点击“确定”,查看系统版本

win徽标+R

win10版本信息

2.组件启用

安装【适用于 Linux 的 Windows 子系统】和【虚拟机平台】可选组件,这里可以使用“命令行/PowerShell安装”或“直接在控制面版中勾选”,这里我用第二种方法,进入控制面板->程序->启用或关闭Windows功能,勾选红框中这两个选项,如果之前安装过WSL应该会知道第一个红框已经勾选了。然后系统会提示重启,直接重启就行了。

勾选【适用于 Linux 的 Windows 子系统】和【虚拟机平台】

3.升级WSL2

组件准备好后,升级WSL2,按win徽标+R,键入cmd,输入命令

代码块
Python
自动换行
复制代码
wsl -l    #查看安装的子系统分发版
wsl --set-version Ubuntu-18.04 2   #将原本的WSL1升级到WSL2
复制成功

我执行第二条命令的时候,提示我WSL2需要更新其内核组件,通过提示,在官方文档

https://docs.microsoft.com/zh-cn/windows/wsl/install-win10

那里找到 wsl_update_x64.msi 组件

下载wsl_update_x64.msi组件

下载完直接安装后,重新执行上面的命令,等待执行完毕,输入命令

代码块
Python
自动换行
复制代码
wsl -l -v    #检查是否已经成功转换成WSL2
复制成功

version显示2,表示成功升级成WSL2

4.设置默认启动WSL2

接着上一步在命令行下键入

代码块
Python
自动换行
复制代码
wsl --set-default-version 2  #将WSL2设置为默认启动版本
复制成功

至此,WSL2升级完成。

在Windows的文件资源管理器中的路径输入:\\wsl$    右键点击“映射到网络驱动器”,可以在我的电脑显示一个250G的磁盘,打开是Ubuntu的系统文件(最好不要在这里执行有关文件的操作,以免出现未知的错误)

5.修改WSL2默认安装目录的位置

在文件资源管理器里面输入下面路径:

代码块
Python
自动换行
复制代码
C:\Users\改成用户名\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState
复制成功

会发现文件夹下有个ext4.vhdx的大文件,这是就安装的WSL,如何将其移动到其他盘,释放C盘的压力呢?

按 win徽标+R ,输入cmd,回车,键入

代码块
Python
自动换行
复制代码
#查看已安装的子系统版本
wsl -l -v   
#关闭wsl
wsl --shutdown   
#导出分发版为tar文件到G盘
wsl --export Ubuntu-18.04 g:\wsl-ubuntu-18.04.tar      
#注销当前分发版
wsl --unregister Ubuntu-18.04 
#重新导入并安装wsl在G盘
wsl --import Ubuntu-18.04 g:\wsl-ubuntu-18.04 g:\wsl-ubuntu-18.04.tar --version 2     
#设置默认登陆用户为安装时用户名
ubuntu1804 config --default-user USERNAME      
#删除tar文件
del g:\wsl-ubuntu-18.04.tar   
复制成功

到这里,我们就可以愉快地打开我们的WSL了,准备配置环境。

6.配置Ubuntu镜像源

WSL里面已经拥有了apt  ssh  git等功能,首先,我们修改Ubuntu默认的镜像源,修改成清华源。先备份/etc/apt/sources.list这个文件,修改这些默认文件的时候,首先备份是一个好习惯。

代码块
Python
自动换行
复制代码
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
复制成功

然后进入 /etc/apt/sources.list 这个文件

代码块
Python
自动换行
复制代码
cd /etc/apt
vi sources.list
复制成功

将默认的镜像源修改成清华源

代码块
Python
自动换行
复制代码
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
复制成功

修改完镜像源后保存退出,回到家目录下,输入

代码块
Python
自动换行
复制代码
sudo apt-get update  #更新软件包列表
sudo apt-get install openjdk-10-jdk   #安装Java10
java -version   #查看Java版本
复制成功

7.安装miniconda3

代码块
Python
自动换行
复制代码
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
复制成功

等待下载完成,

代码块
Python
自动换行
复制代码
sh Miniconda3-latest-Linux-x86_64.sh    #如果这一步报错,请将sh换成bash
复制成功

随后会显示miniconda的license,就一直按回车,直到出现yes/no,键入yes

最后一步会提示你是否初始化miniconda3,这一步就是是否将miniconda3写进环境变量。之前看过网上有说法,说把conda加入环境变量会污染到其他非conda安装的软件,但是我这个是全新的linux系统,没安装过软件,何来污染。所以直接yes,也省去后面手动加入的麻烦。

安装完成后,我们输入

代码块
Python
自动换行
复制代码
source ~/.bashrc    #重新激活环境变量
conda -h          #检查conda是否安装成功
复制成功

安装成功的话,键入命令的一行最前面会多出现(base)。

8.配置conda的镜像源

代码块
Python
自动换行
复制代码
cd ~
vi .condarc
复制成功

创建 .codarc文件(我记得应该得创建的)

进入 .condarc后

代码块
Python
自动换行
复制代码
channels:
 - bioconda
 - conda-forge
 - r
 - defaults
show_channel_urls: true                       
复制成功

 :wq 保存并退出

配置好镜像源,就可以安装我们需要的软件了,例如安装 fastqc 这个软件

代码块
Python
自动换行
复制代码
conda search fastqc     #搜素fastqc的版本
conda install fastqc    #默认安装最新版本的fastqc
conda update fastqc     #更新fastqc
conda remove fastqc     #删除fastqc
复制成功

如果要安装指定版本的软件,则在软件名后面加上版本号

代码块
Python
自动换行
复制代码
conda install fastqc=版本号
复制成功

大概就这样了,如果有什么错误或者需要改进的,欢迎评论。