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

前回は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

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

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

$ 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 bsdutils cron gcc-6-base isc-dhcp-client isc-dhcp-common
  libapparmor1 libblkid1 libc-bin libc-l10n libc6 libdns-export162 libfdisk1
  libgcc1 libisc-export160 libmount1 libncurses5 libncursesw5 libsmartcols1
  libssl1.0.2 libstdc++6 libsystemd0 libtasn1-6 libtinfo5 libudev1 libuuid1
  locales mount multiarch-support ncurses-base ncurses-bin sensible-utils
  systemd systemd-sysv tzdata udev util-linux
37 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 19.1 MB of archives.
After this operation, 44.0 kB disk space will be freed.
Do you want to continue? [Y/n]

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

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

Get:1 http://security.debian.org/debian-security stretch/updates/main amd64 bsdutils amd64 1:2.29.2-1+deb9u1 [112 kB]
Get:2 http://deb.debian.org/debian stretch/main amd64 base-files amd64 9.9+deb9u4 [67.3 kB]
Get:3 http://deb.debian.org/debian stretch/main amd64 ncurses-bin amd64 6.0+20161126-1+deb9u2 [366 kB]

(省略)

Setting up locales (2.24-11+deb9u3) ...
Generating locales (this might take a while)...
  en_US.UTF-8... done
Generation complete.
Setting up libdns-export162 (1:9.10.3.dfsg.P4-12.3+deb9u4) ...
Setting up isc-dhcp-client (4.3.5-3+deb9u1) ...
Processing triggers for libc-bin (2.24-11+deb9u3) ...
W: APT had planned for dpkg to do more than it reported back (185 vs 190).
   Affected packages: bsdutils:amd64 util-linux:amd64

微妙にエラーが出たりしますが、とりあえず最後までいったら、もうダウンロードしたパッケージは不要なので削除しておきます。

$ sudo apt-get clean

タイムゾーン

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

$ date
Tue Mar 27 01:57:52 DST 2018

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

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

$ sudo dpkg-reconfigure tzdata

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

タイムゾーンの選択

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

$ date
Tue Mar 27 02:03:27 JST 2018

ロケール

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

日本語のロケール(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
2018年  3月 27日 火曜日 02:18:49 JST

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

$ 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 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 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 個、新規インストール: 33 個、削除: 0 個、保留: 0 個。
24.5 MB のアーカイブを取得する必要があります。
この操作後に追加で 87.0 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 返信

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