【WSL】windows上安装linux系统最简便的方法 - bandaoyu

时间:2024-03-03 09:00:25

【WSL】windows上安装linux系统最简便的方法

目录

介绍

安装

更新软件源

共享文件夹

Ubuntu 系统的 root 密码

其他

优化复制粘贴

SSH连接登录WSL

问题记录



介绍

WSL(Windows Subsystem for Linux) 适用于Linux的Windows子系统

(总感觉这个官方翻译有点怪怪的,是不是直译成 Windows的Linux子系统更合适,虽然还是怪怪的).
这个项目已经启动了很长的时间,刚开始有着很多问题,甚至连子系统的存在都没有意义,所以一直没有安装, 但是看更新日志项目似乎已经成熟了就决定试一试,结果看来常用的软件包如GCC.JDK,GIT,SSH等都没有问题值得一用,而且拿来入门也不差啊.

安装

在开始之前先确定一下Windows版本是不是Windows10,然后建议更新到最新版.
打开 Microsoft Store , 搜索 Linux 会有三个结果 Ubuntu , openSUSE Leap42 , SUSE Linux Enterprise Srever


因为日用为主所以这里选择 Ubuntu,用Ubuntu作为示范(WSL里的Ubuntu自带git,vim,ssh等常用软件,其他的没用过不清楚).
傻瓜式安装完成之后(连下一步都没有),会弹出通知直接打开就行,如果没有通知可以去开始里找到刚刚安装好的 Ubuntu 打开就行了


但是,这个时候会发现,不能用提示没有打开WSL,需要启动后重试

 

 


需要到 控制面板\所有控制面板项\程序和功能 中选择 启用或者关闭Windows功能

 

 


找到 适用于Linux的Windows子系统 并勾选,然后 确定 选择 立即重新启动

 

 

重启之后再次打开 Ubuntu 就可以使用了,根据提示输入用户名,两次输入密码就可以看见熟悉的命令行

然后熟悉的套路,先设置root用户

 

sudo passwd root

先输入刚刚设置的用户密码,然后两次输入要设置的root用户密码

 

su root

然后输入root用户的密码即可,

 

更新软件源

 

接着更换 apt 的数据源

cd /etc/apt  #进入配置文件所在目录
cp sources.list sources.list.bak  #备份配置文件
vim sources.list  #编辑配置文件

将下面的配置覆盖 sources.list 中的配置

在用vim进行这部操作的时候,用 +p 粘贴系统剪切板会出现错误(具体大家可以试试,如果有人能成功还请告知一下方法)

deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse  
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse  
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse  
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse  
##测试版源  
deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse  
# 源码  
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse  
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse  
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse  
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse  
##测试版源  
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse  
# Canonical 合作伙伴和附加  
deb http://archive.canonical.com/ubuntu/ xenial partner  
deb http://extras.ubuntu.com/ubuntu/ xenial main  

于是我就想,既然这是安装在Windows上的子系统,那是不是应该有着类似于共享文件夹的东西,于是找到了这么一个文件夹

  1. 在c盘中搜索rootfs,可以搜到WSL的根目录在windows上的位置

这个就是 Ubuntu WSL版的根目录,接着到 \etc\apt\ 下找到 sources.list 用之前贴的配置文件覆盖即可.接着更新数据源

sudo apt-get update  #更新源  
sudo apt-get upgrade  #更新软件 

更新源的过程中有可能会报错(如上图)重新执行即可(404可以无视),更新软件需要等待的时间稍微偏长大概5-10分钟,但是没关系我们可以再开一个窗口干别的事啊,不然怎么是Linux呢,在开始菜单再次点击 Ubuntu 就可以再打开一个会话窗口(或者在状态栏的图标上右键,然后点击 Ubuntu 也行).

共享文件夹

  1. 在WSL的/mnt/目录下可以看c的文件夹,这个就是对应Windows C:\
  2. 在c盘中搜索rootfs,可以搜到WSL的根目录在windows上的位置

Ubuntu 系统的 root 密码

Ubuntu 的默认 root 密码是随机的,即每次开机都有一个新的 root 密码。
我们可以在终端输入命令 sudo passwd,然后输入当前用户的密码,终端会提示我们输入新的密码并确认,此时的密码就是 root 新密码。
修改成功后,输入命令 su root,再输入新的密码就 ok 了。

 

其他


这个时候可以秀一波 screenfetch (滑稽),好了现在来解决下一个坑,在某些电脑中会话窗口的配色有很严重的问题,即蓝色很暗看不清,但是有些电脑又没有问题(不清楚触发条件,我给公司电脑装的时候有问题,家里电脑又没问题,系统内部版本相同,难道是I卡和A卡的区别?逃),WSL的会话窗口配色实际上取决于 CMD 属性里颜色标签里面的配色,发现两台电脑的配色的色值还真不一样(如下图)

 

这就需要用到一个开源的CMD调色工具ColorTool下载解压zip文件,然后用 CMD 打开到解压的路径 ,然后

colortool.exe -b deuteranopia
colortool.exe -b OneHalfDark
colortool.exe -b OneHalfLight
colortool.exe -b solarized_dark
colortool.exe -b solarized_light

 

 

这五套主题自己看着选,如果看重了就打开CMD的属性和默认值分别点一次确定,然后重新打开Ubuntu就会发现配色修改好了(当然CMD的配色也被修改了)

上面是公司的非正常配色修改之后,下面是我的笔记本用的原始配色的比对图

好了接下来就和正常玩shell一样了,尽情的享受运行WSL吧(另附标准结局)

 

 

转自
链接:https://www.jianshu.com/p/6b02948b3d37
来源:简书

 

优化复制粘贴

 

在安装Ubuntu系统后发现与Windows系统的文件不能相互复制,网上查了很多教程,发现都是不能用的,能实现的方法如下所示:
第一步: sudo apt-get autoremove open-vm-tools
第二步:sudo apt-get install open-vm-tools-desktop
然后重启
搞定

SSH连接登录WSL

  1.   编辑sshd_config文件,修改几处配置才能正常使用用户名/密码的方式连接
  2.   sudo vi /etc/ssh/sshd_config
  3.   Port 22 #默认即可,如果有端口占用可以自己修改
    PasswordAuthentication yes # 允许用户名密码方式登录

PermitRootLogin yes

  •   ·  修改完之后重启ssh服务
  •   sudo service ssh restart
  •  

    重启服务遇到问题:

启动ssh服务时,提示Could not load host key: /etc/ssh/ssh_host_rsa_key

sshd: no hostkeys available — exiting

解决办法:

https://blog.csdn.net/hyholine/article/details/7362073

sshd re-exec requires execution with an absolute path
用绝对路径启动,也报错如下:
Could not load host key: /etc/ssh/ssh_host_key
Could not load host key: /etc/ssh/ssh_host_rsa_key
Could not load host key: /etc/ssh/ssh_host_dsa_key
Disabling protocol version 1. Could not load host key
Disabling protocol version 2. Could not load host key
sshd: no hostkeys available — exiting
解决过程:
#sudo ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
#sudo ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
#sudo /usr/sbin/sshd

//如果上述两个文件存在,仍然出现这个错误,那么试试 chmod 600 上述两个文件。之后应该可以解决。

 

问题记录

  1. 安装如果遇到问题:E: Sub-process /usr/bin/dpkg returned an error code (1),解决办法:https://blog.csdn.net/stickmangod/article/details/85316142