La verdad es que últimamente no había posteado nada aquí porque desde que uso Ubuntu me va todo bastante bien. Pocos problemas de configuración, y pocas cosas reseñables fuera del entorno gráfico (últimamente uso la consola bastante poco, para acceder a servidores remotos y poco más).

Aún así, nada en esta vida es perfecto, e incluso Ubuntu puede fallar si lo apagas de cualquier manera.

La semana pasada, durante una presentación, y con el navegador a pantalla completa, se me quedó bloqueado el “maravilloso” firefox. Imposible recuperar su tamaño normal ni interactuar de ningún modo para cerrar la dichosa ventanita (también el hecho de tener en ese momento de un teclado reducido me impedía acceder a combinaciones de teclas que hubieran podido salvarme en ese momento). Pero de cualquier modo, y puesto que la situación necesitaba de una solución urgente, reinicié y arranqué un portátil que siempre está disponible para estos casos como solución auxiliar (y que por cierto, salvó el honor).

En cualquier caso, al reiniciar, aparecía el “fantástico” menú del grub. Al seleccionar la primera opción y arrancar… nada! o peor: la consola de shell con un sistema initramfs montado!! Aparecía en el log de arranque (bastante atrás, me costó encontrarlo), una linea en la que decía que el disco principal no podía ser montado porque necesitaba un check del disco y no podía usarse. Muy bien, entonces escribo: fsck /dev/sda ……     ¡¡PERO EN ESTA SHELL NO HAY COMANDOS DE CHECK DE DISCO!!! ¡¡¡PARA QUE NARICES ME SIRVE LA SHELL!!! La lista de comandos que muestra la ayuda es tan ridícula que con ella no se puede hacer nada. Se me ocurren dos cosas:

(más…)

Este post está dirigido a todos aquellos que, viniendo de mundos Windows o Mac, se sienten un poco perdidos a la hora de saber como usar los comandos que encuentran cuando buscan ayuda googleando y encuentran páginas o foros donde explican cómo hacerlo pero para ello indican extrañas líneas de instrucciones llenas de acrónimos y símbolos que no se entienden si no sabes qué narices es eso.

Generalmente, cuando alguien busca ayuda de como hacer esto o aquello en un entorno windows o mac, las instrucciones incluyen algún pantallazo (para ver la ventana que te sale) en la que se indica resaltado de algún modo el botón o check de opción que se debe marcar o pulsar. Y las instrucciones son del estilo de: pincha en “esto” y te saldrá esta ventana, pulsa en la pestaña “tal-y-cual”, y similares…

(más…)

[Traducido del artículo original de M.Tim Jones del 30 de octubre de 2007 para IBM]

Una revisión por capas basada en la estructura

Cuando se trata de sistemas de ficheros, Linux® es la navaja suiza de los sistemas operativos. Linux soporta un gran número de sistemas de ficheros, desde sistemas con diario (journaling) a clustering o criptográficos. Linux es una maravillosa plataforma para usar sistemas de ficheros estándar o los más exóticos, e incluso para el desarrollo de sistemas de ficheros. Este artículo explora el sistema de ficheros virtual (VFS por sus siglas en inglés) —algunas veces llamado el sistema de ficheros conmutador (switch) — en el kernel de Linux y después revisa algunas de las principales  estructuras que mantienen los sistemas de ficheros unidos.

Leer el resto del artículo…

Haca tiempo que no escribía nada, ya que últimamente estoy trabajando bastante con equipos que usan Ubuntu y la verdad es que los problemas son mínimos y la gente que los usa estan encantados de la vida. Sin embargo, todavía hay algunas cosas que no funcionan tan simple como deberian, me estoy refiriendo por supuesto a ese gran “enemigo” de las distribuciones linux de escritorio: las impresoras.

Le pese a quien le pese, y lo diga quien lo diga, linux todavia no es un gran sistema de escritorio como lo pueden ser windows o mac, en ese sentido siguen ganando estos dos, ya que la sensación que tiene el usuario de poder controlar completamente su equipo y los recursos auxiliares de una manera relativamente sencilla es muy grande…

