2 de junio de 2010

Conectando un disco de un RAID software de Windows 2000

Ayer en el curro tuvimos una incidencia con una de las máquinas que utilizamos como servidor de sistemas, es decir básicamente para almacenar software que instalamos en los equipos, almacenar alguna que otra documentación interna del departamento de TI y rodar ciertos software de tareas de mantenimiento de sistemas con un nivel de criticidad bajo o más bien nulo.

La incidencia básicamente se resumió en que el sistemas se fue colgando desde hacía unos días cada vez con mayor frecuencia hasta el punto que el tiempo de funcionando se redujo a menos de 8 horas, por lo que la prioridad de la incidencia aumentó, ya que con un intervalo de indisponibilidad inferior a 8 horas y en decrecimiento deja de ser operativa en toda regla.

El sistema operativo de esta máquina era un, prehistórico Windows 2000 Server; es lo que hay en un departamento con presupuesto bastante reducido y más aún en tiempos de crisis y con el estatus económico de España; la máquina tenía dos discos duros del mismo tamaño, los cuales en su día se tomó la decisión de crear un RAID 1 software sobre ellos con la propia herramienta integrada en Windows 2000 Server.

Una vez haber soltado el rollo del motivo de la incidencia y cual era el entorno de producción que nos interesa conocer para entender la situación, paso a explicar la fácil y rápida solución a esta historia que llegó a un punto que parecía que no iba a tener ese final feliz que si tuvo.

Para recuperar esa información durante el tiempo en que tardaremos en poner en marcha el nuevo entorno de producción, decidí pinchar ese disco en una de las máquinas, con Windows XP, que tenemos de backup como plan de contingencia de fallo de alguna de las workstation.

Al iniciar la máquina y ver que el disco a recuperar no se mapeao directamente en Mi PC como una unidad más, fui a la consola de "Administrador de discos" (Accesible a través de la consola de administración del equipo) y en ella me aparecía como que me detectaba el disco con "error" y otro disco inexistente que es el  otro que hace de espejo.

 Acceso a la consolad de administración de Windows XP

En este momento ya me estaba imaginando que recuperar el disco no sería tan sencillo, como pinchar lo y ya está, ya que aunque el formato fuera NTFS, es posible que el RAID software tuviese alguna que otra configuración que no siendo un Windows 2000 Server o un Windows Server de versión superior pudiese gestionar, es decir que desde un cliente Windows XP, no iba a poder recuperar lo de manera sencilla.

En ese momento antes de buscar otra máquina o algún software de recuperación, dando le un par de vueltas al asunto y mirando si desde la consola de administración de discos me daba alguna opción de recuperación,  se me ocurrió asignarle una letra a la unidad y ver que aunque lo marcase con error me dejase y después de eso ya veremos si se puede acceder o no.
El resultado fue satisfactorio, al asignarle una letra a la unidad del disco se  ha mapeado sin problema, totalmente accesible desde "Mi PC", como cualquier otro unidad y además el administrador de discos ha pasado de indicar como sistema de archivos "error" a indicar "NTFS"; así que la historia tuvo un final feliz y para otra vez ya sé que un disco que funciona como uno de los espejos de un RAID software de Windows 2000 se puede conectar a una máquina con un cliente Windows XP y siendo accesible como cualquier otra unidad.

 Administrador de discos de Windows XP

Como podemos ver en la imagen anterior el otro disco del espejo del RAID 1 aparece informado como que falta porque físicamente no esta. Podemos hacer que desaparezca de esa lista si no pensamos añadir el otro espejo, dando botón derecho sobre ese disco informado e indicando "Extraer", en el caso de querer activar el espejo sería, una vez conectado físicamente al equipo, la opción "Reactivar", pero esto último no lo he probado y no sé con toda certeza si funcionaría.

Hasta la próxima enfermos.

22 de mayo de 2010

Seguimiento de detección de un fichero sospechoso

Esta semana, en el curro, entró por mail el típico spam con un fichero adjunto sospechoso, muy fácil de detectar, por cualquier técnico, que se trata de un fichero ilícito, pero donde muchos usuarios, sobre todo los que se dedican llevar la facturación, pueden llegar a picar.

El mail, muy clásico, tenía el siguiente contenido:
Asunto: Fwd: New_Factura!!!
Cuerpo:
Buenos dias, xxxxxx@dominiodelaempresa.es.
La factura que debe ser abonada antes de la semana siguiente.
Los detalles estan dentro del archivo.
--
Con los mejores votos,
Departamento              mailto:canduxo@otrodominio.com
Fichero adjunto: 56_Factura.zip

Hasta aquí todo muy claro de detectar, sin ni si quiera tener que abrir el archivo:
  • No saben como nos llamamos, resulta que nuestro nombre es la dirección de mail, sin dignarse a quitar el dominio.
  • Resulta que nos lo envía un tal yyyyy@dominodelspam.com pero que si queremos contactar con alguien que tiene un mail en otro dominio, con un nombre más legítimo canduxo@otrodominio.com y encima nos ponen mailto tal cual, no es el mailto de un enlace.
  • Y, claro esta que lo más normal del mundo en España es despedirse diciendo: "Con los mejores votos".

En esta ocasión el usuario, fue precabido y me acabó llamando para que le asegurará si realmente era un spam; aunque estaba claro, por esas cosas que tiene la curiosidad, decidí jugar un poco, a un juego fácil, que no voy sobrado de tiempo, con el fichero adjunto. 
  1. Analicé el fichero con nuestro antivirus corporativo; el resultado fue un falso negativo, es decir no detecto nada.
  2. Lo abrí con un descompresor desde una maquina virtual, por si acaso. El zip estaba bien formado; en su interior había un fichero .exe con un icono de MS Word y con el mismo nombre que el zip pero en vez de .zip, era .doc y a continuación unos cuantos guiones bajos para que no se viese que el fichero terminaba con la extensión .exe.

      
    Contenido del fichero zip
  3. Bueno visto lo visto en el paso 1 y 2, me decidí a subir a Virus Total (podéis encontrar explicación del servicio ofrecido por Virus Total al principio del siguiente post) y aquí empezó lo que me hizo gracia, porque al subirlo, de los 41 motores de análisis que utiliza Virus Total, solo lo detectaba uno; en vista de esto y que al día siguiente nuestro antivirus corporativo me lo detecto como un troyano me enredé durante los siguientes días a subirlo varias veces de nuevo a Virus Total y hacer un seguimiento de detección.
    El resultado de este seguimiento lo podéis ver en la siguiente tabla y gráfico:

Tabla de valores de la evolución de la detección

Gráfica de evolución de la detección

Pasados más de 4 días, de los 41 motores, solo lo detectan 17; realmente ya no sé si se trata de un troyano o no, porque a raíz de la gran noticia que saltó durante el mes de febrero de este año uno ya no sabe que pensar, la noticia que me refiero es la que se puede ver en el mismo link que he dejado más arriba donde he mencionado que se hace una breve explicación del servició ofrecido por Virus Total.

A continuación os dejo los enlaces a los diez análisis, por orden cronológico, que he realizado de la misma muestra.
  1. http://www.virustotal.com/es/analisis/0818...174895
  2. http://www.virustotal.com/es/analisis/0818...269705
  3. http://www.virustotal.com/es/analisis/0818...285975
  4. http://www.virustotal.com/es/analisis/0818...293558
  5. http://www.virustotal.com/es/analisis/0818...337572
  6. http://www.virustotal.com/es/analisis/0818...355766
  7. http://www.virustotal.com/es/analisis/0818...382462
  8. http://www.virustotal.com/es/analisis/0818...426420
  9. http://www.virustotal.com/es/analisis/0818...473799
  10. http://www.virustotal.com/es/analisis/0818...541009

Hasta la próxima enfermos.

17 de mayo de 2010

Dejando la improvisación para cuando sea necesario (2/2)

################# Conjunto de entradas ###################
# Dejando la improvisación para cuando sea necesario (1/2)
# Dejando la improvisación para cuando sea necesario (2/2)
########################################################

Entrando en acción
Bueno después de planificar y organizar la acción que se quiere llevar a cabo, esta claro que hay que ejecutarla, sino lo anterior no sirve de nada, ya que hasta este punto no hay ninguno objetivo completado.

