DebianをWindows10上で動かす その2: 環境の整備

2019/04/13 更新

Windows10 バージョン1809 (October 2018 Update)で再インストールしたので、それに合わせて記事を見直しました。

前回はWindows10のPCにWindows Subsystem for Linux (WSL)を使ってDebian GNU/Linuxをインストールしたことを紹介しました。

今回はこのDebian GNU/Linuxの環境を整備していきたいと思います。

Debian GNU/Linuxのアップデート

Linuxをインストールしたあとはパッケージの状態を最新に更新することをお勧めします。

ただ、デフォルトに取得するパッケージはちょっと少ないので/etc/apt/sources.listを下記のように変更します。

まずsudoコマンド経由でviを起動して/etc/apt/sources.listを編集します。

$ sudo vi /etc/apt/sources.list

sudoコマンドを実行するとパスワードを聞かれますが、現在使っているLinuxアカウントのパスワードを入力します。

viが起動したらsources.listを次のように編集します。

deb http://deb.debian.org/debian stretch main contrib non-free
deb http://deb.debian.org/debian stretch-updates main contrib non-free
deb http://security.debian.org/debian-security/ stretch/updates main contrib non-free
deb http://ftp.debian.org/debian stretch-backports main contrib non-free

各行の後ろに「contrib non-free」をつけただけです。

あとはパッケージ一覧のデータベースを更新します。

$ sudo apt-get update
Get:1 http://security.debian.org/debian-security stretch/updates InRelease [94.3 kB]
Ign:2 http://deb.debian.org/debian stretch InRelease
Get:3 http://deb.debian.org/debian stretch-updates InRelease [91.0 kB]
Get:4 http://ftp.debian.org/debian stretch-backports InRelease [91.9 kB]
Get:5 http://deb.debian.org/debian stretch Release [118 kB]
Get:6 http://deb.debian.org/debian stretch Release.gpg [2,434 B]
Get:7 http://security.debian.org/debian-security stretch/updates/main amd64 Packages [484 kB]
Get:8 http://security.debian.org/debian-security stretch/updates/main Translation-en [215 kB]
Get:9 http://security.debian.org/debian-security stretch/updates/contrib amd64 Packages [1,760 B]
Get:10 http://security.debian.org/debian-security stretch/updates/contrib Translation-en [1,759 B]
Get:11 http://security.debian.org/debian-security stretch/updates/non-free amd64 Packages [1,600 B]
Get:12 http://security.debian.org/debian-security stretch/updates/non-free Translation-en [691 B]
Get:13 http://deb.debian.org/debian stretch-updates/main amd64 Packages [11.1 kB]
Get:14 http://deb.debian.org/debian stretch-updates/main Translation-en [11.1 kB]
Get:15 http://deb.debian.org/debian stretch/main amd64 Packages [7,084 kB]
Get:16 http://ftp.debian.org/debian stretch-backports/main amd64 Packages [591 kB]
Get:17 http://deb.debian.org/debian stretch/main Translation-en [5,384 kB]
Get:18 http://ftp.debian.org/debian stretch-backports/main Translation-en [456 kB]
Get:19 http://ftp.debian.org/debian stretch-backports/contrib amd64 Packages [11.1 kB]
Get:20 http://ftp.debian.org/debian stretch-backports/contrib Translation-en [7,540 B]
Get:21 http://ftp.debian.org/debian stretch-backports/non-free amd64 Packages [33.1 kB]
Get:22 http://ftp.debian.org/debian stretch-backports/non-free Translation-en [38.0 kB]
Get:23 http://deb.debian.org/debian stretch/contrib amd64 Packages [50.9 kB]
Get:24 http://deb.debian.org/debian stretch/contrib Translation-en [45.9 kB]
Get:25 http://deb.debian.org/debian stretch/non-free amd64 Packages [78.3 kB]
Get:26 http://deb.debian.org/debian stretch/non-free Translation-en [80.3 kB]
Fetched 15.0 MB in 8s (1,860 kB/s)
Reading package lists... Done

エラーがないことを確認して更新されたパッケージをインストールします。

$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages will be upgraded:
  base-files gnupg gnupg-agent gpgv libc-bin libc-l10n libc6 libssl1.0.2 libsystemd0 libudev1 locales
  multiarch-support perl-base systemd systemd-sysv tzdata udev wget
18 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 17.8 MB of archives.
After this operation, 35.8 kB of additional disk space will be used.
Do you want to continue? [Y/n]

37個のパッケージに更新があるようです。問題がなければ「Y」を入力します。

これで更新のあったパッケージのダウンロードとインストールが開始されます。回線やCPU能力によりますが10分程度かかるかもしれません。

Get:1 http://security.debian.org/debian-security stretch/updates/main amd64 libsystemd0 amd64 232-25+deb9u11 [281 kB]
Get:2 http://deb.debian.org/debian stretch/main amd64 base-files amd64 9.9+deb9u8 [67.4 kB]
Get:3 http://security.debian.org/debian-security stretch/updates/main amd64 systemd amd64 232-25+deb9u11 [2,471 kB]
Get:4 http://deb.debian.org/debian stretch/main amd64 perl-base amd64 5.24.1-3+deb9u5 [1,345 kB]
Get:5 http://security.debian.org/debian-security stretch/updates/main amd64 udev amd64 232-25+deb9u11 [1,115 kB]

(省略)

Setting up libc-l10n (2.24-11+deb9u4) ...
Setting up wget (1.18-5+deb9u3) ...
Setting up gnupg-agent (2.1.18-8~deb9u4) ...
Setting up locales (2.24-11+deb9u4) ...
Generating locales (this might take a while)...
  en_US.UTF-8... done
