| Subcribe via RSS

Conociendo tu sistema

August 17th, 2010 | 1 Comment | Posted in HOWTO, Terminal, linux

Muchas veces no nos damos el tiempo de aprender a conocer lo basico de nuestro sistema, considero basico el poder monotear nuestro hardware, revisar nuestros discos duros (en cuestion de espacio disponible/utilizado y puntos de montaje) y demas detalles de administracion del sistema.

No es menosprecio a las interfaces graficas que ya existen, solo considero que es necesario, como minimo, saber sacar cierta informacion via terminal para cuando algo falle o no tengamos interface de 2 clicks y ya, espero les sea tan util como a mi:

Uname

Imprime informacion del sistema.

Con ciertas opciones interesantes:

-m, –machine
Imprime el tipo de máquina (hardware).
-n, –nodename
Imprime el hostname del nodo de red de la máquina.
-r, –release
Imprime la versión del sistema operativo.
-s, –sysname
Imprime el nombre del sistema operativo.
-v
Imprime la fecha de compilación del sistema operativo.
-a, –all
Imprime toda la información anterior.
–help
Imprime un mensaje de uso en la salida estándar y termina satisfactoriamente.
–version
Imprime información sobre la versión por la salida estándar y termina satisfactoriamente.

Uname - salida

dmidecode
Lo que hace este comando es leer la información del BIOS directamente y regresar un listado muy completo de todo el hardware encontrado en el equipo. DMI es por Desktop Management interface y lee la información del llamado SMBIOS (System Management BIOS). More »

Consejos prácticos de un Linux sysadmin

July 27th, 2010 | 2 Comments | Posted in Opinion, Personal, linux

Adminispotting

Todos los SysAdmins de todas las empresas tienen trabajos, carácter y circunstancias diferentes pero también todos compartimos ciertas reglas, o métodos básicos para hacer nuestro trabajo, son reglas sencillas y muy obvias que deberían ser enseñadas en cualquier carrera de sistemas:

Regla 1: Respalda todo (y haz respaldos regularmente).

Amamos las computadoras, los sistemas, la automatización pero debemos tener en cuenta una ley irrefutable: algún día el sistema se caerá, por causas que no puedes controlar o por simple idiotez tus sistemas algún día dejaran de responder. Para eso hay que estar prevenido: haz respaldos.

Respalda configuraciones de aplicaciones, cuentas de usuarios, bases de datos, manuales, guías, mapas y cronogramas.
No respaldes información personal: no fotos, ni música, ni videos, ni wallpapers, eso se va.
Genera tu propio sistema de respaldo incremental.
No hagas respaldos en el mismo sistema en producción, usa discos externos, dvds, memorias flash, cintas
¿Como y cuando vas a ejecutar los respaldos? Usa herramientas como Shell scripting, cron, ssh para automatizar respaldos, realízalos fuera de horarios de trabajo (ej., cada tercer sábado a la 1:00AM)

Regla 2. Domina la línea de comandos.

Este post va dedicado a los Linux SysAdmins. No hay una sola tarea que no puedas realizar desde la línea de comandos, hay herramientas graficas para hacer esas mismas tareas más fácil, pero es una mala idea depender de entornos gráficos o GUI.

En un servidor no puedes depender de una GUI para nada, los recursos deben ser utilizados para otras cosas.
Aprende, domina, maneja, adora herramientas como vi, diff, wget, links, cat, cron, pipes y direccionamiento de entradas/salidas, es todo lo que necesitas
Si no te sientes cómodo usado línea de comandos tal vez Linux SysAdmin no sea para ti 8con todo respeto), tal vez Windows SysAdmin…

Regla 3. No juegues con entornos de producción.

Esta la aprendí de la manera difícil. Existen muchas herramientas de virtualización: VirtualBox, VMWare, KVM, todas ellas para que clones el sistema de producción que tienen (el SO, las variables, el software, la configuración) y pruebes cambios en esos sistemas virtualizados antes de siquiera pensar en tocar el servidor de producción.

La cosa es simple: si metes una actualización en el servidor de producción y esa actualización entra en conflicto con algún sistema (y este deja de funcionar) tu jefe va a estar enojado, mucho.