La previa
Así que empecé creando las plantillas comentadas en el post anterior y luego, entre yo y el becario, pasamos a rellenarlas. Mientras tanto le iba en mi cabeza iba diseñando la arquitectura lógica de la red y a ratos la iba plasmando en el diagrama.
Cuando ya tuve una primera versión del diagrama del diseño de la arquitectura lógica de la red busqué un rato para comentarlo con el becario, con el objetivo que se sintiera más implicado y motivado (dos aspectos que para mí son muy importantes si quieres que los currantes trabajen bien y eficazmente), supiera que es lo que vamos ha hacer y también que valorase esa opción y las otras que yo le había dado vueltas y las cuales le comenté, ya que dos cerebros piensas más que uno de solo
Después de esto él comentó sus puntos de vista y discutió mis argumentos y finalmente acabamos haciendo pequeñas modificaciones sobre mi propuesta inicial por tal de que la red fuese lo más óptima posible (contando solo con los recursos que teníamos) aunque eso implicase un punto crítico, básicamente porque la topología era en estrella; pero era la mejor opción para descartar que la red fuese un cuello de botella cuando te llamen los usuarios para decirte "que todo les va muy lento", una música que escuchamos muchas veces, y  como yo no he sido quien ha montado todo el tinglado y la documentación es inexistente ,si  no optimizo la red cuando he puedo hacerlo, no hay manera de cargarse incógnitas de esta ecuación tan odiada, y  para solucionar el punto crítico, el switch central, se puede solucionar teniendo un switch de backup que nunca viene mal tenerlo.

También elaboré la el diagrama de diseño de la distribución de la energía eléctrica, partiendo de la premisa que no había presupuesto para comprar nuevos UPSs, así que me toco distribuir los distintos dispositivos entre los UPSs existentes garantizando que todo pudiese aguantar el máximo de tiempo posible encendido frente a una caída de tensión y así tener claro a que toma íbamos a conectar cada uno de los dispositivos.

Para terminar con todo esto anoté el orden, de arriba a bajo, con el que iba poner cada uno de los elementos de dentro del rack (centralita, switches, routers, patch panels, etc.) y así completaba como iba se iba materializar todo y no tener que estar improvisando en medio de cables y con la presión  que algo no terminase de funcionar al siguiente día laboral.

El juicio final
Llego el gran día y yo y el becario, estábamos ahí delante del rack y dispuestos a desmontarlo, así que  empezamos a desconectar todo el rack de comunicaciones para posteriormente reorgarnizar los patch panels y todos los dispositivos de red (switches, routers, etc.) y conectar todo como se había planificado.
Sobre ese día no hay mucho más que contar, porque lo único que tuvimos que hacer es seguir las instrucciones que había elaborado y tanto yo como el becario fuimos completando nuestras tareas sin ninguna complicación.

Conclusiones
Es esencial dedicar 5 minutos a valorar si merece la pena o no dedicar un tiempo a planificar las tareas con cierta envergadura que tienes que acometer.
Pensando con antelación y planificando las tareas, por muy chorra que pueda parecer, como en un principio podía parecer la organización de un rack de comunicaciones, te garantizas en un % muy elevado que su ejecución se lleve a cabo sin complicaciones y te da una elevada garantía de cumplir satisfactoriamente con todos los objetivos y a la vez cumplirlos con una calidad más que aceptable.

Para terminar os dejo el antes y el después del rack, ya que aprovechamos y cambiamos el cableado que había hasta el momento por uno de mayor calidad y de adecuada longitud, algo que también fue posible, en parte, a la nueva distribución de los elementos, dejando un rack donde meter la zarpa ya no supone un engorro.

El antes

Y el después


Hasta la próxima enfermos.

13 de mayo de 2010

Taller técnico formativo sobre el DNIe

Hoy he asistido al "Taller técnico formativo sobre el DNIe" que organiza INTECO en Barcelona.
Como valoración general no ha estado mal, ya que ha tenido parte teórica y parte semi-práctica, semi porque las prácticas se basaban en hacer una o varias llamadas en lugar concreto del código, es decir que tampoco es que vayas a practicar mucho, pero con el tiempo que había es más que aceptable, ya que o hacían esto o omites la parte práctica y al menos con esta pequeña intervención de los asistentes todo se hace más ameno.

La verdad es que desde mi punto de vista lo del DNIe puede dar bastante juego, pero estar por ver sus limitaciones, ya que no creo que ahora se trate de que ahora todo el mundo quiera meterte el DNIe por el culo, es decir que se convierta en un boom y todo acabe siendo un desastre, como suele pasar con todo los booms.

Dejando de banda lo que se ha hecho en el taller, básicamente porque se ha seguido el programa, tal cual está publicado paso a comentar cosas que me han parecido graciosas.

La infraestructura
Todos los asistentes teníamos un portátil con acceso a la Internet a través de la wifi del hotel; wifi, que por cierto no era cifrada así que todo lo que ha volado por allí no es que lo estuviese haciendo de manera muy segura.
El acceso al portátil era con el administrador y en un Windows XP, así que la seguridad del equipo a tomar por culo; no obstante al menos tenían un antivirus instalado, al menos lo que predican sobre que todos tenemos que tener un antivirus instalado, ellos mismos se lo han aplicado.
Estos equipos tenían cierto software instalado, uno de ellos era Adobe Acrobat Professional 7.0.0, es decir una versión con cierta antigüedad, pero bueno eso puede ser que no hay presupuesto para actualizar licencias, pero lo que no pasa es que no tenía instalada ninguna actualización y todos sabemos que el año pasado Adobe se llevo la mayor parte del pastel en explotación de vulnerabilidades.

El entorno de desarrollo, desde mi punto de vista era adecuado, se basaba en VMware, es decir una máquina virtual con WindowsXP y con un Visual Studio instalado.

Lo único que yo me pregunto es ¿porque no habían capado las máquinas y que los asistentes utilizasen una máquina virtual para desarrollar toda la jornada? esto les permitiría tener las máquinas un poco más asegurada frente a los juegos que un asistente puede ejecutar en el equipo y una mayor flexibilidad a la hora de restaurar una máquina entre jornada y jornada.

Los ponentes
Los ponentes aceptable, alguno más a menos que otro, pero ya sabemos que esto siempre pasa, ya que cada uno tiene su manera de presentar además de venir condicionado del contenido que presenta.

Quiero resaltar algunas frases que me he descojonado al oírlas por parte de Juan Crespo del CNP, el segundo ponente:

  • Un documento electrónico no es más que un chorizo de bits.

  • La creatividad de los españoles es ¡¡¡ muy grande !!!.

  • La administración es como un elefante desde el punto de vista de innovación tecnológica (Esto lo ha dicho con una expresión no verbal bastante cachonda).
Además este ponente ha mencionado que hasta ahora no han podido evolucionar más el DNIe porque les falta la parte de como un externo puede validar toda la cadena de CAs que validan el certificado digital del DNIe, ya que este necesita obtener la clave pública raíz que ha emitido ese certificado y la empresa que está desarrollando esta parte todavía no ha conseguido hacerlo; ha reconocido parte de la culpa de este incidente, aunque sí que ha mencionado que no acaba de entender cómo es que el proveedor no ha logrado todavía eso y eso que contrataron el que el fabricante recomendó, "¿será porque no le pagamos demasiado?" (Que conste que la pregunta la ha lanzado el mismo).

Agradecimientos
Quiero agradecer a INTECO la organización de estos talleres, ya que son interesantes porque te ofrecen una pincelada a la tecnología del DNIe.
Además se están realizando de manera gratuita y todo y eso el trato y los medios destinados al taller han sido excelentes.
Solo quiero añadir que lo que haya podido comentar en este post no tiene ningún otro objetivo de ser una crítica constructiva y contar ciertos aspectos anecdóticos y/o graciosos.

Hasta la próxima enfermos.

12 de mayo de 2010

Dejando la improvisación para cuando sea necesario (1/2)

################# Conjunto de entradas ###################
# Dejando la improvisación para cuando sea necesario (1/2)
# Dejando la improvisación para cuando sea necesario (2/2)
########################################################

En este post voy a explicar una de las experiencias que he vivido y la cual yo he tenido la posibilidad de "liderar"; si entre " porque no se trata de ninguna gran proeza ni tampoco de ninguna obra maestra pero creo que en ella se refleja claramente que si las cosas se planifican con antelación tienen muchas más probabilidad de que se completen con éxito; y ya sabemos que la planificación no es un plato fuerte de lo "Made in Spain", algo que quiero dejar claro que es un punto de vista personal y al cual he llegado después de estar viviendo lo continuamente tanto en mi vida profesional como personal.

