Anunci del dia
[Inocentada 2007] Important nota a la web de GPLTarragona.
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 dió 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
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 dió algún problema con una fixture y después de reiniciar no lo tuve ![]()
Si has experimentado algún tipo de error en tu disco duro (datos corruptos) o simplemente sospechas que algo puede no ir bien, de vez en cuando un repaso al disco no viene mal. Aunque las distribuciones linux ya de por sí te hacen un fsck de vez en cuando, por lo que en general no hace falta llevar mantenimiento de disco duro por parte del usuario (como debe ser).
Aún así, yo utilizo unos comandos cuando quiero/intento arreglar/resucitar un disco duro y que por si a alguien le es de utilidad (no le gusta mirarse el man del fsck o el badblocks) lo voy a poner aquí.
Tomamos como premisas lo siguiente:
- He arrancado con un LiveCD, hago las operaciones como root en un terminal (y con las particiones de mi disco duro desmontadas)
- mi disco duro es /dev/sda
- mi sistema de ficheros linux es Ext3
- linux esta en la partición /dev/sda3 (todo, sin separar):
Ahora un repaso al sistema de ficheros y que arregle todos los errores que encuentre automáticamente.
fsck.ext3 -f -tt -v -y /dev/sda3
Ahora un repaso físico al disco duro en busca de sectores defectuosos. Lo buscaremos en todo el disco duro en vez de sólo en la partición linux. Si sólo quereis mirar los sectores de esa partición en concreto, hay una opción en el fsck para que lo llame por ti.
badblocks -s /dev/sda
Actualización: Sergio me apunta (thx!) a que hacer el badblocks desde fsck.ext3 además actualiza la lista de inodos para guardarte qué sectores estan defectuosos y no utilizarlos. Mucho mejor de esta manera, utilizando el comando badblocks únicamente te los lista pero no hace nada. Entonces sería:
fsck.ext3 -f -c -tt -v -y /dev/sda3
(Prefiero siempre el modo lectura antes que el escritura no destructiva :P)
Por último, nunca viene mal intentar optimizar el sistema de ficheros (optimizar suena bien). Fsck tiene una opción para eso (-D):
fsck.ext3 -f -tt -v -D -y /dev/sda3
Copyright © 2008
Jonathan Hernández Velasco
A no ser que se diga lo contrario:
Todos mis artículos y documentación tienen licencia de Creative Commons.
Todo mi software tiene licencia GNU GPL.
Los logos son propiedad de las respectivas compañias.