Prueba en sistemas virtualizados o paralelos todas las variables posibles de un cambio, corrige problemas y al final agenda el cambio en producción, otra vez fuera de horas de trabajo.

Regla 4. Aprende a leer logs.

Todo sistema Unix tiene un sistema de registros y diarios muy decente, donde se guardan los cambios a sistema, registro de logueos y deslogueos, historial de comandos, mensajes de programas y de sistema, etc. Aprender a buscar en los logs te ahorrara horas de búsqueda en google (y hasta te dará material de un post en tu blog/bitácora personal).

Regla 5. La ley de los mínimos privilegios es de ORO

El acceso a internet es para trabajar no para ver videos, actualizar tu Facebook o ver a quien balacearon.
Bloquea todo acceso, en todas las vías a la web, solo abre acceso a cosas claramente especificadas
El acceso como root al sistema solo lo debes tener tu, tu jefe y/o tú segundo al mando, nunca apuntado en un post it junto al monitor.
Cambia las contraseñas frecuentemente.
Cierra puertos no utilizados en el server.

Regla 6. Hay una mejor forma de cumplir esa tarea, pero aun no la sabes.

Un SysAdmin se mantiene documentado de las herramientas que utiliza, optimiza rutinas al máximo posible (para cumplir el siguiente punto), lee, estudia y aprende, nunca se sabe suficiente de seguridad y mantenimiento, aprender nuevos y mejores métodos ayudan en todos los puntos de esta lista.

Regla 7. Un SysAdmin flojo es (irónicamente) un buen SysAdmin.

Si sigues todas las reglas al pie de la letra, automatizas los reportes y mantenimientos, generas una política de respaldos automatizados, tienes una firme política de seguridad y manejo de la red, y te sabes anticipar a los problemas por que lees lo que tu sistema tiene que decir (los logs) te sobrara el tiempo.

Para lo que aun no entiendan: cuando el SysAdmin de su empresa este flojeando haciendo posts en su blog, significa que todo esta funcionando bien, no se preocupe. Cuando vea al SysAdmin corriendo de un lado a otro y le diga “respalde su información por favor”, rezele a la deidad de su preferencia

ArchLinux Daemon Manager GUI

July 14th, 2010 | No Comments | Posted in ArchLinux, software

Hoy tratandod e ensamblar un script para manejar el orden de mis daemons en mi /etc/rc.conf em tope con esta joya, una interfaz GTK hecha en Perl que nos permite administrar la ejecucion de daemons del sistema, mandarlos al background y foreground, detenerlos, iniciarlos y reiniciarlos, espero que mi poco conocimiento en perl y el tiempo me den oportunidad de agregarle la funcion que quiero: agregar o quitar daemons y modificar el orden de inicio de cada uno de ellos.

Por mientras les dejo el screenshot de la interfaz y la liga de su paquete en AUR:

ALDM

SU liga en AUR es esta

Se instala asi:

yaourt -S aldm

Y se encuentra en Sistema – Administracion – ArchLinux Daemon Manager

Nuevo Pacman 3.4.0 y solucion al error de libalpm.so.4

June 22nd, 2010 | 1 Comment | Posted in ArchLinux, Terminal, software

archlogo

Esta mañana actualize pacman a su version 3.4.0 que segun el post ofcicial de ArchLinux.org viene con mejoras como:

Nueva opción: “Architectura”, que permite restringir la instalación de paquetes que no sean para una determinada arquitectura (x86 o x86_64).
Resolucion de dependencias automaticamente a la hora de instalar un paquete de manera local
Opciones -U y -R siempre preguntaran por confirmacion.
Nueva Opcion de upgrade al actualizar la lista de paquetes con “pacman -Syu”
Actualizacion mas rapida de repositorios, ahora solo descarga la lista de cambios en vez de la informacion completa
Nuevas opciones –print and –print-format pueden ser utilizadas a la hora de usar pacman en scripts.

y mas cambios que pueden ser vistos aqui

Ahora, hay un porblema al actualizar pacman, yaourt deja de funcionar mandando un error que dice:

