Yo siempre recomiendo tirar de Apt para ruby y librerías externas (libopenssl, rmagick…) y de RubyGems para cosas más dinámicas como Rails, Mongrel, Ferret… etc.

Pero a veces pueden ocurrir problemas en sistemas híbridos de este tipo, como parece ocurrir al actualizar las rubygems a la 1.0.1.

Para actualizar a las últimas rubygems:

gem update --system

A mi en algún ordenador me dio algún problema de este tipo:

# gem -v
/usr/bin/gem:23: uninitialized constant Gem::GemRunner (NameError)

RubyGems quedaba totalmente inutilizable. El problema se esta discutiendo aquí pero hay una solución fácil que no implica instalar ruby 1.8.6 desde código fuente :-D

Básicamente se trata de asegurarse que los script de rubygem esten sólo en un sitio, en mi caso /usr/bin/gem* y no en /usr/local/bin/gem* (si tienes éstos últimos los renombras a nombre_original.bak por ej.)

Después hacer un enlace simbólico de /usr/bin/gem1.8 (que es el bueno) a /usr/bin/gem (que no se ha actualizado bien). Así:

mv /usr/bin/gem /usr/bin/gem.bak
ln -s /usr/bin/gem1.8 /usr/bin/gem

Después de esto gem funcionará bien. Ahora toca instalar rails 2:

gem install rails
gem uninstall actionwebservice
gem cleanup

Después recomiendo reiniciar, no sé si es necesario pero a mi me dio algún problema con una fixture y después de reiniciar no lo tuve :P