wsl(Windows Subsystem for Linux)にredhat系であるOracleLinuxが あることを知りましたので、お試し。
※ 2024/1時点で、OracleLinux9もwslに対応していますが、 systemctlが依存する .net runtimeが見当たりませんでしたので、 今回、OracleLinux 8.7を使用しています
目次
- 参考url
- wsl対応済 linux distribution 確認
- install OracleLinux 8.7 for wsl
- install済みlinux distribution 確認
- install済みlinux distribution 起動
- genie による systemd & sshd の自動起動
- OracleLinuxのipアドレス確認
- install samba
- OracleLinuxの停止
参考url
- とほほのWSL入門 - とほほのWWW入門
- Windowsの「WSL2」を使って「完全なLinux」環境を作ろう!
- 以前のバージョンの WSL の手動インストール手順 | Microsoft Learn
- WSL2のOracleLinux8.6でsystemctlを使う #WSL2 - Qiita
- GitHub - arkane-systems/genie: A quick way into a systemd "bottle" for WSL
wsl対応済 linux distribution 確認
コマンドプロンプトで「wsl --install」を実行することで確認できます
CMD> wsl --install Linux 用 Windows サブシステムは既にインストールされています。. インストールできる有効なディストリビューションの一覧を次に示します。 'wsl --install -d <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
install OracleLinux 8.7 for wsl
CMD> wsl --install -d OracleLinux_8_7
↑こう実行すると、↓この別windowが表示され、ID/PWを設定し、完了
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!
install済みlinux distribution 確認
CMD> wsl --list --verbose NAME STATE VERSION * OracleLinux_8_7 Stopped 2
install済みlinux distribution 起動
以下のコマンドを実行すると、OracleLinuxが起動し、 プロンプトの表示が変更されます
CMD> wsl -d OracleLinux_8_7 $
genie による systemd & sshd の自動起動
OracleLinuxにはsshdが含まれていますが、 defaultではsystemctl自動起動しません。
$ sudo systemctl start sshd System has not been booted with systemd as init system (PID 1). Can't operate. Failed to connect to bus: Host is down
どうやら defaultではsystemctlのdaemon自体が起動していないようですので、 OracleLinux内でrpmを追加installします。
$ wget https://github.com/arkane-systems/genie/releases/download/v1.44/genie-1.44-1.fc34.x86_64.rpm $ wget https://download-ib01.fedoraproject.org/pub/epel/8/Everything/x86_64/Packages/d/daemonize-1.7.8-1.el8.x86_64.rpm $ sudo yum install daemonize-1.7.8-1.el8.x86_64.rpm $ sudo yum install genie-1.44-1.fc34.x86_64.rpm
次に、installした genie の初期化と実行を行います
genieの他のoptionは「genie --help」でご確認ください。
$ genie --shell Waiting for systemd....!!!!!<略. 数分、待ちます>
【TODO】「genie -s」自体の自動実行は今後調査
ここまでで、systemdが起動していますので、改めてsshdの自動起動を設定します
$ sudo systemctl enable sshd $ sudo systemctl start sshd
OracleLinuxのipアドレス確認
以下の通りですので、sshでの接続にご利用ください
$ ip a <省略> 6: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:15:5d:23:48:b0 brd ff:ff:ff:ff:ff:ff inet 172.27.92.9/20 brd 172.27.95.255 scope global eth0 valid_lft forever preferred_lft forever inet6 fe80::215:5dff:fe23:48b0/64 scope link valid_lft forever preferred_lft forever
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