package-query: error while loading shared libraries: libalpm.so.4: cannot open shared object file: No such file or directory

Lo cual no es un bug, solo un error de archivos de confoguracion que se soluciona asi:

desinstalamos package-query y yaourt:

# pacman -Rd package-query yaourt

Limpiamos la cache de pacman:

# pacman -Scc

Descargamos e instalas package-query de manera manual:

wget http://repo.archlinux.fr/i686/package-query-0.3-2-i686.pkg.tar.xz

Y lo instalamos:

pacman -U /package-query-0.3-2-i686.pkg.tar.xz

Finalmente einstalamos yaourt:

# pacman -S yaourt

Y listo, error corregido nuevo pacman y yaourt reinstalado funcionando

Probando GoogleCL

June 21st, 2010 | No Comments | Posted in Google, software

GoogleCL es una mini API para administrar los servicios de google tales como Blogger, Picasa, Youtube ydemas desde la linea de comandos.

pantallazo

¿Y por que quiero hacer eso?

Simple: por mera curiosidad de probar esta serie de scripts en pyhton, otra razon muy buena es que esto puede ser utilizado en un futuro con scripts propios para autimatizar ciertas cosas como subir un screenshot automaticamente, subir o editar documentos de google, administrar el calendario o mas. Incluso pueden crearse algunos clientes graficos en gtk o qt para estos servicios.

¿como lo instalo?

Descargamos ambas librerias gdata python library:

wget http://gdata-python-client.googlecode.com/files/gdata-2.0.10.tar.gz

y GoogleCL:

wget http://googlecl.googlecode.com/files/googlecl-0.9.7.tar.gz

descompirmimos ambos archivos:

tar -xvzf googlecl-0.9.7.tar.gz
tar -xvzf gdata-2.0.10.tar.gz

Nos dirigimos al directorio creado e instalamos:

cd gdata-2.0.10
sudo python setup.py install

cd googlecl-0.9.5/
sudo python setup.py install

Listo! tenemos googlecl instalado en el equipo, la primera vez que utilizemos el servicio nos pedira el nombre de usuario que es nomredelacuenta”@gmail… y nos pedira que demos permiso a los servicios de google de utilizar la api, estos 2 pasos solo se realizan una vez.

¿y como se utliza?

Casa subseccion se basa en servicios y cada seccion lista las acciones que este servicio puede hacer. Cada ejemplo sigue este formato: “tarea:descripcion:ejemplo”. Note that the example omits the initial $ ./google

