まだプログラマーですが何か?

プログラマーネタとアスリートネタ中心。たまに作成したウェブサービス関連の話も http://twitter.com/dotnsf

「iPhone でゲームボーイアドバンスのゲームがプレイできる」というフレコミの GBA4iOS というアプリのバージョン 2.0 がリリースされた、というニュースがありました。

いわゆる「エミュレータ」というやつで、ここでその是非についてコメントするつもりはありません。脱獄した iPhone 向けには以前から提供されていたもので、その意味では特別目新しいニュースでもありません。

が、今回ちょっと気になったのは、「脱獄不要である」という点です。脱獄不要ということは、そのアプリは App Store からダウンロードするということ? アップルがそんなアプリの審査通すの? と。

といった好奇心から、自分でもこのアプリをインストールしてみました。結論としては確かに iPhone にネイティブアプリとしてインストールできているようです。
2014022102


でも導入時に App Store は経由してません
。当たり前だよな、Apple がこんなの許可するわけがない。また(この機種に限ってはw)脱獄もしてません。 アプリ開発者が App Store を経由せずにテストアプリを導入する方法はあるんですが、その場合は電話番号とか iPhone の UDID とかを入力する面倒な手間があります。今回はそういうのも聞かれてないので、ちと違う気がする。 一体どういうこと?? どこからどんな仕組みでこのアプリはインストールされたんだ??


で、他の作業で VPN の設定とかをしていてふと気付いたのが、設定 - 一般 - プロファイル の中に「プロビジョニングプロファイル」として GBA4iOS という、そのまんまの名前のプロファイルが追加されていました。これは??
2014022101


・・・プロビジョニングプロファイルか、ああ、なるほど。分かった気がする。おそらく、以前にちょっと話題になった「iOS デベロッパーエンタープライズプログラムに抜け穴があった」という件に関係してるんだろう。

要は、自社とか特定の企業向けにアプリケーションを提供したい、という企業に対して、Apple はその企業専用のミニ App Store もどきを用意できるようにして、そこから特定ユーザーだけにアプリケーションをインストールさせる、というのが iOS デベロッパーエンタープライズプログラムです(詳しくはこちら)。そこにセキュリティホールというか抜け道があった、というものでした。それを応用(?)して制約なしに誰もがそのミニ App Store もどきを使えるようにしたんだろうな。 
念のため補足すると、このデベロッパーエンタープライズプログラムは契約時に利用条項に同意する必要があり、その中で不特定多数に向けてアプリを提供することは禁止されているので、Apple にすれば「契約違反」ということになるんでしょう。ただその抜け道の存在は想定外だったのだろうな、と。

その後もイタチごっこのような状況が続いていますが、今回の GBA4iOS 2.0 がリリースされた所をみると完全に防ぐのが難しい、ということなのかもしれません。



 

Cybozu Office 10 を Linux にインストールした時に躓いた所を記載しておきます。

基本的にはインストールマニュアルに書いてある通りに進めたつもりでした。OS(CentOS) をインストールして、Apache HTTPD サーバーを導入して起動しておいて、でダウンロードしたインストールモジュールを実行。これだけでインストールできるはず。


やってみると実行直後にこのようなメッセージが表示されます。ここは Y を選択。
cbo_01

その直後にこのようなエラーメッセージが表示されて、プロンプトが戻ってしまいます。
cbo_02


「GLIBCのバージョンを検出できませんでした。」とな・・・
一応、Cybozu 的には動作環境として「GLIBC 2.5 以上」を挙げています。
で、このサーバーに入っている GLIBC のバージョンは 2.12 。なので問題はないはず・・・

色々調べてもよく分からず、念のため無理やり GLIBC 2.5 へダウングレードしたりもしたけど、状況は変わらず。うーん・・・もうちょっとヒントがあればなあ・・・・・



・・・で、偶然気付いたのですが、このターミナルの画面のスクロールバーを上にあげてみると・・・
cbo_07

なんと隠れていたエラーメッセージ発見!
cbo_03

"/lib/ld-linux.so.2: bad ELF interpreter" ってエラーメッセージは以前に遭遇したことがあるのですぐに原因がわかりました。インストール前提に ld-linux.so.2 ライブラリが必要なんだけど、それがない場合に表示されるエラーです。

というわけで、サクっと ld-linux.so.2 をインストール:
# yum install ld-linux.so.2

再度インストーラーを実行。すると今度は先に進み、試用許諾契約画面へ。
cbo_04

インストール開始~
cbo_05

で、無事インストールできました、と。
cbo_06


インストールマニュアルのどこかに書いといてほしい。




 

前回は MySQL の導入について紹介したので、今回は MariaDB を紹介します。

MariaDB は MySQL 互換の RDB です。WordPress などの、MySQL を前提としたアプリケーションも MariaDB を使って動かすことができます。


MariaDB にも言えることですが、MySQL もコミュニティエディションは無料で使うことができるオープンソースのデータベースサーバーソフトウェアです。では MariaDB の存在意義はどこにあるのでしょう?

もともとコミュニティの中で成熟してきた MySQL は後に Sun Microsystems に買収され、そして現在は Oracle の下にあります。この「先が見えない」状態をよしと思わない、MySQL 開発者を中心とした有志によって、新たに開発が進められている MySQL の互換DB、それが MariaDB です。

稼働実績も増えてきており、例えば英語版およびドイツ語版 Wikipedia では MySQL から MariaDB に切り替えられています。また Fedora 19、Open SuSE 12.3、RHEL 7 などのメジャーな Linux ディストリビューションでも搭載 DB が MySQL から MariaDB に変更されています。


では CentOS への MariaDB のインストール手順を紹介します。現在の CentOS 6.x ではまだ標準 DB は MySQL であり、そのまま yum でインストールできるわけではありません。

まずは MariaDB をインストールするための PGP Key をインポートします:
# rpm --import https://yum.mariadb.org/RPM-GPG-KEY-MariaDB

またリポジトリ設定を自分の環境にあった内容で編集します(以下は MariaDB 10.0.8 を CentOS 6.x の x86_64 向けにインストールするための設定):
# vi /etc/yum.repos.d/mariadb.repo

[mariadb]
name=MariaDB
baseurl=http://yum.mariadb.org/10.0.8/centos6-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
enabled=1

ここまでの準備ができると yum で MariaDB をインストールできるようになります:
# yum -y install MariaDB-devel MariaDB-client MariaDB-server

インストールが完了したら MariaDB を起動します。MySQL のデーモン名は mysqld でしたが、MariaDB では mysql になっています:
# /etc/init.d/mysql start
Starting MySQL. SUCCESS!

インストールはこれだけ。インストールの後のセットアップは MySQL でのケースとほぼ同じなので省略します。




 

このページのトップヘ