Entradas

Mostrando las entradas etiquetadas como Linux

Borrando Huellas en Bash

Por necesidades laborales tengo que utilizar un proxy autenticado (con usuario y password) para actualizar servidores RHEL. En variables de ambiente paso credenciales de conexión al proxy. No quiero dejar en el history de BASH detalle de lo que hice. Para detener el registro al history: set +o history   Si quiero volver a registrar set -o history La frutilla de la torta: Para borrar una entrada en el history history -d NNN

mkdir ... multiples directorios

Como casi todas mis entradas en este blog, tienen que ver con mi trabajo. Meses atrás, estaba mirando un script para crear paquetes en RedHat. La tarea a realizar era en el $HOME del usuario, crear dentro del directorio rpmbuild una lista dada de directorios.  Mi solución al problema: for lista in (SOURCES SRPMS SPECS RPMS tmp BUILD); do        mkdir ~/rpmbuild/${lista} done Una solucion distinta, pero recomendada por la literatura oficial de redhat.   mkdir -p ~/rpmbuild/{SOURCES,SRPMS,SPECS,RPMS,tmp,BUILD}   Pensando en Devops , con ANSIBLE se podría hacer de la siguiente forma:   - name: CREA Repositorio   file:     path: "{{ item }}"     state: directory     owner: root     group: root     mode: 0775   loop:     - /samwhere/rpmbuild/SOURCES     - /samwhere/rpmbuild/SRPMS     - /samwhere/rpmbuild/SPECS     - /samwhere/rpmbuild...

2 articulos: History of Linux - Getting Started with FreeBSD

Hace un rato Federico nos compartía (a algunos amigos y colegas) dos articulos de DigitalOcean . Los acabo de terminar y quiero dejarlos en una entrada del blog. Estan especialmente interesantes para quien esta dando sus primeros pasos en Linux o FreeBSD, así como para docentes y alumnos de cursos de Sistemas Operativos o Linux. El primero, History of Linux , nos presenta un relato desde la previa a  la creacion de Linux. Linux existe por que existe el proyecto GNU . Pero antes existió Minix , que debe sus raíces a BSD y a UNIX . Y no olvidarse de MULTICS . Pero no se queda en la sumatoria de hechos históricos, va a los datos técnicos, a las innovaciones que hicieron que UNIX desde un origen tuviera la relevancia que tiene. Y como eso repercutió en los sistemas operativos inspirados o desarrollados a partir de el. El otro articulo, es un listado de una serie de artículos para facilitar el primer contacto con FreeSBD a quien tiene experiencia con Linux.  En Getting Start...

C elements of Style

Programar es análogo a escribir. De pequeños aprendemos poner letra tras letra para formar palabras y estas forman frases.  Análogamente quien aprende a programar escribe programas cortos, aprendiendo a manejar archivos o familiarizarse con las estructuras de control.  Cuando pasamos la etapa de programas cortos, de unos cientos del lineas, a programas más complejos, bibliotecas o sistemas completos es necesario aprender a estructurar estos programas.A lo largo del ciclo de vida un programa este va a sufrir modificaciones. Para poder modificar un programa es necesario entender su funcionamiento, hablamos allí de "código legible" . Hay quien compara el código difícil de leer con un plato de tallarines , hablamos de "spaghetti code" . En producción escrita se habla de "estilo" para redactar bien y con propiedad. Si hablamos de programar también se habla de estilo. Y pasa por cosas que escuchamos hasta el hartazgo: comentar el código, nombres de var...

Humble Bundle 2016

Tengo idea de que leí hace años de Humble Bundle , si no me falla la memoria en el blog de Fernando Briano . Como la oferta eran juegos, no le presté atención. Años atrás Rodolfo Pilas escribió en su blog sobre otra oferta de juego para jugar en el navegador , tampoco me llamó la atención. Hasta hoy, que leo una entrada en el blog de Rodolfo este año hay un bundle de libros de UNIX, de la editorial O'Reilly . Para quienes trabajamos en Linux/UNIX esta editorial no necesita presentación. La idea de Humble Bundle es que paguemos por el Bundle lo que entendamos razonable. Desde U$S 1, podemos llevar 5 libros, por U$S 8 o más se agregan 7 libros más. Pagando U$S 15 o más nos agregan 4 libros más, estos últimos para mi son "esenciales"; esos que si trabajas en Linux/UNIX deberías tener a la mano siempre, agregaría a estos 4 últimos Network Warrior .  La oferta es por tiempo limitado (termina en 5 días) , mis 8 lectores que quieran beneficiarse pueden verla aca...

