Recordando viejos tiempos

Hace unos cuantos años, fui un muchacho activo en el IRC. Durante una buena temporada, compartí y me compartieron conocimiento diverso, respecto a lo que era Linux y BSDs en el canal de #unixmexico. Después desaparecí por años. Hace poco, me dí una vuelta y observé que el canal aun existe, pero está vacío. Antiguos camaradas habían creado #linux.mx y decidí recordar viejos tiempos junto a ellos.

Fue una grata experiencia. Los años pasaron sin compasión y se pudo apreciar algo más de madurez en el personal (aunque tampoco demasiada) XD. El asunto es que, de vez en cuando, entro a saludar y a observar algún que otro comentario. La gran mayoría son nuevos usuarios, pero también hay viejos camaradas de la old school.

Posted in Opinión | Leave a comment

Tecnología de contenedores en Red Hat 7

He decidido adentrarme un poco en el asunto de los contenedores en Linux. Para ello, existe una solución muy interesante basada en Docker, Kubernetes y OpenShift que se puede probar sobre Red Hat 7. Para poder hacer esto, solamente se necesita una cuenta de desarrollador, la cual puedes crear en este link.

En mi caso, estoy haciendo uso de un equipo físico con Red Hat 7.4, el cual ya está debidamente registrado y con acceso a los repositorios que el licenciamiento anteriormente mencionado proporciona.

Básicamente, de lo que se trata es de optimizar recursos en un equipo, corriendo aplicaciones de forma independiente del sistema operativo que las aloja. Para ello, se crea una estructura cliente/servidor efectiva. En Red Hat se utiliza una solución basada en Kubernetes, Docker y OpenShift. Así, podemos correr, por ejemplo, varias instancias de postfix de forma independiente, ya que los elementos del Docker Core se basan en imágenes, registros y contenedores, teniendo las imágenes (templates) un entorno de ejecución propio (runtime) que ya incluye las librerías necesarias y las aplicaciones. Los registros son los lugares que alojan a las imágenes y pueden ser de uso público o privado. Por último, los contenedores no son más que espacios de usuario segregados que ejecutan las aplicaciones de forma individual y separada de otras aplicaciones que comparten el mismo sistema operativo. Los contenedores son creados por Docker desde el docker-formatted container images, que se encuentran aislados y están basados en el estándar del kernel linux. Por supuesto, existen un montón de detalles que se quedan fuera de este post, pero si te interesa el tema, seguro encontrarás bastante información en la red.

Posted in Containers, Redhat | Leave a comment

Sin redes sociales

Hay tres redes sociales que me tienen, literalmente, hasta los huevos. Twitter nunca lo he usado activamente; eso de limitar las publicaciones a 140 caracteres me parece una autentica mierda, así que, no me interesa. La cuenta la abrí hace un tiempo y solamente ha servido para que me saturen el correo electrónico con basura referente al seguimiento de tal o cual persona y poco más. Facebook es otro asunto. Mi cuenta ya tenía algunos años y, durante la mayor parte del tiempo, la utilicé activamente. No obstante, creo que, en esencia, es una plataforma para publicar basura, incluyendo la mía. Memes, apps idiotas y poco más. No vale la pena mantener una red social solamente para ese tipo de cosas. Así que, ya me di de baja en ambas plataformas. Linkedin también se fue por el retrete. Si bien esta red social está más enfocada hacia el mundo laboral, lo cierto es que a mí, en lo personal, no me ha servido para nada. Tomando esto en cuenta, decidí, al igual que con facebook y twitter, darme de baja. De este modo, ya no estoy en ninguna red social.

La única excepción en este momento es Workplace, que es una especie de facebook para empresas. Caí ahí porque en la empresa donde trabajo me dieron de alta de un día para otro y sin avisar. De hecho, ni siquiera he visto si hay forma de darse de baja, pero lo cierto es que a día de hoy, es la única red social donde, por sus características, sus usuarios no publican idioteces (de momento).

Con esto, me apunto voluntariamente al retroceso de la “evolución humana”. Solamente me queda el Whatsapp, que también me tiene harto, pero es un medio barato para mantener contacto con mi familia en España. Solamente por eso, no lo envío también a la mierda, aunque ganas no me faltan.

