【オンラインRPG】転生したらビヨンドのインターンだった件

【オンラインRPG】転生したらビヨンドのインターンだった件

【導入実績300社以上】AWS 構築・運用保守サービス

【導入実績300社以上】AWS 構築・運用保守サービス

【CMS】WordPress専用 クラウド / サーバー『WebSpeed』

【CMS】WordPress専用 クラウド / サーバー『WebSpeed』

【100URLの登録が0円】Webサイト監視サービス『Appmill』

【100URLの登録が0円】Webサイト監視サービス『Appmill』

【コミュニケーションアプリ開発】LINE アプリ開発サービス

【コミュニケーションアプリ開発】LINE アプリ開発サービス

【ECアプリ開発】Shopify カスタムアプリ開発サービス

【ECアプリ開発】Shopify カスタムアプリ開発サービス

【音声アプリ開発】Twilio アプリ開発サービス

【音声アプリ開発】Twilio アプリ開発サービス

【グローバル対応】北米リージョン・クラウド / サーバー サポート

【グローバル対応】北米リージョン・クラウド / サーバー サポート

【CPU】AMD EPYC CPU サーバー 技術検証(PoC)サービス

【CPU】AMD EPYC CPU サーバー 技術検証(PoC)サービス

【Webシステム / サービス開発】SEKARAKU Lab(セカラクラボ)

【Webシステム / サービス開発】SEKARAKU Lab(セカラクラボ)

【取材記事】サーバーサイド・バックエンドエンジニアを募集中

【取材記事】サーバーサイド・バックエンドエンジニアを募集中

【YouTube】ビヨンド公式チャンネル「びよまるチャンネル」

【YouTube】ビヨンド公式チャンネル「びよまるチャンネル」

評価版のBash on Ubuntu on Windowsを試してみる

こんにちは。
開発チームのワイルド担当、まんだいです。

今夏最大のトピックは、Windows10でのBashサポートだと個人的には思っているのですが皆さんはいかがでしょうか。

Build 2016で発表されて以来、大した情報もなくてどうなんだろうと思っていたら、Windows10のプレビュー版をインストールすることで開発中のBashが試せるということで早速試してみましたのでレポートしたいと思います。


 

プレビュー版がインストールされる環境に設定する

通常のWindows10環境では正式版がインストールされるまで待つことになるので
LAVIE Hybrid ZEROでいち早くBash on Ubuntu on Windowsを体験する | デジタル生活部の記事を参考に、Windows Insider Previewプログラムへ参加手続きを行います。
細かい設定等はリンク先の情報を全面的に信用して設定するとうまくいきました。

実際最新版の開発者プレビューが案内されるまで数日掛かると書いてありましたが
なんと次の日最新版の開発者プレビューへのアップデート通知が来たのでびっくりしました。

幾度か再起動を繰り返すと、無事インストールが完了しました。

insider_preview_version

 

Please enter a UNIX user nameで悩む

いざbashを起動するぜということで、Windowsキーを押して「bash」と入力すると、「Bash on Ubuntu on Windows」という文字が!
起動すると、コマンドプロンプトとなんら変わらないコンソール画面が表示されます。

ただ、日本語環境は中途半端で、文字化けしまくっていて何が書いてあるのか分からず、「Please enter a UNIX user name」という表記で悩みました。

bash_01

結論から言うと

rootと打つとノンパスでログインできる!

ということでした。まぁ、プレビュー版ですしね。
細かいことは気にしないで行きましょう。

 

windowsのCドライブは/mnt/c以下にマウントされている

なんだかディレクトリ構成がキモチワルいですね。
/mnt/cがCドライブだったら、/ は一体どの位置にあるんだ?という疑問は尤もだとおもいますが、プレビュー版ですしね。

rootの割にはDocuments and Settings以下にはアクセスできないスーパーユーザーぶり(Permission denied)です。

 

ファイル名が日本語のものはlsすると途中で切れる

全般的にですが、全般的にマルチバイト文字のサポートは未実装のようです。
dfコマンドも上手く動いておらず、確認できません。
カーネルはLinuxではないので仕方ないのでしょうか。
この辺りも色々見えるようになると、かなり便利ですね。

 

psを打つとほとんどプロセスが動いていない

psコマンドにタスクマネージャのような機能を期待してはいけません。
Bash環境とWindows環境は完全に別で管理されているようです。

ps_aux

 

実際どこまでできるのか

それでは、今の段階でどの程度まで使えるものなのか、幾つかソフトウェアをインストールしてみました。

 