Modulo reflexión de Moodle

Hace cosa de un año me pidieron instalar en una instalacion de Moodle "Modulo reflexion", me costó bastante encontrarlo con ese nombre. Se referian al " Mod_Journal ". Bien vale dedicarle unas lineas a este modulo de Moodle.  ¿Que es? Este modulo permite al estudiante llevar un registro de la elaboracion de una tarea asignada por su profesor. Al dar respuesta a la tarea "reflexiona" sobre la respuesta y queda un registro de el camino seguido para llegar a la misma.  ¿Como se instala? En alguna version vieja de Moodle (2.1 o anterior) fue parte del core , la instalacion standard de Moodle. De ahi la sopresa de algunos docentes cuando no lo encuentran disponible.  Actualmente es opcional, vale la pena agregarlo como parte de nuestra instalacion "standard". Para instalarlo es necesario bajar una version del modulo compatible con nuestra instalacion. Lo copiamos al directorio  donde estan los pluguines, luego lo registramos por la interf...

Repositorio para SLES 10 y 11

Semanas atrás, necesitaba una versión más nueva de zlib , en un servidor con SLES 11 . SLES , como buena parte de las distribuciones empresariales, son bastante conservadoras en los paquetes que soportan. Cuando necesitamos alguna versión mas nueva, las opciones son: compilar o instalar desde fuentes, portar paquetes desde OpenSuSE o recurrir a repositorios de terceros. Opté por la ultima opción, y buscando en OpenSuSE encontré este repositorio para SLES 10 y 11 . Para utilizar el repositorio podemos agregarlo con YaST o simplemente bajar aquellos paquetes que nos sirvan e instalarlos con RPM .

getline y getdelim: alternativas a gets o fgets

Quiero leer archivos de texto linea a linea, desconozco el largo de la linea. Esto es útil tenerlo encapsulado en una función para procesar archivos de log u otros archivos con lineas de largo variable, usuales en sistemas que intercambian información mediante archivos de texto. La función gets(3) , deprecada por largo tiempo, no es una buena opción. Si la linea es mas larga que el buffer, esta función permite leer mas allá del final del buffer que recibe como parámetro. Esto se explotado para romper la seguridad de una computadora, en ataques de desbordamiento de buffers .  La función fgets(3) , es un remplazo "seguro" de gets. Esta función lee hasta que el buffer se llene o encuentre el fin de linea . Si la linea es más larga que el buffer, va a ser necesario otra lectura. Y no tenemos certeza de saber si la función terminó por llegar al final de la linea o por que se llenó el buffer. Buscando mejores alternativas encontré las funciones de biblioteca getl...

El cambio a horario de verano que no fue ...

Imagen
A principios del pasado mes de octubre era la fecha programada para el cambio hora. Días después de la fecha en que debía hacerse el cambio seguían las repercusiones.  Foto de diario "El Pais" A nivel popular se sintió en muchos celulares , donde los proveedores de sistemas operativos para celulares no sacaron parches correctivos. Así que los usuarios de Android , Symbian y Blackberry debieron utilizar un paliativos: la zona horaria de Buenos Aires . Me consta que es necesario actualizar JAVA, no he escuchado mucho comentario al respecto. IBM sacó actualizaciones para algunas versiones de la JVM. Oracle provee una herramienta . Incluso hubo una disculpa publica de la telefonica estatal . Esta ultima empresa cargo culpas de una situación que no generó. La decisión política de dejar de hacer el cambio a horario de verano no se comunicó bien. No se generó conciencia del impacto de la misma.

¿RAID 5 o RAID 10? He ahi la cuestion ....

En el trabajo estamos por instalar un nuevo storage , y surge la sana discusión de que forma utilizarlo mejor. Una de las discusiones fue que versión de RAID era más adecuada a nuestras necesidades. De los múltiples niveles de RAID disponibles nuestra discusión se centro en las ventajas y contras de RAID 5 y RAID 10 .  Para el que quiere repasar o conocer sobre los distintos niveles de RAID está el articulo de wikipedia que enlace más arriba. O este otro , de Linux Magazine . En equipos de escritorio (o servidores de gama baja) es habitual contar con Motherboards que soportan RAID 0, 1 y ocasionalmente RAID 10. Con las capacidades de los discos actuales vale la pena considerar utilizar discos en RAID 1 o RAID 10, quizás comparar con la opción de discos de estado solido . Si no se cuenta con soporte por hardware de RAID, se puede utilizar software RAID , soportado por muchos sistemas operativos. Este Paper dió inicio a nuestra discusion. Conversando con colegas y quien...