Posted in Opinión | Leave a comment

Redhat 7 Travesti Edition

Sí, se trata de una broma. Mi Redhat 7 nació como Redhat, pero ciertas necesidades propias impuestas por imperativos laborales, han derivado en que al Redhat original, que nació con “pito”, le hayan crecido tetas.

Dispongo de una licencia Development, lo que habilita al sistema operativo a acceder a los repositorios de redhat para poder realizar instalaciones, updates, etc. Sin embargo, Redhat se ha enfocado en desarrollar su sistema hacia la rama de servidores, lo que me obliga a buscar fuentes alternativas si quiero utilizarlo como workstation, tomando en cuenta que mucho del software con el que trabajo no se encuentra a golpe de yum. Por eso, tuve que añadir los repos de CentOS, hacer uso de ciertos recursos de Scientific Linux y de otras fuentes, como Fedora, amén de alguna que otra independiente.

El asunto es que me ha llevado algo de tiempo dejar esta estación de trabajo a mi gusto. He tenido que resolver algunos inconvenientes, crear .rpms desde los fuentes e incluso instalar alguna que otra cosilla haciendo uso de los tarballs directamente.

Entre las novedades a destacar, mi Redhat Travesti Edition, cuenta ya con dnf y zypper (Sí, el que usa SuSE) y todos funcionan a las mil maravillas. También le he cambiado el tema de plymouth que trae por defecto, sustituyéndolo por uno de creación propia.  VPNC no funcionaba al principio, así que tuve que corregir el software a mano. Como Suite ofimática instalé WPS Office, con todas sus fuentes y en español. Ms Office 2010 lo tengo funcionando sobre crossover (ambos cuentan con licencia). He de comentar aquí que Crossover quedó funcional una vez que instalé dnf ya que, por alguna razón, los amigos de Codeweavers no consideran a Redhat como candidato para instalar su software, quiero pensar que debido al enfoque “Server” que tiene el sistema operativo, pero nada es imposible.

El entorno de escritorio que me resulta más cómodo para trabajar es MATE. La solución fue instalarlo desde los repos de Fedora. No me dio ningún problema. Por otro lado, RHEL instala por default un kernel 3. En mi caso, opté por utilizar el último kernel que utiliza Fedora, que a la fecha es 4.14.5-300.fc27.x86_64. Este kernel lo generé usando rpmbuild apoyándome en el .config original del kernel-source de redhat. Tuve que hacer algunos ajustes a mano, pero finalmente anda que se las pela.

En fin, estoy contento de haber convertido una distribución “Server Like” en una “Workstation Like” con todo lo que necesito para mi trabajo diario. Probablemente no tarde mucho en regresar a Ubuntu, que es mi favorita, aunque también tengo ganas de instalar y utilizar por un tiempo Debian. Ya veremos, dijo un ciego.

¡Salud!

Posted in Redhat | Leave a comment

Terminales TTY en OpenBSD 6.3

De vez en cuando, los que nos dedicamos a esto de la informática, tenemos la necesidad de conectarnos a un equipo a través de RJ45, cable cruzado o null modem, por ejemplo. Existen numerosos servidores en los centros de datos que no cuentan con una consola conectada al puerto MGT, siendo necesario cargar la laptop con un adaptador USB a Serial y un cable CISCO para este menester. Es lo habitual en mi caso, aunque siempre existen variantes para un mismo problema:  la conexión en sí misma.

Pero algo que, en apariencia, puede resultar sencillo, en ocasiones se convierte en un problema. En este caso, voy a escribir sobre cómo se realiza la conexión a un switch CISCO Catalyst 3560, utilizando un adaptador DB9 – RS232, un cable CISCO, una laptop Lenovo con OpenBSD 6.3 y Minicom como software para acceder al prompt de administración.

La realidad es que este tipo de conexiones suele ser sencilla. Cuando utilizas Windows, lo normal es instalar el driver del adaptador y con Putty, realizas la conexión, configurando todo el asunto en la sección SERIAL. En linux, no necesitas instalar ningún driver y, también puedes utilizar Putty. De este modo, Putty se convierte en una herramienta multiplataforma. Lo que difiere, a la hora de configurar el software, es cómo cada sistema operativo ve al device en cuestión.

