title: WSL 搭建生信分析环境 date: 2023-08-15T20:49:31+08:00 tags:
在做生信分析的时候,很多情况下都会用到 Linux 环境,而大多数人的电脑都是 Windows 环境,目前 Windows 下使用 Linux 最主流的两种方法就是服务器和虚拟机,但服务器的价格比较高,并且在文件传输等方面不太方便;虚拟机对电脑的要求比较高,并且占用也很大、启动时间长且配置较为麻烦,现如今,在 Windows 上已经有 WSL 了,使用它做生信分析极大地提高了效率,避免了很多问题。
<!--more-->参考我的文章 Windows10 & 11 安装 WSL2
此处默认以 Debian 系为例,我使用的是 Debian11
直接参考各大开源软件镜像站的文档即可,推荐中科大的,一行命令即可换源
下载器
sudo apt-get install wget curl
Git
sudo apt-get install git
conda
参考文章 Linux 下安装 conda
oh-my-zsh
更加美观、便捷的终端,使用清华镜像安装(需要先安装 Git)
git clone https://mirrors.tuna.tsinghua.edu.cn/git/ohmyzsh.git
cd ohmyzsh/tools
REMOTE=https://mirrors.tuna.tsinghua.edu.cn/git/ohmyzsh.git sh install.sh
Nodejs
Debian 系发行版自带的 Nodjes 版本较低,使用 NodeSource 维护的 PPA 安装指定版本的 Nodejs(需要先安装 curl),修改版本号即可
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt-get update
sudo apt-get install nodejs
Neofetch
系统信息查看工具
sudo apt-get install neofetch
输入 neofetch 即可查看系统版本、CPU、内存等信息
其他
安装最新版的 Vscode,然后在 VScode 的插件商店搜索并安装名为 WSL 的插件
插件安装完成后在 WSL2 的终端中输入code .
,等待下载相关文件后 VScode 便会自动打开,后面直接打开 VScode 就会自动启动 WSL2
由于 Windows 自带的 openssh 版本较低,可能会导致 WSL 与 VScode 断开连接,所以我们使用最新版 Git 的 openssh
先使用 淘宝镜像 下载安装最新版的 Git
在 Windows 系统的开始菜单搜索编辑系统环境变量
,以此点击环境变量
——系统环境变量里的Path
——编辑
——新建
将 Git 路径下的usr\bin
添加进去,例如我的 Git 安装在默认路径,这里就写C:\Program Files\Git\usr\bin
然后点击上移,将刚刚添加的 Git 的路径移动到%SYSTEMROOT%\System32\OpenSSH\
之上,代表优先使用 Git 的 openssh
最后打开 powershell 或 cmd,输入下列命令关闭 WSL2,再次启动 WSL2 即可
wsl --shutdown
进入 wsl,输入下列命令建立 .wslconfig 文件
vi "$(wslpath "C:\Users\YourUsername\.wslconfig")"
把 yourUsername 换成自己的 Windows 用户名
然后输入下列内容
[wsl2]
memory=1GB
processors=1
swap=1GB
这些内容分别指定了 WSL2 实例的最大内存为 1GB、占用核心为 1 核心和交换分区为 1GB
保存后打开 power shell,输入 wsl --shutdown 关闭 wsl,再重新进入即可
默认情况下,VScode 中终端会在用户根目录下打开,即~目录,但~下有很多软件和系统的配置文件等,会影响我们的视野,我采用的方法是在根目录下建立一个work
目录,然后 cd 到该目录,再输入code .
打开 VScode,这样每次打开终端都会再work
目录下打开,将所需要的文件放进去,会方便很多
在终端中输入
explorer.exe .
就会在当前目录打开 Windows 的文件资源管理器,但很多文件无法在 Windows 下直接编辑,没有权限,建议还是使用 VScode 编辑文件
Windows 下的各个盘全部默认挂载在 WSL/
目录下的/mnt
目录中,例如 C 盘的路径为/mnt/c
,这样我们就可以直接在 WSL 中访问 Windows 下的文件,但需要注意的是,WSL 为 Linux 系统,与 Windows 系统的文件系统不同,例如 Linux 下的文件及文件夹名称大小写不同,不能包含空格,所以这里使用的时候需要注意
输入下列命令将克隆的文件与文件夹的所有者改为指定用户
sudo chown -R username ~/work/xxxx
导出 WSL
wsl --export <Distribution Name> <FileName>
导入 WSL
wsl --import <Distribution Name> <InstallLocation> <FileName>
将指定 tar 文件导入和导出为新的发行版 选项包括:
--vhd:指定导入/导出发行版应为 .vhdx 文件,而不是 tar 文件 --version:(仅导入)指定将发行版导入为 WSL 1 还是 WSL 2 发行版
wsl --unregister <DistributionName>