用 windows 寫程式碼最想吐槽的就是 cmd 了!WSL 真的就是吾等救星。
之前使用的是商店裡的 Ubuntu WSL ,沒感覺到有啥不好的,然鵝試了 Arch WSL 以後,能體會到 Ubuntu WSL 的龜速...
Arch WSL 真的是秒開哦~
連結拿去:
下載安裝 Arch WSL#
這裡是作者的安裝教程:https://github.com/yuk7/ArchWSL/wiki
我選擇的是傳統方式安裝(不使用 AppX 方式):
- 在 Release 下載最新版的
Arch.zip
- 解壓到 C 盤根目錄,(一定要在 C 盤,其他位置也可以),但是你要有該目錄的讀寫權限,所以不能放到
Program Files
等目錄中。 - 雙擊解壓好的
Arch.exe
進行安裝,這個 .exe 的名字 就是要創建的 WSL 實例的名字,改不同的名字就能創建多個 Arch WSL。
安裝好之後,進行配置。
配置軟體倉庫#
Arch Linux 軟體倉庫國內鏡像#
編輯 /etc/pacman.d/mirrorlist
,裡面有註釋了的 China
的鏡像,選一個你喜歡的取消註釋就可以了。
然後更新軟體包快取,執行: pacman -Syyu
其他跟鏡像有關的可以看這裡:
https://wiki.archlinux.org/index.php/Mirrors_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)
添加 ArchlinuxCN 源#
Arch Linux 中文社區倉庫 是由 Arch Linux 中文社區驅動的非官方用戶倉庫。包含中文用戶常用軟體、工具、字型 / 美化包等。
官方倉庫地址:http://repo.archlinuxcn.org
這裡我使用的是騰訊的鏡像: http://mirrors.cloud.tencent.com/archlinuxcn/
使用方法:
在 /etc/pacman.conf
文件末尾添加以下兩行:
[archlinuxcn]
Server = https://mirrors.cloud.tencent.com/archlinuxcn/$arch
之後安裝 archlinuxcn-keyring
包導入 GPG key:
pacman-key --init
pacman-key --populate
pacman -Syy && pacman -S archlinuxcn-keyring
安裝 AUR 助手 yay#
Arch User Repository(常被稱作 AUR),是一個為 Arch 用戶而生的社區驅動軟體倉庫。Debian/Ubuntu 用戶的對應類比是 PPA。
AUR 包含了不直接被 Arch Linux 官方所背書的軟體。如果有人想在 Arch 上發布軟體或者包,它可以通過這個社區倉庫提供。這讓最終用戶們可以使用到比默認倉庫裡更多的軟體。
所以你該如何使用 AUR 呢?簡單來說,你需要另外的工具以從 AUR 中安裝軟體。Arch 的包管理器 pacman 不直接支持 AUR。那些支持 AUR 的 “特殊工具” 我們稱之為 AUR 助手。
我們想從 AUR 倉庫中安裝東西時,就需要 AUR 助手,這裡推薦 yay
。
pacman -S yay
安裝完 yay
,git
也會被一起裝好。
檢查本地軟體包的更新:
yay
換成國內 AUR 源:
# yay --save --aururl [url]
yay --save --aururl https://aur.tuna.tsinghua.edu.cn
yay 的配置文件路徑:~/.config/yay/config.json
查看 yay 配置:
yay -P -g
查看 yay 幫助:
man yay
創建 Arch 普通用戶#
剛安裝好的 Arch 是 root 用戶,為了不至於權限太大誤傷系統,可以先創建一個普通用戶。
添加一個用戶:
useradd -m artin
# -m 參數能幫助創建 /home/artin
設置用戶密碼:
passwd artin
在下一步之前,可以先把系統默認編輯器設置成 vim,個人覺得還是比 vi 和 nano 好用多了...
export EDITOR=vim;
你也可以設置成自己喜歡的編輯器。
讓用戶可以執行 sudo 命令,這一步不能省略。
使用如下系統自帶命令修改 sudoers
文件。
visudo
在裡面添加這一行即可:
artin ALL=(ALL) ALL
這裡我只把自己的用戶名寫進去了,你也可以設置一個用戶組的權限,然後將你的用戶加入到該用戶組。
切換 WSL 默認用戶#
在 cmd 中打開你的安裝目錄:
執行:
Arch.exe config --default-user artin
玩轉 Arch WSL#
然後就是一些我自己喜歡的配置啦。
pacman 使用方法#
ArchLinux 必備命令記錄 (manjaro) - weixin_42408100 的博客 - CSDN 博客
https://blog.csdn.net/weixin_42408100/article/details/82526087
| 常用命令 | 解釋 |
| -------------------------- | ------------------------------------------------ | ---------------------- |
| pacman -Sy abc | 和源同步後安裝名為 abc 的包 |
| pacman -S abc | 從本地數據庫中得到 abc 的信息,下載安裝 abc 包 |
| pacman -Sf abc | 強制安裝包 abc |
| pacman -Ss abc | 搜索有關 abc 信息的包 |
| pacman -Si abc | 從數據庫中搜索包 abc 的信息 |
| pacman -Syu | 同步源,並更新系統 |
| pacman -Sy | 僅同步源 |
| pacman -R abc | 刪除 abc 包 |
| pacman -Rc abc | 刪除 abc 包和依賴 abc 的包 |
| pacman -Rsn abc | 移除包所有不需要的依賴包並刪除其配置文件 |
| pacman -Sc | 清理 /var/cache/pacman/pkg 目錄下的舊包 |
| pacman -Scc | 清除所有下載的包和數據庫 |
| pacman -Sd abc | 忽略依賴性問題,安裝包 abc |
| pacman -Su --ignore foo | 升級時不升級包 foo |
| pacman -Sg abc | 查詢 abc 這個包組包含的軟體包 |
| pacman -Q | 列出系統中所有的包 |
| pacman -Q package | 在本地包數據庫搜索 (查詢) 指定軟體包 |
| pacman -Qi package | 在本地包數據庫搜索 (查詢) 指定軟體包並列出相關信息 |
| pacman -Q |
wc -l | 統計當前系統中的包數量 |
| pacman -Qdt | 找出孤立包 |
| pacman -Rs $(pacman -Qtdq) | 刪除孤立軟體包(遞歸的,小心用) |
| pacman -U abc.pkg.tar.gz | 安裝下載的 abs 包,或新編譯的本地 abc 包 |
| pacman-optimize && sync | 提高數據庫訪問速度 |
安裝網路相關的工具#
參考 http://www.linuxdiyf.com/view_218403.html
安裝 archlinux 以後沒有 ifconfig, route, nslookup 等命令
- ifconfig、route 在 net-tools 中
- nslookup、dig 在 dnsutils 中
- ftp、telnet 等在 inetutils 中
- ip 命令在 iproute2 中
pacman -S net-tools dnsutils inetutils iproute2
配置基本環境#
安裝 fakeroot、binutils 等打包基本工具
pacman -S base-devel
我這裡會提示 fakeroot
被 ignore 了,因為 /etc/pacman.conf
裡寫了~
不輸入數字的話默認會安裝 base-devel
裡的所有包。
安裝配置 zsh#
安裝 zsh 和 oh-my-zsh#
zsh
又好看又好用又強大~
先將代理設置為我本地的代理鏈接,因為等下 oh-my-zsh
的腳本會從 github
下載東西,國內下的慢~
export ALL_PROXY="http://127.0.0.1:7890"
export all_proxy="http://127.0.0.1:7890"
先安裝 zsh
,再裝 oh-my-zsh
。
在終端執行:
sudo pacman -S zsh
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
配置 alias#
之後要經常修改 zsh,先配置幾個方便、快捷的 alias。
編輯 ~/.zshrc
, zsh
的配置文件。
vim ~/.zshrc
在文件的最後幾行加上:
alias vizsh="micro ~/.zshrc"
alias ohmyzsh="micro ~/.oh-my-zsh"
alias rezsh="source ~/.zshrc"
這裡的 micro
是我在用的編輯器:
你可以改成你喜歡的, whatever.
保存後要在終端裡激活一下 zsh 的配置文件:
source ~/.zshrc
即可~
配置 PATH 變量#
WSL 中的環境變量會來自 Windows 系統,所以如果你兩邊都裝了 npm 或者 python,可能會引起各種報錯...
所以手動的精簡一些環境變量,從上面這個圖中拿下來一點就好啦。
編輯 ~/.zshrc
:
vizsh
添加:
export PATH="$HOME/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
export PATH="/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:$PATH"
# 添加 `c/WINDOWS/system32` 這些目錄是為了支持在 `vscode` 的 `remote-wsl`。
export PATH="/mnt/c/WINDOWS/system32:/mnt/c/WINDOWS:/mnt/c/WINDOWS/System32/Wbem:/mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0/:/mnt/c/WINDOWS/System32/OpenSSH/:$PATH"
# 為了使用 vscode 的 `code .`
export PATH="/mnt/c/Users/withw/AppData/Local/Programs/Microsoft VS Code/bin:$PATH"
這裡的都是我需要的,你可以根據自己的需要來判斷用什麼。
zsh 的其他的一些配置#
配置 oh-my-zsh
的自帶幾個插件:
- 自帶插件列表:https://github.com/robbyrussell/oh-my-zsh/tree/master/plugins
- 插件 Wiki:https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins
找到下面這一行,填入即可。
plugins=(git npm node history)
配置 zsh「不匹配通配符」:
這個蠻有用的,比如想用 find *.txt
的時候。
setopt no_nomatch
設置幾個順手的函數:
proxy () {
export ALL_PROXY="http://127.0.0.1:7890"
export all_proxy="http://127.0.0.1:7890"
http --follow -b https://api.ip.sb/geoip
}
unpro () {
unset ALL_PROXY
unset all_proxy
http --follow -b https://api.ip.sb/geoip
}
# 參考自:
# 來源:Ubuntu「一鍵」設置代理 | Sukka's Blog
# 連結:https://blog.skk.moe/post/enable-proxy-on-ubuntu/
ip_ () {
http --follow -b https://api.ip.sb/geoip
}
git-config() {
echo -n "Please input Git Username: "
read username
echo -n "Please input Git Email: "
read email
echo -n "Done!"
git config --global user.name "${username}"
git config --global user.email "${email}"
}
# 參考自:
# 連結:https://github.com/SukkaW/dotfiles
上面的腳本中的 http
命令來自 httpie。
安裝:
pacman -S httpie
在 VSCode 中使用 WSL#
待補充
更多優化配置#
可參考知乎這篇:利用 WSL 打造 Arch 開發環境
大概就先寫這麼多吧~