Actualizar Zonas Horaria de uruguay 2015

Muy sobre la fecha llega esta entrada, espero sea de utilidad  El pasado 29 de Junio de 2015 se resolvió en consejo de ministros no realizar el cambio a horario de verano en Uruguay a partir de Octubre de 2015. Muchos sistemas informaticos que soportan el cambio automatico a horario de verano es necesario actualizar la configuracion (o reglas) para que no se haga el cambio. Las actualizaciones deben aplicarse antes del 4 de Octubre, la fecha en que deberia realizarse el cambio de horario. En MacOS X, Linux y la mayoria de los UNIX el cambio consiste en actulizar un archivo donde estan las reglas para el país o zona horaria afectada. La IANA mantiene el archivo de timezones . En Windows cada zona horaria es una entrada en la registry . En dispositivos moviles y sistemas embebidos es necesario consultar al fabricante. Windows Las versiones 2008R2, 2012, 7, 8 y 8.1 tienen parches que actualizan las reglas para Uruguay. Más información: https://support.micro...

Calcular Sumas MD5 en AIX

Necesito verificar un archivo descargado en un equipo con AIX. Esto se hace con sumas MD5 , en Linux esto lo hacemos con MD5SUM . En AIX no tenemos esta herramienta, pero tenemos csum que sirve para calcular sumas MD5. Ejemplo         root@aix # csum -h MD5 /etc/passwd         092f62e68ce4ba03dfd3d1e7f0de9d3b  /etc/passwd Para archivos de más de 2 GB hay que tener aplicado un parche .

Recodificar claves MD5

Semanas atrás estaba trabajando en la migración de casillas de correo a un servidor nuevo basado en ZIMBRA .  Se quiere que los usuarios autentiquen en el nuevo sistema con sus passwords actuales. Las passwords actuales están encriptadas con el algoritmo MD5 , almacenadas en una base de datos MySQL . En Zimbra se utiliza " autenticación interna ", las claves se almacenan en OpenLDAP (atributo userpassword ). Zimbra encripta las passwords con el  algoritmo SSHA, pero admite passwords con otros algoritmos. Queriendo migrar las password de un sistema a otro, nos encontramos que era necesario recodificar las passwords almacenadas en la base datos, para que pudieran ser utilizadas con exito. OpenLDAP almacena las passwords en un formato binario, codificado en base64 . Aquí se discute esto , con ejemplos en PHP. Y en este mensaje de una lista de OpenLDAP encontramos la razón de nuestro problema y un script de conversión.Copio acá el script : #---------------------------...

Ayuda para usar el vi

Esta no es una apología del vi , el editor de texto standard de Linux y UNIX.  Editar archivos de texto plano es una tarea frecuente, VI es el editor que se instala por defecto en ambientes UNIX (y UNIX like ). Tener un buen manejo de este editor es importante para trabajar en Linux, UNIX y afines ( *BSD ) o realiza tareas avanzadas en MacOS X . Para alguno de mis ocho lectores fanático de Emacs : no le tengo especial aprecio, tampoco lo rechazo. Me hice al habito de trabajar en vi, soy bastante productivo con el. El vim , una implantación de vi, ha reconciliado con vi a muchos de sus más acérrimos detractores. Contando con sintaxis coloreada para muchos lenguajes de programación y ayuda en linea. De todas formas, no se puede negar que la curva de aprendizaje es empinada. Hace muchos años con Enrique Verdes creamos una cartilla de VI , para facilitar el aprendizaje y uso. En la desaparecida revista Linux+ (edición española) se publicó un buen articulo para ...

Configurar PHP:YAZ

YAZ es una toolkit para desarrollar clientes y servidores Z39.50 . Estos servicios son utilizados fundamentalmente en sistemas gestión de bibliotecas , como Koha o PMB . Para una instalación de PMB necesité configurar esta extensión de PHP. La extensión esta disponible a través de PECL .  Es prerrequisito tener instalada la librería YAZ, la extensión de PHP es un wrapper. Se puede bajar del sitio del desarrollador, allí hay disponibles paquetes para varias distribuciones y Windows. En mi caso, trabajé sobre OpenSuSE , los paquetes a instalar son: yaz, libyaz y libyaz-devel. Una vez instalado estos paquetes es necesario ajustar algunos caminos para facilitar el trabajo de PECL. En mi caso ejecute: cd /usr/share/doc/packages/yaz && mkdir bin && cd bin && \  for i in $(ls /usr/bin/yaz-*); do ln -s  $i; done PECL espera encontrar la configuración de yaz, y sus herramientas, bajo un mismo árbol de directorios. Estos comandos corrigen es...