Pero en OpenBSD el asunto ya no es tan sencillo. ¿Por qué? Porque Putty no funciona. Es decir, puedes instalar Putty en OpenBSD sin problemas, pero a la hora de configurar el puerto correcto e intentar acceder al equipo, te aparecerá un error como el de la siguiente imagen:

¿Por qué pasa esto? No tengo idea. ¿Cómo sé que el puerto indicado es el correcto? Porque el mismo puerto se configura en Minicom, al igual que invocando el comando cu -l directamente y dicho problema no aparece. ¿Hay que indicarle a Putty otra nomenclatura diferente? Es posible, pero no he encontrado nada de documentación al respecto. Además, carezco del tiempo y de las ganas de investigar este asunto en relación a Putty. Minicom rulz !!!

Bien, llegados a este punto y, descartando Putty, estos son los pasos a seguir para configurar Minicom y poder acceder al switch CISCO usando el puerto serial a través de un adaptador USB:

Lo primero que tenemos que hacer es enchufar el adaptador a la laptop. Doy por supuesto que el cable CISCO también está debidamente conectado a la salida SERIAL de dicho adaptador. Llegados a este punto, ejecutamos desde una ventana de terminal el comando tail -f /var/log/messages, que nos tiene que arrojar una salida similar a la siguiente:

Como se aprecia en la captura, mi dispositivo aparece como ucom0/uchcom0 y también me muestra el “vendor”.

En la documentación de OpenBSD se nos indica que estos dispositivos, a la hora de configurarlos en el software de conexión, deberá de hacerse como /dev/ttyU o como /dev/cuaU. En mi caso particular, probe con ttyU0 y no funcionó, así que solamente quedaba experimentar con la segunda opción, la cual resultó exitosa:

Lo único que falta entonces es configurar Minicom. Para hacer esto, obviamente tenemos que tener instalado el software e invocarlo como minicom -s para que nos permita indicarle el dispositivo a utilizar, que sería /dev/cuaU0, así como generar y guardar un archivo de configuración para sesiones futuras, en formato dfl.

Hecho esto, solamente queda realizar la conexión, la cual, como muestra la siguiente imagen, no da mayores problemas.

De este modo, ya tenemos configurado Minicom y podremos conectarnos directamente a la MGT de un switch CISCO, a una XSCF de Oracle, a una MP de HP, etcétera.

Para finalizar, quiero aprovechar para agradecer a mi compañero Chuy Escamilla por prestarme el switch CISCO para las pruebas de conexión.

Posted in *BSD | Leave a comment

Proyecto “Maneja bien”

El título del proyecto se lo puso el Ayuntamiento de San Nicolás de los Garza. Corría el año 2005 o 2006, no recuerdo muy bien. 

Sobre un LTSP (Linux Terminal Server Project) monté un sistema de exámenes teóricos para la obtención de la licencia de conducir. Dicho sistema lo desarrollé desde cero en lenguaje C y consistía en una serie de preguntas de opción múltiple que obligaba a los futuros conductores a estudiar si querían obtener su licencia. El proyecto fue donado al municipio en su totalidad. Las preguntas eran aleatorias y estaban contenidas, en una base, un total de 400, de las cuales, al aspirante a conductor, le tocaba responder a 20. Para pasar el examen, la puntuación mínima era del 70%. He visto a individuos llorar y a otros salir encabronados de ahí. Durante por lo menos una semana, no hubo “mordidas” en San Nicolás. Después, el programa siguió funcionando, pero yo desaparecí del panorama. El trabajo estaba hecho y entregado.

En su momento no lo sabía, pero el municipio organizó todo un evento para la inauguración de este sistema. Allí estaba el alcalde, el servicio de informática en pleno, el director de tránsito y un montón de gente que no había visto en mi vida. De mi parte, solamente había dos amigos: Heinz y Punk0.

El asunto es que la noticia salió en televisión y en algún periódico del área metropolitana de Monterrey. 