Generation complete.
Setting up gnupg (2.1.18-8~deb9u4) ...

最後までいったら、もうダウンロードしたパッケージは不要なので削除しておきます。

$ sudo apt-get clean

タイムゾーン

時間を確認して見るとタイムゾーンが「DST」と表示されてしまいます。

$ date
Wed Apr 10 21:03:27 DST 2019

Windowsが日本時間で動いているのならばタイムゾーンは「JST」となるのが正解です。

タイムゾーンを修正するには下記のコマンドを利用します。

$ sudo dpkg-reconfigure tzdata

これで次のような画面がになるので「Asia」→「Tokyo」と選択します。「<OK>」にハイライトを移動させるにはTABキーを押します。

タイムゾーンの選択

これで時間を確認するとJSTとなっているはずです。

$ date
Wed Apr 10 21:04:30 JST 2019

ロケール

デフォルトでは英語ロケールしかサポートしていなくていろいろ困りそうです。

日本語のロケール(ja_JP.UTF-8)用のデータも生成するように設定します。

$ sudo dpkg-reconfigure locales

下記のような画面になったらカーソルキーで「ja_JP.UTF-8」を探し、スペースキーで「*」マークをつけます。

TABキーで<OK>を選択したらリターンキーを押します。

ロケールの選択

次にデフォルトのロケールを聞かれますが「None」のままとしておきます。

デフォルトのロケールの選択

これで日本語のロケールデータが生成されます。

これでLANG環境変数を「ja_JP.UTF-8」にすればコマンド等の出力結果が日本語になります。例えば上で試したdateコマンドの場合は下記のようになります。

$ export LANG=ja_JP.UTF-8
$ export LANGUAGE=$LANG
$ export LC_ALL=$LANG
$ date
2019年  4月 10日 水曜日 21:06:35 JST

問題がなければ、ホームディレクトリの.bashrcに言語の設定を追加しておきましょう。

$ echo export LANG=ja_JP.UTF-8 >> ~/.bashrc
$ echo export LANGUAGE=ja_JP.UTF-8 >> ~/.bashrc
$ echo export LC_ALL=ja_JP.UTF-8 >> ~/.bashrc

日本語環境の導入

デフォルトのままでは日本語に対応したビューワ(lv, less)もはいっていません。

最低限のパッケージはtask-japaneseパッケージを入れると入ります。

$ sudo apt-get install task-japanese
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下の追加パッケージがインストールされます:
  bdf2psf bzip2 fbterm fontconfig-config fonts-dejavu-core laptop-detect libexpat1 libfontconfig1 libfontenc1
  libfreetype6 libgdbm3 libperl5.24 libpng16-16 libx86-1 libxfont1 lv manpages-ja manpages-ja-dev nkf perl
  perl-modules-5.24 psf-unifont rename tasksel tasksel-data ttf-unifont ucf unifont x11-common xfonts-encodings
  xfonts-unifont xfonts-utils xz-utils
提案パッケージ:
  bzip2-doc man-browser perl-doc libterm-readline-gnu-perl | libterm-readline-perl-perl make unifont-bin
以下のパッケージが新たにインストールされます:
  bdf2psf bzip2 fbterm fontconfig-config fonts-dejavu-core laptop-detect libexpat1 libfontconfig1 libfontenc1
  libfreetype6 libgdbm3 libperl5.24 libpng16-16 libx86-1 libxfont1 lv manpages-ja manpages-ja-dev nkf perl
  perl-modules-5.24 psf-unifont rename task-japanese tasksel tasksel-data ttf-unifont ucf unifont x11-common
  xfonts-encodings xfonts-unifont xfonts-utils xz-utils
アップグレード: 0 個、新規インストール: 34 個、削除: 0 個、保留: 0 個。
24.5 MB のアーカイブを取得する必要があります。
この操作後に追加で 87.1 MB のディスク容量が消費されます。
続行しますか? [Y/n]

87MBほど消費するようです。

fbtermとかx11系のパッケージとか不要そうなのもありますが、とりあえず「Y」を選択してインストールしてしまいます。

これでman(オンラインヘルプ)のデータが入ったのですが、肝心のmanコマンドがないのでこれもインストールしておきます。

$ sudo apt-get install man-db

テキストファイルを閲覧するソフトとして「lv」が入ったので、これをデフォルトで使うように設定しておきます。

$ export PAGE=lv
$ export MANPAGE=lv

これでオンラインマニュアルを見ると日本語でちゃんと表示されるはずです。

日本語化されたman

問題なければこの設定も.bashrcに追加しておきましょう。

$ echo export PAGE=lv >> .bashrc
$ echo export MANPAGE=lv >> .bashrc

Beep音の消去

細かいことですがデフォルトのままだとしょっちゅうBeep音が鳴って鬱陶しいと思います。

これも消しておきましょう。

 $ echo set bell-style none >> .inputrc

これでいったんDebianを終了して、再度起動させればBeep音はなくなるはずです。

まとめ

今回はWindows Subsystem for Linux + Debian GNU/Linuxの最低限の環境整備を行いました。

日本語のファイルも見ることができるようになった(編集には問題ありますが)ので、これで一通りは使えるようになったと思います。

次回はWindows Subsystem for Linuxのターミナル画面をなんとかしたいと思います。

『DebianをWindows10上で動かす その2: 環境の整備』へのコメント

  1. 名前:Windows Subsystem for Linux にDebianをインストール | AquaNet IT Business 投稿日:2018/04/11(水) 16:07:22 ID:d8e2e8ae7 返信

    […] *この項目に関して「メモ置き場のブログ」を参照させて戴きました。詳細に書かれています。   […]