🪀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

© 2021-2024 Tabing | 萌ICP备20240819号