当前位置:首页 » 编程软件 » wsl编译mysql

wsl编译mysql

发布时间: 2023-07-05 15:00:25

Ⅰ 最详尽教程完整介绍-Windows 的 linux 子系统-WSL1&WSL2

必须启用“适用于 Linux 的 Windows 子系统”可选功能并重启,然后才能在 Windows 上运行 Linux 发行版。

以管理员运行Powershell(开启WSL,如已开启可跳过)

WSL 1 和 WSL 2 之间的主要区别在于,在托管 VM 内使用实际的 Linux 内核、支持完整的系统调用兼容性以及跨 Linux 和 Windows 操作系统的性能。

WSL2相比WSL1来说可以完美支持Docker。与WSL1的模拟Linux API不同的是,WSL2采用在Hyper-V虚拟机中运行的方案。可以说WSL2和原汁原味的Linux已经十分接近

不支持Docker的守护进程,但您可以使用 Docker CLI 连接到通过 Docker for Windows 或您创建的任何其他VM 运行的远程Docker守护进程

不能完全兼容systemctl, systemd等等,IO速度相对原生Linux也是大打折扣,在编译解压方面可以很深体会到。毕竟不是真正的Linux,而是挂在Windows NT内核之上的仿Linux 系统

由于WSL 还不是原生的Linux,所以需要借助 Docker for Windows 来实现Docker(Docker for Windows 是基于Hyper-V 技术)

另外一种方式是,在WSL1中安装docker 客户端,连接 docker server, 来解决在WSL1上使用docker 的问题。(PS: Win10 的Linux 子系统是装不了 docker (服务端)的,但是可以安装客户端)

参考

WSL2 是第二代 WSL,包含在2020年5月正式发布 Windows 10 v2004 版中。相比第一代,新的 WSL2 重新设计了架构,使用真正的 Linux 内核,几乎具有 Linux 的所有完整功能。启用WSL2的 Linux 系统启动时间非常快,内存占用很少,并且,WSL 2 还可以直接原生运行 Docker,VS Code 编辑器还有 Remote-WSL 插件,相对于完整的 linux 虚拟机只是不支持 systemctl、systemd,不能直接运行图形桌面。Windows 也越来越向虚拟平台靠拢,Windows NT 内核和 Linux 内核都是运行在虚拟平台之上的,是平级的

如果发现VERSION为1,说明Ubuntu运行在WSL1下,可以升级到 WSL2。同样,WSL2也可以降级到WSL1。
wsl -l -v #查看已安装Linux版本和名称,完整命令格式:wsl --list --verbose

具体步骤参考 : https://docs.microsoft.com/zh-cn/windows/wsl/install-manual#step-4---download-the-linux-kernel-update-package

安装 WSL 2 之前,必须启用“虚拟机平台”可选功能

wsl --set-version Ubuntu 2 #升级到WSL2,其中 Ubuntu 是已经安装的Linux名称,命令格式:wsl --set-version <Distro> <Version>

启用WSL后,通过 wsl$ 可以访问WSL文件

最初的WSL是在Windows之上模拟Linux内核,但是Windows和Linux之间存在如此基本的差异,以至于某些事情不可能以与本机Linux相同的行为实现,这意味着不可能直接在 WSL中运行 Docker Engine 和Kubernetes
在WSL1中,Docker Desktop通过Hyper-V虚拟机去运行docker环境的

升级到WSL2 之后, Docker Desktop 可以直接用 WSL2,直接运行在Linux 内核上了

通过如下设置,Docker Desktop就和WSL2分发版本进行了集成,无需在WSL中安装docker; 当然,也可以选择不与Docker Desktop集成,直接在WSL 中运行docker 容器。

启用WSL后,docker运行数据都在WSL发行版中,文件位置都只能由WSL管理

安装docker后,docker会自动创建2个发行版:

WSL发行版默认都是安装在C盘,在%LOCALAPPDATA%/Docker/wsl目录
docker的运行数据、镜像文件都存在%LOCALAPPDATA%/Docker/wsl/data/ext4.vhdx中

通过 WSL 2 集成,您仍然可以体验到与 Windows 的无缝集成,但在 WSL 中运行的 Linux 程序也可以执行相同的操作。这对于从事面向 Linux 环境的项目或为 Linux 量身定制的构建过程的开发人员产生了巨大影响。不再需要维护 Linux 和 Windows 构建脚本!例如,Docker 的开发人员现在可以在 Windows 上的 Linux Docker 守护程序上工作,使用与 Linux 计算机上的开发人员相同的工具和脚本集:

注:WSL2 Docker最爽的地方是和宿主机Win10共享network,我们在宿主机Win10使用localhost加端口号就可以访问Docker中对应container中的服务,十分方便

