WSL + VS Code 使用LINUX环境

WSL + VS Code Remote真香


备份

1、远程下载关键文件夹进行备份
2、在进行任何操作前,都进行备份,以便回滚

重置WSL(只对Ubuntu进行重置)

1、对ubuntu的APP直接进行重置操作

重装WSL(重装lxss)

参考官方指南
思路:关闭子功能,删除lxss\内容,接着就是重新安装了
注:
1、建议完全根据说明走一遍
2、授予管理员权限
3、个别文件造成的损坏可以考虑直接复制别人的正常 lxll文件夹内容替换

更新WSL 内核

更新 WSL 2 Linux 内核

编译Linux内核

  1. WSL 2(Ubuntu18.04)编译Linux内核(5.7.9)并替换掉WSL 2原有内核

  2. 为你的WSL 2编译一个最新的Linux内核吧!

配置

1、打开ubuntu等待重启几分钟关掉
2、使用root权限

sudo passwd
su root

3、Ubuntu更换国内源(坑点:根据Ubuntu的版本切换源)
具体见:Ubuntu 20.04换阿里源

3、Ubuntu更换国内源

首先备份一下默认的源
cp /etc/apt/sources.list /etc/apt/sourses.list.bak
知道当前系统的代号,可以用以下命令:
lsb_release -a
更换默认源为阿里源,

使用 sudo vim /etc/apt/sources.list 命令编辑,删除原来的内容,添加下面的阿里源信息(20.04版本 focal)

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

更换源之后,使用下面的命令更新一下

sudo apt-get update
sudo apt-get dist-upgrade

4、内核编译、更新与安装软件(编译必备)
参考:[为你的WSL 2编译一个最新的Linux内核吧](https://blog.csdn.net/qq_40856284/article/details/106535962)
参考:实验说明书
安装解决依赖的软件 `sudo apt install aptitude`
我们需要安装编译内核所必要的依赖:
`sudo apt-get install libncurses5-dev g++ make openssl libssl-dev bison flex libelf-dev bc`

Ubuntu使用apt-get install安装软件时候,提示:

E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?

出现原因:apt进程仍在或未正常退出,需要关闭apt进程,运行以下命令即可解决:
`kill  | ps -aux | grep apt | awk '{print $2}'`
或者 rm -rf /var/lib/dpkg/lock

- 删除无用的文件
sudo make mrproper
sudo make clean
- 设置配置文件
获取WSL2-Linux-Kernel/edit/wsl-xyb-port-5.7.y/Microsoft/config-wsl
- 编译内核
- 安装内核模块(此部分有了bulid文件夹,可以进行驱动的编译了)
- 加载模块(期间可能会遇到权限的问题,提权即可。)
先给脚本文件增加可执行权限:chmod +x ./test_drv_load
再以管理员身份运行加载脚本:sudo ./test_drv_load

完成编译后,创建软链接:
sudo ln -s /home/yao/WSL2-Linux-Kernel-4.19.84-microsoft-standard /usr/src/linux-headers-4.19.84-microsoft-standard

$ makeclean;make

$./test_drv_load

接下来,编译并运行测试程序

$gcc–o test test.c
$./test
测试程序运行效果如下:
xxxxx

最后,卸载驱动程序

$./test_drv_unload

通过dmesg命令可以查看内核打印的信息:

$dmesg|tail–n10



---------------------------------

aptitude

常用命令

aptitude update     更新可用的包列表
aptitude upgrade    升级可用的包
aptitude dist-upgrade   将系统升级到新的发行版
aptitude install pkgname    安装包
aptitude remove pkgname     删除包
aptitude purge pkgname  删除包及其配置文件
aptitude search string  搜索包
aptitude show pkgname   显示包的详细信息
aptitude clean  删除下载的包文件
aptitude autoclean  仅删除过期的包文件
sudo apt-get install aptitude
# 安装 aptitude 包管理器
sudo aptitude install libgtk2.0-dev
# 提示未满足依赖关系,给出了类似1) libcairo2-dev [未安装的] 等提示,问是否接受该解决方案?[Y/n/q/?]
n
# 不接受该解决方案,然后会提示降级下列软件包,问是否接受该解决方案?[Y/n/q/?] 
y
# 接受降级,此时会发现新安装包列表里果然有libgtk2.0-dev,然后会提示您要继续吗?[Y/n/?]
y
# 继续,确认安装
# 安装成功!其他搞不定的包也可以如此尝试,不过降级之前需要仔细看下版本号变化,如果差太多还需要慎重考虑
 posted on 2020-11-08 20:50  20209313  阅读(1196)  评论(2编辑  收藏  举报