今天一早起床,打开debian,居然出现 错误: 0x80070040 。不知道是怎么回事,网上有篇文章详细介绍了windows linux子系统,打算参考来做做:https://www.jianshu.com/p/bc38ed12da1d 。非常有技术的一篇文章。

用wslconfig /u Debian删了系统,输入debian重新安装。过程倒是很简单快捷,就是想不到这个子系统那么容易完蛋。

既然如此就整理一下安装的步骤吧:

1. 安装Linux子系统

2.微软商店搜索linux

选debian 安装就行了。

3.配置Linux 更新源

因为linux很多东西都是网上更新的,而且是外国,网速是一大问题,必须要找到快速的更新源。所以第一步就是要更改更新源,否则什么都别想干了。注意:win10自带的debian是版本9。

debian 的配置放在/etc 这个目录,而更新工具叫apt,所以在/etc/apt 目录下面的sources.list 文本文件就是我们要修改的对象。

阿里巴巴的源替换一下,用#可以注释掉原来的内容。

阿里巴巴有各种linux的备份源,非常棒: https://opsx.alibaba.com/mirror (不知道腾讯有没有做这方面的工作)

命令:sudo nano /etc/apt/sources.list


#deb http://deb.debian.org/debian stretch main

#deb http://deb.debian.org/debian stretch-updates main

#deb http://security.debian.org/debian-security/ stretch/updates main

#阿里源

deb http://mirrors.aliyun.com/debian/ stretch main non-free contrib

deb-src http://mirrors.aliyun.com/debian/ stretch main non-free contrib

deb http://mirrors.aliyun.com/debian-security stretch/updates main

deb-src http://mirrors.aliyun.com/debian-security stretch/updates main

deb http://mirrors.aliyun.com/debian/ stretch-updates main non-free contrib

deb-src http://mirrors.aliyun.com/debian/ stretch-updates main non-free contrib

deb http://mirrors.aliyun.com/debian/ stretch-backports main non-free contrib

deb-src http://mirrors.aliyun.com/debian/ stretch-backports main non-free contrib


其中sudo表示提升权限,nano是一个命令行编辑器,linux的命令行工具真是非常强大,这么简单的工具都有语法识别,上色功能。

下面的是菜单,^表示ctrl 按键。ctrl + O 写入,然后ctrl + X退出即可。

4.自动更新

sudo apt-get update

5.安装dotnet core sdk

微软官方指导:https://www.microsoft.com/net/download/linux-package-manager/debian9/sdk-current

wget https://packages.microsoft.com/keys/microsoft.asc --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  https://packages.microsoft.com/config/debian/9/prod.list --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

待续

