查看“WSL”的源代码
←
WSL
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
[[category:Windows]] == 概述 == Windows Subsystem for Linux,即windows下的Linux子系统,可在Windows 10和Windows Server 2019上原生运行Linux二进制可执行文件。<br/> WSL提供了一个由微软开发的Linux兼容的内核接口(不包含Linux内核代码),然后可以在其上运行GNU用户空间,例如Ubuntu、openSUSE、SUSE Linux Enterprise Server、Debian和Kali Linux。这样的用户空间可能包含Bash shell和命令语言,使用本机GNU/Linux命令行工具(sed,awk等),编程语言解释器(Ruby,Python等),甚至是图形应用程序(使用主机端的X窗口系统)。 === 文件系统 === Windows Subsystem for Linuxt提供与真实Linux内核类似的虚拟文件系统(<code>VolFs</code>和<code>DriveFs</code>),需要满足了两个目标: # 提供一个完全支持Linux文件系统的环境 # 能够与Windows上的设备和文件互通 ==== VolFs ==== VolFs提供了完整的Linux文件系统特性的支持,包括: # Linux权限管理,访问权限可以通过如chmod和chroot来改变 # 文件的符号链接 # 文件名可以包含一些Windows上不合法的符号 # 大小写敏感 * 包含Linux系统的目录,应用程序文件(<code>/etc</code>, <code>/bin</code>, <code>/usr</code>等)和<code>/root</code>、<code>/home</code>目录都使用的是VolFs。 * 与Windows应用和文件的互用在VolFs里并不支持。 ==== DriveFs ==== DriveFs是为了和windows互用的文件系统。它需要所有的文件名是合法的windows文件名,使用Windows安全策略,并不完整地支持所有的Linux文件系统特性。文件名是大小写敏感的,用户不允许创建仅仅是大小写不同的两个文件。<br/> 所有的Windows磁盘使用DriveFs被挂在到<code>/mnt/</code>,<code>/mnt/d</code>等等下面。用户从这里可以访问所有Window下的文件。这允许用户用他们喜欢的Windows编辑器比如Visual StudioCode来编辑文件的同时,通过Bash里的一些开源工具来修改文件。 == 启用WSL == 可以通过以下任一方式启用WSL: *“程序和功能”->“启用或关闭Windows功能”选中“适用于Linux的Windows子系统”,点击确定并重启系统。 * 管理员权限打开 powershell,执行 *: <pre>Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux</pre> == 安装Linux == 打开MicrosoftStore,搜索可用的Linux发行版本(Debian、Ubuntu、SUSE、openSUSE等),点击获取安装即可。 == 安装自定义Linux == 某些需要的Linux发行版不在MicrosoftStore中,需要通过power shell安装。 === 下载Centos7的docker镜像 === (可以参考[https://github.com/RoliSoft/WSL-Distribution-Switcher WSL-Distribution-Switcher]下载)。 # 访问 CentOS 的官方 Docker 镜像网站:[https://github.com/CentOS/sig-cloud-instance-images CentOS Cloud SIG image repository.]; # 切换到自己想要的分支,比如:[https://github.com/CentOS/sig-cloud-instance-images/tree/CentOS-7.8.2003-x86_64 CentOS-7.8.2003-x86_64]; # 进入 docker 目录,下载centos-*-docker.tar.xz文件,比如:[https://raw.githubusercontent.com/CentOS/sig-cloud-instance-images/CentOS-7.8.2003-x86_64/docker/centos-7.8.2003-x86_64-docker.tar.xz CentOS-7.8.2003-x86_64-docker.tar.xz] === 安装chocolatey === (参考[https://chocolatey.org/install Installing Chocolatey]) 使用管理员权限打开 powershell,执行: <pre>Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))</pre> === 安装LxRunOffline === 执行: <pre>choco install lxrunoffline</pre> === 部署Centos到WSL === 执行: <pre>LxRunOffline.exe install -n centos7 -d D:\Documents\WindowsSubsystemLinux\centos7 -f E:\0.Server\temp\centos\centos-7.8.2003-x86_64-docker.tar.xz</pre> 其中<code>-d</code>后面是要安装到的目录,<code>-f</code>是前面下载的镜像,<code>-n</code>用来指定名称。 === 启动Centos === 执行: <pre>LxRunOffline run -n centos</pre> 或者: <pre>wsl -d centos</pre> 或者(只安装了这一个WSL): <pre>bash</pre> === 注意 === # 错误:'''LxRunOffline.exe : 无法将“LxRunOffline.exe”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。''' #:解决:<code>cd C:\tools\lxrunoffline</code>,再执行<code>LxRunOffline</code>命令。 # 错误:'''Suggestion [3,General]: 找不到命令 LxRunOffline.exe,但它确实存在于当前位置。默认情况下,Windows PowerShell 不会从当前位置加载命令。如果信任此命令,请改为键入“.\LxRunOffline.exe”。有关详细信息,请参阅 "get-help about_Command_Precedence"。''' #:解决:在'''LxRunOffline'''路径下,用<code>.\LxRunOffline.exe</code>替换<code>LxRunOffline.exe</code>命令。
返回至“
WSL
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
已展开
已折叠
查看
阅读
查看源代码
查看历史
更多
已展开
已折叠
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
笔记
服务器
数据库
后端
前端
工具
《To do list》
日常
阅读
电影
摄影
其他
Software
Windows
WIKIOE
所有分类
所有页面
侧边栏
站点日志
工具
链入页面
相关更改
特殊页面
页面信息