Seguir leyendo…

   Bueno, con este título seguramente no queda muy claro de que va esto, pero seguro que estás de acuerdo conmigo en lo bonito que es compartir, es algo que de pequeñitos nos enseñan que es mucho mejor que ser egoista y querer las cosas sólo para uno mismo. Y esa idea la hemos llevado al mundo interconectado de hoy en dia donde un ordenador no tiene sentido por si solo, si no tienes acceso al mundo exterior o a recursos compartidos con los demás, de que sirve. Pues de eso va todo esto, de como compartir teniendo en cuenta que todos somos diferentes pero no por ello deben tener unos preferencia sobre los otros.
   No estoy filosofando sobre la naturaleza humana aunque lo pueda parecer, sino sobre los diferentes sistemas operativos y protocolos de compartición de ficheros que existen hoy en dia y de como cada uno tiene sus propias preferencias por uno u otro protocolo a la hora de definir lo que es un recurso compartido (curiosamente cada uno considera que la forma “natural” de compartir es el protocolo propio de su plataforma). Lo ideal sería que, independientemente del sistema operativo que usemos, podamos tener acceso a los recursos de forma totalmente transparente y que luego se presenten en cada sitio adaptados a las condiciones especiales de cada uno. Ésta es la idea detrás del protocolo HTTP, pensado e ideado para compartir información en forma de documentos de texto facilmente accesibles desde cualquier navegador sobre cualquier plataforma: un documento en particular debería poder accederse y obtener el mismo resultado independientemente de la presentación final, pero en esencia el contenido será siempre el mismo.
   Si esto es algo natural para los documentos, ¿porqué no lo es para los ficheros?

Seguir leyendo…

Empiezo con éste una serie de artículos, traducidos de los originales de M.Tim Jones (mtj@mtjones.com) y que se pueden encontrar en el servicio de documentación técnica de IBM. Algunos de ellos ya tienen algunos meses de antigüedad, lamentablemente los he descubierto recientemente a partir del último publicado, pero los voy a ir traduciendo en el orden cronológico de publicación intentando traducir uno cada semana.

Puesto que muchas veces la designación técnica de algunos elementos y algoritmos descritos en estos artículos suele ser la inglesa, sin que exista una traducción válida, adjuntaré a cada traducción literal que haga de estos conceptos el nombre original en inglés.

Y una vez expuestos estos dos puntos, empiezo con el cuerpo del artículo original.

 

Anatomía del asignador de losas (slab allocator) de Linux

[artículo original]

Un buen rendimiento del sistema operativo depende en parte de la habilidad del propio sistema para gestionar eficientemente los recursos. En los viejos tiempos, los gestores de pila (heap memory managers) eran la norma, pero el rendimiento se veia afectado por la fragmentación y la necesidad de reasignar memoria. Hoy, el núcleo de Linux® usa un método que fue originado en Solaris pero que ha sido usado en sistemas empotrados durante algún tiempo ya, asignando memoria como objetos basándose en su tamaño. Éste artículo explora las ideas tras el asignador de losas (slab allocator) y examina sus interfaces y sus usos.

Leer el resto del artículo…

Probablemente una de las causas por las que el usuario medio ha encontrado Ubuntu como una distribución atractiva frente a otras más clásicas es, además de por una buena selección de aplicaciones sencillas, el sistema Debian de actualización de software: apt-get.

Para los que, como yo, venimos del mundo RedHat y funcionamos con sistemas que han heredado su gestión de paquetes RPM, quizá nos parece algo incontrolable el hecho como apt-get gestiona las descargas, ya que simplemente te instala todas las dependencias que te hagan falta y la última versión de todo. Esto en una instalación de usuario típica es fantástico, porque de una manera sencilla configuras las actualizaciones automáticas y siempre estás al día sin preocuparte de que necesitas y si tienes que quitar este o aquel paquete para poder poner el nuevo. Pero en un sistema de servidor no es tan trivial: cambiar la versión de una determinada libreria o aplicación puede hacer que otra, que depende exactamente de aquella, deje de funcionar sin razón aparente.

En ese sentido, el sistema RPM es mucho más selectivo y te permite un mayor control de lo que tienes instalado, y te permite incluso definir desde donde lo quieres instalar (del DVD original, de internet, de un disco en otro ordenador…). Esta es la gran ventaja, a mi modo de ver, del sistema RPM: no necesitas una conexión a internet en cada PC, y esto en una red local de una empresa puede ser el escenario.

De cualquier modo, y teniendo en cuenta la posibilidad que tiene RPM de usar repositorios definidos en algún sitio, podemos emular el funcionamiento de actualización automática de apt-get.

Seguir leyendo…