1# 开启window功能
控制面板>程序和功能>启用或关闭window功能>勾选“适用于Linux的Windows子系统”和“虚拟机平台“
windows 10
windows 11
设置>应用>可选应用>更多windows功能>勾选“适用于Linux的Windows子系统”和“虚拟机平台“
2# 搜索并安装ubuntu18.04 LTS
在window自带的搜索Microsoft store,搜索ubuntu,选择18.04LTS,右上角点击“获取”,会下载大概210M左右的包,下载完打开即可。
3# Window菜单中启动Ubuntu18.04 LTS
查看一下基本的信息
查看linux内核版本
uname -r
查看系统版本
cat /etc/lsb-release
查看本地磁盘内存情况(可见C盘、D盘)
df -h
4# 更新软件源(阿里云源)并更新软件
#使用 root 权限登录,后续输入密码
sudo -i
#接下来备份当前源,输入以下命令
cp /etc/apt/sources.list /etc/apt/sources.list.old
#这个sources.list文件就是源文件,删除该文件,重新写一个
rm /etc/apt/sources.list
vim /etc/apt/sources.list
复制下面内容,然后单击右键粘贴进去即可,之后按ESC,输入wq保存并退出。
# deb cdrom:[Ubuntu 16.04 LTS _Xenial Xerus_ - Release amd64 (20160420.1)]/ xenial main restricted
deb-src http://archive.ubuntu.com/ubuntu xenial main restricted #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse #Added by software-properties
deb http://archive.canonical.com/ubuntu xenial partner
deb-src http://archive.canonical.com/ubuntu xenial partner
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted multiverse universe #Added by software-properties
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security multiverse
开始更新软件镜像源和软件包
sudo apt update #更新软件源
sudo apt upgrade #更新软件包
上面过程中有时候会卡住不动,可以尝试按下空格,判断是否卡住
6# 启用 SSH 并使用SecureCT客户端登录
启用SSH所需设置
#设置root的口令(密码),用作后续登陆使用
sudo passwd root
#安装openssh-server(似乎ubuntu自带已安装)
sudo apt install openssh-server
#备份很重要
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
#使用vim进行编辑,按i进入insert模式
sudo vim /etc/ssh/sshd_config
service ssh start #启动SSH服务
service ssh status #检查状态
在vim中分别找到并对应修改四处,修改后ESC,输入wq保存退出,具体如下:
Port = 8022
ListenAddress 0.0.0.0 # 如果需要指定监听的IP则去除最左侧的井号,并配置对应IP,默认即监听PC所有IP
PermitRootLogin yes # 如果你需要用 root 直接登录系统则此处改为 yes
PasswordAuthentication yes # 将 no 改为 yes 表示使用帐号密码方式登录
sudo service ssh start #启动SSH服务
sudo service ssh status #检查状态
sudo systemctl enable ssh #开机自动启动ssh命令
使用SecureCRT客户端登录
7# 解决WSL的中文乱码问题
安装以下软件包:
sudo apt-get install language-pack-zh-hans
打开以下文件
sudo vim /etc/environment
在最后写入以下内容,保存
LANG="zh_CN.UTF-8"
LANGUAGE="zh_CN:zh:en_US:en"
在/var/lib/locales/supported.d/,新建local文件
sudo vim /var/lib/locales/supported.d/local
写入以下,并保存:
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
zh_CN.GBK GBK
zh_CN GB2312
执行以下命令:
sudo locale-gen
接着,关闭WSL界面再开启即可,不用关机,实测可用。
其他:解决中文空格乱码问题
sudo apt-get install fonts-droid-fallback ttf-wqy-zenhei ttf-wqy-microhei fonts-arphic-ukai fonts-arphic-uming
8# Docker 配置与安装(方法一,docker for windows,推荐)
1.去官网下载Docker for window桌面版
2. 安装docker for windows时,可选勾选第二个(当时没截图);之后安装完,需要注册并登陆docker账号;
3. 接着用window的powershell测试docker for windows(第三步和第四步忘记顺序了,抱歉)
4. 将container设置为“Linux container”
介绍一下window container 和Linux container,具体参考这篇介绍
windows container 是相当于 docker 在 linux 下的原生实现,linux container 是通过 Hyper-V 托管了一个小型虚拟机以实现 linux 环境。
如果你的磁盘不够大网速不够好, 不建议直接在自己电脑上尝试 windows container,windows container 大部分是基于 windows-sever 的镜像,动则十几个G,下载镜像都不一定能下载成功。
成功之后再去将container设置为“switch to Linux container”,右键点击桌面右下角docker的鲸鱼小图标,确认第6行是否已经显示为"switch to Windows containers",这说明已经在使用Linux container。否则,会显示为“switch to Linux containers”。
5. 打开setting的General,勾选最后一项,非常重要!!!否则将不能在WSL中使用docker
6. 在WSL中测试docker
使用我们前面配置好的Xshell打开WSL,测试docker
7. 设置阿里云镜像加速器
加载国内的阿里云加速器,没有的话需要自己进阿里云去注册),有助于更快速的拉取镜像等等。注意:"registry-mirrors"输入自己的加速器地址
8. 其他设置
在Shared Drives,你可以设置磁盘共享,比如D盘,你使用-v的方式挂载你的D盘,启动一个镜像后,在容器中就可以访问你D盘的文件,以及docker cp实现文件交互。
其他的Advanced、Network等我都是使用默认设置,想要了解更多可以去docker官网查看docker for window桌面版的介绍和教程
9# Docker的配置与安装(方法二,不推荐,这种是常规Linux里面的安装方式)
1. 先卸载旧版本的docker
sudo apt-get remove docker docker-engine docker.io
2. 更新一下apt-get源
sudo apt-get update
3. 安装GPG证书
#别忘了最后的“-”
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
4. 写入软件源信息
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
5. 列出可用版本
sudo apt-cache madison docker-ce
6. 更新并安装 Docker-CE
sudo apt-get update
sudo apt-get install docker-ce=17.03.2~ce-0~ubuntu-xenial
注意:我这里的图是最新版18.06.3版本,最近在服务器也是装这个版本没有问题。如果出现问题,可以尝试换成对应旧一点的版本。
7. 开启docker服务,查看docker状态
sudo service docker start
sudo service docker status
使用docker的命令,查看现有镜像和正在运行的容器
docker images
docker ps
9# Docker常见问题
1)docker is not running
i) 启用 VirtualMachinePlatform 组件
windows+x+a 打开 PowerShell ,输入以下命令启用 VirtualMachinePlatform(虚拟机平台)组件
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
保守起见,你也可以同时启用 Hyper-V 组件,官方的文档里没说要启用它
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
注:启用组件之后,需要重启电脑才会生效
ii) 启动 wsl 2
注:如果你还没有安装过wsl linux 子系统,则先要开启wsl功能, 在 PowerShell 中执行下面命令,然后重启电脑即可
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
可以先用 wsl -l -v 来查看当前的wsl版本。如果显示的是版本是1,则执行 wsl --set-default-version 2 来设置默认版本;
如果提示“错误: 0x1bc”或其他异常,可以试试更新 wsl linux内核版本
传送门:旧版 WSL 的手动安装步骤 | Microsoft Docs,下载 wsl_update_x64.msi 程序并安装
更新已有分发版本设置为 WSL 2
# 查看已有linux分发版本
wsl --list --verbose
# 设置分发版本为 wsl 2
wsl --set-version
iii) 以管理员身份运行Ubuntu18.04 LTS
完美解决。
2)sshd启动报错Could not load host key
生成秘钥
ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
ssh-keygen -t rsa -f /etc/ssh/ssh_host_dsa_key
ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key
ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key
一直按确认键就行。
a) 将当前用户加入docker组
# 使用命令“groups”,查看当前用户所在组
groups
# 其中${USER}写用户名,将该用户加入docker组
sudo gpasswd -a ${USER} docker
sudo gpasswd -a LChuang docker
b)Ubuntu中root用户和user用户的相互切换
(1)从user用户切换到root用户
当我们登录Ubuntu时,默认进入的是user,当我们需要执行一些root才能执行的权限时,经常要在命令前加上sudo授权,想要直接切换到root用户,只要简单执行如下命令:
sudo su
2)从root用户切回user用户
想要从root用户切回 user用户只需要执行命令:
su user(user是你自己安装时候的用户名)
或者直接输入exit,也可以按ctrl+D能退出到user用户