読者です 読者をやめる 読者になる 読者になる

いろいろやってみるにっき

なんとか自分の会社を立ち上げるところまで漕ぎ着けた、てきとーに生きている奴の日記

関連記事を探すときは、読んだ記事と同じカテゴリをクリックしてください。

記事のカテゴリは記事タイトル下に表示されています。カテゴリ一覧はサイドバーにあります。


Windows 10 Build 14316でbashが動いたので日本語化してみた

Tech Windows 10 仮想化 Linux

ようやくBuild 14316が降ってきた。数日前にBuild 14295で作成したVMである。

f:id:shigeo-t:20160411030046p:plain

 

Build 14316は下記のようにアップデート項目が多岐に渡る。

bashを使って色々やるところまでジャンプする場合はこちら。参考にしたサイトは下記。

なかなかBuild 14316が降って来なくて出遅れたので、上記のサイトでやってみていないことを色々試してみている

 

Build 14316インストールとbashが使えるように設定

うちのVMではダウンロードが完了してから、インストールが終わってOS起動完了まで約40分。ダウンロードは途中目を離していたのでよくわからないが、2時間くらいは掛かった模様。

f:id:shigeo-t:20160411031014p:plainf:id:shigeo-t:20160411031030p:plain

f:id:shigeo-t:20160411031047p:plainf:id:shigeo-t:20160411031105p:plain

f:id:shigeo-t:20160411031127p:plainf:id:shigeo-t:20160411031144p:plain

 

bashを使うためには「設定」─「更新とセキュリティ」─「開発者向け」で、開発者モードにする。

f:id:shigeo-t:20160411031458p:plain

さらに「コントロールパネル」─「プログラムと機能」で「Windows の機能の有効化または無効化」を選ぶ。「Windows の機能」ダイアログが立ち上がる。

f:id:shigeo-t:20160411031641p:plain

Windows Subsystem for Linux (Beta)」にチェックを入れ、[OK]をクリックする。

f:id:shigeo-t:20160411031818p:plain

「変更を適用します」になる。

f:id:shigeo-t:20160411031924p:plain

[今すぐ再起動(N)]をクリックして再起動。

f:id:shigeo-t:20160411032013p:plain

 

再起動後、bashを起動するためにCortanaで検索した。

f:id:shigeo-t:20160411032840p:plain

起動してみると、「Canonicalが作ったよ、続けるならyを押せ」というメッセージが出るので y を押す。なお、これは最初だけで2度目以降は出ない。

f:id:shigeo-t:20160411033446p:plain

設定が始まる。

f:id:shigeo-t:20160411033513p:plain

9分ほどで完了。文字化けしている。いきなり"#"なので、rootユーザなのだろう。

f:id:shigeo-t:20160411033620p:plain

なお、Cortana経由じゃなくてもbashは起動可能。cme.exeでbashと打っても起動する。

f:id:shigeo-t:20160411033940p:plain

 

色々触ってみる

触ってみた順番通りではなく順番を入れ替えて書く。あと、このbashにコピペするのはとても簡単。コピー側は普通にコピーだが、ペーストはbashのウィンドウを選んで右クリックするだけでペーストされる。

日本語化

文字化けしているので日本語でメッセージが出たのだろう。LANG設定しようと思ったので、インストールされているロケールをチェック。

f:id:shigeo-t:20160411034319p:plain

英語しかない。そこで

   # apt-get install language-pack-ja-base language-pack-ja

でインストール。

f:id:shigeo-t:20160411034833p:plain

インストールに際し参考にしたサイトはこちら。

ロケールのインストールが終わったら設定する。

   # update-locale LANG=ja_JP.UTF-8 LANGUAGE=”ja_JP:ja”
   # source /etc/default/locale

f:id:shigeo-t:20160411034950p:plain

 lsで見てみると日本語化されている。

f:id:shigeo-t:20160411035032p:plain

 タイムゾーンの変更

時刻を見てみるとUTCである。そこでJSTに変更した。使ったのは

   # cp -p /usr/share/zoneinfo/Japan /etc/localtime

である。/usr/share/zoneinfo にある地域ファイルを/etc/localtimeとしてコピーしただけ。JSTは/usr/share/zoneinfo/Japanである。

f:id:shigeo-t:20160411035652p:plain

 ネットワークは無さそう

ifconfigを叩いてみるとネットワーク系のスペシャルファイルが無いようだ。ここらへんはずっとネットワーク無しで行くのか、後から追加されるのか。bashからも叩けるネットワーク欲しいな。

<追記 2016/04/12>

オレが古かった。デバイススペシャルファイル - UnixClassWikiによれば、

むかしのLinuxもイーサーネットのデバイスは、もちろんUnix流に /dev/ の下にあるデバイススペシャルファイルで、 デバイスは /dev/eth0 と見えていました。 ところが今日のLinuxはネットワークデバイスに対してはスペシャルファイルとして用意していません。 イーサーネットデバイスのはずである/dev/eth?というのはLinux 2.2以降なくなりました。 理由は単純に1つのイーサーネットのデバイスが、1つのIPアドレスを持つというわけではなくなったからです。 現在はハードウェアに1つのイーサーネットのポートしかなくても、 オペレーティングシステムとして、その1つのポートに複数IPアドレスを割り当てることができます。

無くて当然だった。

あと、apt-getが普通に使えるんだけど、apt-getが動くってことはネットワークが見えているってこと?

</追記>

f:id:shigeo-t:20160411035957p:plain

リンクローカルだけ。

f:id:shigeo-t:20160411041753p:plain

ローカルループはあった。

f:id:shigeo-t:20160411041708p:plain

Cドライブは/mnt/c

Windowsファイルシステムは/mnt/にドライブレターができるようだ。

f:id:shigeo-t:20160411040903p:plain

ユーザ名はLinux

unameで見てみた。

f:id:shigeo-t:20160411041428p:plain

 /etc/passwdを見ると随分ユーザ名が並んでいる。Linuxは無いぞ。

f:id:shigeo-t:20160411042016p:plain

 

今日はこれくらいにしといたる。

入門bash

入門bash

 
bashクックブック

bashクックブック