WSL开发环境搭建(kali-linux篇)

安装kali-linux并简单配置

基于Debian的发行版,软件包丰富,且滚动更新,软件包较新,能够获得最新的编程语言特性。同时kali有Win-KeX会话,可以很方便的进入桌面环境而不需要借助第三方软件(如VcXsrv)

  1. 打开管理员终端,输入
1
2
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all
  1. 重启电脑

  2. 下载内核更新包

  3. 安装内核更新包后重启

  4. 打开管理员终端,输入

1
2
wsl --set-default-version 2
wsl --update
  1. 从微软应用商店安装kali-linux

  2. 从开始菜单打开kali-linux,输入全小写英文字母用户名,设置好密码

若发生错误,请检查系统设置保存新内容的地方为C盘

  1. 进入系统后,输入
1
2
touch ~/.zsh_history
chsh -s /usr/bin/zsh

之后关闭kali-linux,在Windows终端输入

1
wsl.exe --shutdown

之后再次打开kali-linux即可使用zsh

  1. 修改root密码

输入sudo su, 并输入刚刚设置的(管理员)密码, 进入root用户, 接着输入passwd修改root密码即可

  1. 换源

参考链接

1
2
sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak
sudo nano /etc/apt/sources.list

编辑 /etc/apt/sources.list 文件, 在文件最前面添加以下条目:

1
2
deb https://mirrors.ustc.edu.cn/kali kali-rolling main non-free non-free-firmware contrib
deb-src https://mirrors.ustc.edu.cn/kali kali-rolling main non-free non-free-firmware contrib

保存退出

  1. 更新系统
1
sudo apt update && sudo apt upgrade -y

WSL上的kali-linux为最小安装版本,没有预安装入狱所需的工具,如有需要,请参考启动kali后的提示信息

高级配置

此配置可能仅适用于Windows11

打开Windows终端,导航到Windows家目录,新建.wslconfig文件,输入以下内容:

1
2
3
4
5
6
7
8
[wsl2]
networkingMode=mirrored
autoProxy=true
dnsTunneling=true

[experimental]
autoMemoryReclaim=gradual
hostAddressLoopback=true

networkingMode=mirrored镜像网络模式,可以直接使用Windows本地代理
autoMemoryReclaim=gradual意思是检测空闲CPU使用率后,自动缓慢释放缓存的内存

运行GUI应用

Windows安装完显卡驱动程序后,此选项应该开箱即用。
可以先使用wsl.exe --update更新再启动
可以尝试安装以下软件

1
2
sudo apt install x11-apps gedit mesa-utils -y
# sudo apt install nautilus -y

出现错误可以参考微软文档

安装完成后,终端输入xcalcnautilus回车即可开启这些GUI应用

配置kali-linux Win-KeX会话

Win-KeX provides a GUI desktop experience for kali Linux in Windows Subsystem for Linux (WSL 2) with the following features:

  • Window mode: start a kali Linux desktop in a dedicated window
  • Seamless mode: share the Windows desktop between Windows and kali application and menus
  • Enhanced session mode: Similar to Hyper-V, uses RDP for a more feature rich experience
  • Sound support
  • Shared clipboard for cut and paste support between kali Linux and Windows
  • Root & unprivileged session support
  • Multi-session support: root window & non-privileged window & seamless sessions concurrently
  • Fully compatible with WSLg

打开kali终端,输入

1
2
sudo apt update && sudo apt upgrade -y
sudo apt install kali-win-kex -y

有三种模式运行窗口化界面:

  • Window Mode
    • Inside of kali WSL: kex --win -s
    • On Window’s command prompt: wsl -d kali-linux kex --win -s
  • Enhanced Session Mode
    • Inside of kali WSL: kex --esm --ip -s
    • On Window’s command prompt: wsl -d kali-linux kex --esm --ip -s
  • Seamless Mode
    • Inside of kali WSL: kex --sl -s
    • On Window’s command prompt: wsl -d kali-linux kex --sl -s

更多信息参阅开头参考链接

配置中文环境

输入下列命令安装字体

1
2
sudo apt install fontconfig fonts-noto-cjk fonts-wqy-microhei fonts-wqy-zenhei  -y
sudo apt install locales -y

接着打开字符集配置

1
sudo dpkg-reconfigure locales

空格选中es_US.UTF-8 UTF-8以及zh_CN.UTF-8 UTF-8

按下OK后选择默认字符集zh_CN.UTF-8 UTF-8

