在WSL2中安装多个Ubuntu教程_wsl安装了两个ubuntu

1.切换为WSL2

#将 WSL 2 设置为默认版本
wsl --set-default-version 2
#将 Ubuntu 20.04 发行版设置为使用 WSL 2
wsl --set-version Ubuntu-20.04 2 

2.获取Ubuntu16.04的tar文件

首先,需要获取一个 tar 文件,其中包含发行版的所有 Linux 二进制文件。
在本示例中,使用 WSL 发行版中的 Docker 来获取 Ubuntu16.04 的 tar 文件。

从容器中导出tar

进入到先前安装好的Ubuntu20.04系统,并在子系统中再安装一个Docker,Docker安装命令如下:

  1. 新建一个build.sh,设置 Docker 的apt存储库
# build.sh
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
 $(. /etc/os-release && echo "$VERSION\_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

#运行build.sh
sudo sh ./build.sh

  1. 安装Docker
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

  1. 测试
sudo docker run hello-world

Docker安装完成之后,我们需要在Ubuntu20.04中再启动一个Ubuntu16.04的Docker容器:

  1. 拉取Docker镜像
sudo docker pull ubuntu:16.04

  1. 创建容器
 docker run -it ubuntu:16.04 /bin/bash

  1. 检查docker容器
luu@DELL:/mnt/c/Users/ding$ docker ps -a
CONTAINER ID   IMAGE          COMMAND       CREATED              STATUS                      PORTS     NAMES
2ed6c4e7cbe7   ubuntu:16.04   "/bin/bash"   About a minute ago   Exited (0) 16 seconds ago             angry_dijkstra
c5743d46ac51   centos         "bash ls /"   48 minutes ago       Exited (0) 48 minutes ago             wizardly_carson

注意:这里的Ubuntu16.04必须是在Ubuntu20.04的子系统创建,而不是在Window系统中创建,这个十分重要!!不然导出的tar文件无法导入到WSL中。

  1. 导出tar文件
luu@DELL:/mnt/c/Users/ding$ dockerContainerID=$(docker container ls -a | grep -i ubuntu:16.04 | awk '{print $1}')
luu@DELL:/mnt/c/Users/ding$ docker export $dockerContainerID > /mnt/c/temp/ubuntu1604.tar

注意:需要在C盘新建一个空的temp/**.tar文件。

3. 将tar文件导入WSL

准备好 tar 文件后,可使用以下命令导入它:wsl --import < Distro > < InstallLocation > < FileName >

  1. 打开 PowerShell,并确保已创建一个要存储发行版的文件夹。
cd C:\temp
mkdir E:\wslDistroStorage\ubuntu1604

  1. 使用命令 wsl --import < DistroName> < InstallLocation> < InstallTarFile> 导入 tar 文件。
 wsl --import Ubuntu-16.04 E:\wslDistroStorage\ubuntu1604 .\ubuntu1604.tar

  1. 检查结果
PS C:\temp> wsl --import Ubuntu-16.04 E:\wslDistroStorage\ubuntu1604 .\ubuntu1604.tar
正在导入,这可能需要几分钟时间。
操作成功完成。
PS C:\temp> wsl -l -v
  NAME                   STATE           VERSION
* Ubuntu-18.04           Running         2
  CentOS                 Stopped         2
  docker-desktop-data    Running         2
  docker-desktop         Running         2
  Ubuntu-16.04           Stopped         2

4. 设置默认用户

  1. 进入Ubuntu-16.04系统
PS C:\temp> wsl -d Ubuntu-16.04

安装sudo

apt-get update
apt-get install sudo

  1. 设置用户账户
root@DELL:/mnt/c/temp# NEW\_USER=ztl
root@DELL:/mnt/c/temp# useradd -m -G sudo -s /bin/bash "$NEW\_USER"
root@DELL:/mnt/c/temp# passwd "$NEW\_USER"
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

  1. 设定默认用户,将 Ubuntu 实例默认登录用户从 root 用户替换为新创建的用户
tee /etc/wsl.conf <<\_EOF
[user]
default=${NEW\_USER}
\_EOF


**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618542503)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
  • 8
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值