前回はWindows11のPCにWindows Subsystem for Linux (WSL2)を使ってUbuntu 24.04 LTSをインストールしたことを紹介しました。
今回はこのUbuntuの環境を整備していきたいと思います。
Ubuntu 24.04 LTSのアップデート
Ubuntuを終了している場合はWindowsのスタートメニュー内にある「Ubuntu」を選択して、WSL2のUbuntuを開始してください。
Linuxをインストールしたあとはパッケージの状態を最新に更新することをオススメします。
まず、デフォルトの利用リポジトリを確認しておきましょう。
$ grep -R ^URIs /etc/apt/sources.list.d/
/etc/apt/sources.list.d/ubuntu.sources:URIs: http://archive.ubuntu.com/ubuntu/
/etc/apt/sources.list.d/ubuntu.sources:URIs: http://security.ubuntu.com/ubuntu/
デフォルトでは「archive.ubuntu.com」と「security.ubuntu.com」に接続しに行きますが、これらのサーバは主に海外に存在しているようです。
海外のサーバでは速度が出ないことが多いので日本のサーバに変更しておきましょう。
security.ubuntu.comについては変更しないでおきます。
ミラーリングしているサーバは下記で公開されています。
ここからJapanを調べてみると15個のサイトがリストアップされています。
このリストを見ると「ICSCoEというサーバが100Gbpsの太いネットワークを使っており余裕がありそうです。 ICSCoEというのはIPA(情報処理推進機構)の運営する産業サイバーセキュリティセンターなので安定した運用も期待できます。
サーバを変更するには次のコマンドを実行すればOKです。
sudo sed -i -e 's/http:\/\/archive.ubuntu.com/https:\/\/ftp.udx.icscoe.jp\/Linux\/ubuntu\//g' /etc/apt/sources.list.d/ubuntu.sources
ここでパスワードの入力を要求されたら、セットアップ時に設定したパスワードを入力します。
あとはパッケージ一覧のデータベースを更新します。
$ sudo apt update
Get:1 https://ftp.udx.icscoe.jp/Linux/ubuntu//ubuntu noble InRelease [256 kB]
Get:2 https://ftp.udx.icscoe.jp/Linux/ubuntu//ubuntu noble-updates InRelease [126 kB]
Get:3 https://ftp.udx.icscoe.jp/Linux/ubuntu//ubuntu noble-backports InRelease [126 kB]
(中略)
Get:61 http://security.ubuntu.com/ubuntu noble-security/multiverse amd64 c-n-f Metadata [356 B]
Fetched 33.7 MB in 3s (11.1 MB/s)
Reading package lists... Done
エラーがないことを確認して更新されたパッケージをアップデートします。
$ sudo apt upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
binutils binutils-common binutils-x86-64-linux-gnu cloud-init curl distro-info-data gcc-14-base gir1.2-glib-2.0
gtk-update-icon-cache krb5-locales libacl1 libaudit-common libaudit1 libbinutils libctf-nobfd0 libctf0
libcurl3t64-gnutls libcurl4t64 libegl-mesa0 libgbm1 libgcc-s1 libgl1-mesa-dri libglapi-mesa libglib2.0-0t64
libglib2.0-bin libglib2.0-data libglx-mesa0 libgprofng0 libgssapi-krb5-2 libgtk-3-0t64 libgtk-3-bin libgtk-3-common
libk5crypto3 libkrb5-3 libkrb5support0 libldap-common libldap2 libproc2-0 libpython3.12-minimal libpython3.12-stdlib
libpython3.12t64 libsframe1 libstdc++6 login mesa-vulkan-drivers nano passwd procps python3-software-properties
python3-update-manager python3-urllib3 python3.12 python3.12-minimal snapd software-properties-common
update-manager-core vim vim-common vim-runtime vim-tiny xxd
61 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 85.1 MB of archives.
After this operation, 5467 kB of additional disk space will be used.
Do you want to continue? [Y/n]
61個のパッケージに更新があるようです。問題がなければ「Y」を入力します。
時間がかかると思いきや、パッケージを取得するサーバが非常に高速なのと、WSL2になりディスクI/Oが早くなったので、1分もかからず完了しました。
最後までいったら、もうダウンロードしたパッケージは不要なので削除しておきます。
sudo apt clean
タイムゾーン
WSL1でDebian GNU/Linuxをインストールしたときには、タイムゾーンが日本ではなかったのですが、WSL2 + Ubuntuでは日本になっているようです。
$ cat /etc/timezone
Asia/Tokyo
このためタイムゾーンの修正は不要です。
もしタイムゾーンが日本(Asia/Tokyo)になっていない場合は、
sudo dpkg-reconfigure tzdata
を実行して、タイムゾーンを日本(Asia/Tokyo)に変更しておきましょう。
ロケール
デフォルトでは英語ロケールしかサポートしていなくていろいろ困りそうです。
日本語のロケール(ja_JP.UTF-8)用のデータも生成するように設定します。
sudo dpkg-reconfigure locales
下記のような画面になったらカーソルキーで「ja_JP.UTF-8」を探し、スペースキーで「*」マークをつけます。
「*」マークをつけたらTABキーで<OK>を選択したらエンターキーを押します。
次にデフォルトのロケールを聞かれますが「None」のままとしておきます。
あとはエンターキーを押せばロケールの選択画面が終了し、日本語のロケールデータが生成されます。
これでLANG環境変数を「ja_JP.UTF-8」にすればコマンド等の出力結果が日本語になります。
export LANG=ja_JP.UTF-8
たとえばdateコマンドの場合は下記のように曜日が日本語で表示されるようになります。
$ date
2024年 12月 7日 土曜日 15:57:25 JST
問題がなければホームディレクトリの「.bashrc」に言語の設定を追加しておきましょう。
echo export LANG=ja_JP.UTF-8 >> ~/.bashrc
日本語環境の導入
ざっと試すとデフォルトの状態でも日本語のファイルの表示などもできそうでしたが、日本語向けのパッケージを追加しておきましょう。
ここではJapanese Teamsによるパッケージを利用します。
以下のコマンドを実行し、GPG鍵とリポジトリを追加します。
sudo wget https://www.ubuntulinux.jp/sources.list.d/noble.sources -O /etc/apt/sources.list.d/ubuntu-ja.sources
sudo apt update
パッケージ情報の更新に成功したら次のコマンドを実行してインストール済みのパッケージをアップデートします。
sudo apt upgrade
私が試したときはアップデートされるパッケージはありませんでした。
さらに日本語向けの追加パッケージをインストールします。
$ sudo apt install ubuntu-defaults-ja
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
dconf-cli fonts-noto-cjk fonts-noto-cjk-extra gir1.2-atk-1.0 gir1.2-freedesktop gir1.2-gdkpixbuf-2.0 gir1.2-gtk-3.0
gir1.2-harfbuzz-0.0 gir1.2-ibus-1.0 gir1.2-pango-1.0 gstreamer1.0-gl gstreamer1.0-plugins-base ibus ibus-data
ibus-gtk ibus-gtk3 ibus-gtk4 ibus-mozc im-config language-pack-gnome-ja language-pack-gnome-ja-base language-pack-ja
language-pack-ja-base libabsl20220623t64 libcairo-script-interpreter2 libcdparanoia0 libdbusmenu-glib4
libdbusmenu-gtk3-4 libdouble-conversion3 libevdev2 libgail-common libgail18t64 libgraphene-1.0-0
libgstreamer-gl1.0-0 libgstreamer-plugins-base1.0-0 libgtk-4-1 libgtk-4-bin libgtk-4-common libgtk-4-media-gstreamer
libgtk2.0-0t64 libgtk2.0-bin libgtk2.0-common libgudev-1.0-0 libharfbuzz-gobject0 libibus-1.0-5 libice6 libinput-bin
libinput10 libmd4c0 libmtdev1t64 libnotify4 libogg0 libopus0 liborc-0.4-0t64 libpangoxft-1.0-0 libpcre2-16-0
libprotobuf32t64 libqt5core5t64 libqt5dbus5t64 libqt5gui5t64 libqt5network5t64 libqt5qml5 libqt5qmlmodels5
libqt5quick5 libqt5svg5 libqt5waylandclient5 libqt5waylandcompositor5 libqt5widgets5t64 libsm6 libtheora0
libvisual-0.4-0 libvorbis0a libvorbisenc2 libwacom-common libwacom9 libxcb-icccm4 libxcb-image0 libxcb-keysyms1
libxcb-render-util0 libxcb-shape0 libxcb-util1 libxcb-xinerama0 libxcb-xinput0 libxcb-xkb1 libxft2
libxkbcommon-x11-0 mozc-data mozc-server mozc-utils-gui poppler-data python3-ibus-1.0 qt5-gtk-platformtheme
qttranslations5-l10n qtwayland5
提案パッケージ:
gvfs ibus-clutter ibus-doc libvisual-0.4-plugins notification-daemon opus-tools qgnomeplatform-qt5
qt5-image-formats-plugins qt5-qmltooling-plugins libwacom-bin ibus-qt5 poppler-utils ghostscript
fonts-japanese-mincho | fonts-ipafont-mincho fonts-japanese-gothic | fonts-ipafont-gothic fonts-arphic-ukai
fonts-arphic-uming fonts-nanum
以下のパッケージが新たにインストールされます:
dconf-cli fonts-noto-cjk fonts-noto-cjk-extra gir1.2-atk-1.0 gir1.2-freedesktop gir1.2-gdkpixbuf-2.0 gir1.2-gtk-3.0
gir1.2-harfbuzz-0.0 gir1.2-ibus-1.0 gir1.2-pango-1.0 gstreamer1.0-gl gstreamer1.0-plugins-base ibus ibus-data
ibus-gtk ibus-gtk3 ibus-gtk4 ibus-mozc im-config language-pack-gnome-ja language-pack-gnome-ja-base language-pack-ja
language-pack-ja-base libabsl20220623t64 libcairo-script-interpreter2 libcdparanoia0 libdbusmenu-glib4
libdbusmenu-gtk3-4 libdouble-conversion3 libevdev2 libgail-common libgail18t64 libgraphene-1.0-0
libgstreamer-gl1.0-0 libgstreamer-plugins-base1.0-0 libgtk-4-1 libgtk-4-bin libgtk-4-common libgtk-4-media-gstreamer
libgtk2.0-0t64 libgtk2.0-bin libgtk2.0-common libgudev-1.0-0 libharfbuzz-gobject0 libibus-1.0-5 libice6 libinput-bin
libinput10 libmd4c0 libmtdev1t64 libnotify4 libogg0 libopus0 liborc-0.4-0t64 libpangoxft-1.0-0 libpcre2-16-0
libprotobuf32t64 libqt5core5t64 libqt5dbus5t64 libqt5gui5t64 libqt5network5t64 libqt5qml5 libqt5qmlmodels5
libqt5quick5 libqt5svg5 libqt5waylandclient5 libqt5waylandcompositor5 libqt5widgets5t64 libsm6 libtheora0
libvisual-0.4-0 libvorbis0a libvorbisenc2 libwacom-common libwacom9 libxcb-icccm4 libxcb-image0 libxcb-keysyms1
libxcb-render-util0 libxcb-shape0 libxcb-util1 libxcb-xinerama0 libxcb-xinput0 libxcb-xkb1 libxft2
libxkbcommon-x11-0 mozc-data mozc-server mozc-utils-gui poppler-data python3-ibus-1.0 qt5-gtk-platformtheme
qttranslations5-l10n qtwayland5 ubuntu-defaults-ja
アップグレード: 0 個、新規インストール: 95 個、削除: 0 個、保留: 0 個。
271 MB のアーカイブを取得する必要があります。
この操作後に追加で 624 MB のディスク容量が消費されます。
続行しますか? [Y/n]
ちょっと不要そうなパッケージも出てきましたが、私は「Y」を入力して言われたとおりにインストールしておきました。
これで日本語関係のパッケージは軒並み入ったようですが、オンラインマニュアルのパッケージが入っていなかったので手動で追加しておきました。
sudo apt install manpages-ja manpages-ja-dev
これでひととおりパッケージはインストールされたので不要なファイルを削除しておきます。
sudo apt clean
Beep音の消去
細かいことですがデフォルトのままだとしょっちゅうBeep音が鳴って鬱陶しいと思います。
これも消しておきましょう。
echo set bell-style none >> .inputrc
これでいったんUbuntuを終了して、再度起動させればBeep音はなくなるはずです。
まとめ
今回はWindows Subsystem for Linux(WSL2) + Ubuntu 24.04 LTSの最低限の環境整備を行いました。
インストール直後はパッケージの更新等がありますが、比較的少ないステップで、日本語の表示等が行えるようにできます。
以前、WSL1でDebianを使うときより楽だったような気がします。
次回はWindows Subsystem for Linuxのターミナル画面を設定します。
コメント