保存退出,重启wsl

输入sudo apt update可以查看效果

接下来可以把man手册页换成中文:

1
2
sudo apt install manpages-zh -y
sudo sed -i 's|/usr/share/man|/usr/share/man/zh_CN|g' /etc/manpath.config

输入man printf查看效果

安装编译环境,配置VScode

先安装以下软件包

1
2
sudo apt install build-essential vim ddd gdb fpc emacs gedit lazarus unzip -y
# sudo apt install python3 openjdk-21-jdk rustup golang -y

在Windows上安装vscode

重启电脑使Path环境变量生效

安装必要的插件,比如中文,clangd,Java,python,GitHub Copilot,Remote Development等等,按需安装

在kali的终端输入code .

打开vscode后,按需安装插件,主题等

更多信息参考OI-Wiki

Docker开发

WSL 2 上的 Docker 远程容器入门

Latex写作

首先在kali的终端输入

1
2
sudo apt update && sudo apt upgrade -y
sudo apt install texlive-full

然后在vscode里安装LaTeX Workshop插件即可

在WSL上配置深度学习框架

安装CUDA

这一步不适用于AMDGPU以及嵌套虚拟化的WSL
不能在WSL上安装Linux上的显卡驱动程序
更多信息,请查看开头参考链接

  1. 先删除旧GPG密钥
1
sudo apt-key del 7fa2af80
  1. 进入网站,检查以下配置是否正确target_os=Linux target_arch=x86_64 Distribution=WSL-Ubuntu target_version=2.0 target_type=deb_network

  2. 根据提示输入

1
2
3
4
wget https://developer.download.nvidia.com/compute/cuda/repos/wsl-ubuntu/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-6
  1. 安装完成后,终端输入nvidia-smi检查驱动程序和cuda版本

配置深度学习环境

更多信息请参考开头所示链接

  1. 安装miniconda

直接在终端输入

1
2
3
4
mkdir -p ~/miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm -rf ~/miniconda3/miniconda.sh
  1. 初始化终端
1
2
3
~/miniconda3/bin/conda init bash
~/miniconda3/bin/conda init zsh
# ~/miniconda3/bin/conda init fish
  1. 关闭终端重新打开,会看到base字样,代表处于base环境

  2. 创建一个新环境

1
conda create --name d2l python=3.9 -y
  1. 激活新环境
1
conda activate d2l
  1. 安装PyTorch的CPU或GPU版本
1
2
pip install torch==1.12.0
pip install torchvision==0.13.0
  1. 安装d2l包
1
pip install d2l==0.17.6
  1. 下载 D2L Notebook
1
2
3
4
mkdir d2l-zh && cd d2l-zh
curl https://zh-v2.d2l.ai/d2l-zh-2.0.0.zip -o d2l-zh.zip
unzip d2l-zh.zip && rm d2l-zh.zip
cd pytorch
  1. 最后可以通过jupyter notebook运行Jupyter笔记本,(需要在pytorch文件夹下)浏览器打开http://localhost:8888即可学习

  2. 在运行书籍代码、更新深度学习框架或d2l软件包之前,请始终执行conda activate d2l以激活运行时环境。 要退出环境,请运行conda deactivate

迁移WSL

打开Windows终端,输入下列命令:

1
2
3
4
5
6
7
8
wsl --shutdown
mkdir D:\wsl
mkdir D:\wsl\kali
wsl --export kali-linux D:\wsl\kali.tar # 导出kali
wsl --unregister kali-linux # 注销原来的发行版
wsl --import kali-linux D:\wsl\kali D:\wsl\kali.tar --version 2 # 导入kali
rm D:\wsl\kali.tar # 删除tar文件
wsl -d kali-linux # 进入kali

迁移后默认以root身份进入,接下来进入WSL编辑/etc/wsl.conf文件。假设yoimiya是之前的默认用户名:

1
2
3
4
5
[boot]
systemd=true

[user]
default=yoimiya

注意:上述配置可能仅适用于win11

开启systemd后,如果WSLg无法启动,请手动执行sudo rm -r /tmp/.X11-unix && ln -s /mnt/wslg/.X11-unix /tmp/.X11-unix命令

之后保存退出,重启kali即可


WSL开发环境搭建(kali-linux篇)
https://rukkhadevata123.github.io/2024/08/22/wsl/
作者
Dawn Chirps
发布于
2024年8月22日
许可协议