WSL2を使ってみる その5(同じバージョンのディストリビューションを複数インストール、Ubuntu 22.04)

はじめに

 今回はWSL2で同じバージョンのUbuntu環境をもう一つインストールしました。

 元々インストールしていたWSL2のUbuntu 22.04の環境を壊したくなかったので、別でインストールする方法を探していました。AI系のソフトウェアだとCUDAやCondaなどのバージョンが依存して困ることがあったので、Ubuntu環境ごと切り替えても使えるようにしたいと思っています。

▼以前の記事はこちら

USBメモリでミニPCにUbuntuをインストールする(Rufus)

はじめに  今回はUSBメモリでミニPCにUbuntuをインストールしてみました。  身近にUSBでWindowsとUbuntuを切り替えている方がいたので、できることは知っていました。た…

WSL2を使ってみる その3(Ubuntu 20.04、ROS Noetic、Open Manipulator)

はじめに  今回はWSL2のUbuntu 20.04に、ROSをインストールしてみました。  前回構築したのはWSL2のUbuntu 22.04です。WSL2で複数のバージョンのUbuntu環境をインストー…

ディストリビューションのインポート

 最初にUbuntu 20.04をインストールしようとしました。

▼以下のページにUbuntu 20.04のイメージがあります。

https://cloud-images.ubuntu.com/releases/focal/release

 しかし、このページのものはWSL用ではないのでインストールできません。試してみると失敗しました。

▼ubuntu-20.04-server-cloudimg-amd64.tar.gzをインストールしてみました。

▼この後の手順で失敗しました。

 WSL用のイメージファイルが必要です。

▼親ディレクトリに移動していくと一覧があり、wslフォルダもそこにありました。

https://cloud-images.ubuntu.com

 Ubuntu 22.04以降のものだけがありました。

▼今回は以下のリンクからダウンロードしました。

https://cloud-images.ubuntu.com/wsl/jammy/current

▼ubuntu-jammy-wsl-amd64-ubuntu22.04lts.rootfs.tar.gzをダウンロードしました。

 ダウンロードしたものをインポートします。

▼WSL2のコマンドは以下のページに書かれています。

https://learn.microsoft.com/ja-jp/windows/wsl/use-custom-distro#import-the-tar-file-into-wsl

 PowerShellを管理者権限で起動し、以下の形式のコマンドでインポートします。

wsl.exe --import <Distro> <InstallLocation> <FileName> [Options]

 私の環境の場合は以下のように実行しました。なおUbuntu22.04なのにUbuntu2004になっていますが、その前に検証していたものの名残で間違えました。後で名前を変更します。

mkdir W:\Ubuntu2004_GS
wsl --import Ubuntu2004_GS "W:\Ubuntu2004_GS" "C:\Users\mgs_1\Downloads\ubuntu-jammy-wsl-amd64-ubuntu22.04lts.rootfs.tar.gz"

▼問題なくインポートできました。

 以下のコマンドで追加されているかどうか確認できます。

wsl -l -v

▼Ubuntu2004_GSとして追加されています。

 以下のコマンドで環境を有効化できます。

wsl -d Ubuntu2004_GS

▼rootとしてログインされました。

 この時点ではユーザー名やパスワードの設定画面が起動せず、rootとしてログインしているようでした。

 なお、失敗した場合はファイルを削除して、登録を解除すれば再度イントールできます。

wsl --unregister Ubuntu2004_GS

▼以前も同じように、登録を解除してから再インストールしました。

WSL2を使ってみる その1(Ubuntu 22.04、Node-RED、メモリ制限)

はじめに  今回はWindows環境でLinuxディストリビューションをインストールできる、WSL(Windows Subsystem for Linux)の環境を構築してみました。  最近オープンソー…

ターミナルを起動する

 先程はrootとしてログインしていましたが、ユーザーを登録してログインできるようにします。Ubuntu環境を有効にしてから以下のコマンドを実行しました。

adduser <ユーザー名>
usermod -aG sudo <ユーザー名>

▼パスワードの入力も求められました。

▼/homeディレクトリに登録したユーザー名のフォルダがあることが確認されました。

 /etc/wsl.confを編集して、デフォルトのユーザーを設定しました。

sudo nano /etc/wsl.conf

▼[user]の欄にdefault=<ユーザー名>と記述しました。

 この後PowerShellを開き直し、再度Ubuntu環境を有効化すると、登録したユーザーでログインされました。

▼ディレクトリはWindowsのものになっているのですが、cdコマンドを引数無しで実行するとユーザーディレクトリに移動できました。

▼Ubuntu 22.04になっています。

コピーを作成して名前を変更する

 恥ずかしながら、Ubuntu 22.04なのにUbuntu2004という名前にしてしまっていたので、変更しました。WSL2のコマンドで一度現在の環境をエクスポートし、別名でインポートすることで対処しました。

 まずは以下のコマンドでtarファイルをエクスポートしました。

wsl --export Ubuntu2004_GS ubuntu2004_gs.tar

▼問題なく実行できました。

▼実行ディレクトリにtarファイルが作成されていました。

 以下のコマンドでインポートします。

wsl --import Ubuntu2204_GS W:\Ubuntu2204_GS ubuntu2004_gs.tar

▼リストにも追加されていました。

▼ちゃんとUbuntu 22.04として起動していました。

 名前を間違えていた環境は登録を解除して削除しました。

wsl --unregister Ubuntu2004_GS

▼フォルダの中も空になっていました。

ショートカットを作成する

 普段ならWindowsのスタートボタンを押すと、Ubuntuのターミナルを起動できるアプリケーションが用意されていました。

▼こんな感じです。

 今回は見当たらなかったので、ショートカットをデスクトップに作成しておきました。

▼デスクトップ上を右クリックすると、新規作成の欄にショートカットがあります。

▼Ubuntu環境を有効にするときのコマンドをもとにショートカットを作成します。

▼ショートカットが追加されました!ダブルクリックすると、ログインした状態のターミナルが表示されました。

 なおターミナルのプルダウンメニューには追加されていたので、こちらからでもターミナルに入れます。

▼選択すると、ユーザーディレクトリから始まりました。

最後に

 これまで各バージョンのUbuntu環境は1つだけ利用していたのですが、これで複数の環境を構築して利用できそうです。

 最近試していた3D Gaussian Splatting関連の環境構築も、今回の検証に合わせて別のPCで構築しようと思っています。

▼Node-REDでWSL2を利用してUbuntu環境のコマンドを実行するマニアックなノードも開発していたのですが、さらに環境を切り分けたノードに改良できそうです。

Node-REDのノードを開発してみる その5(wsl-ubuntuノード)

はじめに  今回はNode-REDでWSLのUbuntu環境を起動してコマンドを実行できる、wsl-ubuntuノードを開発してみました。  私はROSを起動するのにWSLのUbuntu環境を利用して…

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です