モノノフ日記

普通の日記です

lennyでrubygemsのアップデート

気分転換にrubyでも触ろうかなと思ったので下記コマンドを入力するとgemのバージョンが古いと怒られました。

$ sudo gem install hogehoge

coLinuxに入れてるdebianはlennyでrubygemsのバージョンは1.2らしく、1.3.Xにしないともうインストできないものがいっぱいあるようなのでアップグレードしました。
rubygemsコマンド自体に rubygems-update というコマンドがあるらしいけどdebian使ってるんだからaptitudeで管理したいところ。ということでdebian backportsにあるかなと思って探したらすぐ見つかりました。
Debian -- Error

以下やったことまとめ。

手順
  1. backportsのリポジトリを追加
  2. backports用の公開鍵をインストール
  3. backportsでインストールパッケージの指定
  4. 今入ってるrubygems関連パッケージの削除
  5. rubygemsのインストール
コマンド
$ sudo touch /etc/apt/sources.list.d/backports.list

$ cat /etc/apt/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

$ sudo aptitude update
$ sudo aptitude install debian-backports-keyring

$ cat /etc/apt/preferences
Package: *
Pin: release a=stable
Pin-Priority: 110

Package: *
Pin: release a=testing
Pin-Priority: 100

Package: *
Pin: release a=unstable
Pin-Priority: 90

Package: rubygems
Pin: release a=lenny-backports
Pin-Priority: 999

Package: rubygems1.8
Pin: release a=lenny-backports
Pin-Priority: 999

$ sudo aptitude remove irb1.8 rdoc1.8 rubygems1.8 rubygems

$ sudo aptitude install rubygems

$ $ gem environment
RubyGems Environment:
  - RUBYGEMS VERSION: 1.3.5
  - RUBY VERSION: 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]
  - INSTALLATION DIRECTORY: /usr/lib/ruby/gems/1.8
  - RUBY EXECUTABLE: /usr/bin/ruby1.8
  - EXECUTABLE DIRECTORY: /usr/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86-linux
  - GEM PATHS:
     - /usr/lib/ruby/gems/1.8
     - /home/Kiske/.gem/ruby/1.8
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - http://gems.rubyforge.org/

debianはstableだとパッケージのバージョン古いのが悩みだったりしますけどbackportsがあると楽ですね。