2013年9月23日月曜日

Ubuntu12.04LTSにR3.0.1をインストールする

LaunchPad PPA を使用して Mercurial を最新版にしたので、R も Ubuntu12.04LTS 標準の 2.14 系から最新の 3.0 系にアップデートしてみます。CRANAPT ラインを提供していますが、今回はより多くのパッケージをサポート *1 している RutteR を使用します。

LaunchPad PPA リポジトリの追加とインストールの実行

RutteR のページで、登録する APT ラインを確認します。

今回は 12.04LTS なので、以下の2行です。

deb http://ppa.launchpad.net/marutter/rrutter/ubuntu precise main 
deb-src http://ppa.launchpad.net/marutter/rrutter/ubuntu precise main 

以降、Mercurial のインストールと同様の手順で APT ラインの追加およびインストールを実行します。

synapticの「セクション」表示の「GNU R言語」には今回 LaunchPad PPA で追加したパッケージは表示されないようなので、「由来」表示で操作するのが良いでしょう。

これで R3.0.1 および種々のパッケージがインストール出来ました。

*1 例えば Python から R を使うためのライブラリ rpy2 などもサポートしています。ちなみに CRAN の APT ラインがサポートしているパッケージは README で確認できます。

2013年9月22日日曜日

Mercurial:Ubuntu12.04LTSに最新のリリース版をインストールする

生活環境を MacBook から Ubuntu@ThinkPad に切り替えて半年ほど経ちます。Mercurial は、MacOSX では homebrew で最新版を追えていたのですが、Ubuntu 12.04LTS の標準のリポジトリは 2.0 系です。普段の使用では差し迫っての必要はない *1 のですが、活発な開発の恩恵を受けられないのはもったいないので、最新版を追ってみることにしました。

LaunchPad PPAからのインストール

Ubuntu で Mercurial の最新版を追う場合、LaunchPad PPA からのインストールと pip を使用する方法の二通り *2 がありますが、今回は LaunchPad PPA を選びました。*3

apt-get でのインストールは、基本的には /etc/apt/sources.list にリポジトリを追記すればよいのですが、今回は GUI のインターフェースである synaptic を使用します。

イントール済みパッケージの削除

バージョンの確認を兼ねて、インストールされている標準パッケージを削除しておきます。

LaunchPad PPA リポジトリの追加

"Mercurial PPA Packagers" team のリリース版ページで、登録する APT ラインを確認します。

今回は12.04LTS なので、以下の2行です。

deb http://ppa.launchpad.net/mercurial-ppa/releases/ubuntu precise main 
deb-src http://ppa.launchpad.net/mercurial-ppa/releases/ubuntu precise main 

synaptic の [設定] - [リポジトリ] でソフトウェアソースのウインドウを開き、「他のソフトウェア」タブを選択します。

追加ボタンをクリックし、APT ラインを登録します。

sources.list を確認すると、確かに追加されています。

$ grep "mercurial" /etc/apt/sources.list
deb http://ppa.launchpad.net/mercurial-ppa/releases/ubuntu precise main
deb-src http://ppa.launchpad.net/mercurial-ppa/releases/ubuntu precise main
$ 

最新リリース版インストールの実行

「再読込」ボタンでパッケージ情報を更新すると、最新リリース版の Mercurial が表示されます。必要なパッケージを選択して「適用」ボタンでインストールします。

これで最新のリリース版である 2.7 *4 が使用できるようになりました。
$ hg --version
Mercurial - 分散構成管理ツール(バージョン 2.7)
(詳細は http://mercurial.selenic.com を参照してください)

Copyright (C) 2005-2013 Matt Mackall 他
本製品はフリーソフトウェアです。
頒布条件に関しては同梱されるライセンス条項をお読みください。
市場適合性や特定用途への可否を含め、 本製品は無保証です。
$ 

拡張機能を使用する場合の注意

LaunchPad PPA から Mercurial をインストールした場合、拡張機能の apt-get インストールに失敗することがあります。これは標準パッケージとの依存関係を解決できないためです。下記は hgsubversion をインストールしようとした場合のエラーメッセージです。

今回は LaunchPad PPA からインストールしましたが、必要な拡張機能が pip で提供されている場合、Mercurial も含めて全て pip でのインストールを検討した方が良さそうです。


*1 藤原克則氏による「妥当」な Mercurial バージョンの情報によると、2.0.x は『現状でそこそこ妥当な Mercurial の版』であるようです。

*2 もちろん過去エントリのようにソースからの make install も可能です。本気で最新版を追うのであればパッケージ化を待つよりソースからの方が早いですね。

*3 後述のように、Mercurial を LaunchPad PPA からインストールした場合、拡張機能の apt-get インストールに失敗する場合があります。

*4 これを書いている 2013/09/22 時点で既に 2.7.1 がリリースされていますが、LaunchPad PPA には反映されていません。mercurial-ja によると「月例のバグ修正版」とのことなので反映して欲しいところですが、障害修正は2件のみなので必ずしも必要でないかもしれません。