backportsのrubygemsを入れよう

目的のスクリプトがまだ動かない。
newgem (>= 1.2.3)とか言ってくる。
なので入れようとするとrubygemsが古いため入らないらしい。
RubyGems version >= 1.3.1だとさ。

しかしlennyのrubygems
Debian -- Error
を見ると、1.2.0。

ちょろちょろ見ていると、
Debian -- Error
というのがある。
backports?

  • プロジェクト

Debian Backports

testing や unstable から Backport したパッケージを提供している。どんなパッケージが提供されているかは、http://www.jp.backports.org/pool/main/ 以下のディレクトリを参照。
http://debian.fam.cx/index.php?stable#content_1_68

ということは、testingに手を出さなくても良いようにしてくれている、と言うことですね。これを使わせてもらおう。

参考は本山に行くべきか。
http://www.backports.org/dokuwiki/doku.php?id=instructions
でも、他の方の説明の方が分かりやすい。日本語だし。
なのでこの方に従ってみる。

virtualbox に限らず、新しいバージョンが使いたい場合、 backports などのリポジトリを使うと新しいバージョンが入っている場合がある。
まず、backports のリポジトリを追加する必要がある。

http://unicus.jp/jir/archives/163

degas@debian:/etc/apt$ sudo touch sources.list.d/backports.list
degas@debian:/etc/apt$ sudo nano sources.list.d/backports.list 

degas@debian:/etc/apt$ cat sources.list.d/backports.list 
deb http://www.jp.backports.org lenny-backports main contrib non-free
deb-src http://www.jp.backports.org lenny-backports main contrib non-free

debian リポジトリにある 鍵をインストールする。鍵をインストールしないと、そのリポジトリからインストールする度に毎回warningが表示されてしまう。

なので公開鍵をインストールする。

degas@debian:/etc/apt$ sudo aptitude update
(中略)
取得:1 http://www.jp.backports.org lenny-backports Release.gpg [189B]
無視 http://www.jp.backports.org lenny-backports/main Translation-ja
無視 http://www.jp.backports.org lenny-backports/contrib Translation-ja
無視 http://www.jp.backports.org lenny-backports/non-free Translation-ja
取得:2 http://www.jp.backports.org lenny-backports Release [56.1kB]
無視 http://www.jp.backports.org lenny-backports Release
取得:3 http://www.jp.backports.org lenny-backports/main Packages [184kB]
取得:4 http://www.jp.backports.org lenny-backports/contrib Packages [885B]      
取得:5 http://www.jp.backports.org lenny-backports/non-free Packages [2757B]    
取得:6 http://www.jp.backports.org lenny-backports/main Sources [65.2kB]        
取得:7 http://www.jp.backports.org lenny-backports/contrib Sources [436B]       
取得:8 http://www.jp.backports.org lenny-backports/non-free Sources [642B]      
311kB を 8s 秒でダウンロードしました (38.5kB/s)                                 
パッケージリストを読み込んでいます... 完了
W: GPG error: http://www.jp.backports.org lenny-backports Release: 公開鍵を利用できないため、以下の署名は検証できませんでした: NO_PUBKEY EA8E8B2116BA136C
W: これらの問題を解決するためには apt-get update を実行する必要があるかもしれません

現在の状態: 新規が 7714 個 [+187]。
degas@debian:/etc/apt$ sudo aptitude install debian-backports-keyring 
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
拡張状態情報を読み込んでいます       
パッケージの状態を初期化しています... 完了
以下の新規パッケージがインストールされます:
  debian-backports-keyring 
更新: 0 個、新規インストール: 1 個、削除: 0 個、保留: 36 個。
3362B のアーカイブを取得する必要があります。展開後に 49.2kB のディスク領域が新たに消費されます。
警告: 以下のパッケージは信頼できないバージョンがインストールされます!

信頼できないパッケージはシステムのセキュリティを危うくする可能性があります。
自分がこのインストールを望んでいると確信できる場合のみ、インストールを先に進め
てください。

  debian-backports-keyring 

この警告を無視して意地でも先に進みますか?
先に進む場合は "Yes" を、中断する場合は "No" を、入力してください:Yes
拡張状態情報を書き込んでいます... 完了
取得:1 http://www.jp.backports.org lenny-backports/main debian-backports-keyring 2009.02.20 [3362B]
3362B を 0s 秒でダウンロードしました (9018B/s)
未選択パッケージ debian-backports-keyring を選択しています。
(データベースを読み込んでいます ... 現在 54154 個のファイルとディレクトリがインストールされています。)
(.../debian-backports-keyring_2009.02.20_all.deb から) debian-backports-keyring を展開しています...
debian-backports-keyring (2009.02.20) を設定しています ...
OK
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
拡張状態情報を読み込んでいます       
パッケージの状態を初期化しています... 完了
拡張状態情報を書き込んでいます... 完了        

参考サイトには、backportsから自動的に最新版をインストールするようにしておく方法が載っているが、まぁ今回のエラーを回避出来れば良いだけなので、インストール元を明示してインストールすることにする。

degas@debian:~$ sudo aptitude -t lenny-backports install rubygems
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
拡張状態情報を読み込んでいます       
パッケージの状態を初期化しています... 完了
以下のパッケージが更新されます:
  rubygems rubygems1.8 
更新: 2 個、新規インストール: 0 個、削除: 0 個、保留: 43 個。
254kB のアーカイブを取得する必要があります。展開後に 94.2kB のディスク領域が新たに消費されます。
先に進みますか? [Y/n/?] y
警告: 以下のパッケージは信頼できないバージョンがインストールされます!

信頼できないパッケージはシステムのセキュリティを危うくする可能性があります。
自分がこのインストールを望んでいると確信できる場合のみ、インストールを先に進め
てください。

  rubygems rubygems1.8 

この警告を無視して意地でも先に進みますか?
先に進む場合は "Yes" を、中断する場合は "No" を、入力してください:Yes
拡張状態情報を書き込んでいます... 完了
取得:1 http://www.jp.backports.org lenny-backports/main rubygems 1.3.4-1~bpo50+1 [63.0kB]
取得:2 http://www.jp.backports.org lenny-backports/main rubygems1.8 1.3.4-1~bpo50+1 [191kB]
254kB を 1s 秒でダウンロードしました (209kB/s)
(データベースを読み込んでいます ... 現在 54159 個のファイルとディレクトリがインストールされています。)
rubygems 1.2.0-3 を (.../rubygems_1.3.4-1~bpo50+1_all.deb で) 置換するための準備をしています ...
rubygems を展開し、置換しています...
rubygems1.8 1.2.0-3 を (.../rubygems1.8_1.3.4-1~bpo50+1_all.deb で) 置換するための準備をしています ...
rubygems1.8 を展開し、置換しています...
man-db のトリガを処理しています ...
rubygems1.8 (1.3.4-1~bpo50+1) を設定しています ...
rubygems (1.3.4-1~bpo50+1) を設定しています ...
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
拡張状態情報を読み込んでいます       
パッケージの状態を初期化しています... 完了

現在の状態: 更新が 43 個 [-2]。

ではrubygemsのバージョン確認。

degas@debian:~$ gem -v
1.3.4