end0tknr's kipple - web写経開発

太宰府天満宮の狛犬って、妙にカワイイ

setup Oracle Linux 9.1 for wsl2 on windows11

setup OracleLinux 8.7 for wsl on windows11 - end0tknr's kipple - web写経開発

先程の上記entryの修正版です。

先程のentryではsystemdを有効化する為、 genie ( https://github.com/arkane-systems/genie )をinstallしましたが、 以下のurlによれば、wsl version 2では systemdに対応しているそうです。

そこで、wsl1→2化した上で、Oracle Linux 9.1をセットアップしています。

目次

uninstall Oracle Linux 8.7

先程のentryで入れた Oracle Linux 8.7 をアンインストール

CMD> wsl --unregister OracleLinux_8_7

WSL 1→2化

ブラウザで https://aka.ms/wslstorepage へ、アクセスすると 以下のようにMicrosoft Storeが起動しますので、そこでインストール

CMD> wsl --version
WSL バージョン: 2.0.9.0
カーネル バージョン: 5.15.133.1-1
WSLg バージョン: 1.0.59
MSRDC バージョン: 1.2.4677
Direct3D バージョン: 1.611.1-81528511
DXCore バージョン: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows バージョン: 10.0.22621.2861

※ WSL ver.1では「--version」に対応しておらず、実行できません

install Oracle Linux 9.1

まず、install可能なdistributionを確認

CMD> wsl --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

Oracle Linux 9.1 のインストールと、ユーザ追加

CMD> wsl --install OracleLinux_9_1

Installing, this may take a few minutes...
Please create a default UNIX user account.
The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username: end0tknr
Changing password for user end0tknr.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
Installation successful!

systemd & sshd の有効化

/etc/wsl.conf を以下の内容で作成します。

※ wsl.conf の仕様は以下のurlが分かりやすいです

$ sudo vi /etc/wsl.conf

[boot]
systemd=true

Oracle Linuxを再起動すると、systemdの起動を確認できます

CMD> wsl --terminate OracleLinux_9_1
CMD> wsl -d OracleLinux_9_1

$ ps -ef
UID   PID  PPID  C STIME TTY  TIME CMD
root    1     0  0 07:16 ?    00:00:00 /sbin/init
root    2     1  0 07:16 ?    00:00:00 /init
<略>
root   30     1  0 07:18 ?    00:00:00 /usr/lib/systemd/systemd-journald
<略>

最後にsystemctlでsshdを有効化します

$ sudo systemctl enable sshd
$ sudo systemctl start  sshd

IPアドレスの固定

wsl上のoracle linuxはdefaultでは起動する度にipアドレスが変更され、 sshやsmbでの接続が手間ですので、固定します。

まず、oracle linux側で割当てられているipを確認

$ ip a
<略>
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP>
   mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:15:5d:f4:52:da brd ff:ff:ff:ff:ff:ff
    inet 172.18.129.236/20 brd 172.18.143.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::215:5dff:fef4:52da/64 scope link
       valid_lft forever preferred_lft forever

次に、power shellを管理者モードで起動し、 vEthernet (WSL)の ifIndex を確認した上で、固定ipを設定。

参考url

PS> Get-NetAdapter -IncludeHidden

Name                      InterfaceDescription                    ifIndex <略>
----                      --------------------                    -------   :
ローカル エリア接続* 7    WAN Miniport (PPPOE)                         22 <略>
vEthernet (WSL (Hyper-... Hyper-V Virtual Ethernet Adapter             24 
<略>
vSwitch (WSL (Hyper-V ... Hyper-V Virtual Switch Extension Ada...      10 <略> 
<略>
PS> New-NetIPAddress -IPAddress 172.18.129.236 -PrefixLength 24 -InterfaceIndex 24

IPAddress         : 172.18.129.236
InterfaceIndex    : 24
InterfaceAlias    : vEthernet (WSL (Hyper-V firewall))
AddressFamily     : IPv4
Type              : Unicast
PrefixLength      : 24
PrefixOrigin      : Manual
SuffixOrigin      : Manual
AddressState      : Tentative
ValidLifetime     :
PreferredLifetime :
SkipAsSource      : False
PolicyStore       : ActiveStore

IPアドレス固定の自動化

先程、固定したipはpcの停止時に無効化されますので、 ps1ファイルとタスクスケジューラでip固定の自動化を行います

CMD> vi c:/Users/end0t/local/AddIPAddress.ps1

New-NetIPAddress -IPAddress 172.18.129.236 -PrefixLength 24 -InterfaceIndex 24

プログラムスクリプト powershell.exe
引数の追加 -ExecutionPolicy Bypass c:\Users\end0t\local\AddIPAddress.ps1
開始 空欄

install samba

$ sudo yum install samba
$ sudo systemctl enable smb
$ sudo systemctl start  smb

$ sudo pdbedit -a end0tknr
new password:
retype new password:
Unix username:        end0tknr
NT username:
Account Flags:        [U          ]
User SID:             S-1-5-21-3605739558-1094150744-591740496-1000
Primary Group SID:    S-1-5-21-3605739558-1094150744-591740496-513
Full Name:
Home Directory:       \\A64-WSL\end0tknr
HomeDir Drive:
Logon Script:
Profile Path:         \\A64-WSL\end0tknr\profile
Domain:               A64-WSL
<略>

OracleLinuxの停止

CMD> wsl --terminate OracleLinux_8_7

CMD> wsl --list --verbose
  NAME               STATE           VERSION
* OracleLinux_8_7    Stopped         2