La tarea
  • Descripción: Organizar el rack de comunicaciones de la oficina de Barcelona de la empresa para la cual trabajo.
  • Objetivos:
    1. Mantener la conexión en las rosetas que hasta el momento estaban conectadas.
    2. Mantener las mismas extensiones telefónicas de los usuarios.
    3. Flexibilizar la escalabilidad física, con los medios actualmente disponibles.
    4. Optimizar la red con los medios que  actualmente disponibles.
  • Requerimientos implícitos:
    1. No influir en el trabajo del día a día de la empresa.
    2. No se pueden realizar obras (poner canaletas, poner nuevas rosetas).
El plan
Para llevar a cabo la tarea y cumplir con los requerimientos implícitos realicé lo siguiente:

Analizando el entorno
Basándome en los requerimientos me centré en determinar que es lo que tenía que pensar y organizar para llevar a cabo la labor.
  1. Realizar el trabajo fuera de horas laborales, por lo que se aprovechó un día por la tarde fuera de horario laboral.
  2. Registrar las rosetas conectadas a la centralita por tal de mantener la mismas extensiones en el caso que haga falta desconectar los cables de los patch panels.
  3. Para cumplir con los objetivos 3 y 4 y respetar el requerimiento 2 se tiene que pensar en cambiar la organización física de los switches y como los conectábamos entre ellos.
Detallando las subtareas
  1. Registrar las rosetas con conexión y en el caso de las telefónicas anotar en que boca de la centralita van conectadas.
  2. Determinar  la distribución física de los switches y los patch panels.
  3. Determinar la conexión entre los switches.
  4. Distribuir las conexiones de corriente de todos los dispositivos del rack (no se invierte en nuevos UPSs hay que utilizar los que hay).
  5. Planificar la desconexión de ciertos servidores con la oficina central (Madrid).
  6. Determinar día de realización de la tarea.
Planificando las subtareas
A excepción de la subtarea 6 que es ejecutar la tarea en el mundo físico, consideré que el resto de tareas se tenían que hacer durante los días anteriores, claro está que pare ello mi empresa  no me iba a permitir dejar de atender lo del día a día (incidencias, soporte usuarios, más soporte usuarios, más soporte usuarios, ...).

En esta ocasión tenía una ayuda; estoy hablando de un becario que se acaba de incorporar y el cual me podía ser útil, si lograba transmitirle y explicarle lo que teníamos que hacer, como nos íbamos a organizar y concretamente que iba a hacer él, teniendo en cuenta que no tenía tiempo suficiente, debido a que marqué como día de ejecución el cuarto día después de su incorporación, para ponerle al día al completo sobre la infraestructura tecnológica de la oficina, por lo tanto las tareas en las que podía ayudarme tenían que ser sencillas,

Así que los 3 días antes, de la ejecución y dedicando más horas de las que me pagan ya que el día a día da poco margen para cosas que no son del día a día, me dedique a:
  • Crear una plantilla para registrar las conexiones de la centralita, con el objetivo adicional de que se incorporasen a la documentación interna del departamento de TI, en beneficio de la empresa.
  • Crear una plantilla para registrar las conexiones de cada una de las bocas de los switches. No es necesario saber concretamente en que boca va conectada cada roseta, ya que hasta hora habían sido conectadas todas a la brava y en el caso de las rosetas donde se conectan las máquinas de los usuarios no es importante.
    Lo realmente importante de esta platilla era registrar las bocas que se utilizan para conectar los switches entre ellos y las que se utilizan para conectar dispositivos relevantes de la arquitectura de red, como son los servidores, routers, impresoras, etc.
  • Elaborar un diagrama lógico de la interconexión de los dispositivos relevantes, vamos lo que para mí es diagrama  de la arquitectura lógica de la red,  con el objetivo de plasmar en un diagrama el punto anterior sin entrar en el detalle del número de boca, más bien saber a que switch está conectado cada uno de los dispositivos relevantes y como se conectan los switches entre ellos y de que manera es decir si utilizan un trunk o no.
  • Elaborar diagrama de conexión de los dispositivos de dentro del rack (switces, centralita, routers y firewalls) a la toma de corriente, pensando en los UPSs que teníamos y como distribuir estas conexiones entre ellos para soportar las pequeñas bajadas o caídas de tensión y con el objetivo de que también pasé a ser una documentación interna de TI y ser útil para el futuro.
  • Para el desarrollo de la subtarea 5, anotar y explicar al becario que switch se iba a mantener conectado hasta el último momento y que es lo que iba a tener conectado.

En el próximo post de esta serie explicaré como lo llevamos a cabo y que conclusiones he sacado de esta experiencia.