wsl #启动
wsl --shutdown #关闭所有正在运行的 Linux 和 WSL 2

启动 WSL2 之后,会在任务管理器中发现多了一个 虚拟机工作线程

访问wsl 文件

卸载发行版
有时候某个Linux发行版不再使用,或者是环境被搞坏需要重装,这时候我们可以卸载掉这个Linux发行版。方法如下。

Ⅱ 编译的padavan网速慢

解决方法如下:
Padavan固件的编译可在Windows 10 的 wsl (Ubuntu 18.04) 环境中进行(受限于IO性能,编译速度有点慢)
在 Windows 10 部署 wsl (Ubuntu 18.04) 环境仅需四步:
1.控制面板 -> 程序 -> 启用或关闭Windows功能 -> 勾选"适用于Linux的Windows子系统",然后重启电脑。2.打开Microsoft应用商店,安装 Ubuntu 18.04 LTS。3.从开始菜单启动 Ubuntu 18.04,设置好用户名和密码。4.在shell里依次执行以下命令:更换成国内镜像源并更新所有软件包,同时把/opt目录权限修改成777(执行sudo命令需要输入上一步里设置好的密码)5.之后按照下面的步骤进行后续操作,在WSL环境下,需要使用sudo进行编译,或者使用fakeroot-tcp代替fakeroot。

Ⅲ Windows10上安装使用Linux子系统(WSL)

Linux的Windows子系统让开发人员可以直接在Windows上运行Linux环境(包括大多数命令行工具,实用程序和应用程序),而无需建立在虚拟机的开销之上,整个系统共200多M,但包含了你能用到的所有功能,并且和windows完美互操作(省去Linux挂载本地windows分区或目录的操作),目前Linux的windows子系统已经相当完善,可当作完整linux系统使用.

您可以:

从Windows应用商店中 选择您最喜爱的Linux发行版。

运行常用的命令行实用程序,如grep,sed,awk等。

运行Bash shell脚本和Linux命令行应用程序,包括:

工具:vim,emacs,tmux

语言:Javascript / node.js,Ruby,Python,C / C ++,C#和F#,Rust,Go等

服务:sshd,Mysql,Apache,lighttpd

使用发行版的内置包管理器(apt-get)安装其他Linux工具。

从Linux控制台调用Windows应用程序。

在Windows上调用Linux应用程序。

1、打开 [控制面板]

2、找到 [程序与功能] 处的 [启用或关闭windows功能]

3、在 [适用于linux的windows子系统] 一栏处打上勾

4、点击确定并重启电脑

注:以上步骤在win10专业版上测试,win10家庭版可能不支持

使用快捷键: 微软光标键+S 搜索 "功能"

进入功能

勾选适用于Linux的Windows子系统

或者直接PowerShell中运行以下命令

​然后出现提示重新启动计算机

在应用商店搜索“Linux”,选择您喜欢的Linux版本,推荐安装Ubuntu

注意:应用商店的程序使用默认路径,不要更换到其他盘符

安装完毕后开始菜单出现Ubuntu图标

现在可以在里面进行任何和linux相关的命令

或者在Windows商店里直接启动

进入Ubuntu系统会自动初始化并安装,稍等几分钟即可

Enjoy !

切记:小心执行 mkdir -rf mnt

Ⅳ WSL2中使用adb和fastboot

最宏启物近在用WSL2编译aosp和lineageos ,由于WSL2和WSL使用不同的技术,导致WSL2中Ubuntu识别不了usb,无法使用
adb devices 和 fastboot devices
网上查了一番 https://blog.csdn.net/u014175785/article/details/113438143
看起来挺靠谱,实则
方法1 ,在sh脚本文蔽液件中不能用别名alias ,方法2 不仅麻烦而且没成功旁指

最后研究发现,还是用ln 才成功
根据上面的方法1得知 wsl2中的shell是支持adb.exe 命令的
所以可以用下面方法