X11 (X-Windows) redirigido via SSH

Imagen
A veces necesito ejecutar aplicaciones X-Windows en equipos remotos, a los que accedo via SSH . OpenSSH tiene la posibilidad de redirigir la aplicaciones ejecutadas en el equipo remoto, haciendo que se desplieguen en el equipo local.  El equipo al que nos conectamos debe tener su servidor SSH configurado para redirigir Puertos hacia el equipo donde iniciamos la conexión. El archivo a editar es sshd_config (usualmente esta en /etc/ssh ). Agregamos o cambiamos estas lineas:       AllowTcpForwarding yes       X11Forwarding yes       X11UseLocalhost no Es necesario instalar xauth y xhost (según la distribución varían el nombre de los paquetes). Si trabajamos desde un escritorio con Linux (o cualquier UNIX) basta con invocar ssh con el switch -X. Un ejemplo:         ssh -X miservidor.empresa.com . ¿Y en Windows ? Para quienes utilizan windows ...

Limpiar con BleachBit

Imagen
Muy a mi pesar tengo que dedicar tiempo a limpiar "basura" en diversas versiones de windows. Ya publiqué varias entradas del blog, con lo que he venido haciendo.  Buscando alguna herramienta adicional, encontré BleachBit . El punto fuerte de este paquete es la calidad de la información que borra, no tanto el volumen de disco recuperado. Sobre este punto los autores citan una recomendación de Bruce Schneier, alentando a utilizarlo.

Alternativas a Moodle

Nadie discute las prestaciones de Moodle. Sin dudas el LCMS más popular, según el articulo en wikipedia hay más de 45000 instalaciones registradas. Días atrás, a raiz de una conversación,  quise ver que alternativas hay a Moodle . Encontré esta comparativa . Muy detallada, con buenas descripciones de todos los paquetes presentados. De los nombrados solo tengo experiencia de primera mano con Dokeos. Moodle tiene bien ganado su lugar en este nicho de mercado. Y un tema no menor, al menos en Uruguay,  junto con esa popularidad hay muchos docentes y técnicos con experiencia en Moodle. En este escenario dificilmente otro paquete le gane terreno a Moodle.

Upgrade OpenSuSE

Hace algunas semanas atrás encaré el upgrade de la distribución de mi notebook. Estaba corriendo OpenSuSE 12.2, quería llevarla por lo menos a la versión 13.1. El notebook de marras lo compré a fines del 2008, cuando le instalé OpenSuSE 11 (¿o 10.2?) en arranque dual . Y periódicamente le he ido haciendo actualizaciones, pasándolo de una versión a otra. Las primeras actualizaciones las hice a partir de medios físicos, no tenia una conexión a Internet adecuada para hacer la actualización en tiempo razonable. Hace varios años que vengo realizando actualizaciones en linea, con YUM o Zypper. El procedimiento, a grandes trazos, no es complejo: en un equipo actualizado desactivas los repositorios actuales. Luego apuntas a los repositorios de la nueva versión y actualizas. Es relativamente largo, puede durar hasta 6 horas la actualización. En la Support Database de OpenSuSE hay una buena descripción del proceso, que se puede ver aqui . Esta actualización me requirió algo ...

Calcular sumas MD5 en Windows

Imagen
Las sumas MD5 son un medio habitual para comprobar la integridad de un archivo. El creador del archivo calcula la suma y la publica junto con el archivo. Esta practica es usual para evitar la distribución de archivos corruptos o conteniendo malware . Estoy trabajando con varios desarrolladores para resolver un problema con archivos de texto que se corrompen cuando son procesados. Los archivos se generan, intercambian y procesan en sistemas Linux. Los desarrolladores trabajan en Windows, la causa de la corrupción esta en el tratamiento del fin de linea en archivos de texto.Para tranquilidad de todos los involucrados, decidimos compartir los archivos junto con la suma MD5 de los mismos. En linux el comando md5sum es parte de la instalación usual de cualquier sistema. Hay herramientas de terceros para windows que calculan la suma. En general prefiero evitar esas herramientas, salvo que provengan de fuentes confiables y conocidas. Microsoft proporciona una herramienta para est...