當前位置:首頁 » 編程軟體 » 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%負載。不如裝個虛擬機用。

熱點內容
超級腳本製作 發布:2025-02-07 19:31:30 瀏覽:486
怎麼查看支付寶的賬號密碼 發布:2025-02-07 19:26:48 瀏覽:15
惠普伺服器查看ip指令 發布:2025-02-07 19:26:47 瀏覽:434
演算法設計模式 發布:2025-02-07 19:15:52 瀏覽:743
伺服器1u能連接幾台電腦 發布:2025-02-07 18:50:02 瀏覽:153
立人編譯 發布:2025-02-07 18:48:32 瀏覽:765
日產途達四驅的有哪些配置 發布:2025-02-07 18:42:02 瀏覽:832
伺服器搭建鏡像站 發布:2025-02-07 18:41:55 瀏覽:377
游戲上雲成標配雲伺服器該怎麼選 發布:2025-02-07 18:26:13 瀏覽:141
哪個安卓手機自帶系統沒有廣告 發布:2025-02-07 18:22:36 瀏覽:724