重新安装 WSL2

警告
本文最后更新于 2024-02-24,文中内容可能已过时。

最近 WSL2 的文件达到了 60GB+ ,删来删去,压缩之后还是不见小,干脆重装。

备份需要的文件,然后彻底删除几个 Linux 系统

powershell

wsl --list 
wsl --unregister Ubuntu
wsl --unregister docker-desktop
wsl --unregister docker-desktop-data

然后打开,Ubuntu,Docker 应用。Windows 系统会自动重新安装这三个子系统。然后把虚拟磁盘迁移到 C 盘之外,如 D 盘。

powershell

wsl --shutdown
wsl --export Ubuntu D:\WSL\Ubuntu.tar
wsl --export docker-desktop D:\WSL\docker\docker-desktop.tar
wsl --export docker-desktop-data D:\WSL\docker\docker-desktop-data.tar

wsl --import Ubuntu D:\WSL\ D:\WSL\Ubuntu.tar 
wsl --import docker-desktop D:\WSL\docker\ D:\WSL\docker\docker-desktop.tar 
wsl --import docker-desktop-data D:\WSL\docker-data\ D:\WSL\docker\docker-desktop-data.tar

bash

sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo vim /etc/apt/sources.list

写入

text

 # 清华源
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse

bash

sudo apt-get update # 更新软件列表
sudo apt-get upgrade # 更新软件包

hugo , just 都是 wget 下二进制包,到 ~/bin/ 下。然后把这个文件夹加入 bash , fish 环境变量解决的。

注意: fish 是命令行交互友好型 shell ,但是不完全兼容 BASH 命令。据说是故意不兼容 posix 提高了门槛, BASH 的一些语法现在看来确实有奇怪的地方,不搞兼容也算是抛去历史包袱。缺点就是不能直接抄一些网上的命令。

bash

chsh -s /usr/bin/fish

bash

vim ~/.config/fish/config.fish

末尾添加

set -x PATH $PATH /root/bin

bash

vim ~/.bashrc
末尾添加

export PATH=$PATH:/usr/bin:/bin:/root/bin

配置 git 以及 git gpg

bash

git config --global commit.gpgsign true

然后还有 VSCode 的一些工具,打开 VSCode 连接到 WSL 也会自动安装。

bash

#!/bin/bash
host_ip=$(cat /etc/resolv.conf |grep "nameserver" |cut -f 2 -d " ")
export ALL_PROXY="http://$host_ip:10809"

暂时完成这些工作之后,基本的差不多了。剩余具体项目再说,如 Rust,npm,node 都没有安装,现在三个虚拟磁盘文件总大小是 5Gb。还算不错。