sábado, 24 de enero de 2015

Ajustes a una instalacion de ZIMBRA: comando sendmail

Zimbra es una solución muy redonda, a la hora de implementar soluciones de correo electrónico. En poco tiempo implementas una solución muy completa de correo, multidominio. Cuenta con una muy completa documentación y tutoriales para resolver necesidades o tareas no habituales.Una interface web de administración y un conjunto de herramientas de linea de comando facilitan la vida del administrador de sistemas y los operadores que realizan tareas de rutina.

La instalación usual de Zimbra crea un directorio bajo /opt (usualmente zimbra) e instala allí todos los paquetes y archivos de configuración.Es una buena solución, permite tener una instalación consistente a salvo de las actualizaciones del sistema operativo. La forma correcta de trabajar con zimbra por linea de comando es hacerlo con el usuario zimbra, o agregar al PATH los directorios donde corre zimbra.

Hace algunas semanas atras encontré que correos generados por el cron no se enviaban. La razón de esto es que el cron utiliza el comando sendmail. Conozco dos soluciones posibles a esto. La primera es en el crontab, definir la variable de ambiente PATH, con los directorios de zimbra donde esta el ejecutable de sendmail. La otra, parado en el directorio hacer un symlink al ejecutable de zimbra:

cd /usr/sbin ; mv sendmail sendmail.OLD;  \
ln -s ../../opt/zimbra/postfix-2.10.2.2z/sbin/sendmail

De optar por esta solución es importante que los enlaces simbolicos sean con caminos relativos.

lunes, 12 de enero de 2015

Rotar pantalla de Windows

Cada tanto tengo que atender una llamada con este problema, un usuario que tiene la pantalla de su PC con windows "al reves" o "girada". Y nunca recuerdo como arreglarlo, asi que esta entrada del BLOG es para tener un recordatorio a la mano.

  • Posicion Normal: Pulsar ctrl+alt+flecha arriba.
  • Girado 90º: ctrl+alt+flecha izquierda.
  • Girado 180º: ctrl+alt+flecha abajo.
  • Girado 270º: ctrl+alt+flecha derecha.
Esto funciona con Windows vista o superiores. En XP se podría arreglar en "Propiedades de Adaptador".

jueves, 8 de enero de 2015

¿PERL?

En el año que terminó recibí dos ofertas firmes de empleo, que involucraban este lenguaje. Es habitual que me llamen reclutadores, un par de veces al año, buscando gente con conocimiento de PERL. Me sorprendió las ofertas firmes de empleo, con salarios competitivos y en un caso un paquete de beneficios interesante.

El PERL entró a mi vida hace unos 15 años, con un cambio de empleo. Entre mis tareas como administrador de sistemas debía realizar scripts para automatización de tareas. Muchos de esos scripts se hacían con herramientas de filtros (SED, AWK). Varios scripts se sustituyeron o hicieron desde cero en PERL. Con algunas ventajas frente a programar con filtros, por la claridad de a la hora de entender la lógica del programa. El lenguaje resultaba adecuado para el trabajo.

Con otro cambio de empleo, empecé a trabajar como desarrollador WEB. Mi trabajo inicial era corregir bugs y agregar funcionalidades a KOHA, un sistema de gestión integrado para una biblioteca. Entré a trabajar con plantillas (HTML::Template) y acceso a bases de datos (DBI). Descubrí Date::Manip, una poderosa biblioteca (módulo) de manejo de fechas. También pude conocer de primera mano las limitaciones de trabajar en ambiente de CGI, con mod_perl se hace bastante más llevadero.

En general a mis colegas la mención de PERL les provoca rechazo. A nivel de desarrolladores la cosa no esta mejor, cuando podría ser una alternativa para scripts de backend; tareas simples de datawarehousing (scripts ETL)  o  procesamiento de logs.

No intento en esta entrada hacer una apología del PERL, simplemente ponerlo en el tapete. No tiene por que ser tu lenguaje de favorito, pero debería estar en la caja de herramientas del administrador de sistemas. Cuando menos tener una familiaridad, para instalar scripts o corregir bugs.

¿Quien usa PERL?

No es el lenguaje más popular, pero es utilizado en muchos sitios WEB con volúmenes de tráfico importantes. Una pequeña lista:
A nivel de backend se que hay CDNs que tienen scripts en PERL. Muchos CMS desarrollados in house fueron programados en PERL. Paquetes o aplicaciones desarrollados en PERL:
  • KOHA: Este ILS es utilizado por mas de 50 bibliotecas
  • OTRS: Un poderoso sistema de tickets y gestión de incidentes.
  • SpamAssassin: Filtro de SPAM, utilizado por muchos servidores de correo y firewalls con filtrado de correo.
  • GOSA: Sistema de gestión de usuarios y computadoras con Backend LDAP.
  • Bugzilla: Sistema de seguimiento de BUGS.

Aprender PERL

Si tengo que recomendar un libro, sigo recomendando el Learning PERL. Incluso una edición vieja, como la tercera edición, es una buena ayuda para comenzar.

A nivel de recursos en linea, lo primero es ir a learn.perl.org. Este sitio tiene enlaces a tutoriales y muchos ejemplos de tareas concretas, como validar una direccion de correo o leer una planilla Excell.  En este mismo sitio hay una muy buena página con enlace a tutoriales. PERL.com está muy quieto, pero a veces aparece algo interesante. Otro sitio interesante es PERL Mongers, en Uruguay no hay grupo (¿Habrá?).



lunes, 5 de enero de 2015

Limpiar el directorio winsxs de Windows 2008R2

Muy a mi pesar, sigo lidiando con directorios llenos de basura en equipos con distintas versiones de Windows.  Hace unos meses compartía como limpiar el directorio software distribution. Hoy le tocó al  directorio winsxs. La receta no es original mía, esta inspirada fundamentalmente en el blog happysadm.

¿Que es el directorio winsxs? Es un intento de respuesta a los problemas de utilizar DLLs en Windows 98, 2000 y posteriores. Uno de los problemas es justamente el crecimiento del directorio donde se guardan los manifiestos, esos archivos que especifican la versión correcta de una DLL para una aplicación determinada.

Para poder hacer la limpieza es necesario ejecutar una shell como administrador. Y alli ejecutamos:

DISM.exe /online /Cleanup-Image /spsuperseded


Al menos en mi caso me permitío recuperar unos 3 GB de disco.No es mucho pero trabajando con maquinas virtuales con discos de 20 GB promedio, hace una diferencia.