WSL2 配置 ArchLinux 初始化环境
这篇文章针对的是在 Win11 系统的 WSL2 下安装 ArchLinux 系统,
网上很多中文教程都是使用 LxRunOffline 去做的,但是实际上该方法已经过时了,目前有更加先进的ArchWSL方式。
基于 LxRunOffline 安装 ArchLinux 教程:Here
如果用的是wsl1,不保证本教程可以适用。

安装ArchLinux子系统
首先,需要确保你的系统已经安装并打开wsl2功能。详见官方文档。
Github上的 ArchWSL 项目已经帮我们把ArchLinux集成好了,可以到下载页面下载最新的Arch.zip文件:下载页面。
下载好之后,解压其中的文件到你需要存放 ArchLinux 的路径,例如 D:\Soft\WSL2\ArchLinux。随后执行目录下的 Arch.exe文件,安装程序会自动将 ArchLinux 安装到同目录下面,并配置好 wsl 。
安装完成之后,打开终端,应该可以看到刚装好的ArchLinux系统:
% wsl --list
适用于 Linux 的 Windows 子系统分发:
Ubuntu-22.04 (默认)
archlinux
Arch
可以看到我的电脑上除了ArchLinux之外还有别的子系统,你可以保留它们,也可以使用下面的命令卸载:
% wsl --unregister Ubuntu
如有需要,使用下面命令将ArchLinux设为默认系统:
% wsl --set-default Arch
使用下面的命令就可以进入ArchLinux了(如果你把ArchLinux设为默认系统了,则可以省略参数):
% wsl -d Arch
进入系统之后,会做一些配置,结束之后就可以进入bash shell了。
配置pacman
首先,配置 pacman镜像源,改为国内的。
vim /etc/pacman.d/mirrorlist
增加以下内容:
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinux/$repo/os/$arch
输入下面命令,配置pacman key:
pacman-key --init
pacman-key --populate
pacman -Sy archlinux-keyring
如果
pacman -Sy archlinux-keyring或者下面执行的pacman -Sy archlinuxcn-keyring提示错误则需要手动签名一下。
error: archlinuxcn-keyring: signature from "Jiachen YANG (Arch Linux Packager Signing Key) <farseerf c@archlinux.org>" is marginal trust
更新系统:
此处更新需要等待一段时间,根据网络而定。
pacman -Syu
配置 archlinuxcn 镜像源:
vim /etc/pacman.conf
增加以下内容:
[archlinuxcn]
Server = https://mirrors.neusoft.edu.cn/archlinux/$arch
Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
安装 archlinuxcn 的 key:
pacman -Sy archlinuxcn-keyring
配置用户
为root设置密码:
passwd
配置sudo:
echo "%wheel ALL=(ALL) ALL" > /etc/sudoers.d/wheel
添加非root用户:
useradd -m -G wheel -s /bin/bash {username}
passwd {username}
退出ArchLinux,进入刚刚安装ArchLinux的目录(例如D:\vm\archlinux),将默认用户改为非root用户:
exit # 退出archlinux,之后你会回到Windows
cd D:\vm\archlinux
.\Arch.exe config --default-user {username}
重启wsl并再次进入ArchLinux,你应该会进入非root用户:
wsl --shutdown # 这个命令会关闭所有虚拟机
wsl -d Arch
完成
以上,你就得到了最小的ArchLinux系统,如果要进行进一步配置,需要参考官方文档。
如果涉及到wsl的操作,例如要安装x-server以支持图形界面,或是配置GPU直连,可以参考微软官方的wsl文档:Windows Subsystem for Linux Documentation
如果是ArchLinux本身的操作,请参考 wiki,另外我个人推荐一篇很好的 ArchLinux 入门中文教程:ArchLinux 简明指南。
教程编写参考于:
WSL2 配置 ArchLinux 初始化环境的更多相关文章
- Spark源码剖析 - SparkContext的初始化(四)_Hadoop相关配置及Executor环境变量
4. Hadoop相关配置及Executor环境变量的设置 4.1 Hadoop相关配置信息 默认情况下,Spark使用HDFS作为分布式文件系统,所以需要获取Hadoop相关配置信息的代码如下: 获 ...
- 【.net core 跨平台】第一步 在Ubuntu16.04 配置.net core环境
本次使用VMware10.0.4工具安装Ubuntu16.04系统并配置.net core环境 Ubuntu 16.04 desktop下载地址:http://releases.ubuntu.co ...
- apache(nginx)+django+virutalenv(virtualenvwrapper)+gunicorn+supervisor配置高效web环境
前言 django的调试模式配置简单,用于测试十分方便,但众所周知,这个只适合于调试,生产上运行效率十分低下. 后来考虑用nginx+uwsgi的模式进行,但之前配置过apache+wsgi的方式,感 ...
- 配置RMAN备份环境
关于配置RMAN备份环境你可以给每个目标数据库设置一些固定的配置,这些配置控制着RMAN多个方面的行为.例如,你可配置备份的保存策略.默认的备份目录.默认的备份设备类型等.你可以用show命令来查看配 ...
- 如何利用Vagrant快速搭建相同配置的开发环境?
作为一名程序猿,我们常常会遇到需要搭建开发环境的问题,特别是在新入职的时候,sublime, node, apache, mysql, php等等以及各种框架的安装.如果入职的是大公司有可能这些必要的 ...
- 让Spring Boot项目启动时可以根据自定义配置决定初始化哪些Bean
让Spring Boot项目启动时可以根据自定义配置决定初始化哪些Bean 问题描述 实现思路 思路一 [不符合要求] 思路二[满足要求] 思路三[未试验] 问题描述 目前我工作环境下,后端主要的框架 ...
- OCM_第二天课程:Section1 —》配置 Oracle 网络环境
注:本文为原著(其内容来自 腾科教育培训课堂).阅读本文注意事项如下: 1:所有文章的转载请标注本文出处. 2:本文非本人不得用于商业用途.违者将承当相应法律责任. 3:该系列文章目录列表: 一:&l ...
- VS2010配置OpenGL开发环境
OpenGL(Open Graphics Library)是一个跨编程语言.跨平台的专业图形程序接口.OpenGL是SGI公司开发的一套计算机图形处理系统,是图形硬件的软件接口,任何一个OpenGL应 ...
- 安装使用phpStudy在本机配置php运行环境
前言: php开发的初学者,强烈推荐使用phpStudy集成环境,一方面这个的确很好用(本人电脑安装了jspStudy,可以同时调试php和jsp),另一方面呢,虽然本人是技术控,但对这些繁杂的安装部 ...
- VSCode配置JAVA开发环境
VSCode配置JAVA开发环境 1:给机器安装JDK.MAVEN 下载JDK 下载路径:https://www.oracle.com/technetwork/java/javase/download ...
随机推荐
- Ubuntu 20.04 查看显示器信息
安装 ddcutil apt install ddcutil 输入命令 ddcutil detect --verbose 输出类似如下: Output level: Verbose Reporting ...
- 写代码不用"if"行不行,曾经的反 if 运动
如果在IT行业的时间够长的话,可能还记得大约10几年前,设计模式风靡一时的时候,有过一段反 "if" 的运动. 所谓的反"if"运动,其实是夸大了"i ...
- 【Javaweb】Servlet八 | 请求转发的代码实现【详解】
请求的转发 什么是请求的转发? 请求转发是指,服务器收到请求时,从一次资源转到另一个资源的操作叫做请求转发. 部分代码 // 获取请求的参数(办事的材料)查看 String username=req. ...
- .NET8极致性能优化CHRL
前言 .NET8在.NET7的基础上进行了进一步的优化,比如CHRL(全称:CORINFO_HELP_RNGCHKFAIL)优化技术,CORINFO_HELP_RNGCHKFAIL是边界检查,在.NE ...
- [FJOI2017]矩阵填数 (容斥原理)
题目传送门 现在看来熊猫杯的J题原来是个容斥套路题,按照值域排序后根据值域划分方块数,枚举子集容斥计算即可. #include<cstdio> #include<algorithm& ...
- 深入解析LLaMA如何改进Transformer的底层结构
本文分享自华为云社区<大语言模型底层架构你了解多少?LLM大底层架构之LLM模型结构介绍>,作者: 码上开花_Lancer . 大语言模型结构当前绝大多数大语言模型结构都采用了类似GPT ...
- Educational Codeforces Round 26 Problem A
A. Text Volume time limit per test 1 second memory limit per test 256 megabytes input standard input ...
- 一文读懂遗传算法(附python)
几天前,我着手解决一个实际问题--大型超市销售问题.在使用了几个简单模型做了一些特征工程之后,我在排行榜上名列第 219 名. 虽然结果不错,但是我还是想做得更好.于是,我开始研究可以提高分数的优化方 ...
- JS的对象
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- 从C++CLI工程的依赖库引用问题看.Net加载程序集机制
问题 最近在为某第三方MFC项目写C++/CLI工程插件时遇到了如下一个问题: MFC的工程不允许把.Net的依赖程序集放到执行程序的目录(防止影响其稳定性),依赖库只能放到非执行程序子目录的其他目录 ...