linux子系统折腾记 (二)
今天一早起床,打开debian,居然出现 错误: 0x80070040 。不知道是怎么回事,网上有篇文章详细介绍了windows linux子系统,打算参考来做做: 。非常有技术的一篇文章。
用wslconfig /u debian删了系统,输入debian重新安装。过程倒是很简单快捷,就是想不到这个子系统那么容易完蛋。
既然如此就整理一下安装的步骤吧:
1. 安装linux子系统
2.微软商店搜索linux
选debian 安装就行了。
3.配置linux 更新源
因为linux很多东西都是网上更新的,而且是外国,网速是一大问题,必须要找到快速的更新源。所以第一步就是要更改更新源,否则什么都别想干了。注意:win10自带的debian是版本9。
debian 的配置放在/etc 这个目录,而更新工具叫apt,所以在/etc/apt 目录下面的sources.list 文本文件就是我们要修改的对象。
阿里巴巴的源替换一下,用#可以注释掉原来的内容。
阿里巴巴有各种linux的备份源,非常棒: (不知道腾讯有没有做这方面的工作)
命令:sudo nano /etc/apt/sources.list
#deb stretch main
#deb stretch-updates main
#deb stretch/updates main
#阿里源
deb stretch main non-free contrib
deb-src stretch main non-free contrib
deb stretch/updates main
deb-src stretch/updates main
deb stretch-updates main non-free contrib
deb-src stretch-updates main non-free contrib
deb stretch-backports main non-free contrib
deb-src stretch-backports main non-free contrib
其中sudo表示提升权限,nano是一个命令行编辑器,linux的命令行工具真是非常强大,这么简单的工具都有语法识别,上色功能。
下面的是菜单,^表示ctrl 按键。ctrl + o 写入,然后ctrl + x退出即可。
4.自动更新
sudo apt-get update
5.安装dotnet core sdk
微软官方指导:
wget --no-check-certificate
下载微软的证书,不知道为什么不能下载,用—no-check-certificate参数避免检查证书。linux这方面是很严格的,有点烦。
wget是一个下载工具。
gpg --dearmor microsoft.asc
gpg是一个加密工具,这里面是将文本编码microsoft.asc 解码成二进制的 microsoft.asc.gpg。 gpg后缀是一个密钥文件。
sudo mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/
mv移动文件
wget --no-check-certificate
同样也要不检查网站证书才能下载成功,这次不知道是怎么回事,上次没这个问题。
sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list
sudo chown root:root /etc/apt/trusted.gpg.d/microsoft.asc.gpg
sudo chown root:root /etc/apt/sources.list.d/microsoft-prod.list
移动,并把文件的拥有者改成root 和root组。
这些操作的目的大概就是把微软的源增加进去。
sudo apt-get update 自动更新,结果提示没有 apt-transport-https 库,先安装一下:
sudo apt-get install apt-transport-https
注意:原来之前没有https组件的支持,所以wget才会出现这种错误,我把顺序搞乱了。
在更新一次就ok了。然后就可以正常安装dotcore了。
sudo apt-get install dotnet-sdk-2.1
会增加412m。安装过程会卡半天,要等待回到命令提示符状态即可。
6.备份一下
这个环境那么难配置,尝试备份一下。
找到c:\users\zhouy\appdata\local\packages\thedebianproject.debiangnulinux_76v4gfsz19hv4\localstate\ 用xcopy把rootfs 备份一份,暂时还无法验证这个方法有没有用。
7.配置远程开发
继续今天的目标,就是在windows上用vscode 连接 debian上的netcore来开发。尝试了remote vscode 扩展,确实可以打开远程文件,但是这有什么用呢?怎么编译?暂时没什么好思路,先放下了。
发现官方是有文档支持远程调试,特别是支持linux子系统调试的,看来我的需求是得到支持的,不过是英文资料,需要慢慢啃。
wsl 官方文档:https://github.com/omnisharp/omnisharp-vscode/wiki/windows-subsystem-for-linux
待续