Hasta la próxima enfermos.

    6 de mayo de 2010

    Lo más buscado en Internet según Yahoo y BeRuby

    Mirando en la lista de los anunciantes que pagan por clic en el portal BeRuby España he visto que se añadido un nuevo vínculo a Yahoo, que enlaza con un página donde aparecen los más buscado en Internet.

     Ranking de lo más buscado según BeRuby y powered by Yahoo

    Como se puede ver en la imagen, se proporciona una la lista de, supuestamente, las 5 cosas más buscadas dentro de cada una de las 6 categorías que ellos han indicado:
    1. Compras: En esta lista se puede observar que lo que la gente compra más en Internet son gadgets tecnológicos; y parece que que hay muchos fans de Apple, los cuales seguro que muchos de ellos ya son incondicionales, es decir compra Apple, porque es Apple.
    2. Viajes: Parece que París sigue siendo una de las ciudades de mayor peregrinaje; ¿será por el amor?
    3. Finanzas: Aquí, como no, aparece en la primera posición la ya famosa puta CRISIS, sinceramente la agente no tiene bastante con escuchar, ver y leer las miles de noticias que inundan nuestro mundo con este tema que encima tiene que ir a Yahoo a macharse más con el tema, o es que buscan en Internet la fórmula mágica de "como salir de la puta crisis".
      Además cabe resaltar que los siguientes términos más buscados dentro de esta categoría, son todo lo referente a conseguir pasta por adelantando; "señores, los bancos no nos van a dejar un puto duro a no ser que les demuestres una buena solvencia, algo que en tiempo de crisis, si realmente la tienes, es bastante difícil de demostrar".
    4. Famosos: Michel Jackson aún no ha sido olvidado, claro era un puto crack del pop, o es que en el mundo de los muertos ¿está causando el mismo revuelo que en este nuestro mundo?.
    5. Deportes: Sin comentarios.
    6. Entretenimiento: Los humanos nos seguimos entreteniendo con lo des siempre y eso esta claro pero yo hecho en falta una cosa que seguro que está entre esas primeras posiciones y que no entiendo porque aún hoy en día tiene que siendo un tema tabú, si me refiero al SEXO, al PORNO, etc.
    En definitiva, a mí parecer y digo al mío, que quede claro, la clasificación esta no me encaja mucho con la realidad, aunque si que pueden haber ciertos términos en esas posiciones del ranking hay otras que ya se por la gran elegancia que hay en el mundo por ocultar las realidades o porque BeRuby gana pasta de los servicios que el enlaza, han sido alteradas de la realidad; ya sabemos que si BeRuby gana pasta con los servicios anunciado tendrá que hacer lo que toque, ya que para eso contratan su servicios, pero creo que hay maneras y maneras de anunciar las cosas y no hace falta que se manipule o se distorsione la realidad para llegar a se fin, aunque es posible que esto no venga de BeRuby, sino de Yahoo y el equipo de BeRuby, no haya hecho un análisis de este ranking; esto siempre nos quedará como duda.

    Si, alguien que tenga una cuenta en BeRuby, quiere comparar si la lista que me aparece en mi usuario es la misma que la aparece a él con el suyo y postearlo, bienvenido será, porque como se ha distinta ya tenemos el tema resuelto.

    Hasta la próxima enfermos.

    5 de mayo de 2010

    Los famosos planes de contingencia en la Pyme Española

    A raíz de la noticia última noticia que he leído, después de haber leído varias sobre este asunto, me he animado a escribir este post que ya hacía algún tiempo que tenía en la cabeza.
    Después de llevar algún tiempo en la empresa en la que estoy currando actualmente, la cual está catalogada como PYME, y de haber tenido algún que otro cliente a modo de freelance, también catalogado como PYME, puede uno empezar a valorar por donde se van los tiros en esto de lo que se llama "plan de contingencia".
    Aunque lo que voy a contar es lo que yo me he encontrado hasta el momento, no quiero ni de lejos decir que siempre tiene que ser así, pero por lo que he vivido y por lo que me van contando amigos y conocidos del sector, no parece que mi experiencia sea muy inusual.
      
    Los inicios siempre son duros
    Todo empieza cuando uno, si realmente es un buen profesional, vas a tocar la puerta del jefe y empiezas a soltarle el rollo de que corremos un riesgo elevado no teniendo previsiones de como actuar en el caso de que sucedan ciertos imprevistos, es decir lo que nosotros llamamos planes de contingencia.
    El jefe, suele escucharte el primer minuto y medio, luego uno empieza a observar como empieza ha hacer movimientos que no vienen al caso, a mirar el reloj, el móvil o a hacer cualquier otra cosa que provoque que te des cuenta de que su tiempo no está para escuchar sandeces de este tipo y menos cuando en ellas estás pidiendo tiempo de dedicación y/o incremento del presupuesto.
    Como ya es de esperar, te dicen que ahora no es el momento, de hecho nunca lo es, pero en estos momentos la escusa está clara y todos la conocemos, la puta crisis en que nos vemos inmersos, y para quedar bien te acaba diciendo que lo tendrá en cuenta para el futuro.
    Bueno con todo eso, ya se puede ver que el plan de contingencia se queda más bien en una paja mental  del "departamento" de TI que en otra cosa

    La crisis ya está aquí
    Un día uno se presenta por la mañana al trabajo, o está en el trabajo atendiendo teléfonos mientras a la vez supervisa las copias de seguridad, administra los servidores, realiza el seguimiento de los miles de trámite que tiene abiertos con los proveedores y soportes técnicos, es decir lo que hace el informático de turno en una PYME, y de pronto algo deja de funcionar, algo como la red, entonces empiezan a saltar las alarmas, básicamente humanas porque el presupuesto no llego para invertir en aplicaciones adecuadas de monitorización, y es cuando uno tiene que entrar en acción al estilo Sherlock Holmes y James Bond.
    Empiezas siendo un Sherlock Holmes porqué debido al bajo índice de aplicaciones de monitorización y a la escasa documentación tienes que abrir un investigación en base a los conocimientos que tienes metido en tu celebro y con un poco de suerte a los de tus compañeros que tienes accesibles y averiguar que es lo que está pasando. Una vez averiguas que es lo que coño falla, te pones a arreglarlo al estilo James Bond, es decir improvisando como puedes, ya que pensar la mejor solución en ese momento es bastante complicado, y con lo que tienes y si no tienes lo que necesitas ya estás llamando al proveedor de turno o pillando un taxi para conseguir lo que necesitas.

    Bueno finalmente has podido "solucionar" el problema temporalmente y has evitado que los currantes pasen más tiempo charlando de fútbol y tomando café.

    Recuperando el aliento
    Bueno el mismo días, después de un rato, o con un poco de suerte al día siguiente, te piden las explicaciones de que ha pasado, porque ha pasado y como es que se ha tardado tanto en solucionarse. Este es el momento que uno ya se caga en todo porque resulta que quien te está pidiendo todo esto era el que tenía quedar el visto bueno a una posible solución que hubiese evitado o al menos reducido el impacto de esta molesta situación.
    Bueno, uno ya puede decir lo que sea, porque el otro, va a seguir con su idea de que el departamento de "TI" son demasiados y tienen un presupuesto más elevado que el resto de departamentos de producción no directa por ejemplo administración, RRHH, etc.

    Llega de nuevo la época de bonanza
    Después de un par de días, si todo ha sido restaurado, nadie se acuerda de que ha sucedido, los palos ya vendrán a final de año o de trimestre con la cuenta de resultados, pero en este momento todo está olvidado aunque tu hayas tenido que estar más tiempo del que te toca, pero eso no importa porque tu te dedicas a administrar y mantener la infraestructura tecnológica (vamos la que yo y creo que muchos otros, consideran como la mas relevante dentro de una organización cuyo día a día se desarrolla sobre un sistema informatizado), es decir algo que está ahí y que si funciona nadie se acuerda de que está.
    Ahora es cuando si uno aún no ha perdido las esperanzas de intentarlo tantas veces, pide de nuevo lo que necesita para crear un plan de contingencia y de nuevo podemos volver al punto inicial de todo este rollo que acabo de soltar.

    Conclusiones
    1. En la PYME, lo único que vale la pena en invertir es lo que nos va a dar dinero ya, algo para nada despreciable todos buscamos la gallina de los huevos de oro, el problema es el "ya", eso quiere decir corto plazo y el medio y largo plazo caen en el olvido y lo de "prevenir antes de currar" suena a cuento de la abuela.
    2. No se entiende que puñetas hace el informático la mayor parte de su tiempo;
      Usuario: Total yo no le llamo a penas.
      TI: Claro capullo, si tu te multiplicas por 40, verás la de llamadas que son y eso si no tienes en cuenta todo el sistema que hay debajo y el cual te crees que funciona solo.
    3. En España lo de pan para hoy y hambre para mañana parece que continua bastante latente en el mundo de las TI.

    Ahora solo nos queda volver a tocar la guitarra hasta que vuelva el invierno.

    Hasta la próxima enfermos.

    28 de abril de 2010

    Flexibilizando el almacenamiento

    Después de un tiempo de haber probado y utilizado el método de alocación de alamencamiento en disco duros denominado LVM (Logical Volume Management) bajo la implementación de linux LVM2 (Logical Volume Manager version 2) he decidido escribir una breve entrada de él y de como empecé y como lo uso en mis máquinas.

    Mis inicios
    Todo empezó un día de esos en los que gozando de tener tiempo libre me dedique a trastear con una de mis máquinas; si no recuerdo mal ese día tenía la intención de hacer un ghost del disco porque hacía tiempo del último que tenía y normalmente me gusta tener uno que no sea muy antiguo, sobre todo cuando has invertido bastante tiempo cultivando el sistema y no quieres encontrarte un día con que toda la siembra se ha ido a tomar por culo.
    Ese día visité la página de System Rescue, supongo que para intentar descargar la última versión, porque la copia que debía tener era de hacía algún tiempo, y que mejor que antes de hacer un ghost, que descargarse la últimar versión. Navengando por la página me tope con que en ella hay unos pequeños manuales sobre ciertas utilidades de linux, y en los cuales se explican un poco que son y que hacen esas aplicaciones y como se utilizan, sin detallar llegar al detalle de todas sus funcionalidades, sino más bien dando un pincelada para su rápida utilización.

    Una de estas guías es de LVM2, y con ella es donde me enteré que es y que posibilidades tiene, provocando en mí un gran deseo por empezar a utilizar esta utilidad en mis máquinas e inducido por esa obsesión que tengo en siempre de pensar en el futuro y anticiparme a él, pensando y valorando las cosas antes de hacerlas, es decir no caer en lo de "pan para hoy y hambre para mañana".

    Los primeros pasos
    A raíz de esto, investigué un poco más sobre LVM2, sin llegar a leerme toda la documentación ya que el tiempo no me da para todo lo que me gustaría saber y priorizo en función de las necesidades, y en el caso de LVM2, por ahora solo lo he podido poner en práctica a nivel hogareño, no a nivel empresarial, ya que tampoco en mi empresa es que vayan a darme tiempo explicito para dedicarle él ni tiempo para implantarlo y por mi parte esto ya no me cabe en las numerosas horas extras, que sinceramente no repercuten positivamente en mis cuentas bancarias, ya que entonce podría poner un saco bajo la mesa del despacho, pero esto son otros temas que no tienen que ver mucho con este post.

    Después de haber indagado un poco más en su funcionamiento, empecé a probar en el sistema que por aquel entonces utilizaba, un Ubuntu 8.04 Hardy Heron, utilizando un disco que tenía poca información, la cual volqué a otra partición y empecé a particionar el disco para luego empezar a jugar creando los volúmenes fisicos (Physical Volumes [PV]), los grupos de volúmenes (Volume Group [VG]) y finalmente los volúmenes lógicos (Logical Volume [LV]).
    Durante mis juegos experimenté con varios sistemas de ficheros, y entre ellos NTFS, para ver que también funcionaba; también experimenté lo de crear snapshots y ver que realmente funcionaban.

    Convivendo juntos
    Después de ver que todo funcionaba como había leído y que eso me iba a permitir flexibilizar mi sistema, hace un poco menos de tiempo he empezado a convivir junto a él, aprovechando los últimos despliegues que he hecho en mis máquinas junto a la distribución Gentoo, permitiendo flexibilizar el almacenamiento de mis máquinas.

    No he entrado en utilizar LVM2 sobre la partición root, por ahora he querido mantener una partición de disco normal para albergar los ficheros del sistema operativo y de las aplicaciones y lo mismo para la partición de arranque (boot); porque aunque pueden crecer, sobre todo más bien en el caso de la root, debido a la instalación de múltiples utilidades; he creído que con el espacio de disco que tengo en las máquinas actualmente voy sobrado para tener una partición adecuadamente grande que me permita albergar el sistema operativo y todas las utilidades que le acabaré metiendo con el paso de los días y si crece desmesuradamente empezare a pensar que algo me está contaminando el sistema (virus, intrusiones, etc).

    Mi utilización del LVM2 ha sido para albergar el home, permitiéndome redimensionar el tamaño de este árbol de directorios en función de la información, personal, que vaya almacenando, algo bastante difícil de prever y a la vez tengo la posibilidad de crear snapshots cuando crea conveniente hacerlo, por ejemplo, cuando voy a hacer una modificación importante o una reorganización considerable, sobre todo cuando en ella se ve implicada información de trabajo (esto no quiere decir que no haga copias de seguridad, estas también las hago). Además en el home también almaceno los disco (virtuales) de mis máquinas virtuales, y aunque intento utilizar un disco independiente para almacenarlas, debido al tamaño que tengo como disco independiente el cual difícilmente voy a ocupar completamente con estos, el LVM me da la posibilidad de utilizar parte de él para almacenar más información personal, en el caso que me haga falta, sin tener que ubicar la en otro directorio; simplemente redimensiono el grupo lógico donde albergo la información personal y de esta manera puedo mantener la organización de directorios que he utilizado hasta el momento.

    Conclusiones
    LVM2 me permite flexibilizar el almacenamiento de mis máquinas, asignando y reasignando las particiones de los discos físicos que tengo en mi máquina o los futuros que pueda meter, a los distintos directorios de información los cuales gestiono con grupos y volúmenes lógicos.


    Detallando esta experiencia creo que alguien puede valorar y ayudarle a razonar si le puede ser útil o no utilizar LVM2 en su sistemas hogareño, ya que a nivel empresarial creo que el juego que da este sistema está más que justificado.

    Hasta la próxima enfermos.

    5 de abril de 2010

    Gentoo: Domesticando a la criatura (2/2)

    conjuntoEntradas() {
      Gentoo: Domesticando a la criatura (2/2)
    }

    Configurando el kernel

    Este es uno de los puntos clave el proceso de instalación y dónde parece que estemos en el punto más clave de la domesticación.
    Aunque el kernel va a ser el centro de nuestro de sistema, ya que el funcionamiento básico del sistema y el resto de parte del sistema depende de éste, para mí no es el único, ya que el resto de configuraciones del proceso de instalación comentadas en el post 1, de esta serie, son de vital importancia a la hora de compilar y optimizar las múltiples herramientas que día día vamos ir metiendo le a la criatura y vamos a usarlas con cierta regularidad. No obstante el kernel coge mayor relevancia cuando nos encontramos configurándolo para una máquina con una función específica como podría ser un servidor con un rol determinado, pero en mi caso actual, es para una máquina de trabajo, así que lo que necesito son las herramientas que voy a ir necesitando para poder trabajar, experimentar y hacer el capullo el día a día.

    Dejando de lado mis creencias, me leo el capítulo del handbook dedicado a la configuración del kernel, claro está ignorando la alternativa de utilizar genkernel.
    Antes de contaros mis aventuras entre el enorme mundo de las opciones del kernel, quiero hacer especial mención a la frase: "Manually configuring a kernel is often seen as the most difficult procedure a Linux user ever has to perform. Nothing is less true -- after configuring a couple of kernels you don't even remember that it was difficult ;)", y solo indicar que el tío que ha escrito esto tiene mucha razón, después de mi primera configuración ahora me cuesta bastante poco reconfigurarlo para amoldarlo a mis necesidades.
    Bueno vamos al lío, hacemos lo que dicen las instrucciones, es decir compilamos el menú de configuración y una vez dentro de él activamos, como buenos niños, lo que nos indican que es básico para que nuestro sistema, por lo menos, arranque. Posteriormente empecé a mirar casi de una en una las múltiples opciones que se pueden activar o modularizar o desactivar y por supuesto activando las en el caso que vea que carguen algún driver de mi hardware.
    A lo largo de mi andadura por el mundo de las opciones del kernel, me veo obligado a, cuando no sé de que puñetas me estaban hablando, documentarme un poco para no ignorar esa opción a la ligera y entre esto y algunos aspectos de redes que ya sé de que iban a raíz de documentarme cuando configuré los trunks en las empresa y descartando las opciones que hacen referencia a hardware muy concreto, por ejemplo de sistemas embedidos, no me costo mucho más de una tarde y media, enteras, en hacer mi primera configuración después de varios años de haber tocado esta distribución y no haber vuelto a jugar, desde entonces, con un kernel de Linux.

    Bueno finalmente configuré mi kernel y aprendí varias cosas, entre ellas:
    • Pinceladas de ciertos aspectos de la arquitectura de un sistema Linux actual, a raíz de documentarme con ciertas opciones que de un inicio no tenía ni p... idea de que iban.
    • El gran número de opciones que tiene el kernel 2.6 de Linux y gracias a ellas poder optimizar tu sistema según tus necesidades.
    • Mientras lo configuraba me tuve que enterar de que implicaciones tenía modularizar o activar directamente, para tomar la mejor decisión; sobre este hecho leía que habían detractores de cada una de las opciones, unos dicen que mejor modularizar porque así tu Kernel ocupa menos memoria RAM y por otra parte los detractores de modularizar dicen que cargando los módulos al no estar contiguos en el espacio en memoria ocupado por el kernel (cargado durante el inicio del sistema) los accesos son más lentos, así que yo he decidido activar todo lo que quiero que siempre esté cargado porque a estas alturas con la de RAM que les metemos a los sistemas no me va de que el kernel ocupe unos cuantos kilobytes más y modularizar lo que voy a usar de manera esporádica así solo cargo cuando lo necesite no siempre. ¿de cual sois vosotros detractores?
    Hasta la próxima enfermos.

    21 de marzo de 2010

    Reencuentro con Eduard Jodas

    Yo conocí a Edu, en mi primer trabajo después finalizar mis estudios, había trabajado ya en los dos últimos años pero siempre a tiempo completo y no en un equipo de trabajo dedicado al desarrollo de aplicaciones concretamente.

    Edu no era de la empresa para la que yo empecé a trabajar, era de una consultora de software externa que estaba subcontratada para realizar el desarrollo de varias aplicaciones web internas.

    Del equipo de personas de su empresa, concretamente 3 miembros, él más o menos el jefecillo, bueno básicamente gestionaba a sus compañeros y se encargaba de hacer lo que en España tocaría hacer más, la arquitectura del software.

    Antes de empezar con el gran proyecto, denominado Pirámide, nombre que recibía la aplicación web que se iba a desarrollar, heredando lo de la aplicación inicial hecha en MS Access, si he dicho Access aunque parezca imposible que el paso de una aplicación de Access a web llevó los 9 meses planificados y un poco más, a Edu le encargaron montar junto con algún colega más que ya no estaba por allí el entorno de desarrollo, unos cuantos servidores WAS, un CVS, etc...

    El proyecto empezó y pasó por sus diferentes fases, toma de requerimientos, validación de los requerimientos, diseño y maquetación de las pantallas (esto me tocó a mí y por eso y algo más que no viene a cuento no llegué a los dos años en la empresa), hasta que se acercaba la fase de programación la cual fue precedida por la fase de diseño de la arquitectura del software y esa fase es la que lideró Edu con todo su potencial y conocimientos que tenía; esto es lo que me demostró que en España también hay gente que le gusta hacer las cosas bien hechas y que las defiende y esta vez su defensa permitir no suprimir esta importante fase.

    Más tarde el proyecto finalizó y todos fuimos cayendo ha formar parte de otros proyectos o de otras tareas relacionadas con la puesta en producción de la famosa Pirámide. Luego casi a los dos años de mi entrada, yo me largué de buenas maneras, aunque la empresa se lo tomó bastante mal y Edu se iba a largar en breve, ya que estaba en el proceso de selección para entrar a currar en Google inc., que aunque no era seguro, yo lo estaba que lo iba a conseguir.

    Ahora después de no volverlo a ver desde que me largué de la empresa, lo he vuelto a ver en el mismo Zurich, aprovechando un visita que he hecho a otro amigo que lleva por aquí una temporada y a raíz de esto he decido hacerle algunas preguntas para saber más su trayectoria pasada, presente y futura, así que aquí os las dejo junto con sus respuestas.
    1. Ivan: ¿cómo empezaste tu andadura por el mundo de los bits?

      Edu: Empecé jugando al clásico juego que eran dos rayas uno a cada lado de la pantalla y que se trataba de devolver un punto que hacía de bola, es decir como si se tratara de jugar al tenis pero sin red, totalmente dos dimensiones, no recuerdo el nombre concreto.

      Ivan: Yo indico, creo que se llamaba Pong.

      Edu: Luego más tarde mi padre nos compró a mí y a mi hermana un Spectrum 48kb el cual nos pasábamos horas y horas, haciendo turnos, copiando código que aparecía en unas revistas técnicas, cuyo nombre no recuerdo para luego ejecutarlo y ver que sucedía, aunque la mayoría de veces no obteníamos nada porque nos habíamos equivocado en algún lugar y uno podía morir en el intento de encontrar el error.

    2. Ivan: ¿Cómo continuó tu carrera profesional?

      Edu: Continué haciendo cursos de todo, desde ofimática hasta programación en un lenguaje que se llamaba Q Basic y como me gustaba esto de jugar con los ordenadores, en el momento de finalizar el instituto me metí a hacer Ingeniería Informática, sin concretamente saber que iba a ser mi vocación.

    3. Ivan: ¿Te imaginabas acabar en la considerada la mejor empresa del mundo donde currar?

      Edu: Que va, ni si quiera se me pasaba por la cabeza que acabaría currando fuera de España.

    4. Ivan: ¿Se vive bien en Zurich? Y ¿currando en Google?

      Edu: En Zurich, no sé vive mal, si lo que te gusta es la naturaleza, pero si te gustan las grandes metrópolis donde lo que buscas son que haya grandes eventos, ferias, etc, entonces no es tu lugar. Lo que si es verdad es que el verano es fenomenal para hacer las actividades de montaña pero en invierno, es bastante más chungo debido a frío y si tu pasión no es el esquí, no aprovechas mucho la naturaleza durante esta estación.
      Lo de currar en Google, por supuesto, me apasiona.

    5. Ivan: Ahora que estas en Google ¿te ves el resto de tu vida aquí, en Zurich, junto a Google?

      Edu: ¡No!, no me puedo imaginar pasar toda mi vida en un mismo lugar, me considero todavía joven y con mucha vida por delante para pensar en pasar toda mi vida en lugar fijo.

    6. Ivan: ¿Utilizas Bing o Yahoo?

      Edu: Jajajajaja, ninguno de los dos. No obstante probé Bind al principio cuando apareció, pero no me aportó nada nuevo y me he quedado con Google, ya que lo tengo todo con él y prefiero no cambiar por algo que no veo que me aporte mejoras.

    7. Ivan: ¿Que sistema operativo utilizas? ¿Google OS?

      Edu: En casa utilizo Windows Vista 64 Bits, pero no lo recomiendo, recomiendo mejor usar Windows XP o Windows 7.

      Ivan: ¿Y en Google?

      Edu: En Google Linux y en el portátil Mac OS, pero como también realizamos desarrollo para Windows, también lo utilizamos, todo depende del proyecto en el que estés.

      Ivan: Pero ¿Windows sobre máquinas virtuales?

      Edu: No necesariamente, depende de las necesidades que se tengan, hay personas que con una máquina virtual ya les es suficiente y otras que necesitarán más.

    8. Ivan: ¿Ya te has convertido en un GURU del J2EE?

      Edu: Que va, ahora se menos que cuando estaba en MGS.

    9. Ivan: ¿Eres friki?

      Edu: Si, por supuesto.

    10. Ivan: Tus viejos colegas y familiares más cercanos ¿se han puesto celosos al abandonarlos?

      Edu: Si y no. Algunos conocidos han tenido ocasión de probar de entrar en Google, e incluso siendo mejores que yo, por H o por B, no han querido intentarlo, así que estar aquí para algunos no quiere decir estar en un lugar ideal.

    11. Ivan: ¿Que echas de menos de España? ¿de Cataluña? ¿de Barcelona?

      Edu: De España el clima, de Cataluña el mar y la cultura y de Barcelona la familia, los colegas y el mar.

    12. Ivan: ¿Las suizas te ponen más que lo “made in Spain”?

      Edu: A mi me gustan todas, aquí te parecen más exóticas pero luego te acabas acostumbrando y te parecen normales.

    13. Ivan: En Suiza ¿te toman igual el pelo con el cuento de la crisis como lo hacen en España?

      Edu: Realmente creo que hay crisis en España, con el índice de paro que hay no creo que todo sea cuento.

      Ivan: Tienes razón, pero yo creo que hay algunos que se aprovechan de la situación.

      Edu: Aquí no se aprovechan o al menos en mi caso, a mí por ejemplo me han bajado el alquiler sin decir nada, solo por el simple hecho que debido al estado de la economía actual me han dicho que el alquiler baja.
      Y en Google, sin problema, es como vivir en una burbuja anticrisis.

    14. Ivan: En Suiza ¿se tiene la misma mierda de consideración que en España sobre el valor que genera la inversión en tecnología?

      Edu: No, aquí se tiene más conciencia en la importancia de la inversión en tecnología para mejorar y/o optimizar la productividad de las empresas; en cambio en España los técnicos y las inversiones en tecnología se consideran un mal necesario, por lo que siempre van a por el mínimo.

    15. Ivan: Y para finalizar voy a pedirte que me reveles el gran secreto ¿que tengo que hacer para acabar currando en Google aunque sea en la cantina de camarero?

      Edu: Ser culturalmente muy abierto y tener experiencia en haber estado en otros países y en contacto con otras culturas. No tener esto es un gran handicap.

      Ivan: Y el saber Inglés otro, ¿no?

      Edu: Si, es otro gran handicap.

    Espero que la hayáis disfrutado igual que yo la he disfrutado haciéndose la.

    Hasta la próxima enfermos.

    13 de marzo de 2010

    Cabinas telefónicas con servicio de e-mail

    Estando de visita a un colega por Zurich y aprovechando el viaje para hacer turismo por allí me he topado con una cabina telefónica curiosa, al menos para mí, ya que nunca antes lo había visto.
    La cabina telefónica a parte del clásico teléfono que tenía, también tenía un aparato a parte con una pantalla y un teclado, así que al verlo he entrado para curiosear y he podido ver que en Zurich, las cabinas te dan posibilidad de enviar e-mails y FAX por el precio de 0,50 CHF.

    Interior de una cabina telefónica de Zurich (Suiza)

    Ah algunos os parecerá que es una tontería, y es que ahora con todo el mundo llevando tarifas de datos en el móvil que llevamos en el bolsillo, lo parece, pero yo hace ya algún tiempo, cuando estas tarifas no eran tan asequibles, me había encontrado con la necesidad de tener que enviar un e-mail y no poder hacerlo, y ya sé que hay cybers y todo eso, pero cuando necesitas uno no lo encuentras.

    Lo curioso de todo esto, que ya que pones una pantalla con un teclado, porque no se da acceso a Internet también, ¿será que tienen miedo que se use para hacer hacking? (esta última pregunta me la planteo después de llevar algún tiempo leyendo temas de seguridad y hacking ético el cual me ha provocado una especie de obsesíon por la seguridad y no es de extrañar, cada día ves cosas nuevas y es que la gente que se dedica a este mundo lo peta absolutamente todo.

    Por cierto, aparte de lo comentado, hay que decir que las cabinas, son cabinas, ya sea por el tema del frio o porque en este país puede que estén más acostumbrados ha darle un par de vueltas a las cosas antes de hacerlas, pero hablar en estas cabinas es algo bastante factible, ya que en las de España, según que calles, la comunicación solo es a una banda.


    Exterior de una cabina telefónica de Zurich (Suiza)

    Hasta la próxima enfermos.

    6 de marzo de 2010

    Instalando Marvell Yukon Ethernet Controller en Ubuntu

    Después de un tiempo sin poder dedicarme a dejar bien configurado mi Netbook el cual ya compré hace algún tiempo, finalmente me he decidido dedicarle un rato, hoy mismo, para dejar funcionando la tarjeta ethernet integrada en el sistema operativo que le puse desde el primer momento que lo tuve, que es concretamente un Ubuntu 9.10 Netbook remix. Si ya sé que alguno podéis llegar a pensar que como es que no lo hice desde un primer momento, pues esto se reduce a básicamente 3 aspectos:
    1. Falta de preferencia de mi tiempo libre para dedicarle a esto.
    2. El aspecto 1 se debe a que la tarjeta Wireless Broadcom si que fue detectada en la instalación base.
    3. El aspecto 2 queda justificado por los 2 objetivos por el cual lo compré, que fueron tener menos pereza en cargar un ordenador a cuestas y para que en los momentos de mayor pasividad no me diera tanta pereza estar delante de un ordenador; este último objetivo implícitamente requiere el uso de la wireless, ya que en esos momentos es cuando necesito estar en el sofa o en la cama, por lo que los cables me sobran, además debido a esto inicialmente no me día cuenta que el sistema operativo no la había detectado.
    Bueno ya no me enrollo más y paso a explicar la aventurita de instalar el driver, que me ha llevado un rato algo largo, pero como siempre a parte de ahora tener la tarjeta ethenet funcionando me ha llevado a aprender, como siempre, alguna cosa más.

    Buscando el dispositivo
    He empezado buscando el fabricante del dispositivo que lleva el Netbook porque aunque alguno de vosotros penséis que como es que no podía saberlo, pues básicamente se debe a que cuando compré el Netbook no miré concretamente que tarjeta ethernet llevaba.
    Esto fue fácil de solucionar buscando en la Web de HP el modelo y viendo con que hardware se comercializaba; esta vez ha sido fácil ya que en el caso de la ethernet solo habían utilizado un fabricante y modelo, concretamente se trata de una Marvell Yukon Gigabit Ethernet.

    Buscando el driver
    Aunque parezca una parida, resulta que encontrar el driver apropiado para linux no lo ha sido tanto, por tres motivos:
    1. En los repositorios de paquestes de Ubuntu no hay o no he encontrado un driver; por lo que se jodió la instalación más fácil y rápida a la que podía optar.
    2. HP no ofrece drivers para linux para este Netbook.
    3. Resulta que los drivers te los puedes descargar de dos lugares, de SysKonnect y de Marvell, siendo distintos.
    Bueno, así que me descargo los dos el SysKonnect y el de Marvell.

    Analizando los drivers
    Una vez descargados, que en el caso de Marvell he descagado el que indica para kernels de la versión 2.6 pero con una coletilla que pone "Fedora", les he echado un vistazo rápido y ya he visto que el de Marvell es de una versión superior, concretamente la 10.84.3.3 frente a la 10.70.1.3 de SysKonnect.

    Después he leído detalladamente el README del driver de Marvell y ver que cumplía con todos los requisitos de instalación, he visto que hay dos modos de instalación, uno llamado "Modo de Instalación" y otro "Modo de Generación de Parche"; por lo que he leído más adelante en mi caso lo que quiero es instalarlo no parchear un kernel para que luego el driver quede integrado en las fuentes de este y pueda ser distribuido con este driver añadido.

    Una vez ya he tenido claro el proceso de instalación he decidido echarle un ojo al README del drivers de SysKonnect y con un simple vistazo vemos que son iguales; así que dando se esta divergencia, claro está que he optado primero por probar con el de Marvell que es de versión superior.

    Instalando los drivers
    La primera prueba
    Lo primero que he probado es lo más sencillo que uno puede hacer, que es ejecutar las instrucciones y ver si todo funciona y no se genera ningún problema.

    Como el resultado no ha sido satisfactorio, he hecho lo mismo con de SysKonnect y el resultado ha sido el mismo, así que va a tocar mirar los errores generados.

    Chequeando los errores
    En ese momento he empezado a mirar si los errores eran parecidos en un driver y en el otro y efectivamente lo eran así que me quedo con el Marvell definitivamente, ya que es de versión superior como ya he comentado anteriormente.

    El primer error que me ha aparecido al lanzar la instalación

    $ sudo ./install.sh

    parecía que era un problema del código del script de instalación, pero después de buscar un poco google, he encontrado en un post, que se soluciona fácilmente cambiando el intérprete de comandos indicado en el script de "#!bin/sh" a "#!bin/bash" y el error que daba de que la sintaxis era incorrecta para un "(" después de la declaración de la primera función del fichero "functions", incluido con los ficheros de instalación, se solucionaba.

    Una vez solucionado este pequeño mal entendido he vuelto a ejecutar la instalación y me he encontrado con un error que indicaba que no encontraba las fuentes del kernel, ya que lo que va a hacer es recompilar el driver para el kernel que se esté usando. He empezado mirando el synaptics y he visto que si tenía instalado las fuentes del kernel (los headers) así que algo pasa que no los encuentra.
    A raíz de eso, he mirado un poco más específicamente y he visto que lo que necesita es generar un link en /usr/src llamado linux que apunté a los headers del kernel que estas corriendo, por lo que manos a la obra:

    $ sudo ln -s /usr/src/linux-headers-2.6.31.19 /usr/src/linux

    Después de esto, volvemos a probar y el resultado es que nada que continua fallando, indicando que o que las fuentes están corruptas o que no coinciden con la versión del kernel que se está ejecutando, así que ejecuto el siguiente comando para ver que versión estoy ejecutando y poder comparar a que versión de las fuentes he creado el link

    $ uname -r
    2.6.31-19-generic

    Así que la he cagado de dos posibilidades que habían (ya sabía que estaba utilizando la 2.6.31-19, por lo que los headers de versiones anteriores los había descartado), he linkado con la que no era ,así que he cambiado el link

    $ sudo rm /usr/src/linux
    $ sudo ln -s /usr/src/linux-headers-2.6.31.19-generic /usr/src/linux

    De nuevo he vuelto a ejecutar y otro vez ha fallado, viendo que estaba sucediendo he visto que ahora lo que no ecuentra es las fuentes del kernel pero esta vez accediendo desde "/lib/modules/2.6.31-19-generic/source", así que viendo que hay en ese directorio, veo que "source" no existe y ¿porque no?, pues no lo sabía pero después de ver que haya en ese directorio he visto que había un link llamado "build" que apuntaba a "/usr/src/linux-headers-2.6.31-19-generic", así que he decidido probar de linkar "source" al mismo lugar

    $ sudo ln -s /usr/src/linux-headers-2.6.31.19-generic /lib/modules/2.6.31-19-generic/source

    Y de nuevo he vuelto a probar y esta vez sí, se ha compilado, instalado y cargado el módulo en el kernel.

    Conclusiones
    Con todo esto he aprendido a que tampoco están difícil compilar e instalar un dirver para linux si el script esta bien hecho, solo tienes que tener un compilador (lo más habitual es el gcc), las fuentes del kernel que estas ejecutando y los links correctos a los directorios donde se encuentran las fuentes.
    Por cierto el módulo se llama sk98lin, por si alguien en algún momento se necesita descargarlo o cargarlo manualmente.

    Hasta la próxima enfermos.

    6 de febrero de 2010

    Gentoo: Domesticando a la criatura (1/2)

    conjuntoEntradas() {
      Gentoo: Domesticando a la criatura (1/2)
    }


    Después de meteros el rollo, en el post anterior, de como empecé mis aventuras con la distribución Gentoo, voy a contar, como ya anticipé, las aventuras que voy viviendo con mi retorno.

    La instalación base
    Después de descargar el live CD y quemarlo (aquí no doy explicaciones, ya que sería ridículo), empecé la instalación de la criatura en mi máquina.

    Enciendo la maquina, meto el CD y arranco desde él. Una vez ya se ha cargado el Linux del live CD empiezo a seguir los pasos que se especifican en el handbook.Voy haciendo lo que pone y a la vez entendiendo lo que voy haciendo, es decir nada de ejecutar instrucciones una tras otra sin saber que puñetas hacen, y entonces me topo con el primer punto que me toca documentar me un poco para conseguir una criatura bien domesticada.
    Configurando los flags del GCC

    Leo el párrafo del handbook y la breve explicación de unos cuantos de los flags ya me empieza a despertar las ansias de saber más de cada uno de ellos y de los valores que se les pueden dar por tal de domesticar la criatura a mí máquina y así conseguir que todo el software que compile, que es la mayoría del que se instala desde el portage de Gentoo, esté lo más optimizado para mi propia máquina.
    Para ello voy a la documentación del propio gcc y veo que hay mucho que leer, como no dispongo de tanto tiempo, y el objetivo actual no es conseguir ser el un gurú del gcc, leo con especial atención el capítulo dedicado a los flags de optimización para la arquitectura i386 y x86-64, a la que pertenece mi máquina.
    Después de leerme el capítulo, y con la intención de domesticar la criatura lo mejor posible decido indicar al compilador que lo que compile lo haga exclusivamente para mi arquitectura (-mtune=native) además de activar otros flags y darles el mismo valor que el handbook recomienda.
    Configurando los USE flags

    Después de tener al domador configurado (el gcc) toca configurar los USE flags. Los USE flags son un conjunto, bueno mejor dicho un enorme conjunto, de flags que se activan o se desactivan asignando los a la variable de entorno USE, bueno concretamente también hay otros ficheros de configuración donde indicarlos pero en la fase de instalación podemos ignorarlos y dejarlos para cuando ya estemos en la fase de afinamiento del sistema.
    Estos flags son utilizados por el portage de Gentoo para especificar la configuración, funciones adicionales y/o librerías concretas a utilizar por parte de las funcionalidades del paquete a instalar.
    Hay USE flags genéricos, es decir que indican lo mismo para los distintos paquetes que los soportan y otros que en función del paquete se producen resultados algo distintos. A raíz de esto y del gran número de flags que hay es difícil desde la instalación inicial activar y desactivar todos los que realmente deseamos ya que revisar todos los flags de todos los paquetes básicos que el sistema necesita puede ser un tarea bastante tediosa, además cuando activas ciertos flags se añaden nuevos paquetes que a su vez pueden tener flags los cuales no habían aparecido en la lista de paquetes a instalar que anteriormente teníamos.
    Por mi parte considero que la mejor opción es revisar por encima los flags que hay, especialmente los genéricos o los que veamos que puedan influir en el core del SO y posteriormente ya afinaremos activando y desactivando los flags a medida que vayamos instalando nuevos paquetes, y en el caso que se active alguno que no se había activado el portage ya nos indicará que tiene que recompilar el paquete.
    Para concluir, solo indicar que hay flags excluyentes, es decir que si se activa uno otro tiene que estar desactivado o sin indicar (entonces es como desactivado pero no se está indicando de manera forzosa) y también se puede dar el caso que al activar ciertos flags sea necesario recompilar ciertos paquetes que a raíz de esto se provoque una dependencia cíclica entre ciertos paquetes, teniendo que resolverla manualmente debido a que el sistema del portage (comando emerge) no puede resolverlo de manera autónoma, así que nos va a tocar recompilar individualmente uno de los paquetes activando y desactivando de manera temporal los flags que provocan la dependencia cíclica.

    Hasta la próxima enfermos.

    31 de diciembre de 2009

    Aprendiendo a ostias

    Después de bastante tiempo sin escribir nada en el blog, algo que me avergüenza, estoy escribiendo este post que ya tendría que haber escrito hace ya un tiempo cuando empecé a jugar de nuevo con la distribución de Linux, Gentoo.

    He dicho, que he empezado a jugar de nuevo, porque con ella ya estuve jugando a eso del año 2004, cuando estaba realizando el tercer trimestre del fatídico curso de tercero de carrera, sin duda el más duro, ya que el primer trimestre era de locos, el segundo más de lo mismo y el tercero dependía un poco de las ganas y motivación que te imaginabas que tendrías por aprender lo máximo posible y acabar la carrera en sus cuatro apretados años que la universidad (en la que yo estudié) estipulaba; aunque era luego, cuando estabas metido en el meollo, cuando realmente te dabas cuenta que tendrías que haber matriculado un poco menos de asignaturas para no acabar en el podio del "ranking de estresados" o en el "número de asignaturas con convocatorias anuladas".

    Bueno dejando la dura vida del estudiante a parte, como decía empecé jugando con esta distribución sobre mayo del 2004. En ese momento, motivado, en parte, por el revuelo que la distribución tuvo entre algunos compañeros, la instalación podía hacerse desde el stage 1, el stage 2 y el stage 3, y no recuerdo si había la posibilidad o no de instalar el SO sin tener que compilar absolutamente nada, es decir como cualquier instalación de otra distribución de Linux que muchos habremos hecho alguna vez. En ese momento, de esas 3 posibilidades, la que más me llamó la atención era la que más trabajo y tiempo tenías que dedicar, pero que sin duda, la que más cosas aprendería, como ya debéis suponer estoy hablando de la stage 1.

    La instalación la hacías y se continua haciendo igual actualmente, siguiendo el manual denominado handbook, donde se explican en detalle los pasos a seguir para acabar con el SO arrancándo se y ejecutando se en tu máquina. Aunque el handbook es muy completo, dificilmente te escapas de que en algún momento no cuadre lo que allí pone con lo que tu estas viendo o con lo que pone que utilizan y que si tu máquina no tiene eso utilices el que le toca, por ejemplo con el caso de un driver; ni de lejos te vas a encontrar de como instalar el SO en tu máquina, sino en una máquina similar a la tuya, algo lógico, ya que con la de miles de modelos de máquinas que hay es imposible documentar la instalación en todas.

    El stage 1, era fenomenal si lo que querías era atentar contra el medio ambiente, ya que ibas a dejar tu máquina chupando recursos eléctricos durante un buen rato. Si no recuerdo mal, el stage 1, compilabas el bootstrap del sistema operativo, cuando terminabas estabas en el stage2, donde compilabas todo lo básico que el sistema operativo necesita para ejecutarse a excepción del kernel y en el stage 3, compilabas el kernel, después de configurar lo que querías meter en él o si no querías estrujarte un poco más el celebro podías optar, igual que ahora, por compilar lo que se denomina el genkernel, que básicamente es una configuración por defecto que lleva todo lo que seguramente vas a necesitar ahora y/o en el futuro, y si no lo usas, es igual lo tienes por si en el algún momento lo necesitas.

    No recuerdo cuanto CO2 debí emitir a la atmósfera durante toda la instalación, lo que si recuerdo es que el stage 2 fue el que estuvo más tiempo la máquina compilando, fueron algo más de 24 horas, aunque la máquina que estaba usando no era de lo último que corría en esa época, recuerdo que era un P-III a 550 Mhrz, y que la había reciclado de vete tú a saber. Después de eso no recuerdo mucho más los problemas que tuve, si que recuerdo que configuré yo mismo el kernel, es decir que no usé el genkernel y que posteriormente le instalé como escritorio Window Maker.

    Esa máquina, la construí, con mucha ilusión y motivación, y gracias a estas dos cosas superé todos los problemas que fui teniendo y que también pude aguantar porque tenía mi máquina habitual de trabajo funcionando y así no me vi limitado en continuar haciendo las obligaciones del día a día. Además de construirla para aprender y probar cosas nuevas, el objetivo fue convertirse en un servidor casero, y así fue, se convirtió en un servidor casero donde configuré algún que otro servicio como el SSH, el FTP y alguno más. Más tarde, durante el verano lo utilice para hacer el trabajo de la beca que conseguí en un departamento de la universidad y que posteriormente me renovaron en octubre y con ello dejé el trabajo que desempeñaba en Esteyco S.A.P. y donde actualmente vuelvo a trabajar, lo que provocó que continuase utilizando esa máquina pero esta vez de manera remota ya que me sirvió para hacer pruebas de comunicaciones seguras utilizando la librería OpenSSL y en la cual se basó parte de mi proyecto final de carrera.

    Más tarde cuando terminé la carrera, abondoné esa máquina, para hacer otras cosas y también porque empezó a tener problemas de hardware, por lo que finalmente desapareció de mi vida y junto con ella también lo hizo Gentoo.

    Fueron tiempo que ahora he querido recordar y he buscado entre el poco tiempo libre que me queda entre las obligaciones y responsabilidades que tengo, para volver a jugar y aprender cosas nuevas, con esta distribución y que poco a poco os iré contando en distintos post con todo lo que me he ido encontrando; esperando no alargarme tanto tiempo entre uno y otro, como me ha pasado entre este y el anterior.

    Hasta la próxima enfermos.