WSL2配置Distrobox

真真夜夜發表於2024-05-05

產生此想法的考量:

  1. 我使用zerotier內網穿透,每一個WSL2都需要單獨的新增進內網中,這很不優雅
  2. 每一個WSL2都需要單獨的分配ssh埠,這很不優雅
  3. 每次損壞WSL2都需要完全重新安裝,這也很不優雅

由此,我萌生出使用distrobox的想法,因為網上教程足夠的多,支援的系統也多(後期我可能會考慮incus)
感謝Ivon大佬的教程

1. 安裝distrobox

預設使用的是Docker作為後端

sudo apt install distrobox

當然如果你想,也能夠使用Podman作為後端

curl -s https://raw.githubusercontent.com/89luca89/distrobox/main/extras/install-podman | sh -s -- --prefix ~/.local

curl -s https://raw.githubusercontent.com/89luca89/distrobox/main/install | sh -s -- --next --prefix ~/.local

之後新增~/.bashrc or ~/.zshrc

# Podman和Distrobox的路徑
PATH=$PATH:$HOME/.local/podman/bin:$HOME/.local/bin
# 允許應用程式顯示在螢幕上(需安裝xhost)
xhost +si:localuser:$USER

2. 建立一個distrobox

distrobox create不加任何引數,預設安裝一個最新的fedora

建立一個debian12的distrobox

distrobox create --name debian12 --image debian:12

英偉達顯示卡驅動

distrobox create --name debian12 --image debian:12  --nvidia

# 或者使用Nvidia Container Toolkit
distrobox create --name debian12 --additional-flags "--runtime=nvidia -e NVIDIA_VISIBLE_DEVICES=all -e NVIDIA_DRIVER_CAPABILITIES=all" --image debian:12

自定義安裝路徑

distrobox create --name debian12 --image debian:12  --home ~/distrobox/debian12

設定root許可權

distrobox create --name debian12 --image debian:12  --root

新增環境變數

distrobox create --name debian12 --image debian:12  --additional-flags "--env EDITOR=vim"

設定預先要安裝的套件

distrobox create --name debian12 --image debian:12 --additional-packages "git tmux vim"

外掛docker volume

distrobox create --name debian12 --image debian:12 --volume /opt/my-dir:/usr/local/my-dir:rw

3. distrobox相關

# 啟動
distrobox enter debian12
# 重啟
distrobox restart debian12
# 停止
distrobox stop debian12
# 刪除
distrobox rm debian12

相關文章