linux子系统折腾记 (二)的更多相关文章

  1. windows linux 子系统折腾记

    最近买了部新电脑,海尔n4105的一体机,好像叫s7. 放在房间里面,看看资料.因为性能孱弱,所以不敢安装太强大的软件,然后又有一颗折腾的心.所以尝试了win10自带的linux子系统. 然后在应用商 ...

  2. linux 子系统折腾记 (三)

    所以说,英文真是个好东西,很多资料都只有英文版本,要是不懂英文,甚至你不知道这个资料的存在,更别提用蹩脚的翻译软件去翻译了. wsl 的资料:https://docs.microsoft.com/zh ...

  3. ORACLE DATAGURARD 折腾记二

    前文再续,书接上一回,这次折腾Data Guard的一个重要目的是利用switchover实现机器的升级,怎么switchover呢?按照我的理解,Data Guard的角色切换是这样一个过程: (1 ...

  4. Linux时间子系统之(二):软件架构

    专题文档汇总目录 Notes:从框架上讲解了时间子系统,从底向上包括CPU Local TImer.Global Counter.Clock Souce/Clock Events模块管理.Tick D ...

  5. Linux kernel的中断子系统之(二):IRQ Domain介绍

    返回目录:<ARM-Linux中断系统>. 总结:一.二概述了软硬件不同角度的IRQ Number和HW Interrupt ID,这就需要他们之间架个桥梁. 三介绍了架设这种桥梁的几种方 ...

  6. FreeBSD jail 折腾记(二)

    FreeBSD jail 折腾记(二) 创建jail目录 创建4个 分别是模板 骨架 数据 项目 创建模板目录 mkdir -p /jail/j1 # 然后放入基本目录,上篇说过不再写 创建骨架目录 ...

  7. Windows10系统的Linux子系统中安装MySQL数据库心得

    后端开发童鞋们, 自己开发机用的是Windows系统电脑(台式机或笔记本), 而开发的程序和使用的数据库等要运行在Linux服务器上, 这种情况有木有? 提前声明: 本文并不讨论操作系统的比较, 以及 ...

  8. 【ASP.NET Core】在Win 10 的 Linux 子系统中安装 .NET Core

    在上一篇文章中,老周扯了一下在 Windows 10 中开启 Linux 子系统,并且进行了一些简单的设置.本篇咱们就往上面安装 .net core . 老周假设你从来没有用过 Linux,所以,接着 ...

  9. 斐讯N1折腾记

    斐讯N1折腾记:运行 Linux 及优化  2018-06-23  37条评论  4,445次阅读  11人点赞 最后更新时间:2019年03月10日 咳咳咳,上篇教程教大家给斐讯 N1 降级并且刷了 ...

随机推荐

  1. 为什么会有Comparable与Comparator接口? 引入策略模式

    目录 引入 Comparable接口的来龙去脉 引入Comparator接口 什么是策略模式? 使用了策略模式有什么好处? 引入 大家先考虑一个场景, 有一个整形数组, 我们希望通过调用一个工具类的排 ...

  2. 结合JDK源码看设计模式——单例模式

    定义: 保证一个类仅有一个实例,并提供一个全局访问点 适用场景: 确保任何情况下这个对象只有一个实例 详解: 私有构造器 单利模式中的线程安全+延时加载 序列化和反序列化安全, 防止反射攻击 结合JD ...

  3. 关于页面传参,decodeURI和decodeURIComponent

    之前写过一个关于页面传参的,但是是前端相对于自己的页面做的跳转,也就是页面1,跳转到页面2,里面带的参数.这里可以参考我上一篇文章,包括里面参数中如果有数组和json格式的情况.但是需要注意的是,我前 ...

  4. Android屏幕适配讲解与实战

    文章大纲 一.屏幕适配是什么二. 重要概念讲解三.屏幕适配实战四.项目源码下载   一.屏幕适配是什么   Android中屏幕适配就是通过对尺寸单位.图片.文字.布局这四种类型的资源进行合理的设计和 ...

  5. equals方法和==的区别--用实例简单说明

    首先我们创建一个类 public class People { private String name; private String address; public String getName() ...

  6. OutOfMemoryError/OOM/内存溢出异常实例分析--堆内存溢出

    Java堆内存溢出 只要不断创建对象,并且保证GC Roots到对象之间有可达路径来避免垃圾回收机制清除这些对象, 那么在对象数量到达最大堆的容量限制后就会产生内存溢出异常,代码如下: import ...

  7. 【Teradata】TD Unicode编码格式下varchar定义测试

    如下测试表,每个字段字符编码格式均为Unicode. 1.varchar(1)可以存储1个汉字,也只能存储1个ASCII字符. --创建表nc_test,每个字段编码格式均设定为Unicode[使用S ...

  8. 织梦5.7sp1最新问题:后台不显示编辑器

    1.在后台的“系统基本参数”里修改“站点设置”的“网页主页链接:空”. 2.修改“核心设置”DedeCMS安装目录:空“. 3.试试,问题解决.

  9. 编辑器开发之 Range 范围对象的学习

    写在前面: 网上有各种富文本编辑器,微博分享等操作,这些功能非常实用,他们就是使用 range,selection 对象来实现的,这两个对象偏冷门,不涉及编辑器一般用不到,range 对象是对选区的操 ...

  10. Flink从入门到放弃(入门篇1)-Flink是什么

    戳更多文章: 1-Flink入门 2-本地环境搭建&构建第一个Flink应用 3-DataSet API 4-DataSteam API 5-集群部署 6-分布式缓存 7-重启策略 8-Fli ...