🪀Fedora WSL配置指南
type
status
date
slug
summary
tags
category
icon
password
Status
2023 年我尝试了 WSL 上 Debian 和 Fedora 发行版,Debian 对比 Ubuntu 要轻量许多(Ubuntu 作为 Debian 的分支版本,添加了更多套件),而 Fedora 作为 RedHat 系列的新生代,dnf 包管理比 apt 的下载列表更加智能(列出所需软件包信息)。后续我的生产均默认选用 Fedora。
关于WSL
安装发行版可以通过应用商店也可以自行导入rootfs镜像,第二种更适合在应用商店没有找到相应的发行版。一般来说,Ubuntu有WSL官方发行,Debian有Debian官方发布的,其他需要自行鉴定三方可信和可用。
安装Fedora
Fedora在应用商店有三方维护的可用下载,可以直接安装,也可以在BuildSystem - Fedora Container Base找到可用的Fedora镜像,选择“状态”列表带有绿色复选标记的版本即可。
迁移到其他盘
更新源(清华源)
用命令替换
/etc/yum.repos.d
下的文件:手动替换比较麻烦,不推荐,可以查阅相关镜像源的手册手动替换。
换完后,更新源和软件,因为Fedora相对激进些(虽然没有Arch系那么激进),所以它的包都是比较新的。
个人认为dnf作为包管理相比apt更舒服些,因为下载前它会列出即将下载的包版本,并且search包的结果格式化更好看,同时copr作为dnf的一个拓展插件,可以下载一些三方软件。目前同属Redhat系列的Centos已经停止更新,故在稳定性要求不那么高的开发环境切换到Fedora是一个不错的选择。
命令行工具
这里是打造基于Rust的命令行,纯属个人爱好,相对于原版工具在体验上,检索速度会更快,同时大部分都可以通过
.gitignore
控制命令的处理范围。主要有:
- ls → exa:提供优秀的高亮
- find → fd:检索速度更快
- grep → ringrep:检索速度更快
- cat → bat:提供优秀的高亮,可以切换主题,但是感觉粘贴输出没有cat方便(雾
- starship:命令行美化的标配,适用大多数平台。
- fish:相对小众的shell,原本基于C++,现在已经开始用Rust重构了,zsh需要插件配置的功能在fish开箱即用。
- tokei:Code Counter,可以查看文件夹下代码的语言和行数。
- joshuto:文件系统的图形化工具,平替ranger(基于python)和lf(基于golang)
- fnm:nvm的平替,使用体验和nvm大差不差,推荐程度一般。
通过dnf安装
切换默认shell为fish
通过cargo安装:
fnm官方脚本不可用
joshuto需要0.9.4版本(用copr安装下来的0.9.3版本缺少
—output-file
参数):以上的命令行工具都可以通过源码采用cargo安装,相对来说更加跨平台,不用考虑发行版有没有收录对应包。
配置文件
其他配置
cargo换源(创建一个配置文件,位于
~/.cargo/config
):node环境:
npm/yarn/pnpm换源:
go环境:
打开模块支持:
go env -w GO111MODULE=on
取消代理:
go env -w GOPROXY=direct
取消校验:
go env -w GOSUMDB=off
go代理设置:
go vscode插件环境变量不会读取fish的设置,故需要在扩展设置里配置GOPATH变量为
~/.go
,以完成初始化。- Twikoo