Pongo este post aquí, porque acabo de encontrar (en formato .3gp) la noticia que sacó Info 7 en su momento, así que, pido disculpas por la calidad del mismo. No obstante, esto forma parte de mi historia personal, así que ¡qué diablos!, creo que no está de más que aparezca en mi blog.

Posted in Development, Personal Projects | 1 Comment

¿Es Linux para perdedores?

Hace unos días, mientras buscaba documentación sobre OpenBSD 6.2, llegué de casualidad a un artículo de la revista Forbes publicado en el 2005. Dicho artículo es sobre Theo De Raadt, quien fue fundador del proyecto NetBSD y OpenBSD. El fulano es contundente, pero coindido con él en algunos aspectos.

Este es el enlace:

https://www.forbes.com/2005/06/16/linux-bsd-unix-cz_dl_0616theo.html#3b82c3c5171d

Hay algunas cosas que me hicieron reír, como esa donde manifiesta que “los desarrolladores de Linux y BSD son, en esencia, lo mismo, pero con la diferencia de que los de BSD han besado chicas”. Ahora solamente falta que aparezca Ron Jeremy hablando sobre su contribución al kernel linux… xD.

Hay algunas cosas que el amigo Theo olvida. Una de ellas es sobre la funcionalidad del software. Si bien, a mí en lo personal, me gustan mucho los sistemas BSD, tengo que reconocer que, en cuestión de software, todavía tienen bastantes carencias, incluso hoy en día. Muchas de esas carencias son solucionables usando las típicas emulaciones linux que los sistemas BSD ofrecen como opción, pero no es lo mismo que ejecutar programas de forma nativa. Por otro lado y, dependiendo del hardware, en muchas ocasiones, dejar un sistema BSD “al tiro” es un verdadero dolor de cabeza.

Lo que es cierto es que la portabilidad de los sistemas BSD es alucinante. Es decir, cuando el código es muy bueno, se te abre el mundo hacia otras arquitecturas. Para muestra, NetBSD. Por otro lado y, cuestión no menos importante, compilar un CUSTOM kernel en cualquier BSD es infinitamente más rápido, sencillo y práctico que compilar linux. No podemos olvidar que un usuario de BSD, normalmente, tiene la necesidad de generar kernels customizados con mayor frecuencia que un usuario de linux (Habilitar los módulos de la mayoría de las tarjetas wifi que hay en el mercado es [o era] un claro ejemplo de ello).

Hace ya unos cuantos años, fui un usuario activo de NetBSD. Ahora, hace apenas unos días, el amigo Theo de Raadt y su equipo, liberaron la versión 6.3 de OpenBSD. Un poco cansado ya de tanto Linux y en honor a tiempos pasados, decidí instalar esta versión recién liberada, en la laptop que se puede ver en la fotografía. Como entorno gráfico, me decanté por XFCE4. De momento, todo funciona bastante bien. Cuando tenga oportunidad, instalaré los ports y terminaré de realizar algunos ajustes adicionales. Ya veremos si este BSD cumple con mis expectativas y se instaló para quedarse o, por el contrario, se trata de un inquilino con fecha de salida próxima.

Posted in *BSD, Free Software, Opinión | Leave a comment

Finch – Mensajería desde la consola

Hace unas cuantas semanas, publiqué un artículo sobre el uso de Sky como sustituto de Lync para entornos Linux. Además de Sky, es posible utilizar Pidgin para este menester. Lo único que se necesita es instalar el complemento pidgin-sipe para que nos ofrezca la posibilidad de conectarnos a un Lync Server y estar comunicados, en mi caso, con varios compañeros de la oficina.

Bien, para los amantes de la línea de comandos o, para aquellos que tienen pocos recursos en sus equipos, existe una solución que se llama Finch. Grosso modo, se puede decir que Finch es el Pidgin de la consola o terminal.

En mi caso, tengo instalados los plugins “sipe” para Lync y “Skypeweb” que sirve para utilizar Skype sin la necesidad de instalar ese pesado y nefasto cliente de mensajería.

La aplicación es sumamente intuitiva. Usa siempre una combinación de teclas que incluye ALT más algunas letras. Por ejemplo, para redimensionar la interfaz se utiliza Alt+r, para cerrar una ventana de conversación, se utiliza Alt+c, etcétera.

