BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース DebGem:Debian向けRuby Gems

DebGem:Debian向けRuby Gems

Linuxシステムにおいては、たいていパッケージ管理システム経由で、すべてのインストール済みソフトウェアを管理する。たとえばDebianおよびUbuntuのAPT(リンク)もしくはRedHatのRPM(リンク)のような具合である。その一方で、多くのプログラミング言語は、 RubyのGemsやPythonのEggsのようなソフトウェアをインストールしたりアップデートしたりするための独自のツールセットを装備している。 ソフトウェアデベロッパであるDiego Petteno氏が以下のように詳細に(リンク)説明している(リンク)。確実にこれは、パッケージマネージャのサービスを提供しないシステムを稼動することの意味を成すが、 またLinuxシステム上におけるさまざまな不都合の原因となる。なぜなら「システムの標準化パッケージマネージャから制御を奪う」からである。

Ruby Enterprise EditionおよびPhusion Passenger(別名、mod_rails)を支援している企業である、Phusion(リンク)は、たいていのGemに対しAPTリポジトリを提供すること で、行き詰ったシステム管理者にソリューションを提供する。たとえばRMagickのようなGemをインストールすることは、apt-get install librmagick-rubyをタイプするくらい単純であり、libmagick10のようなすべての依存性と一緒にインストールされる。

現在DebGemは、公開されている無償のベータであるが、パッケージが十分な質を確保すれば有償になる(リンク)計画がある。PhusionのHongli Lai氏およびNinh Bui氏にインタビューし、DebGemの動作方法について聞いた。

一部プロセスが自動化されていると言える。われわれはプログラマなので、これは驚きにはあたらない。自動化された変換システムを記述するには、かなり大変である。しかしながら、すべてのあらゆるものが自動化可能というわけではない(すべてのgemが、明確に変換されるわけではない)。そのため、手で例外を指定する必要がある。これらの例外のテスト同様に発見もまた、手動で実行される。われわれは、仮想マシンという名の軍隊で身を固めている。さまざまな分散やプラットフォームでコンパイルしたり、テストするためである。非常に多くのGem(約25,000)があるので、複数のマシンで並行して処理をおこなったとしても、変換プロセスが完了するには数時間を要する。結果のパッケージをサーバへアップロードするには、数時間かかる。全般的に見て、それはつまらないことではなく、時間がかかる上に、定期的にメンテナンスをする必要がある。

他のパッケージマネージャをサポートする計画はあるか?

現在、他のパッケージ管理システムをサポートする計画はないが、それに対する需要が高まれば再検討するであろう。

DebGemおよびRuby Enterprise Edition間にはなんらかの関係があるのか?

DebGemは、Ruby Enterprise Editionと何の関係もない。しかし、われわれの長期計画の1つには、REEに対してDebGemパッケージをコンパイルすることがある。これが、つまらないことではない理由はさまざまある。そういうわけで、われわれはまだおこなっていない。

そういうわけで、DebGemが根本問題に対するソリューションではないのだが、可能性のある次善策のようであるし、管理者を満足させるかもしれない。詳しくは、DebGemのWebサイト(リンク)にアクセスするか、よくある質問(リンク)を参照のこと。

 

原文はこちらです:http://www.infoq.com/news/2009/01/debgem

この記事に星をつける

おすすめ度
スタイル

BT