Blogger

  • delete: Borrar posts del blog. google blogger delete –title “post de prueba 1*”
  • list: Lista posts. google blogger list title,url-site
  • post: Publica posts. google blogger post –tags “GoogleCL, prueba, impresionante” “Este es un nuevo post de la linea de comandos!” ~/blog/2010/may/*
  • tag: Editar etiquetas de un post existente google tag –title “Dev post” –tags “Python, software”

Calendar

  • add: Agregar un evento al calendario. google calendar add “Dinner party with George tomorrow at 6pm”
  • delete: Borra un evento. google calendar delete –cal “GoogleCL dev cal” –title “Release.*”
  • list: Lista eventosa determinada fecah o rango de fechas. google calendar list –date 2010-06-01,2010-06-30
  • today: Lista eventos para hoy. google calendar today

Contacts

  • add: Agrega contactos. google contacts add “Jim Raynor, jimmy@noreaster.com” contacts.csv
  • delete: Borra contactos. google contacts delete –title Jerkface
  • list: Lista contactos. google contacts list name,email –title “.*bob.*” > the_bobs.csv

Docs

  • delete: Borra documentos. google docs delete –title “Evidence”
  • list: Lista documentos. google docs list title,url-direct –delimiter “: “
  • upload: Sube documentos a la web. google docs upload the_bobs.csv ~/work/docs_to_share/*

SOLO PARA gdata-python-client >= 1.3.0

  • edit: Editar o ver un documento. google docs edit –title “Shopping list” –editor vim
  • get: Descargar documentos. google docs get –title “Homework [0-9]*”

Picasa

  • create: Crear un album. google picasa create –title “Instalacion gentoo” –tags Gentoo,Linux ~/photos/install/*
  • delete: Borrar fotos o albums. google picasa delete –title “Fotos comprometedoras”
  • get: Descargar fotos. google picasa get –title “Fotos comprometedoras” /ruta/al/directorio/
  • list: Lista fotos o albums. google picasa list title,url-direct –query “A tag”
  • post: Agrega fotos a un album. google picasa post –title “Summer Vacation 2008″ ~/old_photos/*.jpg
  • tag: Etiquetar fotos. google picasa tag –title “Album I forgot to tag” –tags oops

Youtube

  • delete: Borra videos. google youtube delete –title “.*”
  • list: Lista los videos de tu cuenta de youtube. google youtube list
  • post: Publicar un video. google youtube post –category Education –devtags GoogleCL killer_robots.avi
  • tag: Etiqueta videos google youtube videos. tag -n “.*robot.*” –tags robot

Usabilidad

Este tipo de api puede ser utilizado para crear servicios de escritorio para administrar nuestros servicios de google, creando un forntendf con pygtk las posibilidades son muchas, aunque sin ir muy lehos este tipo de scripts unidos a utilerias del sistema pueden resultar muy practicos:

Subir un screenshot:

scrot 'screenshot.png' -e 'mv $f ~/Desktop/' && google picasa post --title "Screenshtos" ~/Desktop/screenshot.png

Subir un video:

recordmydesktop /home/lucain/video.ogv && google youtube post --category Linux --devtags Linux, escritorio /home(lucain/video.ogv

Y muchas otras cosas ams combinadas, solo es cuestion de imaginacion!

Oracle virtualbox 3.2

May 19th, 2010 | 4 Comments | Posted in Noticias IT, Virtualizacion

Hoy, entre las actualizaciones de mi Arch estaba la actualizacion a virtualbox 3.2, esta que es mi herramineta favorita para sandboxing ha traido algunos cambios interesantes:

  • Soporte del hardware mas reciente de intel, incluye procesadores Core i7, i5 y los nuevos modelos de xeon 5600
  • Posibilidad de añadir procesadores virtuales en caliente
  • Soporte a reconocimiento de teclado y mouse USB
  • Implementacion del VirtualBox Remote Display Protocol que da funcionalidad a monitores externos (hasta 6 monitores conectados a una maquina virtual).
  • Nuevo subsistema de almacenamiento I/O que pretende reducir el uso de disco duro en el sistema host
  • Optimizacion de las interfaces de red, logrando una mejora de hasta el 25%
  • Nuevos sistemas operativos invitados:
  • Oracle Enterprise Linux 5.5
  • Ubuntu 10.04
  • Mac OS X – Este oficialmente solo en anfitriones de Mac OS X o sea osx sobre osx, aunque hay articulos donde explican como lograr esto en anfitriones PC (pc nomral con windows o Linux con osx virtualizado), al rato hago pruebas y posteare resultados.

Grandes cambios en virtualbox, se estav volviendo una competencia seria y fuerte contra otras opciones como VmWare. Tambien cabe mencionar el disclaimer de oracle donde aclara que virtualbox es gratuito si se trata de uso personal, pero en ambientes de organizaciones y empresas se debe adquirir una licencia de uso de hasta $50 por usuario, habra que ver que tiene esta version “de paga”.

Otra cosa es ver que oracle ya esta en el branding de virtualbox, lo que antes conociamos como Sun Virtualbox ahora es Oracle Virtualbox, y en about y splash screen nos lo recuerdan de manera no muy sutil:

Oracle branding

ArchLinux 2010.05 snapshot

May 18th, 2010 | No Comments | Posted in ArchLinux, Noticias IT

Lo mas parecido a una nueva version de ArchLinux son los snapshots, estos snapshots son usados por las distros basadas en el rolling release para liberar algunos cambios en el instalador de la distro, todos los demas cambios son aplicables a la distro en cualquier momento.

Este nuevo snapshot es una imagen iso que sirve para la insalacion del sistema base, sus cambios no implican ninguna mejora que ya se pueda disfrutar en alguna instalacion de Arch y son orientados meramente hacia el instalador. Los cambios nas notables de este nuevo ISO son:

  • El ISO de instalador (net installer o archcore) pueden ser usados como medio de instalacion en cd o USB (iso hibrido)
  • La mayor parte de los paquetes son comprimidos en formato xz
  • Imagen dual, el mismo ISO sirve para la instalacion en sistemas de 32 o 64 bits
  • Usa el cargador de arranque isolinux solo para cargar el modo live
  • El snapshot incluye el kernel 2.33.4-1, pacman-3.3.3-5 y glibc-2.11.1-3
  • Soporte para arranque en red (PXE)
  • Disponible wpa_supplicant, mejora de la conectividad wifi en modo live cd
  • Soporte para virtio

La lista completa de cambios se encuentra aqui
La descarga desde aqui

[Off topic] Sobre mi estado, la violencia y la migracion

May 17th, 2010 | 1 Comment | Posted in Opinion, Personal, Personas

Aquellos que lean este blog sabran que son muy pocas veces las que me desvio del tema del software libre o sistemas de informacion en cualquier nivel donde yo pueda postear. Ahora voy a salirme de tema de nuevo para hablar de algo que todos los mexicanos tenemos una opinion y (por desgracia) alguna vivencia: la violencia.

Mi esposa fue la semana pasada a una floreria a buscar un ramo para su abuelita, en eso salio la (tipica y triste) conversacion de que habian ejecutado a alguien muy cerca de ahi. El vendedor, sureño por cierto, solto un comentario ya varias veces escuchado: “pura violencia con esta gente y esta ciudad”.

Y sobre ese comentario queria postear. Hace un par de meses uno de mis hermanos, que viven en CD Juarez (una de las ciudades mas violentas del pais) me comentaban que el gobierno de veracruz estaba ayudando a sus paisanos a devolverse voluntariamente a su estado para salir de tanta violencia e inseguridad.

No estoy en contra de que cada quien busque un mejor futuro y mayor seguridad para su familia, tampoco estoy en contra de que llegen de muchos otros estados a buscar mejor estilo de vida aca a los estados fronterizos (bienvenido sea todo aquel que quiera trabajar). Lo que si me enoja un poco es la cantidad de hipocresia y mal agradecimiento que hay por parte de muchas de esas personas hacia la ciudad que les ha dado techo, comida y trabajo.

Es cierto que la violencia nos afecta a todos, es cierto que a veces es insoportable, pero tambien es cierto que es de mal agradecidos y cobardes el huir de la ciudad que les dio casi todo lo que tienen solo por que la situacion se ha puesto muy critica. Recordemos que todos somos culpables de que estas tierras esten inundadas de sangre, tanto veracurzanos, como torreonenses, mexiquenses, oaxaqueños y chihuahuenses somos culpables de esto: el alto consumo de drogas, de corupcion, de cosas hechas “a la mala” es cupla, causa y efecto de todos.

¿y que hacemos como mexicanos? lo de siempre: huir. Salir corriendo en el primer camion (por que no se pueden llevar su flamante camioneta fronteriza) a las nopaleras que los vieron nacer, que los chihuahuitas nos matemos entre nosotros, no?. Echarle la culpa a un gobierno (pri y pan, federal, estatal o local), a una raza, a un estado y salir de la zona que los recibio, como ratas abandonando un barco hundiendose.

Por los que se quedan y les son fienes a las tierras que les ha dado una oportunidad de mejorar su vida: gracias, esperemos que entre todos salgamos de este problema que nos fastidia a todos por igual y que en todo el pais se da. Es dificl vivir honestamente en el estado mas violento del pais (segun esto) pero espero que pronto se  solucione (sea como sea) y las cosas poco a poco se calmen a la tipica normalidad de una de las principales fronteras de este pais.

Una ultima cosa a todos los veracrucez, torreones, pachucas y demas gentes que salieron corriendo de aqui: aqui esta chihuahua (y todas sus maquilas, ferias de credito y carros fronterizos) siempre los va a recibir con los brazos abiertos cuando las cosas se calmen, a pesar de haber salido huyendo de aqui, no habra problema: bienvenido el que quiera trabajar. Solo que no los extrañe que un chihuahuense (o quien si se quedo para afrontar esto y cuidar su ciudad) los mire con desprecio y coraje.

Reflector: Mejorando el desempeño de los mirrors de pacman

May 11th, 2010 | No Comments | Posted in ArchLinux, HOWTO

Los mirrors (espejos) de ArchLinux son servidores replica donde el gestor de actualizaciones se conecta para descargar las ultiams revisiones de software, si han usado Ubuntu o una distro basada en Debian esto es un concepto parecido a los repositorios, solo que los mirros contienen casi todos el mismo software dividio en las 4 categorias principales (core, extra, community y testing) y la lista de software disponible es intimidante.

La lista de servidores replica o mirrolist de donde pacman se conectara para descargar las actualizaciones esta en /etc/pacman.d/mirrorlist la lista esta dividida por paises o zonas y una lista de espejos, generalmente se recomienda descomentar el mirror mas cercano a nuestra locacion para las actualizaciones, pero hay 2 problemas:

Los mirrors cercanos a nuestra locacion no son los mas rapidos y las actualizaciones duran años, o
Los mirrors escogidos se actualizan muy poco o tardan mucho en actualizarze, por ende mi distro tambien tarda.

Hay varias soluciones para esto. Lo primero que hay que hacer es hacer un respaldo del mirrorlist asi como esta y sin cambiar nada

# cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup

Revisar el status de los Mirrors More »

Utilizando Yaourt

May 6th, 2010 | No Comments | Posted in ArchLinux, HOWTO

Ya habia explicado hace unas semanas que es el repositorio de usuarios de ArchLinuc (AUR), tambien habia platicado de su herramineta predilecta: yaourt, tambien habia posteado una guia rapida de yaourt. Bueno, hoy me preguntaron que pasa con las opciones de editar los pkgbuild o los archivos .install y exactamente como utilizar yaourt.

Bien, aprovechando que estoy buscando e instalando un paquete en yaourt, vamos a demostrar como se hace. Hoy en unos blogs me tope con buenas criticas acerca del navegador Opera, en algun lado testearon su rama de desarrollo (la 10.52 al postear esto) y quiero probarlo, primero buscamos en AUR los paquetes relacionados con opera. Ya sea navegando hasta la pagina de AUR o utilizando yaourt:

[lucain@Antares ~]$ yaourt opera

Esto me dara una larga lista numerada de todos los paquetes relacionados con Opera ya sea en nombre o descripcion y buscara en todos los repositorios (core, community, extra, testing, AUR), nos presenta los resultados de esta manera:

(numero de resultado) (repositorio)/(nombre del paquete) – (version) (votos a favor del paquete) – (descripcion corta del paquete)

al final de la lista nos pregunta cual numero escogemos para instalar:

==> Enter n° (separated by blanks, or a range) of packages to be installed

En este ejemplo optaremos por el paquete aur/opera-beta (opcion 147 en este momento). Enseguida descargara desde el dominio de AUR el apqeuete opera-beta.tar.gz que contiene 2 archivos escenciales:

  • El archvio PKGBUILD, que contiene la descripcion del paquete, lista de dependencias y como instalarlas, licencia, direccion y correo del desarrollador y mantenedor, MD5sum y instrucciones de compilacion e instalacion.
  • El archvio opera.install Que es un script de post- instalacion, como es creacion de logs, ejecucion de otras aplicaciones o mensajes al usuario, incluye todas las configuraciones pertinentes despues de instalar el software.

Tambien mostrara los ultimos 5 comentarios de los usuarios que han utilizado este paquete, ahi podemos descubrir si este paquete es realmente lo que buscamos y el estatus del funcionamiento del mismo.  Nos preguntara si queremos editar el pkgbuild:

==>  Edit PKGBUILD ? [Y/n] ("A" to abort)

Optamos que no, a menos que sepamos exactamente lo que hacemos, como querer forzar una dependencia, modificar la instalacion o algo por el estilo, esto no se edita, si escogemos que si nos dara a escoger el editor de texto preferido (nano o vi) y al acabar volvera a este menu.

Nos mostrara todas las dependencias que va a instalar para echar a trabajar ese paquete: More »