Ⅳ wsl安装wine出现异常

  • 安装wine出错了(缺少祥灶伏文件)
    安装wine 的 RPM包时候出现如下错误。
    # rpm -ivh wine-xim-20030408-1.i386.rpm
    error: Failed dependencies:
    libsane.so.1 is needed by wine-xim-20030408-1
    libXv.so.1 is needed by wine-xim-20030408-1
    解决:上google搜索libsane.so.1和libXv.so.1,然后安装后再安装wine。

  • 编译安装辩宽Wine的时候出现
    checking build system type... i686-pc-linux-gnu
    checking host system type... i686-pc-linux-gnu
    checking whether make sets $(MAKE)... yes
    checking for gcc... no
    checking for cc... no
    checking for cc... no
    checking for cl... no
    configure: error: no acceptable C compiler found in $PATH
    See `config.log' for more details.
    解决:请安装你的GCC编译器,安装你系统的开发包光盘就可以谨携。

php代码在WSL系统上运行swoole 扩展.还需要安装搭建服务器吗

swoole扩展是PHP扩展。php swoole扩展,PHP语言的高性能网络通信框架,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询。

1、下载swoole源码
[root@nginx ~]# wget

2、解压进入swoole文件夹
[root@nginx ~]# tar -zxvf swoole-1.7.17-stable
[root@nginx ~]# cd swoole-src-swoole-1.7.17-stable/

3、编译安装swoole
[root@nginx swoole-src-swoole-1.7.17-stable]# phpize
[root@nginx swoole-src-swoole-1.7.17-stable]# ./configure
[root@nginx swoole-src-swoole-1.7.17-stable]# make && make install

4、php.ini配置文件加载swoole.so模块
[root@nginx swoole-src-swoole-1.7.17-stable]# vi /usr/local/php/lib/php.ini

注意 php命令行运行和浏览器运行的配置文件不一样。
php 命令行的配置:
[root@nginx swoole-src-swoole-1.7.17-stable]# php --ini
Configuration File (php.ini) Path: /usr/local/lib
Loaded Configuration File: /usr/local/lib/php.ini//配置文件
Scan for additional .ini files in: (none)
Additional .ini files parsed: (none)

5、查看swoole模块是否已经安装成功
[root@nginx swoole-src-swoole-1.7.17-stable]# php -m

6、编写服务端httpServer.php文件并运行
$serv = new swoole_server("127.0.0.1", 9501);
$serv->on('connect', function ($serv, $fd){
echo "Client:Connect.\n";
});
$serv->on('receive', function ($serv, $fd, $from_id, $data) {
$serv->send($fd, 'Swoole: '.$data);
});
$serv->on('close', function ($serv, $fd) {
echo "Client: Close.\n";
});
$serv->start();

运行httpServer.php
[root@nginx swoole-src-swoole-1.7.17-stable]# php httpServer.php

7、用telnet测试
[root@nginx ~]# telnet 127.0.0.1 9501
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
hello 客户端
Swoole: hello 服务端

Ⅶ WSL搭建nginx+php+mysql环境

1、安装:(参考: https://www.cnblogs.com/JettTang/p/8186315.html )

2、初始化

3、自启动服务(参考: https://blog.csdn.net/donglynn/article/details/53505495 )

4、解决nginx编译php巨慢瞎让圆的方法:
查看错误日志(应该是/var/log/nginx/error.log)如下磨塌:
upstream timed out (110: Connection timed out) while reading upstream, client: 127.0.0.1, server: foo.com , request: "GET / HTTP/1.1", upstream: " fastcgi://unix:/run/php/php7.2-fpm.sock :", host: " foo.com "
具体方法:

5、查看已安装的wsl

6、关闭开启的wsl(根据上面命令获取的wsl的name)

7、网站文件无法更新权限及所属用户(滑培组)

Ⅷ 2020-11-09 Win10 WSL编译Linux code速度极慢

新装了一台i5 10400 cpu的主机。编译Linux工具链, 发现在win10 WSL 2.0,Ubuntu环境下,速度极慢。同样的机子我还装了Ubunut 20.04, 差距明显,要快很多。甚至比Macbook Pro下运行LUbuntu虚拟机下的执行速度还要慢一半。

口说无凭,列个表格,下面几项,是编译同样的东西,我从输出日志里面取的。

所以Windows下做一些Linux驱动的开发是非常不合适的,不知道时间都花在哪里了?运行的时候,CPU的6个线程100%负载,6个线程60%负载。不如装个虚拟机用。

热点内容
scratch少儿编程课程 发布:2025-04-16 17:11:44 浏览:640
荣耀x10从哪里设置密码 发布:2025-04-16 17:11:43 浏览:368
java从入门到精通视频 发布:2025-04-16 17:11:43 浏览:85
php微信接口教程 发布:2025-04-16 17:07:30 浏览:310
android实现阴影 发布:2025-04-16 16:50:08 浏览:793
粉笔直播课缓存 发布:2025-04-16 16:31:21 浏览:345
机顶盒都有什么配置 发布:2025-04-16 16:24:37 浏览:213
编写手游反编译都需要学习什么 发布:2025-04-16 16:19:36 浏览:813
proteus编译文件位置 发布:2025-04-16 16:18:44 浏览:366
土压缩的本质 发布:2025-04-16 16:13:21 浏览:593