今天一早起床,打开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. 企业级Harbor介绍及安装

    企业级Harbor介绍及安装 一.Harbor介绍 VMware公司最近开源了企业级Registry项目Harbor,其的目标是帮助用户迅速搭建一个企业级的Docker registry 服务.它以D ...

  2. 图解 sql 事务隔离级别

    sql 事务隔离级别有四种分种为: 一 Read Uncpommitted(未提交读) 二 Read Committed(提交读) 三 Repeated Read(可重复读) 四 Serializab ...

  3. 人生苦短,我用 Python

    从2015开始国内就开始慢慢接触Python了,从16年开始Python就已经在国内的热度更高了,目前也可以算的上"全民Python"了.众所周知小学生的教材里面已经有Python ...

  4. PHP开发模式之-单例模式

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 class  Db{ private function __construct(){} private static ...

  5. JavaScript 新语法详解:Class 的私有属性与私有方法

    译者按: 为什么偏要用 # 符号? 原文:JavaScript's new #private class fields 译者:Fundebug 本文采用意译,版权归原作者所有 proposal-cla ...

  6. 关于thinkphp5手动抛出Http异常时自定义404页面报错的问题

    在使用HttpException手动抛出异常时,希望跳转到自定义的错误页面,官方的文章中是这样描述的. 可以使用\think\exception\HttpException类来抛出异常 // 抛出 H ...

  7. keyboard dialog 仿微博表情键盘输入框

    功能描述:弹出键盘,右边有最大化按钮,没有最大化的时候最大行数为3,默认1行,随着文字输入增加自动增加高度,到达3行时不会在增加,点击最大化输入框,行数无限制,输入框下方图片点击删除 此处为了简便,键 ...

  8. mssql sqlserver 三种数据表数据去重方法分享

    摘要: 下文将分享三种不同的数据去重方法数据去重:需根据某一字段来界定,当此字段出现大于一行记录时,我们就界定为此行数据存在重复. 数据去重方法1: 当表中最在最大流水号时候,我们可以通过关联的方式为 ...

  9. 神奇的选择器 :focus-within

    CSS 的伪类选择器和伪元素选择器,让 CSS 有了更为强大的功能. 伪类大家听的多了,伪元素可能听到的不是那么频繁,其实 CSS 对这两个是有区分的. 有个错误有必要每次讲到伪类都提一下,有时你会发 ...

  10. java基础(十八)----- java动态代理原理源码解析

    关于Java中的动态代理,我们首先需要了解的是一种常用的设计模式--代理模式,而对于代理,根据创建代理类的时间点,又可以分为静态代理和动态代理. 静态代理 1.静态代理 静态代理:由程序员创建或特定工 ...