Skip to content

Instantly share code, notes, and snippets.

@blank71
Last active January 18, 2024 17:23
Show Gist options
  • Save blank71/5344e24fd5a44496a94e151e56b4bf93 to your computer and use it in GitHub Desktop.
Save blank71/5344e24fd5a44496a94e151e56b4bf93 to your computer and use it in GitHub Desktop.
Make Fedora on WSL2

WSL2 上で Fedora をインストールしたい。下記で普通にサポートされているディストーションの一覧を表示することができる。しかし Fedora はこのリストには存在しない。

$ wsl.exe --list --online
インストールできる有効なディストリビューションの一覧を次に示します。
'wsl.exe --install <Distro>' を使用してインストールします。

NAME                                   FRIENDLY NAME
Ubuntu                                 Ubuntu
Debian                                 Debian GNU/Linux
kali-linux                             Kali Linux Rolling
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
openSUSE-Leap-15.5                     openSUSE Leap 15.5
SUSE-Linux-Enterprise-Server-15-SP4    SUSE Linux Enterprise Server 15 SP4
SUSE-Linux-Enterprise-15-SP5           SUSE Linux Enterprise 15 SP5
openSUSE-Tumbleweed                    openSUSE Tumbleweed

適当なディレクトリを作成してブートイメージを取得してインストール。

mkdir -p wsl_vm/img
cd wsl_vm/img 
curl -LO https://github.com/fedora-cloud/docker-brew-fedora/raw/39/x86_64/fedora-39-x86_64.tar.xz

# wsl --import <名前> <インストール先のディレクトリ> <ファイル名>
# インストール先ディレクトリは自動で作成される
cd ..
wsl --import fedora fedora img/fedora-39-x86_64.tar.xz

中に入ってパッケージの導入をする。

wsl -d fedora
dnf update -y
dnf group install -y "Core" "Development Tools" "Infrastructure Server"

ユーザーの作成

USER=bl
groupadd -g 1000 ${USER}
useradd -u 1000 -g 1000 -G wheel -m ${USER}
passwd ${USER}

起動時の WSL の設定。

USER=bl
HOSTNAME=fedora
cat << '_EOL_' > /etc/wsl.conf
[boot]
systemd=true

[user]
default=%USER%

[network]
hostname=fedora
_EOL_
perl -pi -e 's|%USER%|$ENV{USER}|' /etc/wsl.conf
perl -pi -e 's|%HOSTNAME%|$ENV{HOSTNAME}|' /etc/wsl.conf

console 設定。(お好みで設定すればよい)

cat << '_EOF_' > /etc/profile.d/console.sh
# Console
PS1="\e[01;32m[\u@\H \W]\e[00m\\n\\$ "
_EOF_

仮想環境から抜けて仮想環境を再起動する。

exit
wsl --terminate fedora
wsl --distribution fedora

OCaml

入れたいものを適当に入れる。

bash -c "sh <(curl -fsSL https://raw.githubusercontent.com/ocaml/opam/master/shell/install.sh)"
opam init
opam install dune merlin ocaml-lsp-server odoc ocamlformat utop dune-release

SATySFi

opam switch create . 4.12.0
eval $(opam env)
opam repository add -y satysfi-external https://github.com/gfngfn/satysfi-external-repo.git
opam repository add -y satyrographos https://github.com/na4zagin3/satyrographos-repo.git
opam pin add -y https://github.com/na4zagin3/satyrographos.git
opam pin add -y https://github.com/puripuri2100/satysfi-class-template.git
opam update

opam depext satysfi satysfi-dist satyrographos
opam install satyrographos satysfi satysfi-base satysfi-class-slydifi satysfi-code-printer satysfi-dist satysfi-easytable satysfi-enumitem satysfi-figbox satysfi-fonts-asana-math satysfi-fonts-asana-math-doc satysfi-fonts-bodoni-star satysfi-fonts-bodoni-star-doc satysfi-fonts-charis-sil satysfi-fonts-charis-sil-doc satysfi-fonts-computer-modern-unicode satysfi-fonts-computer-modern-unicode-doc satysfi-fonts-cormorant satysfi-fonts-cormorant-doc satysfi-fonts-dejavu satysfi-fonts-dejavu-doc satysfi-fonts-han-sans-jp satysfi-fonts-han-sans-jp-doc satysfi-fonts-han-serif-jp satysfi-fonts-han-serif-jp-doc satysfi-fonts-ibm-plex-sans-jp satysfi-fonts-inconsolata satysfi-fonts-inconsolata-doc satysfi-fonts-junicode satysfi-fonts-junicode-doc satysfi-fonts-material-icons satysfi-fonts-noto-emoji satysfi-fonts-noto-emoji-doc satysfi-fonts-noto-sans satysfi-fonts-noto-sans-cjk-jp satysfi-fonts-noto-sans-cjk-jp-doc satysfi-fonts-noto-sans-cjk-sc satysfi-fonts-noto-sans-cjk-sc-doc satysfi-fonts-noto-sans-doc satysfi-fonts-noto-serif satysfi-fonts-noto-serif-cjk-jp satysfi-fonts-noto-serif-cjk-jp-doc satysfi-fonts-noto-serif-doc satysfi-fonts-theano satysfi-fonts-theano-doc satysfi-fss satysfi-fss-fontset-bodoni-star satysfi-lipsum satysfi-railway
satyrographos install
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment