Ubuntu 24.04 LTS on WSL2にApptainer環境 (with GPU) を構築する
※ コードブロック
における 🍅
は、プロンプトを表している
前に書いた記事とほとんど同じですが、2025-06時点のものを残しておきます。
以下、本記事を執筆した際の環境。
specifications | |
---|---|
CPU |
Ryzen 7 5700X (AMD) |
グラフィックボード |
GeForce RTX 2080 Ti VENTUS GP OC (MSI) |
メモリ |
DDR4-3200 32 GB×2 (Crucial) |
version | |
---|---|
Windows 10 |
22H2 |
NVIDIA グラフィクス ドライバー |
576.52 |
WSL2 |
2.5.7.0 |
Ubuntu on WLS2 |
24.04 LTS |
Apptainer |
1.4.1 |
WSL2にUbuntu 24.04 LTSをインストールする
PowerShell
で WSL2
のバージョンを確認する。
🍅 wsl --version
WSL バージョン: 2.5.7.0
カーネル バージョン: 6.6.87.1-1
WSLg バージョン: 1.0.66
MSRDC バージョン: 1.2.6074
Direct3D バージョン: 1.611.1-81528511
DXCore バージョン: 10.0.26100.1-240331-1435.ge-release
Windows バージョン: 10.0.19045.5965
PowerShell
で WSL2
に Ubuntu 24.04 LTS
をインストールする。
🍅 wsl --list --online
インストールできる有効なディストリビューションの一覧を次に示します。
'wsl.exe --install <Distro>' を使用してインストールします。
NAME FRIENDLY NAME
AlmaLinux-8 AlmaLinux OS 8
AlmaLinux-9 AlmaLinux OS 9
AlmaLinux-Kitten-10 AlmaLinux OS Kitten 10
AlmaLinux-10 AlmaLinux OS 10
Debian Debian GNU/Linux
FedoraLinux-42 Fedora Linux 42
SUSE-Linux-Enterprise-15-SP5 SUSE Linux Enterprise 15 SP5
SUSE-Linux-Enterprise-15-SP6 SUSE Linux Enterprise 15 SP6
Ubuntu Ubuntu
Ubuntu-24.04 Ubuntu 24.04 LTS
archlinux Arch Linux
kali-linux Kali Linux Rolling
openSUSE-Tumbleweed openSUSE Tumbleweed
openSUSE-Leap-15.6 openSUSE Leap 15.6
Ubuntu-18.04 Ubuntu 18.04 LTS
Ubuntu-20.04 Ubuntu 20.04 LTS
Ubuntu-22.04 Ubuntu 22.04 LTS
OracleLinux_7_9 Oracle Linux 7.9
OracleLinux_8_7 Oracle Linux 8.7
OracleLinux_9_1 Oracle Linux 9.1
# Ubuntu-24.04をインストール
🍅 wsl --install -d Ubuntu-24.04
Windowsのユーザーディレクトリにある .wslconfig
を編集する ( memory
の値は任意)。
# Settings apply across all Linux distros running on WSL 2
[wsl2]
# Limits VM memory to use no more than 24 GB, this can be set as whole numbers using GB or MB
memory=48GB
Ubuntu on WSL2に入って /etc/wsl.conf
を編集する ( user_name
はUbuntuのユーザー名)。
🍅 sudo vim /etc/wsl.conf
[boot]
systemd=true
[user]
default=user_name
[automount]
options = "metadata,umask=022"
PowerShell
で WSL2
を再起動する。
🍅 wsl --shutdown
Ubuntuの初期設定
初期セットアップ
🍅 sudo apt update
🍅 sudo apt upgrade
🍅 sudo apt install build-essential zsh
zsh
の設定 (任意)
GitHub | sorin-ionescu/prezto: The configuration framework for Zsh
上記を参照する。
# 初回起動 (質問にはqでOK)
🍅 zsh
# Preztoのリポジトリをダウンロード
🍅 git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"
# .zshrcなどを配置
setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done
# zshをデフォルトのシェルに設定する
🍅 chsh -s /usr/bin/zsh
作成された ~/.zshrc
の # Customize to your needs...
以下に次のように追記する。
# Customize to your needs...
# zsh
autoload -Uz promptinit
promptinit
prompt pure
ここでいったん WSL2
からログアウトし、再ログインしてプロンプトが変わっていたらOK。
Apptainerのインストール
NVIDIA Container Toolkit
Installing the NVIDIA Container Toolkit — NVIDIA Container Toolkit
上記を参照する。
# リポジトリの設定
🍅 curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
&& curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
# パッケージリストのアップデート
🍅 sudo apt update
# NVIDIA Container Toolkitのインストール
🍅 sudo apt install \
nvidia-container-toolkit=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \
nvidia-container-toolkit-base=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \
libnvidia-container-tools=${NVIDIA_CONTAINER_TOOLKIT_VERSION} \
libnvidia-container1=${NVIDIA_CONTAINER_TOOLKIT_VERSION}
Apptainer
Installing Apptainer — Apptainer Admin Guide main documentation
上記を参照する。
Install Debian packages
に書いてある GitHub
からのインストールの方がよさげ ( Install Ubuntu packages
の PPA
からのインストールは、ちょっとバージョンが古いことが多い)。
# Pre-built Debian packagesのダウンロード
🍅 wget https://github.com/apptainer/apptainer/releases/download/v1.4.1/apptainer_1.4.1_amd64.deb
# Apptainerのインストール
🍅 sudo apt install ./apptainer_1.4.1_amd64.deb
🍅 rm -f ./apptainer_1.4.1_amd64.deb
おしまいです。
Discussion