Finch es una excelente opción si uno no dispone de un equipo demasiado potente, lo que no suele ser descabellado, tomando en cuenta que las  empresas ya no invierten como antes en equipo para sus empleados. De todos modos, uno se las ingenia y, como se puede apreciar, no hay mal que por bien no venga.

Si estás cansado de tener dos mensajeros abiertos a la vez o, de plano tu equipo no te da suficiente rendimiento, pues aquí tienes una excelente alternativa. En vez de quejarte, usa Finch. 🙂

Posted in Messengers | 2 Comments

Probando OpenIndiana

Pues como indica en título de este post, hace unos días decidí probar OpenIndiana. Lo hice en modo “live” y, para ser sincero, me gustó. 

El problema que le veo, en mi caso personal, es que no hay un driver para la tarjeta wireless que utiliza la laptop designada para la instalación en disco, lo que me ogligaría a utilizar la tarjeta de red convencional, es decir, entrar a internet mediante cable, algo que descarto por simple comodidad.

He buscado hasta la saciedad y no he encontrado nada. Entonces se me ocurrió la idea de crear mi propio driver, tomando en cuenta que el firmware de mi tarjeta está disponible y ya fue adaptado exitosamente en proyectos como NetBSD, FreeBSD, OpenBSD y Linux. Sin embargo, los paquetes que utiliza OpenIndiana tienen la extensión .p5i. Esto, de momento, me obligaría a invertir tiempo en estudiar sobre la construcción de los mismos, algo que por el momento, descarto, aunque parece una buena área de oportunidad.

Esperemos que este proyecto siga adelante. Para los que ya tenemos experiencia con Solaris, creo que es una muy buena opción. Por otro lado, supone una alternativa UNIX diferente a las ya conocidas distribuciones Linux y a los *BSD. 

Más información y descargas en el siguiente enlace:

Download

Posted in OpenIndiana, Solaris | Leave a comment

VirtualBox en Slackware 14.2

VirtualBox se ha convertido para mí en una herramienta casi imprescindible. Parte de los laboratorios que hago en el trabajo, suelen iniciar en mi equipo. Después paso todo al laboratorio del área, pero generalmente, los primeros pasos son en mi equipo personal. Utilizo indistintamente VirtualBox y KVM, cada uno con sus pros y contras.

Bien, en este artículo describiré brevemente cómo se instala VirtualBox en Slackware, ya que no hay un paquete oficial para este sabor de linux.

Lo primero que hay que hacer es comprobar que los fuentes del kernel se encuentren en /usr/src. En mi caso, utilizo un kernel GENERIC y el path absoluto es /usr/src/linux-4.4.118

Después hay que moverse a /boot y copiar el archivo config-generic-4.4.118 de la siguiente manera:

cp -rp /boot/config-generic-4.4.118 /usr/src/linux-4.4.118/.config

Hecho lo anterior, solamente queda preparar los módulos, para lo cual, procederemos como sigue:

cd /usr/src/linux-4.4.118

make prepare && make modules_prepare

El proceso anterior es muy rápido y, tras realizarlo, ya estamos en disposición de instalar VirtualBox, el cual hay que descargar de https://www.virtualbox.org/wiki/Linux_Downloads. Para el caso de Slackware, seleccionaremos la versión que aparece como “All distributions (built on EL5 and therefore do not require recent system libraries)”.

Una vez descargado, asignamos permisos de ejecución con chmod +x nombredelpaquete y lo ejecutamos con permisos de administrador, tal y como se muestra en la siguiente imagen:

Para finalizar, solamente queda realizar una llamada al ejecutable y ya estaremos en disposición de comenzar a crear las máquinas virtuales que necesitemos.

Para añadir toda la funcionalidad a VirtualBox, siempre será aconsejable instalar el extension pack, el cual nos va a permitir compartir directorios entre el host y las VMs, por ejemplo, utilizar los puertos USB y alguna otra cosa adicional que siempre será de ayuda cuando de entornos virtuales se trata.

 

Posted in Slackware, Virtualization | Leave a comment