ssh

リモートホストへのアクセス可能。鍵を使った認証も問題なく動作しました。

 

sed

デフォルトでインストール済み。問題なく動作します。

 

awk

デフォルトでインストール済み。問題なく動作します。

 

vi

デフォルトでインストール済み。問題なく動作します。

 

top

デフォルトでインストール済み。動作しますが、PID以外の情報は取れていません。

bash_2

 

grep

デフォルトでインストール済み。問題なく動作します。

 

wget

デフォルトでインストール済み。問題なく動作します。

 

curl

デフォルトでインストール済み。問題なく動作します。
FTPなどのHTTP以外の通信は未テストなので要注意。

 

ping

デフォルトでインストール済み。
「ping icmp open socket: Socket type not supported」という表示が出て、pingを送信する事はできない。

ping

 

netstat

デフォルトでインストール済み。問題なく動作します。
ただし、ソケット通信はできないのが原因なのか、何も表示されず。

 

シェルスクリプト

bash、dashが用意されています。
ちなみにubuntuからの移植なので、/bin/shは/bin/dashへのシンボリックリンクになっています。(この辺りはUbuntuと同じ)

 

apache

インストールはできたけど動かず。
ソケットがうまく作れない的なエラーで起動できず。

apache2_start

 

PHP

apt-get install php5

 
でインストール可能。
php5-curlなどもapt-getからインストール可能なので、コマンドラインツールなら問題なく動作しそう

 

コンソールからメールを配信してみる

mailコマンドがインストールされていないので、以下のコマンドでインストール。

apt-get install mailutils

 
ただ、mailコマンドは上手く動かず。

 

mysql

以下のコマンドでインストール可能。

apt-get install mysql-server

 
動く!(それも普通に)

ただし、以下のエラーが表示される。

/etc/init.d/mysql start
df: Warning: cannot read table of mounted file systems: No such file or directory
/lib/lsb/init-functions.d/50-ubuntu-logging: line 5:    46 Aborted                 (core dumped) plymouth --ping > /dev/null 2>&1
 * Starting MySQL database server mysqld                                                                                /lib/lsb/init-functions.d/50-ubuntu-logging: line 5:   485 Aborted                 (core dumped) plymouth --ping > /dev/null 2>&1
                                                                                                                 [ OK ]
 * Checking for tables which need an upgrade, are corrupt or were not closed cleanly.

mysql_start

 

まとめ

curlやwgetが普通に動くのにはびっくりですが、apt-getでソフトウェアをインストールできるのを考えると、TCP/IP通信はできるレベルなのかと。
ただ、pingコマンドが使えないのは驚きでした。
普段何気なく使っているコマンドが、どのように動いているかわかっていないのがバレましたね。

MySQLが普通に動いているのには衝撃を受けました。
ただ、MySQL serverの起動時にエラーが出ているので完全な動作は期待できないかも知れません。
stop → startした後もデータは残っていましたし、PCの電源を落としてもデータは残っていたので一応は動いているようです。

この調子だと、コンソールからPHPとMySQLを連携させたツールなどは動くような気もしています。
ただ、my.cnfに書かれているソケットファイルは生成できていないし、netstatを見ても3306ポートを掴んでいる形跡はありません。
エラーログもバンバン出ているので、動作はかなり不安定なんだろうというのは推測できます。

 

今できそうなこと

簡単なバッチ処理の確認? いやいや、まだテストできる環境でもありません。SSHがcygwinやgit bash不要でできるようになったくらいでしょうか。
MSP的な立ち位置からbash on Ubuntu on Windowsを使うのは、監視用途で確認作業がLinuxと同じようにできるくらいなのかと思いますが、それすらできていない現状では、評価は難しいですが、大きな一歩だと思います。
うまく動くようになれば、Windowsの監視方法をガラリと変えることになりそうです。

 
以上です。

この記事がお役に立てば【 いいね 】のご協力をお願いいたします!
0
読み込み中...
0 票, 平均: 0.00 / 10
62
facebook twitter はてなブックマーク
【オンラインRPG】転生したらビヨンドのインターンだった件【プレイ無料】

【オンラインRPG】転生したらビヨンドのインターンだった件【プレイ無料】

この記事をかいた人

About the author

萬代陽一

ソーシャルゲームのウェブ API などの開発がメイン業務ですが、ありがたいことにマーケティングなどいろんな仕事をさせてもらえています。
なおビヨンド内での私の肖像権は CC0 扱いになっています。