ngnix实现共享文件
乱码解决
1 | server和loaction层都加上 |
配置 Nginx
1 | sudo vi /etc/nginx/sites-enabled/default |
验证配置
1 | sudo nginx -t |
这样测试说明 nginx 配置是正确的。
重启启动 nginx 服务
1 | sudo service nginx restart |
权限问题
要求权限是755才能正常访问
1 | chmod -R 755 xmal/ |
乱码解决
1 | server和loaction层都加上 |
1 | sudo vi /etc/nginx/sites-enabled/default |
1 | sudo nginx -t |
这样测试说明 nginx 配置是正确的。
1 | sudo service nginx restart |
权限问题
要求权限是755才能正常访问
1 | chmod -R 755 xmal/ |
openvpn
下载
1 | wget -O openvpn.sh https://get.vpnsetup.net/ovpn |
安装
1 | sudo bash openvpn.sh --auto |
启动
1 | sudo bash openvpn.sh |
System has not been booted with systemd as init system (PID 1). Can’t operate.
Failed to connect to bus: Host is down
翻译过来就是:“系统尚未以systemd作为初始系统启动”。
1)当你尝试使用 systemd 命令来管理 Linux 系统上的服务的时候,之所以会报错,可能因为系统中根本就没有使用 systemd,而是使用的 SysV init (sysvinit)。
2)如果你是在 windows 中通过 WSL 使用的 Ubuntu 或者 Dibian 系统,默认情况下系统使用的是 SysV 而不是 systemd。
wsl2安装启动mysql
启动
1 | sudo /etc/init.d/mysql start |
配置文件
1 | sudo cat /etc/mysql/debian.cnf |
用户名密码就在这
1 | [client] |
复制到用户名文件夹可以免输入用户名密码
1 | sudo cp /etc/mysql/debian.cnf .my.cnf |
要改变文件的所有者为用户
1 | sudo chown cgz .my.cnf |
遇到报错
1 | ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) |
问题就是没启动
运行上面的启动命令就行
1 | root 的密码: 123456 |
1 | ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; |
1 | CREATE USER 'mufeng'@'%' IDENTIFIED BY '123456'; |
wsl的代理如何与主机共享
需要拉取docker镜像,但是curl无效
设置配置文件.wslconfig后仍然ping不通
ping,ping的是ip,用的是icmp协议,在osi七层模型中用的是第三层(网络层)
其实是curl google.com
直接得到的就是
1 | <HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8"> |
用浏览器访问一下就知道了
1 | curl https://www.google.com.hk/ |
这个才是正确的
在VSCode中打开WSL2项目时,Copilot扩展没有响应
添加setting.json
1 | "remote.extensionKind": { |
VSCode で WSL2 プロジェクトを開くと Copilot 拡張機能が応答しない #copilot - Qiita
github - Copilot is not working is WSL remote connection? - Stack Overflow
code打开vscode加一行配置环境变量可以解决
1 | export PATH="$PATH:/mnt/c/Users/86147/AppData/Local/Programs/Microsoft VS Code/bin" |
但是不够优雅
在 /etc/wsl.conf 中明确追加 PATH 配置
1 | [interop] |
设置完以上方法后,发现还是一样因为本来就默认共享环境变量
发现vscode文件路径名称有空格
wsl执行
1 | echo $PATH |
出现
1 | /mnt/c/Users/86147/AppData/Local/Programs/Microsoft:VS:Code/bin |
空格被识别成分割
所以可能是更新后路径名出现了这个bug导致无法正常识别环境变量
Windows 文件系统有短路径名(8.3 格式)支持,通常无空格,可以兼容在 WSL 和 Windows 下使用。你可以先找到短路径名,然后将其添加到环境变量中。
获取短路径名: 打开 Windows 命令提示符(cmd),输入以下命令以获取 Microsoft VS Code 文件夹的短路径名:
1 | cmd |
你可能会看到一行输出类似:
1 | 03/12/2024 09:00 AM <DIR> MICRO~1 Microsoft VS Code |
MICRO~1 就是此文件夹的短路径名。用这个名字可以避免空格问题。
将短路径名添加到 PATH: 在 Windows 的环境变量设置中,将 VS Code 的路径设置为短路径格式。例如,将路径设置为:
1 | C:\Users\86147\AppData\Local\Programs\MICRO~1\bin |
在 WSL 中,这个路径会自动被映射到 /mnt/c/Users/86147/AppData/Local/Programs/MICRO~1/bin,WSL 能正确解析。
创建一个轻量化的 Python 虚拟环境可以通过 venv 或 virtualenv 实现。这里我将介绍使用 venv 的方法,因为它是 Python 自带的模块,并且通常更简单。以下步骤适用于基于 Debian 的 Linux 发行版(例如 Ubuntu 和 WSL 的 Ubuntu 版本)。
确保你安装了 Python 和 venv 模块。在大多数情况下,Python 会默认包含 venv 模块,但你可以通过以下命令确认:
1 | sudo apt update |
选择一个目录来存放你的虚拟环境,例如在你的项目文件夹中。
1 | cd /path/to/your/project |
将 myenv 替换为你希望给虚拟环境起的名字。
激活虚拟环境,以便你在这个环境中安装的任何 Python 包都不会影响系统的全局 Python 设置。
1 | source myenv/bin/activate |
当虚拟环境激活后,你的命令行提示符通常会显示环境名称,例如 (myenv)。
在激活的虚拟环境中,你可以使用 pip 安装任何你需要的 Python 包。例如,安装 requests 库:
1 | pip install requests |
如果你希望保持环境轻量化,可以在使用完后移除不再需要的包。可以使用以下命令检查已安装的包:
1 | pip list |
并使用以下命令卸载不需要的包:
1 | pip uninstall package_name |
完成工作后,可以通过以下命令退出虚拟环境:
1 | deactivate |
通过以上步骤,你可以创建一个轻量化的 Python 虚拟环境,并在其中安装所需的包。venv 提供了一个相对简单的方式来管理项目所需的依赖,同时保持系统 Python 环境的干净。在项目开发和测试中使用虚拟环境是良好的实践。
1 | diskpart |
1 | wsl -l -v |
1 | NAME STATE VERSION |
请打开 PowerShell 并使用以下脚本,将 <distribution-name> 替换为实际的发行版名称:
1 | (Get-ChildItem -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss | Where-Object { $_.GetValue("DistributionName") -eq '<Ubuntu-22.04>' }).GetValue("BasePath") + "\ext4.vhdx" |
结果将显示类似于 %LOCALAPPDATA%\Packages\<PackageFamilyName>\LocalState\<disk>.vhdx 的路径。 例如:
1 | C:\Users\86147\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc\LocalState\ext4.vhdx |
这是与你列出的 Linux 发行版关联的 ext4.vhdx 文件的路径。
先关掉
1 | wsl --shutdown |
1 | //4-3 依次输入下列命令 |
显示与此虚拟磁盘关联的详细信息,包括虚拟大小,表示当前分配给 VHD 的大小上限
1 | detail vdisk |
扩展空间
如何管理 WSL 磁盘空间 | Microsoft Learn
Windows WSL2 占用磁盘空间清理释放_wsl占用空间太大-CSDN博客
1 | docker system prune |