jHernandez Blog
Blog de actividad de Jonathan Hernández Velasco

28 de Diciembre del 2007

Anunci del dia

[Inocentada 2007] Important nota a la web de GPLTarragona.

Archivado en: Software Libre — jBilbo @ 20:45

24 de Diciembre del 2007

Actualizar a Rails 2.0.2 i RubyGems 1.0.1 en Ubuntu

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 :-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 dió algún problema con una fixture y después de reiniciar no lo tuve :P

Archivado en: Developer — jBilbo @ 19:52

17 de Diciembre del 2007

Errores en el disco duro

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

Archivado en: Software Libre — jBilbo @ 19:24

Copyright © 2008
Jonathan Hernández Velasco

mym

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.
Licencia de Creative Commons