#突然ですが、Rを始めます!・・
MemSQLの検証を進めて行く中で、ZoomdataやExcel(MySQLのフリで)との連携が確認出来ましたので、その次のネタとしてMySQLのフリをさせて連携可能と思われる、深度解析系のエンジンとして有名なRを少し弄ってみることにします。(RはAIや機械学習にも応用が可能と聞いていますので・・・)
##さて、何に入れようか・・・・・
R自体は有名なモノなので、公開されているホームページ経由で無償利用が可能なパッケージをダウンロードしてくれば、さほど問題なく使えるようになるだろう・・・・と、極めて短絡歴な発想からこの取り組みが始まり、まずはその環境を構築する環境整備からスタートしました。
###物理or仮想??
まずは、今回の壮大なプロジェクトの為の入れ物を決める必要があります。プラットフォームとしては、物理環境に直接行くのか、何かの仮想環境にを決めなければなりません。既にMemSQLやZoomdataで既に幾つかのmade in 秋葉原システムは塞がっていますし、その他のマシンも既に別の検証用にリザーブされている状況・・
どうしたものか・・・
そうだ!Chromebookに仮想的にLinuxを導入出来る様な話を聞いた事が有る!
という極めて短絡的&衝動的な思い付きで、この基本のプラットフォーム構築を始める事にしました。実際、今回の利用状況を考えた場合に、通常のメール・プレゼン等の業務をクラウド連携させたChromebookで行い、あれこれ弄りながら、最悪環境の総取り換えも可能な環境を構築し、年明け以降の状況を鑑みて作業を持ち歩ける状態前提のChromebook裏側に構築すれば・・・・##スタバとかでも作業ができる##・・・という事もあり(自己中心的な働き方改革。。)即断即決で環境構築の準備に入った次第です。
###今回のChromebook
引っ張り出してきたのが、**液晶画面”だけで”**選んだGoogleさんのご謹製Chromebook(と言われている)、2015年モデルのPixcel Bookで、スペック的にも”なぜこれでChromebook?”と当時驚いた構成(m7、16GBメモリ・・でもSSDは64GB・・)だったので、彼に最後のご奉公を御願いする事にしました。
##まずは事前の準備・・・
環境は基本的にクラウド上に有るので、最初に情け容赦なく開発者モードに切り替えます。この方法は他の数多くの先人の皆様の、血と汗と涙のレポートがネットの数多く上がっていると思いますので、その方法を順番道理に行えば、禁断の開発者(デベロッパーズ)モードに到達出来ると思います。(開発者モードに入る為の事前作業や、モード変更以後の作業は自己責任でお願い致します)
ここでの、重要なポイントはモード切替後には、最初にCtr+Dで入る!という事なので、この呪文は絶対に忘れないようにしておいてください。(見慣れない画面で立ち上がってきますが、これは責任所在(以降は自己責任で・・)という話を明確化する為の踏み絵みたいなモノだと思います)
##さて仮想化を・・・・
次に切り替えで通常Chromebook利用と、今回導入するLinux+R環境を混在させる方法ですが・・・・最近のChromebookではLinux環境のサポートに対する垣根が非常に下がってきていると聞いていましたので、その方向から・・・もしかして・・・サクッと!と考えていたのでですが、無残にも今回持ち出してきたChromebookで実施するのは難しい。。という事が判明しました・・・
おいおい、このハードウエア仕様で御社ご謹製で・・・と正直少し心が折れかけたのは事実ですが、Rを習得する!という僅かな情熱の残り火と”きっと誰かが同じ様な事を・・”に望みを掛けて、想定キーワードを総動員して先人の経験談をネットで調べたところ、croutonなる仮想(?)環境が存在し、その環境にLinuxを立ち上げてRを構築すれば・・・という希望の灯りの存在に出会う事が出来ました。
##croutonとLinuxの導入
この環境の導入は、Chromebook界では非常に有名な方法だと聞いていますので、既に多くの諸先輩方のレポートがネットに上がっていると思います。ですので、今回は前述のハードウエアに対して、単純にどのコマンドをどの順番で入力して、当初目的のRが使える環境に到達したか?!のみにフォーカスした備忘録的な報告とさせて頂ければ幸いです。
####(0)croutonのダウンロード
開発者モードでChromebookに入ったら、(黄色の!マークが出た所でCtrl+d)下記のリンクからcroutonのパッケージをダウンロードします。
標準でDownloadsフォルダに入ると思いますので、Ctrl + Alt + tでターミナルを開いてプロンプトでshellと入力してモードを変更します。(ここでエラーが出た場合は、正常に開発者モードに切り替わっていないので、再度そこから作業を行ってください。
あと、この段階でパスワードと暗号化のキー情報の設定が要求されると思いますので、適宜それらに対応しておいてください(これらの情報は、以降のLinux環境立ち上げの際に確認される情報になります)
####(1)Linux環境で何が選択できるか?の確認
ここは、実は今回の作業でも非常に重要なポイントでした。croutonで今何かOSとして選択できるのか?は、ある意味その後の全ての作業を左右する情報になりますので、まずは最初にその情報を確認する必要があります。
sudo sh ~/Downloads/crouton -r list
で、そのタイミングでサポートされているLinuxのコードネームが出てきますので、その中からサポート対象の物を選んでください。(このレポート作成時点ではubuntu系でxenialが有りましたので、それを導入する事にします)
実際の導入に関しては、諸先輩の経験を最大限に使わせて頂くという事で、幾つかのパターンを試したところ最終的にこの記述で綺麗に収まりました。
sudo sh -e ~/Downloads/crouton -r xenial -t xfce-desktop,keyboard,touch,audio,extension,chrome -e
参考URL:
https://qiita.com/toumasuxp/items/f7c10ab2b9405aa3170d
####(2)無事に導入出来た後の作業
導入作業は、結構長い時間が掛ると思いますので、暫くの間はひたすら設定作業を待ち続けるしかありません。
無事に導入が終わると、ログインID,パスワード等の設定があると思いますので、それらを粛々と処理して頂けば”最初の”環境を手に入れる事が出来ると思います。
此処まで来れば、あとはLinuxのデスクトップを立ち上げて、ターミナルウインドウから”よく見る”作業をこなしていくだけになります。
Chromebook側で先ほど立ち上げたターミナル経由で
sudo startxfce4
正常に導入されていれば、画面が変わってLinuxのデスクトップが出てくると思います。
そのデスクトップ上でターミナルウインドウを開き、お約束のLinux環境に関する更新作業を行います。
sudo apt update
sudo apt upgrade
・・・・さて、冷静に仮面を見ると・・・はい!この状況の場合、デスクトップは英語環境になっていますので、以下の手順で日本語環境を導入していきます。
sudo apt -y install language-pack-ja
sudo update-locale LANG=ja_JP.UTF8
この作業が終わると、日本語言語パックやロケール設定が日本になりますので、導入を進めているLinux環境を再起動します。
この際の留意点としては、一旦crouton環境を抜けてしまいますので、再度Chromebook側のターミナルから・・
sudo startxfce4
で起動するようにしてください。
sudo dpkg-reconfigure tzdata
sudo apt -y install manpages-ja manpages-ja-dev
この作業でタイムゾーン(順調に導入されている場合は、既に設定されているかと)や残りの日本語マニュアル環境が構築出来るかと思います。
無事に日本語化が出来たようですね。
##いよいよR環境の導入
今回crouton環境に導入したubuntuのバージョンに合わせたRを選択します。今回のLinuxがubuntuのxenialですので・・
xenial:ubuntu16.04
という情報がネット経由で出てきましたので、取り急ぎこのバージョンに適合できるRのパッケージを探します。場所はミラー情報が出ている
から、日本のサイトで選択して
https://cran.ism.ac.jp/bin/linux/ubuntu xenial/
を今回のダウンロード元にしました。
####まずは、お約束の作業から・・・
まず初めに、
/etc/apt/sources.list
ファイルに以下の1行を追加します。
deb https://cran.ism.ac.jp/bin/linux/ubuntu xenial/
お約束のgpg系の設定を行います。
gpg --keyserver keyserver.ubuntu.com --recv-key E084DAB9
gpg -a --export E084DAB9 | sudo apt-key add -
必要な環境を導入します。
sudo apt-get update
sudo apt-get install r-base
無事に導入が終了すると、ターミナル上からRを入力するとRの基本エンジンが立ち上がってきます。
このままでも基本的な捜査は出来ると思いますが、今後の展開を鑑みて少し高度な事が出来る環境にしておきます。
sudo apt-get install r-base-dev
この操作は、既に前述のr-baseの導入で必要な環境をインストール済みのメッセージが出て、何も処理が行われずに終了する可能性もありますが、念のため確認の意味も込めて作業を行います。
無事にRも動き出した様です。
##Rstudioの導入
基本的には、此処までのステップでRの検証環境が動き始めると思いますが、今回はその後の展開を想定して、Rstudioを導入しておく事にします。
####最初にgdebiの導入
インストールには、gdebiを使いますので、事前にこの環境を導入しておきます。
sudo apt-get install gdebi-core
Rstudioの最新情報を確認して、下記のコマンドを入力します。本レポート作成のタイミングでは、rstudio-1.2.5033-amd64.debが最新版でしたので、その情報を使って必要なパッケージを取得します。
wget https://download1.rstudio.org/desktop/xenial/amd64/rstudio-1.2.5033-amd64.deb
無事にダウンロード出来たらgdebiコマンドでインストールします。
sudo gdebi -n rstudio-xenial-1.0.153-amd64.deb
無事にインストールされると、Rstudioも起動出来る様になります。
##crouton上で環境導入に失敗した場合・・・
色々なパターンで環境構築を検証していた際に、何パターンかの失敗モジュールが溜まった状況に遭遇し、この環境を綺麗にする方法は・・・と色々調べたところ(特定のフォルダを強制的に消去するという方法も有るようですが・・)下記のコマンドで上手く回避出来ましたので、参考情報として紹介しておきます。
sudo delete-chroot -a
ポイントは、このコマンドの場合chrootで管理している全ての領域が削除されますので、実行に際しては十分考慮頂くようにお願い致します。(crouton自体が、使わない環境は根こそぎ消して”無かった事にする”という感じみたいですが・・・)
##今後の予定
以上の手順で、crouton経由でubuntu(xenial)が導入され、日本語環境でデスクトップが展開し、RとRstudioを無事に導入する事が出来ました。環境構成によっては、今回のレポート道理に行かないケースも有るかと思いますが、その場合は偉大なる先人の経験を検索して頂いて、適宜修正変更しながら対応するようにお願い致します。
ちなみに、今回構築した環境でのOS間行き来は・・Ctrl+Alt+Shift と通常F1,F2の場所にある矢印キーで行えました。