miércoles, noviembre 19, 2008

Agregar maquinas por lote en SAMBA

Script de mucho uso a los que para los que gestionan varias estaciones en un controlador de dominio en el registro de SAMBA. Siempre vale la pena recordar que el script se puede adaptar al medio donde trabajes o lo vayas a usar. El archivo de entrada (maq.txt) listas con los nombres de las máquinas que se añadirán en SAMBA. ejemplo:
maquina1
maquina2
maquina3

El script es el siguiente:

#!/bin/bash
#Registro de las máquinas por lote en SAMBA.
# Crea las cuentas de las estaciones a fin de que puedan entrar en el dominio

UUID=11480;
while read linea
do
UUID=$((UUID+1));
echo "Registrando maquina $linea"
useradd -u $UUID -g machines -c "Windows 2000 Cliente" -d /dev/null -s /bin/false $linea"$"
/usr/local/samba/bin/smbpasswd -a -m $linea"$"
###############################################################################
echo "Maquina $linea cadastrada ...."
done <>

Script para agregar y eliminar usuarios de samba y el Sistema


#!/bin/bash
#######################################################
# Ejecutar como administrador
# http://cbittachira.blogspot.com
#######################################################
Principal() {
clear
dir="Directorio Actual : `pwd`"
kernel="Kernel : `uname -r`"
arquitetura="Arquitectura : `uname -m`"
grupos=groups

echo "+-------------------------------------------------+"
echo "| Utilidades para LinuX |"
echo "+-------------------------------------------------+"
echo "| Agregar/ Remover usuarios en SaMBa y en Linux |"
echo "+-------------------------------------------------+"
echo "| Escrito por: |"
echo "| Pablo Contramaestre pcontramaestre@gmail.com |"
echo "+-------------------------------------------------+"
echo
echo $dir
echo $kernel
echo $arquitetura
echo
echo "Opcoes:"
echo "1. Agregar un Usuario"
echo "2. Eliminar un Usuario"
echo "3. Modificar la contraseña de un Usuario"
echo "4. Listar Usuarios de Samba"
echo "5. Salir"
echo -n "Entre la opción deseada => "
read opcion
echo
case $opcion in
1) Adicionar ;;
2) Eliminar ;;
3) Modificar ;;
4) Listar ;;
5) exit ;;
*) "Opcion desconocida." ; echo ; Principal ;;
esac
}

Listar() {
echo "Lista de Usuarios Samba: "
cat /etc/samba/smbpasswd | awk 'BEGIN{ FS=":" } { print "Usuario:" $1 "\t" "Id:" $2}'|more
read msg
echo "Lista de Usuario del Sistema: "
cat /etc/passwd | awk 'BEGIN{ FS=":" } { print "Usuario:" $1 "\t" "Id:" $3}' |more

echo "Presione cualquier tecla para continuar..."
read msg
Principal
}

Adicionar() {
echo -n "Introduzca el login del usuario: "
read login
echo -n "Escriba el nombre completo del usuario: "
read nombre
echo -n "Entre el grupo de usuarios: "
read grupo
echo -n "Entroduzca la contraseña del usuario: "
stty -echo
read password
stty echo
echo
echo "Mensajes del Sistema: "
echo
( echo $grupo ; echo $grupo ) | sudo groupadd -r -f $grupo
sudo /usr/sbin/useradd $login -c "$nombre" -g "$grupo" -d /home/user/$login -s /bin/bash; echo "$password" | sudo /usr/bin/passwd $login --stdin
echo
( echo $password ; echo $password ) | sudo smbpasswd -s -a $login
#smbpasswd -a $login $password
echo
echo "Presione cualquier tecla para continuar..."
read msg
Principal
}

Modificar() {
echo -n "Introduzca el Login del usuario a cambiar la contraseña: "
read login
echo -n "Entroduzca la contraseña del usuario para cambiar: "
stty -echo
read password
stty echo
echo
echo "Mensajes del Sistema: "
( echo $password ; echo $password ) | sudo smbpasswd -s $login
echo "$password" | sudo /usr/bin/passwd $login --stdin
# echo
# ( echo $senha ; echo $password ) | sudo smbpasswd -s -a $login
#smbpasswd -a $login $password
# ( echo $senha ; echo $password ) | sudo smbpasswd -s -a $login
#smbpasswd -a $login $password
echo
echo "Presione cualquier tecla para continuar..."
read msg
Principal
}

Eliminar() {
echo -n "Introduzca el login del usuario a eliminar: "
read login
echo
echo "Mensajes del Sistema: "
echo
sudo /usr/bin/smbpasswd -x $login
echo
sudo /usr/sbin/userdel $login
echo
echo "Pressione cualquier tecla para continuar..."
read msg
Principal
}
Principal

Manuales de OpenOffice

Manuales de OpenOffice


Introducción al OpenOffice


Manual de Writer:

Manual de Writer

Ejercicio 1

Ejercicio 2


Manual de Impress:

Manual de Impress


Manual de Calc:

Manual de Calc

Ejercicio 1

Ejercicio 2

Ver los comandos mas usados en la Consola

Para ver los comandos que mas usas en la consola basados en el history de la shell, hacemos el siguiente comando:

history | awk '{print $2}' | sort | uniq -c | sort -rn | head

martes, noviembre 18, 2008

Eliminar Todos Directorios Vacios

Para eliminar directorios vacíos (incluso si los nombres de archivo o directorios contienen espacios o caracteres extraños) de un árbol que puede hacer:

find . -type d -empty -print0 | xargs -0 rmdir

domingo, noviembre 16, 2008

Ver la diferencia de archivos entre dos directorios

El siguiente comando Le mostrará una diferencia de los archivos en la raíz de dir_1 y dir_2:

diff -u <(ls -c1 dir_1) <(ls -c1 dir_2)

Donde dir_1 y dir_2 son los directorios a buscar las diferencias

Convertir NRG a ISO en Linux con dd

Para convertir simplemente imagenes NRG (Nero formato) a las imágenes Iso se realiza con el comando dd

Nero escribe un encabezado de 300kb en la norma ISO. Entonces lo que hay que realizar es un skip a esos primero 300 kb, y el comando es el siguiente:

dd bs=1k if=NRG_FILE of=ISO_FILE skip=300

martes, septiembre 30, 2008

Richard Stallman: El software libre en la educación

En el siguiente vídeo vemos a Richard Stallman explicando 2 cosas básicamente Que es el software libre:

* La libertad de usar el programa, con cualquier propósito (libertad 0).
* La libertad de estudiar cómo funciona el programa, y adaptarlo a tus necesidades (libertad 1). El acceso al código fuente es una condición previa para esto.
* La libertad de distribuir copias, con lo que puedes ayudar a tu vecino (libertad 2).
* La libertad de mejorar el programa y hacer públicas las mejoras a los demás, de modo que toda la comunidad se beneficie. (libertad 3). El acceso al código fuente es un requisito previo para esto.

y La importancia del software libre en la educación.



Via: Nierox y http://www.tecnologiaslibres.net/

sábado, agosto 16, 2008

b43-phy0: Radio hardware status changed to DISABLED SOLUCIONADO

Error solucionado en el modulo B43 en ubuntu hardy.
al introducir el comnado $dmesg | grep 43 daba el siguiente resultado y por consiguiente la tarjeta inalambrica no reconocia ninguna red.

[ 3542.025687] b43-phy1 debug: Loading firmware version 351.126 (2006-07-29 05:54:02)
[ 3542.551445] b43-phy1 debug: Chip initialized
[ 3542.551706] b43-phy1 debug: 32-bit DMA initialized
[ 3542.571449] Registered led device: b43-phy1:tx
[ 3542.571475] Registered led device: b43-phy1:rx
[ 3542.571499] Registered led device: b43-phy1:radio
[ 3542.571535] b43-phy1 debug: Wireless interface started
[ 3542.571541] b43-phy1 debug: Adding Interface type 2
[ 3542.611115] b43-phy1: Radio hardware status changed to DISABLED
[ 3543.131740] b43-phy1: Radio turned on by software
[ 3543.131750] b43-phy1: The hardware RF-kill button still turns the radio physically off. Press the button to turn it on.
[ 3545.803831] b43-phy1: Radio hardware status changed to DISABLED

Para solucionar este problema descarga el siguiente archivo:
http://pcontramaestre.googlepages.com/b43-all-fw.tar.gz

lo descomprimes y copias el contenido completo en la ruta /lib/firmware
despues escribes en la consola, rmmod b43 y la vuelves activar con modprobe b43
ya con esto deberia esta funcionando, sino reinicias la computadora y listo..

domingo, julio 20, 2008

Manual de Iptables

Navegando por ahi me consegui este excelente manual de iptables, aqui dejo el enlace:
http://www.wikilearning.com/tutorial/manual_practico_de_iptables/9755
muy bueno este manual, lo recomiendo.

viernes, junio 27, 2008

Una introducción a los universos paralelos

Este articulo me pareció demasiado interesante, por eso voy a publicarlo.... lo consegui en la siguiente pagina: http://www.sofocracia.org/2008/06/una-introduccion-a-los-universos-paralelos/


¿Puede un gato estar vivo y muerto a la vez? En un lugar muy remoto, una persona con su nombre, su misma vida, su mismo entorno y sus mismos recuerdos estará leyendo esta misma frase en este mismo momento. Esta persona está en un universo paralelo al suyo.

¿Imagina cómo sería su vida si aquél amor de juventud nunca le hubiera rechazado? Esa vida existe, en un universo paralelo.

¿Por qué el universo es como es? ¿Por qué tiene estas leyes y no otras? Todas estas preguntas tienen su respuesta en este artículo, basado en el artículo llamado “Parallel Universes”, escrito por Max Tegmark, de la Universidad de Pennsylvania.

Universo es una palabra que en latín viene a significar algo así como “lo único que hay”. Este nombre se debe a que hasta hace pocas décadas se creía que el universo era único, y lo englobaba todo. Hoy día las evidencias derivadas de los experimentos de física nos dicen que es muy probable que haya otros universos (lo que se llama Multiverso) y que, además, muchos de ellos son paralelos al nuestro.

El paralelismo entre universos se puede dar de muchas maneras. Este artículo es una recopilación de todos los tipos de universos paralelos, y trata de explicar cómo los científicos han llegado a intuir la existencia de tales. EDITO: Tales teorías no deben interpretarse como verdades científicas demostrables, sino como un ejercicio de imaginación sobre cosmología, física y filosofía. A pesar de que estas afirmaciones gozan de muchos adeptos, no todas siguen el método científico, por lo que son rechazadas por otra parte de la comunidad científica.

Mas sobre este articulo en (http://www.sofocracia.org/2008/06/una-introduccion-a-los-universos-paralelos/)

miércoles, mayo 21, 2008

Atom y Linux en nuestro coche

Coche Ordenador

Linux podría ser el sistema operativo que controle las funcionalidades multimedia de nuestro coche, ejecutándose sobre una plataforma Atom. Al menos, es lo que intenta Intel, que está colaborando con diversos fabricantes de vehículos para desarrollar una plataforma basada en este sistema operativo.

Esta plataforma se basará en su proyecto Moblin, y desarrollará un entorno para dispsoitivos basados en sus procesadores, con una tecnología similar a la usada en la Internet Tablet de Nokia. La idea es que el diseño sea abierto, de forma que cualquiera pueda desarrollar aplicaciones para él.

Eso significaría que no deberíamos conformarnos con las prestaciones que traiga por defecto, sino que sería posible instalarle de nuevas, por ejemplo soporte de códecs de vídeo adicionales, juegos, aplicaciones,... Además, simplificaría el proceso de actualización del sistema a nuevas versiones.

Este sistema permitiría, además, la conexión con otros dispositivos, de forma similar a como hace Microsoft Sync, ofreciendo diferentes posibilidades en las diversas pantallas del vehículo. Por ejemplo, en la delantera poder visualizar el navegador GPS mientras en las traseras se muestra una película.

Como ya contamos cuando hablamos de Sync, este tipo de plataformas se volverán ubicuas en nuestros vehículos, pasando primeramente por los de gama alta y llegando posteriormente a toda la gama.

Vía | ArsTechnica.

martes, mayo 20, 2008

Linux: armonía y entendimiento

Linux: armonía y entendimiento

Amor Linuxero

Amor Linuxero



Linux en cosas raras

Linux en cosas raras

Todo funciona en Linux

Todo funciona en Linux

Todo funciona en Linux

Porqué es recomendable utilizar Windows XP en la empresa

A continuación, como resultado de un objetivo estudio de ambos sitemas, le enumeraré algunos de los principales argumentos a favor de la idea de que Windows XP es un sistema operativo muy superior a Linux en entornos empresariales:
  1. En las reuniones matinales entorno a la máquina de café se habla de los últimos virus sufridos por todo el mundo, menos usted, y se siente por ello marginado.
  2. La ausencia de estrés y de cabreos enfurecedores delante de su ordenador le está convirtiendo en una blanda, plácida y sebosa bola de grasa, mientras que sus compañeros se mantienen tensos y alerta todo el día, estallando en un torbellino irascible a la menor ocasión. Usted envidia su combatividad.
  3. Al no tener que recordar números de serie, claves, keywords , códigos de registro y períodos de evaluación, su memoria se está deteriorando preocupantemente. Sus compañeros, en cambio, recuerdan cientos de útiles y vitales códigos de registro, los cuales intercambian placenteramente, sin que usted pueda participar de su gozo.
  4. La falta de impactantes pantallazos azules está atrofiando el pigmento azul de su retina, por lo que su oculista le ha recomendado que mire fijamente durante varias horas al día al logotipo de IBM. Sus compañeros, en cambio, han hiperdesarrollado su pigmento azul y pueden, de hecho, ver en la oscuridad.
  5. En caso de una invasión de seres extraterrestres ultraviolentos (como sucede a menudo) , no podrá, tal como ocurre en “Independence Day”, instalar Outlook en la nave principal de los invasores y de este modo destruir su civilización.
  6. Al ser usted usuario de Linux no tiene ninguna excusa para reiniciar su ordenador docenas de veces al día, y observa con envidia como sus compañeros conversan amigablemente en los pasillos durante sus placenteros reinicios, mientras usted se ve obligado -injustamente- a ser productivo todo el tiempo.
  7. El dinero que los demás emplean tan provechosamente en licencias, soportes, períodos de renovación y derechos de utilización, usted lo malgasta en ir al cine, en cenas, y en alcohol, lo cual está deteriorando su salud enormemente.
  8. Al no ser usted usuario de Windows, ningún amigo le llama para que emplee toda una tarde del fin de semana en reinstalar su ordenador, de modo que se aburre mortalmente mientras sus compañeros disfrutan agradablemente de sus relaciones sociales.
  9. Se ve obligado a leer todos los correos que le envía su jefe, sin tener acceso al derecho universal de uso de la utilísima frase “El Outlook no me deja abrirlo”, que sus compañeros tanto disfrutan.
  10. El botón de reset de su ordenador está acumulando alarmantes cantidades de suciedad.
Fuente: http://www.bhean.com/modules.php?name=News&file=article&sid=834

25 razones de peso para migrar a GNU/Linux


GNU/LINUX Las empresas, centros educativos, organismos gubernamentales y otras organizaciones por todo el mundo están migrando sus equipos a GNU/Linux dejando a un lado las soluciones de Microsoft a un ritmo cada vez mayor.

1 - Debido a que está licenciado bajo licencia GPL, GNU/Linux (así como todo el software libre) está disponible sin ningún coste. Puede ser descargado de Internet de forma gratuita, y puede ser adquirido en formato CD o DVD con un coste muy trivial. Una copia puede ser utilizada en tantos ordenadores como queramos sin restricciones. Si comparamos con Microsoft Windows, solo el sistema operativo nos costará por lo menos 100 € por ordenador.

2 - Debido a que es software libre, GNU/Linux también es gratuito en el sentido de que cualquiera está autorizado a modificar, incluso su código fuente, de cualquier forma deseada. Si las versiones modificadas no son re-distribuidas, los cambios pueden mantenerse en secreto. Esto también choca bastante con Microsoft Windows, ya que las modificaciones no están permitidas. El código fuente es la versión original de un programa tal y como lo haya escrito un programador usando un lenguaje de programación y antes de ser compilado de forma que sus instrucciones puedan ser entendidas directamente por un ordenador. Por lo tanto, es necesario tener el código fuente con el fin de poder realizar cambios en un determinado programa. Esta capacidad de experimentar con el código fuente, y hacerlo sin necesidad de dar a conocer las modificaciones a terceros ha sido muy importante para un gran numero de organizaciones.

3 - GNU/Linux cuenta con un soporte de alta calidad disponible de forma gratuita a través de Internet, en grupos de noticias y foros. Algunas personas afirman que este soporte es al menos tan bueno como en el software privativo, que además funciona, evidentemente, pagando. GNU/Linux puede adquirirse si se desea de forma comercial. Existen empresas que basan su negocio del software libre en negocio de servicios. Dan soporte de instalación de aplicaciones, parches para hacer frente a nuevas amenazas de seguridad y parches para arreglar bugs descubiertos recientemente. En GNU/Linux estos 2 últimos son relativamente infrecuentes...

4 - Hay muy pocas posibilidades de que el soporte técnico para algún sistema GNU/Linux se elimine porque el software haya quedado obsoleto o por cualquier otro motivo. Esto se debe a que el código fuente estará siempre disponible para cualquier persona que lo desee, incluidas aquellas personas que prestan dicho soporte de forma gratuita en Internet y también para aquellas empresas que basan su negocio en los servicios. Por el contrario Microsoft Windows, y otros programas privativos cuyo código fuente es mantenido en secreto, la obtención de soporte técnico se complica si la compañía que lo vende decide retirar el software con el fin de tratar de obligar al usuario a pagar por la nueva versión, por ejemplo.

5 - No existe ningún temor a que las aplicaciones se queden obsoletas con GNU/Linux. Esto se debe a que la arquitectura UNIX en la que se basan ha sido exhaustivamente probada y refinada durante más de 35 años y ha demostrado ser extremadamente eficaz, robusta y segura. Las mejoras se realizan a un ritmo rápido, pero las nuevas versiones siguen siendo compatibles con la arquitectura UNIX subyacente.

6 - No hay actualizaciones obligatorias para los usuarios de GNU/Linux. Esto se debe a que las versiones antiguas siguen siendo soportadas (por ejemplo, con el desarrollo de nuevos parches de seguridad y controladores de dispositivo) y porque las nuevas versiones, si así lo desean, están disponibles de forma gratuita y suelen ser compatibles con versiones anteriores. Los desarrolladores de software propietario, sin embargo, tienen fuertes incentivos financieros para planificar el que una determinada versión quede obsoleta. Su objetivo será inducir a los usuarios de versiones anteriores a gastar dinero para comprar o actualizar a las nuevas versiones.

7 - En caso de que un usuario decida actualizar a una versión más reciente de GNU/Linux, no hay derechos de licencia de software u otros gastos si el usuario selecciona una distribución libre. Por otra parte, la formación, modificaciones, adquisición de hardware y otros costos relacionados con una actualización a una nueva versión son también relativamente bajos debido a la compatibilidad con versiones anteriores.

8 - GNU/Linux no tiene complicados requisitos para hacer cumplir las licencias. En una empresa con cientos o miles de ordenadores, será necesario tener a un gran numero de personal solo para asegurarnos de que todos los ordenadores están cumpliendo con las complejas condiciones de autorización de uso (EULAs) para Microsoft Windows, Microsoft Office y otras aplicaciones propietarias. Con GNU/Linux no hay temor a auditorías sorpresa con posibles sanciones por violación de licencias.

9 - GNU/Linux es mucho más seguro con una muy baja tasa de infección por virus, troyanos, gusanos, software espía y otros códigos maliciosos. Esto se debe a que UNIX y todos sus descendientes (incluyendo GNU/Linux) fueron diseñados desde un principio con la seguridad en mente, en lugar de tratar de parchear graves fallos de seguridad cuando ys es demasiado tarde. Por ejemplo, los usuarios no habitúan a usar el sistema con permisos de administración, a fin de proteger los principales archivos del sistema. Incluso en el caso que la existencia de un código malicioso, este no poseería permisos suficientes para hacer mucho daño. Además un sólido firewall se incluye en las principales distribuciones y es activado por defecto. Otro factor a tener en cuenta es la libre disponibilidad del código fuente, lo que permite a miles de personas de todo el mundo poder buscar vulnerabilidades de seguridad.

10 - GNU/Linux es altamente resistente a los fallos de sistema y raramente necesita reiniciar. Esto puede ser muy importante para las grandes organizaciones para las que unos minutos de tiempo de inactividad puede suponer un coste sustancial. La razón es que GNU/Linux ha sido diseñado desde cero para ser un sistema operativo estable y robusto, incorporando todo lo aprendido en 35 años de historia de UNIX.

11 - Aunque el número y la variedad de programas para GNU/Linux aún no es tan grande como para el sistema operativo de Microsoft, ya existe una extensa selección y aumenta continuamente y cada vez más rápido a medida que más y más desarrolladores empiezan a crear programas para GNU/Linux. La mayoría de programas para GNU/Linux también son software libre y muchos de ellos tienen las mismas características y rinden igual o mejor que las ya existentes para Microsoft Windows. De hecho, los usuarios se encuentran a menudo con que todas las aplicaciones que necesitan están disponibles gratuitamente en Internet y que ya no necesitan comprar ningún software comercial.

12 - Existe una numerosa variedad de distribuciones GNU/Linux (varios cientos), cada una con su propio conjunto único de características, pero básicamente todas compatibles entre sí. Esto permite a los usuarios seleccionar las versiones que mejor respondan a sus necesidades específicas. También significa que si un distribuidor de GNU/Linux dejará de operar, todavía habría muchos otros para elegir. Por otra parte, fomenta una sana competencia entre ellas, contribuyendo así a la mejora continuada de la calidad y el rendimiento de GNU/Linux. La elección parece abrumadora pero por lo general es difícil cometer un error seleccionando una de las más populares, como Red Hat, Susu o Ubuntu.

13 - GNU/Linux cuenta con un alto grado de flexibilidad de configuración. Se puede lograr una alta personalización muy fácilmente y sin tener que modificar el código fuente. Es muy sencillo configurar GNU/Linux durante la instalación y optimizarlo para su uso como estación de trabajo, ordenador de escritorio, ordenador portátil, servidor web, servidor de base de datos, etc. Del mismo modo el aspecto y el comportamiento del escritorio, incluyendo iconos y menús puede ser configurado con un numero casi infinito de posibilidades y formas. Incluso puede hacerse parecido a Windows... Si esto no fuera suficiente, la capacidad de libre acceso al código fuente permite un grado de personalización "ilimitado".

14 - GNU/Linux utiliza formatos abiertos y estándares. Estos son aquellos que se ajustan a las normas de la industria y que pueden ser utilizados por cualquier desarrollador de software para crear programas compatibles. Es el caso de los formatos para el procesamiento de textos, hojas de calculo y otros tipos de archivos. En comparación con los formatos privativos (véase el formato DOC), el uso de estándares elimina el problema del apego a las normas privadas, con la consecuente dificultad y coste a la hora de cambiar a otro software en un futuro. El uso de formatos abiertos permite al usuario tener el control total de sus datos, en particular en el caso de que el vendedor de software decida dar por obsoleta la versión del programa, obligando al usuario a migrar todos sus datos a la nueva versión, previo pago, por supuesto...

15 - GNU/Linux es generalmente más rápido para un determinado conjunto de especificaciones de hardware. Esto es debido a una mayor optimización del código fuente.

16 - GNU/Linux cuenta con un alto grado de compatibilidad con otros sistemas operativos. Por ejemplo, se puede escribir, leer, copiar, borrar y manipular los datos existentes en una partición para Microsoft Windows, actuar como servidor para una red que contenga clientes en Windows, formatear discos duros para el uso con Windows, e incluso ejecutar los programas de Windows directamente si fuera necesario. En comparación, los sistemas operativos de Microsoft no pueden acceder a particiones de disco que contengan otros sistemas, no pueden formatear discos duros para otros sistemas, etc, etc...

17 - La ética y la moral se mantienen muy altas en el mundo GNU/Linux y en el resto del software libre debido a la gran apertura de su proceso de desarrollo y a la libre disponibilidad del código fuente. GNU/Linux nunca ha sido condenado en un tribunal por violación de leyes antimonopolio u otros delitos, ni ha tenido que pagar sanciones por la copia no autorizada de tecnología desarrollada por otras empresas. Las políticas gubernamentales antimonopolio regulan o rompen monopolios con el fin de promover la libre competencia. Los beneficios por alcanzar dicha competencia afectan a la economía y a la sociedad en su conjunto.

18 - GNU/Linux reduce la necesidad de actualizar o sustituir hardware cuando se actualiza a una nueva versión. Esto se debe a que su código fuente es muy eficiente y compacto, lo que permite que funcione en computadoras antiguas que no son adecuadas para las versiones más recientes de Microsft Windows.

19 - GNU/Linux es capaz de operar en una amplia variedad de plataformas y no solo se limita a equipos con procesadores Intel o AMD. Funciona perfectamente en una vasta variedad de equipos que van desde los superordenadores a los robots industriales, equipos médicos, teléfonos móviles (puede ejecutarse incluso en un reloj de pulsera)

20 - GNU/Linux es una mejor elección para su uso en las instituciones académicas por una serie de razones. Entre ellas se encuentra el hecho de que no hay secretos (en marcado contraste con el software privativo), con lo que los estudiantes tendrán la oportunidad de estudiar como funcionan realmente los ordenadores en lugar de simplemente aprender a usarlos. Muchos profesores están convencidos de que es mucho más importante aprender los fundamentos prácticos de la informática que aprender el uso de aplicaciones especificas (como Microsoft Word o Power Point). Una de las razones es que los fundamentos prácticos de la informática seguirán siendo validos después de muchos años, mientras que las aplicaciones (especialmente las propietarias) están en constante cambio y los conocimientos adquiridos quedarán obsoletos en pocos tiempo.

21 - Para los organismos gubernamentales, GNU/Linux permite la transparencia de los datos, ya que los almacena en formatos compatibles con toda la industria. Todo lo contrario al software comercial. Esta transparencia es importante para mantener una democracia efectiva. Esto permite a cualquier usuario acceder a los datos sin tener que comprar caros programas privativos. Por otra parte, mantenerlos en formatos estándar es mucho más seguro que hacerlo usando formatos propietarios.

22 - En GNU/Linux hay muy pocas razones para temer la existencia de puertas traseras, en parte porque todo el código fuente está disponible para su inspección. Una puerta trasera es un método secreto para obtener acceso remoto a un ordenador. Existe una (muy justificada) preocupación por parte de los gobiernos y las corporaciones de que dichas puertas traseras se han insertado de forma encubierta en el software propietario, permitiendo a los desarrolladores y a otros gobiernos a acceder a sus datos confidenciales.

23 - El uso y la promoción de GNU/Linux ayuda a fomentar una sana diversidad y aumento de competencia en toda la industria del software. Esa competencia puede promover el avance tecnológico, mejorar el rendimiento y disminuir los costes del software libre y del software propietario por igual. Tanto la teoría económica como los cientos de años de real experiencia en el mundo demuestran claramente que los monopolios no necesitan innovar, tienden a producir productos de mala calidad, inflan los precios y tienden a corromper el sistema político.

24 - GNU/Linux y el software libre no solo han alcanzado, o en algunos casos superado al software privativo, sino que también desarrollan más rápido. Esta tendencia irá a más, dado que la demanda para este tipo de software sigue creciendo y cada vez más personas y organizaciones participan activamente en su desarrollo.

25 - GNU/Linux ofrece la oportunidad de que los usuarios puedan contribuir al avance de la tecnología del software, debido a que el código fuente está disponible gratuitamente para ser estudiado, mejorado, ampliado y redistribuido. Un notable ejemplo de ello a nivel empresa ha sido IBM.

26 - Existen en realidad más de 25 razones por las que organizaciones de todo el mundo están migrando a GNU/Linux. Un vigésimo sexto motivo es que con GNU/Linux no hay necesidad de desfragmentar los discos duros a diferencia de Windows. La fragmentación, que es la difusión de datos en lugares no contiguos puede reducir la eficacia del almacenamiento de datos y ralentizar el funcionamiento de la máquina. Desfragmentar no es difícil, pero puede ser una molestia tener que hacerlo periódicamente, y no es necesario si tienes un sistema operativo bien diseñado.

Puedes leer el articulo original en inglés aquí

Fuente Español:Historias de Queso

sábado, mayo 17, 2008

Wifi Atheros AR5006EG en Ubuntu

wifi_logo_0peke.png

Actualización: hay varias maneras de instalar esta tarjeta, una es mediante ndiswrapper y los driver de windows y la otra es mediante los drivers de madwifi. Al parecer ha habido problemas para hacerla funcionar con el primer método, y ahora estoy probando con los drivers de madwifi y de momento funciona muy bien, de todas maneras dejo los dos métodos por si acaso.

Método madwifi (funcional 100%)

Lo primero dar las gracias a theo que escribió este método en los comentarios y por ahora la mejor solución al problema ;). Ahora vamos a configurar el wifi.

Necesitaremos tener instalados los headers del kernel y los build-essential para poder compilar, los instalamos con:

$ sudo apt-get install linux-headers-$(uname -r) build-essential

Ahora no se si hace falta pero por si acaso entramos a Sistema > Administración > Controladores de hardware y deshabilitamos “Atheros Hardware Access Layer (HAL)” y “Support for Atheros 802.11 wireless LAN cards” y reiniciamos.

Borramos las instalaciones anteriores de madwifi con:

$ sudo rm -rf /lib/modules/$(uname -r)/madwifi

Descargamos el driver de madwifi de aquí o aquí. Ahora descomprime el fichero y entra en la carpeta descomprimida:

$ tar zxvf madwifi-nr-r3366+ar5007.tar.gz && cd madwifi-nr-r3366+ar5007

Ahora compilamos e instalamos el driver con:

$ make

$ sudo make install

y ahora una vez instalado volvemos a habilitar los controladores de antes. Reiniciamos y listo. Probado en Ubuntu Hardy.

Método ndiswrapper (NO funcional 100%)

Por defecto Ubuntu nos ha habilitado su controlador en el “Gestor de controladores restringidos” pero como nos damos cuenta no funciona, así que desmarcamos el controlador (Sistema > Administración > Gestor de controladores restringidos) y añadimos su módulo a “la lista negra” para que no lo cargue al inicio. Editamos el archivo:

$ sudo nano /etc/modprobe.d/blacklist

y añadimos al final la siguiente línea:

blacklist ath_pci

Guardamos el archivo con Control + O y cerramos con Control + X. Ahora vamos a instalarnos ndiswrapper, un programa que nos permite usar drivers de windows para tarjetas inalámbricas. Lo instalamos con:

$ sudo apt-get install ndiswrapper-common ndiswrapper-utils-1.9

ahora tenemos que descargarnos los drivers para windows de esta tarjeta, pero tenemos que descargarnos según nuestra arquitectura. Para las distrubiciones de 32 bits probad la versión 6 que al parecer es la que funciona mejor.

Driver Atheros AR5006EG 32 bits —-> mirror 1, mirror 2

Driver Atheros AR5006EG 64 bits —-> mirror 1, mirror 2

Una vez os hayais descargado el driver lo descomprimis y con la consola os moveis hasta la carpeta que contenga los archivos (*.inf, *.sys etc). Y ahora instalamos el driver con ndiswrapper con:

$ sudo ndiswrapper -i net5211.inf

azul.png Cambiad el 5211 por 5416 si usais una distribución de 32 bits.

Ahora añadiremos la interfaz inalámbrica y añadiremos ndiswrapper al inicio con:

$ sudo ndiswrapper -m

$ sudo modprobe ndiswrapper

y añadimos “ndiswrapper” (sin comillas) al final del archivo /etc/modules para que se cargue al inicio

$ sudo nano /etc/modules

Reiniciamos y ya podremos configurar nuestra inalámbrica

Fuente: Quilombo

amor al software libre

Tira LinuxHispano: Amor

Instalar Nodoka (tema e iconos de Fedora) en Ubuntu

Instalación del tema

Solventamos dependencias

$ sudo apt-get install build-essential libgtk2.0-dev

Descargamos el motor de Nodoka (hacerlo en una sola línea):

CUIDADO, hay que poner dos guiones delante del “no” ya que no se aprecia por culpa de wordpress

$ wget –no-check-certificate https://fedorahosted.org/releases/n/o/nodoka/gtk-nodoka-engine-0.7.0.tar.gz

extraemos, nos metemos en la carpeta descomprimida, y lo configuramos

$ tar zxvf gtk-nodoka-engine-0.7.0.tar.gz

$ cd gtk-nodoka-engine-0.7.0

CUIDADO: Hay que poner dos guines antes de prefix y antes de enable:

$ ./configure –prefix=/usr –enable-animation

Ahora compilamos e instalamos

$ make

$ sudo make install

Descargamos el tema con (Dos guiones antes de no-check):

$ wget –no-check-certificate https://fedorahosted.org/releases/n/o/nodoka/nodoka-theme-gnome-0.3.90.tar.gz

Extraemos y lo copiamos al direcotrio de temas

$ tar zxvf nodoka-theme-gnome-0.3.90.tar.gz

$ sudo cp -r nodoka-theme-gnome-0.3.90/Nodoka /usr/share/themes/

Instalación de los iconos

Descargamos con:

$ wget http://ubuntu-debs.googlecode.com/files/echoicons.tar.gz

descomprimimos con:

$ tar zxvf echoicons.tar.gz

y copiamos a la carpeta de los iconos con:

$ sudo cp -R Echo /usr/share/icons/

Ahora para poder elegir el tema y/o iconos o mezclarlo como queramos vamos a Sistema > Preferencias > Apariencia y elegimos “Nodoka”.

Captura (sin iconos):


fuente http://losmundosdeyupi.wordpress.com/

domingo, abril 27, 2008

LinuxTube: el YouTube de Linux

El resto del mundo tiene a YouTube, y ahora los linuxeros tenemos a LinuxTube. Muy similar al primero, LinuxTube permite subir nuestros videos gratuitamente para que puedan ser comentados, incluídos en otros sitios, etc. Nada que no se pueda hacer en YouTube, pero con una clara orientación a un grupo de usuarios muy específico. Aunque su contenido es todavía incipiente, sus categorías nos dan una pista de qué tipo de contenidos podemos comenzar a encontrar en él: Tutorial-Howto, Charlas, Debian, FreeBSD, Ubuntu, etc.

(Para los interesados en hacer el suyo propio -y quizás lo mismo que hicieron en LinuxTube- el nuevo sitio StartYourTube permite hacer justamente eso: crear nuestro propio YouTube)

jueves, marzo 06, 2008

ssmtp en gmail

Este es un interesante articulo que consegui por internet, y dice lo siguiente:

ssmtp es una pequeña herramienta que nos permitira enviar correos usando el comando mail o mutt desde la linea de comandos , de hecho ssmtp actua como un smtp relay reenviando nuestros correos a nuestra cuenta de gmail.

Esta herramienta puede ser util por ejemplo en scripts donde queremos enviar datos desde mail sin disponer de un MTA instalado localmente.

Tambien puede ser util en la configuración de las notificaciones de Nagios (Sistema de Monitorización) , para permitir la notificación en los servidores de correo de nuestra empresa.

Instalando ssmtp

En este how-to uso gentoo aunque puede ser adaptado facilmente a tu distribución favorita.

Para instalar ssmtp en gentoo usaremos el siguiente comando.

# USE=”ipv6 -mailwrapper -md5sum ssl” emerge ssmtp

En Ubuntu es:

sudo apt-get install ssmtp

Una vez instalado simplemente es configurar ssmtp:

necesitaremos dos archivos

$ ls -l /etc/ssmtp/
total 16
-rw-r–r– 1 root root 89 feb 9 01:39 revaliases
-rw-r–r– 1 root root 192 feb 9 01:38 ssmtp.conf

Configurando ssmtp.conf

root=usuario@gmail.com
mailhub=smtp.gmail.com:587
rewriteDomain=
hostname=usuario@gmail.com
UseSTARTTLS=YES
AuthUser=usuario
AuthPass=tu_password
FromLineOverride=YES

Los datos que debes remplazar por los datos de tu cuenta estan marcados en negrita.

El AuthUser= debe escribirse sin @gmail.com

Configurando revaliases

root:name@gmail.com:smtp.gmail.com:587
mainuser:name@gmail.com:smtp.gmail.com:587

Con esto asocia un usuario local a nuestra cuenta de gmail , logicamente tendremos de remplazar name@gmail.com por nuestra cuenta que configuremos en ssmtp.conf

Probando si funciona

Si todo funciona bien podremos enviar correos usando

$ echo “esto es una prueba” | mail -s “PRUEBA” destinatario@domain.com

sábado, febrero 16, 2008

30 razones por que amas a GNU/Linux

Esto es lo que nos dejo San Valentin un 14 de Febrero, el dia del Amor y los Enamorados son nada mas que nada menos las 30 razones para amar a GNU/Linux


Algunas más acertadas y graciosas que otras:

♥ Puedo ser yo mismo cuando estoy con Linux.

♥ La idea de romanticismo de Linux son luces tenues, música suave y sólo nosotros dos… codificando.

♥ Amo la manera en la que Linux aprecia los comandos que escribo en la consola.

♥ Linux me hace sentir como nunca antes me había sentido.

♥ Puedo editar cualquier cosa, y Linux no se sentirá molesto.

♥ Me encanta el sentimiento de sentirme seguro cuando Linux me abraza con privilegios de root.

♥ La fe imperecedera de los entusiastas de Linux mantienen viva la llama del amor.

♥ Estando Linux y yo juntos, podemos hace magia.

♥ Pensar en Linux hace que me llene de un maravilloso sentimiento.

♥ Cada vez que miro un CLI (interfaz de línea de comandos), mi corazón pierde un latido.

♥ Linux hace que sienta que lo mejor está aún por llegar.

♥ Linux nunca me da por vencido, y eso es lo que hace que continúe.

♥ Linux es simplemente irresistible.

♥ Cuando miro a través de Geyes, puedo ver el corazón de Linux.

♥ Linux tiene un terrorífico sentido del humor.

♥ El kernel Linux es el único que tiene la llave de mi corazón.

♥ Linux me ha enseñado el verdadero significado del amor.

♥ El amor es lo que Linux significa para mí, y Linux lo es todo para mí.

♥ Linux es mi historia para un sueño.

♥ He pasado buenos momentos en mi vida y se lo debo todo a Linux.

♥ Mi amor por Linux es un antidepresivo natural.

♥ Me gusta escuchar la voz de Linus Torvalds.

♥ Me encanta despertarme con Linux a mi lado… hace que mis días sean mejores.

♥ Linux siempre me hace sentir que está a mi lado sin importar lo que suceda.

♥ Me gusta la manera en la que Linux mantiene mi equipo bien cuando hago algo estúpido.

♥ Estando con Linux hace que me sienta que pueda desafiar al mundo entero.

♥ Linux lo es todo para mí.

♥ Me encanta la manera en la que Linux parchea conmigo después de encontrar un bug tumultuoso.

♥ Y, por supuesto, la inteligencia de Linux, porque es lo suficientemente inteligente como para enamorarse de mí

Fuente: junauza

domingo, febrero 10, 2008

Monitorear redes con ntop

Ntop es una herramienta para medir el tráfico de la red, que muestra el uso de esta en tiempo real. Una de las cosas buenas de esta herramienta es que puede utilizar un navegador web para gestionar y navegar a través de la información de tráfico para comprender mejor el estado de la red.

También Ntop monitorea y realizar informes de tráfico de estos protocolos:

* TCP / UDP / ICMP
* (R) ARP
* IPX
* DLC
* Decnet
* AppleTalk
* Netbios
* TCP / UDP

Este tutorial esta basado en ubuntu 7.10

para instalar solo es necesario ejecutar los siguiente:
sudo apt-get install ntop

despues de instalado debemos hacer lo siguiente:

ntop --set-admin-password

ahi introducimos la contraseña del usuario admin de ntop.

ahora si podemos arrancar el servicio de la siguiente manera:

/etc/init.d/ntop start o en la consola escribir ntop

para verlo en funcionamiento nos vamos al navegador web e introducimos la siguiente dirección:

http://localhost:3000

y listo........

Mas información en:
http://dag.wieers.com/rpm/packages/ntop



SERIALES DE PARALLELS WORKSTATION 2.2.2222 PARA LINUX

Hasta que al fin encontre los seriales para esta aplicación (PARALLELS WORKSTATION 2.2.2222). para instalarlo tienes que tener activado el repositorio de partner de ubuntu... y despues

apt-get install parallels parallels-modules

los seriales para que te sirva sin ninguna restricción son los siguientes:

3ENIR-DTXER-PR2IU-MEOSR-M0IWW
9REQO-V1WOH-AQ850-WG58I-PFQ2K
7RESZ-M015W-015FW-0L0YT-K6S25
6GTJG-LOOON-82DOL-T2LET-ZX4EO
8ZQP5-KUD3R-YM3V0-SHH49-LOUFG
6EVZC-1F6CA-3HZ4Z-A6FL2-JTZS3
7FYZ9-E4YT5-L9ZTN-KW9XN-HKVSM

cualquiera de estos te pueden servir...

lunes, enero 21, 2008

Cambiar, modificar y Crear USPLASH (SPLASH) para ubuntu (pantalla de arranque de linux) de manera muy facil

Navegando por ahí he conseguido la manera de crear el usplash de arranque de ubuntu de una manera muy fácil, con solo dar clic con el botón derecho sobre una imagen y seleccionar make usplash... voy a explicar el proceso para realizar esto... tenemos que seguir los siguientes pasos:

ojo: verificar que tengas habilitados los repositorios de universe y multiverse

1) En la consola ejecutar lo siguiente:

sudo apt-get install nautilus-script-manager startupmanager

sudo apt-get install -y --force-yes libusplash-dev zenity

2) cambiarnos al direcctorio de scripts del nautilus
cd ~/.gnome2/nautilus-scripts/

3) estando en el directorio ~/.gnome2/nautilus-scripts/ bajar el siguiente archivo
wget http://pcontramaestre.googlepages.com/MakeUsplash

4) Le asignamos permisos de ejecución
sudo chmod +x MakeUsplash

5) ahora creamos el directorio siguiente:

mkdir -p ~/creadorusplash

6) entramos a ese directorio y bajamos el siguiente programa:

cd ~/creadorusplash

wget http://pcontramaestre.googlepages.com/USplash.tar.gz

7) Reiniciamos el nautilus y listo...
sudo killall nautilus

Despues de realizados los 7 pasos anteriores solo tienes que hacer clic con el boton derecho del mouse sobre una imagen, buscar el submenu de Scripts y hacer clic en MakeUsplash. ahi se empezara a crear el usplash de la imagen seleccionada.

Ahora para cargar el usplash en el arraque de ubuntu tenemos que hacer lo siguiente:

1) Ir al menu de Sistema -> Administración -> Administrador de Arranque (startupmanager)

2) Hacer clic en la pestaña aspecto, después hacemos clic en el botón Administrar temas usplash, nos saldra otra pantalla, ahi hacemos clic en el boton añadir y buscamos nuestro usplash dentro de la carpeta usplash del directorio personal.

3) Seleccionamos el tema usplash creado del combo (tema usplash:) y hacemos clic en el boton cerrar.



ya con eso estamos listos, ya tenemos nuestro nuevo usplash

el codigo del script makeusplash es el siguiente:


#!/bin/sh
SCRIPT_VERSION=1.01
FNAME="$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"
file=$@
# everything after last '/'
basename=${file%.*}
ext=".so"
OUTFILE=${basename}${ext}
`zenity --info --text="Este script va a compilar un USplash llamado $OUTFILE y sera guardado en la carpeta usplash despues este archivo puede ser abierto con el Gestor de arranque Startup Manager." --title="Creador de Usplash"`;

##Check for zenity
if [ ! -e "/usr/bin/zenity" ]; then
gksudo apt-get install -y --force-yes zenity
fi

PROGRESS=0

#Resolution Subroutines
Res1(){
#cd $
convert -colors 256 $FNAME -resize "640X400!" -quality 100 -strip ~/creadorusplash/usplash_640_400.png | zenity --width=600 --height=100 --progress --pulsate --auto-close --title "Procesando @ 640 X 400..."
}

Res2(){
#cd $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
convert -colors 256 $FNAME -resize "640X480!" -quality 100 -strip ~/creadorusplash/usplash_640_480.png | zenity --width=600 --height=100 --progress --pulsate --auto-close --title "Procesando @ 640 X 480..."
}

Res3(){
#cd $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
convert -colors 256 $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS -resize "800X600!" -quality 100 -strip ~/creadorusplash/usplash_800_600.png | zenity --width=600 --height=100 --progress --pulsate --auto-close --title "Procesando @ 800 X 600..."
}

Res4(){
convert -colors 256 $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS -resize "1024X768!" -quality 100 -strip ~/creadorusplash/usplash_1024_768.png | zenity --width=600 --height=100 --progress --pulsate --auto-close --title "Procesando @ 1024 X 768..."
}

Res5(){
#cd $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
convert -colors 256 $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS -resize "1280X1024!" -quality 100 -strip ~/creadorusplash/usplash_1280_1024.png | zenity --width=600 --height=100 --progress --pulsate --auto-close --title "Procesando @ 1280 X 1024..."
}

#Subrutinas de C
Header(){
#Fuentes y codigo C
cd ~/creadorusplash/
wget http://pcontramaestre.googlepages.com/USplash.tar.gz
tar xfv USplash.tar.gz
cd ..
}


cd ~
mkdir -p usplash
mkdir -p creadorusplash
##Chequiar el archivo usplash
if [ ! -f "~/creadorusplash/USplash.tar.gz" ]; then
Header
fi

#Verificar que exista el archivo Usplash.tar.gz o que haya bajado de internet
RESULTS_SIZE=`stat -c %s ~/creadorusplash/USplash.tar.gz`
if [ "$RESULTS_SIZE" = 0 ]
then
zenity --info --text='Es recomendable volver a cargar el script, el servidor puede estar sobrecargado. Si este mensaje persiste, por favor verifique si posee conexion a internet, o que el servidor esta en linea para volver a intentarlo. Por favor referirse a cbittachira.blogspot.com para mas informacion.' --title="Creador de Usplash";
exit 0
fi

Res1
Res2
Res3
Res4
Res5
cd ~/creadorusplash
make | zenity --width=600 --height=100 --progress --pulsate --auto-close --title "Compilando USplash"

mv usplash-theme-ubuntu.so ~/usplash/$OUTFILE
cd ..
#rm -R WorkInProgress
exit 0

Wubi hace Linux aún más fácil

Wubi hace Linux aún más fácil

Página web de Wubi
  • Se trata de una distribución no oficial de Ubuntu que se instala como cualquier otra aplicación de Windows.
  • Utiliza el gestor de arranque del sistema operativo de Microsoft.
  • No es necesario crear una partición específica para el sistema.
Ubuntu es probablemente la versión para escritorio del sistema operativo Linux más popular, sobre todo entre los usuarios de ordenador menos expertos. Pero un grupo de desarrolladores se ha puesto manos a la obra para hacer más sencillo el uso de un sistema libre. El resultado es Wubi.

Permite instalar Ubuntu como un programa para Windows
Según explican los promotores de este proyecto en su propia web, Wubi es un instalador no oficial de Ubuntu para Windows, que te permitirá entrar "en el mundo de Linux con un solo clic".

Gracias a este programa es posible instalar y desinstalar Ubuntu como cualquier otra aplicación de Windows. Basta con descargar y hacer doble clic, sin necesidad de grabar el instalador en un CD.

La instalación no sólo incluye el sistema operativo. También llegan junto a Ubuntu las aplicaciones más comunes, como el paquete de programas ofimáticos Open Office, el editor de imágenes Gimp, navegador Firefox, juegos, cliente de mensajería instantánea...

Una vez instalado el sistema, basta reiniciar el ordenador y un menú aparecerá en pantalla para permitir elegir con qué sistema operativo se quiere arrancar la máquina: Ubuntu o Windows. Funciona en varias versiones del sistema de Microsoft, desde Windows 98 a Windows Vista.
Fuente: http://www.20minutos.es/noticia/336919/0/wubi/ubuntu/facil/

martes, enero 15, 2008

Remasterizar una instalacion de ubuntu

El metodo a continuacion es usado para remasterizar una instalacion de ubuntu

1 INSTALAR REMASTERSYS

abrir el terminal como administrador:
sudo su
agregar el siguiente repositorio al sources.list y actualizar
echo "deb http://www.linuxmint.com/repository romeo/" >>/etc/apt/sources.list
apt-get update

Ahora podemos instalar el remastersys:
apt-get install remastersys
y ahora salimos con exit



2 USO DEL REMASTERSYS

sudo remastersys

con esto puedes ver todas las opciones disponibles:

pcontramaestre@paosli-desktop:~$ sudo remastersys
[sudo] password for pcontramaestre:

Usage of remastersys is as follows:

sudo remastersys backup|clean|dist [cdfs|iso] [filename.iso]


Examples:

sudo remastersys backup (to make a livecd/dvd backup of your system)

sudo remastersys backup custom.iso
(to make a livecd/dvd backup and call the iso custom.iso)

sudo remastersys clean (to clean up temporary files of remastersys)

sudo remastersys dist (to make a distributable livecd/dvd of your system)

sudo remastersys dist cdfs
(to make a distributable livecd/dvd filesystem only)

sudo remastersys dist iso custom.iso
(to make a distributable iso named custom.iso but only
if the cdfs is already present)

cdfs and iso options should only be used if you wish to modify something on the
cd before the iso is created. An example of this would be to modify the isolinux
portion of the livecd/dvd
pcontramaestre@paosli-desktop:~$

3 CREACION DE LA IMAGEN ISO DE LA INSTALACION

Para crear la imagen iso de tu instalacion solo debes ejecutar el comando:
sudo remastersys dist

este comando crea una imagen iso (customdist.iso) de tu sistema instalado en el directorio /home/remastersys. La opcion dist hace que su directorio personal (por ejemplo, /home/pcontramaestre) no se incluya en la imagen ISO. Puede que tenga que insertarel cd de instalacion de ubuntu durante el proceso..

mientras se realiza el proceso tu puedes ver lo siguiente:

[...]
92.16% done, estimate finish Wed Nov 28 15:31:25 2007
93.39% done, estimate finish Wed Nov 28 15:31:25 2007
94.62% done, estimate finish Wed Nov 28 15:31:24 2007
95.85% done, estimate finish Wed Nov 28 15:31:24 2007
97.08% done, estimate finish Wed Nov 28 15:31:25 2007
98.31% done, estimate finish Wed Nov 28 15:31:25 2007
99.54% done, estimate finish Wed Nov 28 15:31:25 2007
Total translation table size: 2048
Total rockridge attributes bytes: 3950
Total directory bytes: 9094
Path table size(bytes): 54
Max brk space used 0
406890 extents written (794 MB)
/home/remastersys/customdist.iso is ready to be burned or tested in a virtual machine.

Check the size and if it is larger than 700MB you will need to burn it to a dvd

796M /home/remastersys/customdist.iso

It is recommended to run 'sudo remastersys clean' once you have burned and tested the customdist.iso

pcontramaestre@paosli-desktop:~$

si deseas realizar otra remasterización ejecutar el comando
sudo remastersys clean




lunes, enero 14, 2008

Script para automatizar respaldos (backups)

#!/bin/bash

# Script para automatizar respaldos

DIRECTORIO_RESPALDO=/backup/ # Coloque aqui el directorio donde se va a realizar el respaldo
FECHA_ACTUAL=`date +%d%m%Y`
NOMBRE_ARCHIVO=`basename $1`$FECHA_ACTUAL

clear
sleep 1
echo
echo "------------------------------------------------------------"
echo "| `date +%d/%m/%Y` - `date +%H:%M:%S` |"
echo "| Respaldo Automatizado |"
echo "| Por pcontramaestre |"
echo "------------------------------------------------------------"
sleep 3
if [ $UID -ne 0 ]; then
echo "Somente o root pode disparar uma rotina de backup. Abortando..."
exit
elif [ $# -ne 1 ]; then
echo
echo
echo "Bienvenido al script de automatizacion de respaldos!"
echo
echo "Modo de uso:"
echo
echo " `basename $0` {diretorio}"
echo
echo
echo "Sustituya {diretorio} por el directorio a ser el backup"
echo
echo "No se olvide de editar este script y cambiar la variable DIRECTORIO_RESPALDO"
echo "colocando el directorio donde sera realizado el respaldo."
exit
elif [ -w $DIRECTORIO_RESPALDO ]; then
echo
echo "Ha elegido para realizar copias de seguridad de $ 1 directorio y todos sus contenidos."
sleep 2
echo
echo "Voy a iniciar la copia de seguridad en 15 segundos. Presione Ctrl + C si desea cancelar"
printf " ["
printf ". "
sleep 1
printf ". "
sleep 1
printf ". "
sleep 1
printf ". "
sleep 1
printf ". "
sleep 1
printf ". "
sleep 1
printf ". "
sleep 1
printf ". "
sleep 1
printf ". "
sleep 1
printf ". "
sleep 1
printf " ]"
echo
echo "Iniciando respaldo en:"
echo "5"
sleep 1
echo "4"
sleep 1
echo "3"
sleep 1
echo "2"
sleep 1
echo "1"
sleep 1
echo
echo
echo "El respaldo va a ser armado en $DIRECTORIO_RESPALDO/$NOMBRE_ARCHIVO.tar.gz"
echo
echo "Iniciando el proceso de respaldo de diretorio $1 y todo su contenido."
echo "Por favor aguarde... processando..."
echo "LOG DEL BACKUP DEL DIA `date +%d/%m/%Y`" >> $DIRECTORIO_RESPALDO/$NOMBRE_ARCHIVO.log
echo "Hora de inicio de backup: `date +%H:%M:%S`" >> $DIRECTORIO_RESPALDO/$NOMBRE_ARCHIVO.log
tar -czvf $DIRECTORIO_RESPALDO/$NOMBRE_ARCHIVO.tar.gz $1 >> $DIRECTORIO_RESPALDO/$NOMBRE_ARCHIVO.log 2> $DIRECTORIO_RESPALDO/$NOMBRE_ARCHIVO-erros.log
md5sum $DIRECTORIO_RESPALDO/$NOMBRE_ARCHIVO.tar.gz >> $DIRECTORIO_RESPALDO/$NOMBRE_ARCHIVO-md5.txt
echo
echo
sleep 1
echo "Backup realizado con exito! puedes revizar el log en $DIRECTORIO_RESPALDO/$NOMBRE_ARCHIVO.log"
echo "Un archivo md5 se encuentra en $DIRECTORIO_RESPALDO/$NOMBRE_ARCHIVO-md5.txt"
echo "Hora de termino del backup: `date +%H:%M:%S`" >> $DIRECTORIO_RESPALDO/$NOMBRE_ARCHIVO.log
echo
echo
echo "Gracias por utilizar el script de la copia de seguridad automática."
else
echo "Usted no tiene permiso para escribir en el directorio de copia de seguridad: $DIRECTORIO_RESPALDO" | tee /root/backup-$FECHA_ACTUAL.log
echo "Por favor, compruebe los permisos y vuelva a intentarlo" | tee /root/backup-$FECHA_ACTUAL.log
echo "Gracias por utilizar el script de la copia de seguridad automática."
fi

Mini manual (como) de awk

¿Qué es awk?
awk es una de las más útiles herramientas de filtrado que encontraras. Awk es un completo lenguaje de script, pero nos centraremos exclusivamente en su uso en la shell.

Uso básico de awk


awk [-F] [awk_script]


Registros y campos

Awk tiene dos conceptos de datos que vienen de la entrada de un archivo: registros y campos.
Un registro es generalmente una línea entera. El separador de registro por defecto es una nueva línea (RS). Pero se puede cambiar.

Un campo es generalmente una palabra entre espacios en blanco (tabulador o espacio). El separador de campo por defecto es un espacio (FS). También se puede cambiar en cualquier momento.



Selección de campo

A los campos se accede usando el "operador" $. Son válidos:

$1,$2,$3: (primer, segundo y tercer campos)
$NF: (el último campo, es una variable que contiene el número total de campos)
x=1; $(x+3): (equivale al cuarto campo, pero esto ya es liarla :P )

Ejemplo.
Muestra con la que trabajaremos


#tail -1 access.log
1199488503.117 239 127.0.0.1 TCP_REFRESH_UNMODIFIED/304 310 GET http://www.logadmin.net/ - NONE/- -



Ejemplo

#awk '{print $7}' access.log
http://www.logadmin.net/

Podemos combinar.
#awk '{print $7 " " $9}' access.log
http://www.logadmin.net/ DIRECT/72.14.207.121
Y formatear


#awk '{print $7 "\t" $9}' access.log
http://www.logadmin.net/ DIRECT/72.14.207.121


Si ejecutamos el mismo comando con un fichero diferente, pongamos /etc/passwd
no mostrara nada por 2 razones, ¿adivinais por que?
Arreglemoslo entonces.

#awk -F: '{print $1 " " $6}' /etc/passwd
logadmin /home/logadmin

Patrones y funciones
Las expresiones de awk vienen en dos formas; un patrón o una función. Nos centraremos en los patrones que es lo que más se usa.

Un patrón será algo como: [ expresión de la condición ] { [ expresión de la acción ] }
En pseudocódigo sería: if ( expresión de la condición ) { expresión de la acción }
Si no existiera ninguna acción, por defecto haría un 'print'. Si no hubiera condición, por defecto ejecutaría la acción para todos los campos.


Patrones mágicos: BEGIN Y END

BEGIN se usa para ejecutar cosas antes de que se parsee la primera expresión, y END obviamente hace las cosas después de que se haya ejecutado el último registro.


Ejemplo de expresiones de patrones


$1 ~ /foo/ { print $2 }
Imprime el segundo campo de todos los registros de aquellos donde el primer campo coincida con /foo/

$2 > 128
Imprime todos los registros donde el segundo campo se más grande que 128


Variables

Las variables tienen la misma sintáxis que en C, pero no tienes que declararlas.

$3 == "test" { x++ }; END { print x }
Registros totales donde $3 == "test"

{ $1 = ""; print }
Borrar el primer campo de cada registro, imprime el nuevo campo.

{ $3 = "Hola"; print }


Arrays

Los arrays son mágicos. Simplemente empieza usando una variable como un array, y se convertirá en array.
#awk '{ a[$1]++ } END { for (i in a) { print i, a[i] } }'


Concatenación de cadenas

Juntar cadenas es muy simple.

x = "log"; x = x"admin"; # x == "logadmin"


Ejemplo: Sumando el total del valor de un campo de un fichero de log.

Del fichero de log que habíamos elegido al principio, hacemos;

#awk 'BEGIN{total=0;} {total += $5;} END{print "el total es ", total}' access.log
el total es 28677417

Donde $5 es el quinto campo (bytes tranferidos) y obtenemos el total del tamaño transferido en ese log.


Ejemplo: ¿Cuantos archivos de cada tipo tiene abiertos mi usuario?

#lsof -u logadmin | sed 1d| awk '{a[$1]++} END { for (i in a) { print i, a[i] } }' | sort -nk2
gnome-pty 4
ssh-agent 4
awk 9
compiz 9
firefox 9
run-mozil 9
mapping-d 15
sed 21
sort 21
lsof 31
..


Ejemplo: Muestra archivos que no esten vacios.


# ls -l | awk '$5 > 0'


Ejemplo: Muestra las entradas del log comprendidas entre el 10 y el 20 de diciembre (incl).


# cat *.log | awk '$1 == "Dec" && ($2 >= 10 && $2 <= 20)'

sábado, enero 05, 2008

Como configurar SNMP

Autor: Joel Barrios Dueñas
Correo electrónico: darkshram en gmail punto com
Sitio de Red: http://www.alcancelibre.org/
Jabber ID: darkshram@jabber.org

Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1

© 1999-2007 Joel Barrios Dueñas. Usted es libre de copiar, distribuir y comunicar públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales (incluyendo su publicación, a través de cualquier medio, por entidades con fines de lucro). c) Si altera o transforma esta obra, o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legítimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector hace mal uso de éstos.
Introducción.
Acerca de SNMP.

SNMP (Simple Network Management Protocol o Protocolo Simple de administración de red) es uno protocolos del conjunto definido por la Fuerza de Trabajo en Ingeniería de Internet (IETF o Internet Engineering Task Force), clasificada en el nivel de aplicación del modelo TCP/IP, y que está diseñado para facilitar el intercambio de información entre dispositivos de red y es ampliamente utilizado en la administración de redes para supervisar el desempeño, la salud y el bienestar de una red, equipo de computo y otros dispositivos.

URL: http://tools.ietf.org/html/rfc1157.
Acerca de Net-SNMP.

Net-SNMP, el equipamiento lógio utilizado en este documento, es un conjunto de aplicaciones utilizados para implementar SNMP v1, SNMP v2c y SNMP v3 utilizando IPv4 y/o IPv6. El proyecto fue iniciado como un conjunto de herramientas SNMP por Steve Waldbusser en la CMU (Carnegie Mellon University), Pittsburgh, Pennsylvania, EE.UU., en 1992. Tras ser abandonado, fue retomado por Wes Hardaker en la UCDavis (University of California, Davis), renombrado como UCD-SNMP y mejorado para cubrir las necesidades del Departamento de Ingeniería Eléctrica de dicha institución. Tras dejar la universidad, Hardaker continuó el proyecto, cambiando el nombre de éste a Net-SNMP.

URL: http://net-snmp.sourceforge.net/
Equipamiento lógico necesario.
Instalación a través de yum.

Si utiliza CentOS 4 o White Box Enterprise Linux 4, solo se necesita realizar lo siguiente para instalar o actualizar el equipamiento lógico necesario:yum -y install net-snmp net-snmp-utils

Instalación a través de up2date.

Si se utiliza Red Hat™ Enterprise Linux 4, solo bastará realizar lo siguiente para instalar o actualizar el equipamiento lógico necesario:up2date -i net-snmp net-snmp-utils

Procedimientos
Fichero de configuración /etc/snmp/snmpd.conf.

El fichero /etc/snmp/snmpd.conf que se instala junto con el paquete, y puede resultar para algunos una verdadera maraña de comentarios y opciones de todo tipo. Lo más recomendable será crear un fichero nuevo y limpio de contenido para poder partir de algo más simple y funcional.cd /etc/snmp
mv snmpd.conf snmpd.conf-OLD
touch snmpd.conf

Listas de control de acceso.

Se deben crear las listas de control de acceso (ACL o Access Control List) correspondientes en el fichero /etc/snmp/snmpd.conf, las cuales servirán para definir lo que tendrá acceso hacia el servicio snmpd. A una de estas listas se le otorgará permiso de acceso de lectura y escritura, para lo que sea necesario en relación con administración, y a la otra de solo lectura. Por razones de seguridad solo la interfaz 127.0.0.1 estará en la lista de lectura escritura. Se otorgará permiso de acceso de solo lectura a una red o bien a una dirección IP en la otra lista de control de acceso.

Considerando lo anterior, se podrían agregar un par de líneas como las siguientes:com2sec local 127.0.0.1/32 Cl4v3-d3-Acc3s0
com2sec miredlocal 192.168.1.0/24 Cl4v3-d3-Acc3s0


En lo anterior la primera línea significa que habrá una lista de control de acceso denominada «local» y que corresponderá solo a 127.0.0.1/32, asignando Cl4v3-d3-Acc3s0 como clave de acceso. La segunda línea hace lo mismo pero definiendo a la red 192.168.1.0/24. Se puede definir lo que uno guste mientras no sea la clave de root, esto debido a que dicha clave se transmite a través de la red en forma de texto simple (es decir, sin cifrar).
Definición de grupos.

Se crean al menos dos grupos: MyRWGroup y MyROGroup. El primero será un grupo al que se asignarán más adelante permisos de lectura escritura y el segundo será un grupo al que posteriormente se asignarán permisos de solo lectura. Por cada grupo se asignan tres líneas que especifican el tipo de acceso que se permitirá en un momento dado a un grupo en particular. Es decir, MyRWGroup se asocia a local y MyROGroup a miredlocal.#Se asigna local al grupo de lectura escritura
group MyRWGroup v1 local
group MyRWGroup v2c local
group MyRWGroup usm local

#Se asigna miredlocal al grupo de solo lectura
group MyROGroup v1 miredlocal
group MyROGroup v2c miredlocal
group MyROGroup usm miredlocal

Ramas permitidas.

Se especifican las ramas que se van a permitir ver a través del servicio. Lo más común, para, por ejemplo, utilizarse con MRTG, es lo siguiente:## name incl/excl subtree mask(optional)
view all included .1 80

Asignación de permisos a los grupos.

Se debe especificar que permisos tendrán los dos grupos, MyROGroup y MyRWGroup. Son de especial interés las últimas columnas.## group context sec.model sec.level prefix read write notif
access MyROGroup "" any noauth exact all none none
access MyRWGroup "" any noauth exact all all all

Parámetros de carácter informativo.

Se definen dos parámetros de carácter informativo para que cuando utilicen aplicaciones cliente como MRTG se incluya algo de información acerca de que sistema se está accediendo.syslocation Servidor Linux en SU-SERVIDOR.algun-dominio.net
syscontact Administrador (fulano@algun-dominio.net)

Un ejemplo funcional de configuración.

El ejemplo que mostramos a continuación se utiliza en todas los equipos que posee el autor en casa y en la oficina. Solo hay que reemplazar el valor redlocal por lo que uno considere apropiado y reemplazar el valor 192.168.1.0/24 por el valor de la red o la dirección IP desde donde se requiera acceder con un cliente snmp, como MRTG.# Listas de control de acceso (ACL)
## sec.name source community (alias clave de acceso)
com2sec local 127.0.0.1/32 Cl4v3-d3-Acc3s0
com2sec miredlocal 192.168.1.0/24 Cl4v3-d3-Acc3s0
#Se asigna ACL al grupo de lectura escritura
group MyRWGroup v1 local
group MyRWGroup v2c local
group MyRWGroup usm local
#Se asigna ACL al grupo de solo lectura
group MyROGroup v1 miredlocal
group MyROGroup v2c miredlocal
group MyROGroup usm miredlocal
# Ramas MIB que se permiten ver
## name incl/excl subtree mask(optional)
view all included .1 80
# Establece permisos de lectura y escritura
## group context sec.model sec.level prefix read write notif
access MyROGroup "" any noauth exact all none none
access MyRWGroup "" any noauth exact all all all
# Información de Contacto del Sistema
syslocation Servidor Linux en amdk6.linuxparatodos.com.mx
syscontact Administrador (fulano@algun-dominio.net)


Si es necesario añadir más equipos para que accedan al servicio snmpd, solo hay que hacer lo siguiente:• Agregar una ACL con un nombre único. Ejemplo: com2sec micueva 192.168.1.251 Cl4v3-d3-Acc3s0


Agregar un juego reglas que asignen al grupo, en este caso micueva, con lo siguiente:group otrogrupo v1 local
group otrogrupo v2c local
group otrogrupo usm local


Agregar una línea donde se establece que permisos tendrá el grupo otrogrupo. En este ejemplo, va a ser de solo lectura:access MyROGroup "" any noauth exact all none none


Iniciar, detener y reiniciar el servicio snmpd.

Para ejecutar por primera vez el servicio snmpd, utilice:service snmpd start


Para hacer que los cambios hechos tras modificar la configuración surtan efecto, utilice:service snmpd restart


Para detener el servicio snmpd utilice:service snmpd stop

Agregar el servicio snmpd al arranque del sistema.

Para hacer que el servicio de snmpd esté activo con el siguiente inicio del sistema, en todos los niveles de corrida (2, 3, 4, y 5), se utiliza lo siguiente:chkconfig snmpd on

Comprobaciones.

Considerando, como ejemplo, que sea signó como clave de acceso Cl4v3-d3-Acc3s0 en un sistema cuya dirección IP es 192.168.1.254, para probar si la configuración funciona, solo hay que ejecutar los dos siguiente mandatos a fin verificar que devuelvan información acerca del sistema consultado.snmpwalk -v 1 192.168.1.254 \
-c Cl4v3-d3-Acc3s0 system

snmpwalk -v 1 192.168.1.254 \
-c Cl4v3-d3-Acc3s0 interfaces

Modificaciones necesarias en el muro cortafuegos.

Si se utiliza un cortafuegos con políticas estrictas, como por ejemplo Shorewall, es necesario abrir los puerto 161 y 162 por UDP (SNMP y SNMPTRAP, respectivamente).

Las reglas para el fichero /etc/shorewall/rules de Shorewall en un sistema con una zona (net), correspondería a lo siguiente:#ACTION SOURCE DEST PROTO DEST SOURCE
# PORT PORT(S)1
ACCEPT net fw udp 161,162
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE


Las reglas para el fichero /etc/shorewall/rules de Shorewall en un sistema con dos zonas (net y loc), donde solo se va a permitir el acceso al servicio snmpd desde la red local, correspondería a lo siguiente:#ACTION SOURCE DEST PROTO DEST SOURCE
# PORT PORT(S)1
ACCEPT loc fw udp 161,162
#LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE




MRTG (multi router trafic graph) es una utilidad que nos sirve para representar datos. Aunque inicialmente fué creado para representar de forma gráfica el tráfico que atravesaba los interfaces de los routers, se puede usar para representar prácticamente cualquier dato.

Como ejemplo de cosas que se pueden monitorizar con mrtg podemos ver los datos meterológicos del observatorio del Teide, o una monitorización completa de un sistema, incluyendo tráficos, carga de procesador, temperatura del micro...etc.


MRTG captura los datos de dos maneras:
  • mediante snmp
  • mediate scripts de usuario
El método que yo uso es mediante snmp, por lo que las configuraciones que se mostrarán serán para este método, aunque al final comentaré un poco como se puede hacer con los scripts. Además para los que no se quieran complicar la vida, hay varios scripts ya hechos y listos para usar.

INSTALACIÓN Y CONFIGURACIÓN DE SNMP

Primero, ¿que es snmp?

Pues snmp es el acrónimo de Simple Network Management Protocol, algo así como un protocolo que nos permite gestionar la red. Esto se hace de la siguiente manera: snmp mantiene y gestiona una base de datos, llamada mib, dentro de la cual están actualizados cientos de parámetros del sistema. Snmp permite hacer consultas a esta base de datos, e incluso modificar sus valores. Otro día escribiremos algo más de snmp, de momento simplemente se indica como instalarlo y que hay que poner en el fichero de configuración para que mrtg lo pueda usar.

Las instrucciones y las localizaciones de los archivos son válidos para debian woody, la que uso yo, aunque los usuarios de otras distribuciones no creo que lo tengan complicado para seguir los ejemplos.

Para los que quieran profundizar en snmp pueden ver este artículo

Lo primero que vamos a hacer es instalar el software:

#apt-get install snmp snmpd

Desempaquetando snmp (de .../archives/snmp_4.2.3-2_i386.deb) ...
Seleccionando el paquete snmpd previamente no seleccionado.
Desempaquetando snmpd (de .../snmpd_4.2.3-2_i386.deb) ...
Configurando snmp (4.2.3-2) ...
Configurando snmpd (4.2.3-2) ...
Debian now uses the UCD SNMP agent/daemon. Since the new agent uses
an entirely new configuration file format, any configuration you may
have previously had can not be automatically updated and must be
replaced. Consequently, a security-conscious configuration will be
installed by default. Please read the snmpd.conf(5) manual page and
then edit /etc/snmp/snmpd.conf accordingly to change the configuration
to suit your needs.
Starting network management services: snmpd snmptrapd.

Lo anterior viene a decir que los paquetes se han instalado y configurado, y que por defecto me ha puesto una configuración segura.

Ahora vamos a crear una comunidad de lectura para snmp, de esta manera podremos consultar al snmpd. Para ello en /etc/snmp/snmp.conf incluimos las siguiente línea en negrita en el apartado "Acces Control"

...
...
# rocommunity: a SNMPv1/SNMPv2c read-only access community name
# arguments: community [default|hostname|network/bits] [oid]

rocommunity miclave

...
...

De esta manera, hemos creado una comunidad de lectura cuya clave de acceso es miclave. En otras distribuciones puede que haya creadas por defecto dos comunidades con claves "public" y "private". Si es así es mejor cambiar las claves...

Activamos esta configuración ejecutando como root

#/etc/init.d/snmpd reload

para comprobar que snmp está trabajando bien, podemos ejecutar como usuario raso

$snmpwalk localhost miclave system
system.sysDescr.0 = Linux hradcany 2.4.18 #1 lun oct 14 23:25:43 CEST 2002 i586
system.sysObjectID.0 = OID: enterprises.ucdavis.ucdSnmpAgent.linux
system.sysUpTime.0 = Timeticks: (21379) 0:03:33.79
system.sysContact.0 = Root (configure /etc/snmp/snmp.local.conf)
......
.....
.....

Vemos que salen un montón de variables de la mib y su valor. Cada una de esas variables nos da información acerca de algún parámetro del sistema, y esto es lo que aprovechará mrtg para obtener los valores a representar gráficamente.

Pues ya tenemos funcionando snmp y con una comunidad de lectura con clave de acceso. Ahora a por mrtg.

INSTALACIÓN Y CONFIGURACIÓN DE MRTG

Instalamos el software:

# apt-get install mrtg
Reading Package Lists... Done
Building Dependency Tree... Done
The following NEW packages will be installed:
mrtg
0 packages upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0B/434kB of archives. After unpacking 1179kB will be used.
Preconfiguring packages ...
Seleccionando el paquete mrtg previamente no seleccionado.
(Leyendo la base de datos ...
52975 ficheros y directorios instalados actualmente.)
Desempaquetando mrtg (de .../mrtg_2.9.17-4_i386.deb) ...
Configurando mrtg (2.9.17-4) ...

Lo único que me preguntó en la configuración fué si quería cambiar el propietario del archivo de configuración, y simplemente le dejé la opción por defecto.

Para configurar mrtg usamos una utilidad del propio programa, llamada cfgmaker, que nos va a facilitar este paso. Suponemos que vamos a monitorizar nuestro propio ordenador, pero no habría ningún problema en monitorizar cualquier otro aparato, otro ordenador, un router..., que tuviera snmp. Además, al usar mrtgconfig podemos pasarle alguno parámetros interesantes, pero que no nos vamos a parar en ellos (ver el man):

#cfgmaker --community miclave --output /etc/mrtg.cfg localhost
--base: Get Device Info on miclave@localhost:
--base: Vendor Id:
--base: Populating confcache
--snpo: confcache miclave@localhost: Descr lo --> 1
--snpo: confcache miclave@localhost: Descr eth0 --> 2
--snpo: confcache miclave@localhost: Descr dummy0 --> 3
--snpo: confcache miclave@localhost: Descr tunl0 --> 4
--snpo: confcache miclave@localhost: Descr gre0 --> 5
--snpo: confcache miclave@localhost: Descr ipsec0 --> 6
...
... etc

Esto nos crea, en /etc/mrtg.cfg, el archivo de configuración que nos permitirá monitorizar el tráfico de red en todas las interfaces de localhost, o del sistema usado.

Esa monitorización se sigue a través de una página web. En mi caso he decidido que los archivos de esa página estén en /var/www/mrtg. Para crear las imágenes y una página html básica ejecutamos otra utilidad que viene con mrtg que se llama indexmaker:

#indexmaker --output /var/www/mrtg/index.html /etc/mrtg.cfg

Ya está... ahora podríamos esperar 5 o 10 minutos y con nuestro navegador favorito abrir esa página y ver la pinta que tiene. Mas tarde podremos personalizarlo un poco.

MONITORIZANDO CUALQUIER VARIABLE DE LA MIB

cfgmaker nos deja preparado el archivo de configuración para ver el tráfico en las interfaces de red, pero lo podemos ampliar para monitorizar cualquier cosa que esté contemplada por la mib. Lo vemos con un ejemplo: Vamos a seguir el tamaño ocupado en el disco duro a lo largo del tiempo.

Para ello vamos a ver que pinta tiene una entrada de monitorización del /etc/mrtg.cfg

### Interface 2 >> Descr: 'eth0' | Name: '' | Ip: '192.168.1.3' | Eth: '00-00-e8-ec-13-a3' ###

Target[localhost_2]: 2:miclave@localhost:
SetEnv[localhost_2]: MRTG_INT_IP="192.168.1.3" MRTG_INT_DESCR="eth0"
MaxBytes[localhost_2]: 1250000
Title[localhost_2]: Traffic Analysis for 2 -- hradcany
...
...

Vemos como define el objetivo a montorizar, el Target, con

Target[localhost_2]: 2:miclave@localhost:

Esto quiere decir que le va a preguntar al snmp por el tráfico del segundo interfaz (eth0), y es lo que va a representar. Como hemos dicho antes, por defecto, el cfgmaker nos prepara al mrtg para monitorizar tráfico de red. Pero en general, la forma de decirle que queremos que nos pinte cualquier variable de la mib, es así:

Target[etiqueta]: variable1&variable2:clave@host:

en donde etiqueta es un nombre que le ponemos nosotros, variable1 y variable2 son dos posibles variables de la mib a representar en el mismo gráfico, y clave y host son la clave de la community snmp y el host que queremos monitorizar.

Para que os hagáis una idea de la cantidad de información que puede gestionar snmp a través de la mib, podéis ejecutar:

$snmpwalk -On -v 1 192.168.10.1 -c p14180893 .

y veréis que hay de todo. Bueno, ya que estamos con la ocupación del disco, vamos a buscar algo por la mib:

$snmpwalk -v 1 192.168.10.1 -c p14180893 disk

$snmpwalk localhost miclave dsk

enterprises.ucdavis.dskTable.dskEntry.dskIndex.1 = 1
enterprises.ucdavis.dskTable.dskEntry.dskPath.1 = /
enterprises.ucdavis.dskTable.dskEntry.dskDevice.1 = /dev/hda1
enterprises.ucdavis.dskTable.dskEntry.dskMinimum.1 = 10000
enterprises.ucdavis.dskTable.dskEntry.dskMinPercent.1 = -1
enterprises.ucdavis.dskTable.dskEntry.dskTotal.1 = 1152828
enterprises.ucdavis.dskTable.dskEntry.dskAvail.1 = 674296
enterprises.ucdavis.dskTable.dskEntry.dskUsed.1 = 419972
enterprises.ucdavis.dskTable.dskEntry.dskPercent.1 = 38
enterprises.ucdavis.dskTable.dskEntry.dskPercentNode.1 = 19
enterprises.ucdavis.dskTable.dskEntry.dskErrorFlag.1 = 0
enterprises.ucdavis.dskTable.dskEntry.dskErrorMsg.1 =

Parece que la variable enterprises.ucdavis.dskTable.dskEntry.dskUsed.1 = 419972 nos da el tamaño del disco ocupado, casi 420 MB. Mrtg conoce algunas variables por su nombre, pero puede acceder a todas por su número, así mejor obtenemos el número de la variable que es...

$snmpwalk -On -v 1 192.168.10.1 -c p14180893 disk

.1.3.6.1.4.1.2021.9.1.1.1 = 1
.1.3.6.1.4.1.2021.9.1.2.1 = /
.1.3.6.1.4.1.2021.9.1.3.1 = /dev/hda1
.1.3.6.1.4.1.2021.9.1.4.1 = 10000
.1.3.6.1.4.1.2021.9.1.5.1 = -1
.1.3.6.1.4.1.2021.9.1.6.1 = 1152828
.1.3.6.1.4.1.2021.9.1.7.1 = 674264
.1.3.6.1.4.1.2021.9.1.8.1 = 420004
.1.3.6.1.4.1.2021.9.1.9.1 = 38
.1.3.6.1.4.1.2021.9.1.10.1 = 19
.1.3.6.1.4.1.2021.9.1.100.1 = 0

Esos números son los que entiende mrtg. Así nos prepararemos una entrada a medida para el /etc/mrtg.cfg, tomando como modelo otra entrada prefabricada por el cfgmaker, que será algo así:

Target[hda1]: 1.3.6.1.4.1.2021.9.1.8.1&1.3.6.1.4.1.2021.9.1.8.1:miclave@localhost:
SetEnv[hda1]: MRTG_INT_IP="192.168.1.3" MRTG_INT_DESCR="Disco ocupado"
Title[hda1]: Disco duro
Factor[hda1]: 1000
YTicsFactor[hda1]: 1000
MaxBytes[hda1]: 1152828
Options[hda1]: gauge, noinfo
YLegend[hda1]: Ocupado
ShortLegend[hda1]: bytes
Legend1[hda1]: Disco ocupado
....
.....

Nótese que al usar la misma variable dos veces, se va a pintar únicamente un gráfico. Lo normal es tener dos variables distintas y pintar dos gráficos en la misma imagen. Las opciones gauge y noinfo son para lo siguiente: gauge le dice a mrtg que su valor es un contador absoluto, o sea que su valor es siempre el que tiene que representar. En caso contrario, mrtg cree que es un contador normal, con lo cual resta el valor actual del valor anterior y toma esa resta como el valor que tiene que representar, y noinfo es para que no sea demasiado elocuente con la información que muestra. Ahora volvemos a ejecutar indexmaker y en unos minutos, en cuanto empiece a haber datos ya veremos una nueva gráfica.

MRTG CON SCRIPTS.

Además de snmp para monitorizar valores, podemos usar nuestro propio programa de captura de datos y pasarle estos datos a mrtg para que los represente gráficamente. Así, en vez de pasarle la variable de la mib a controlar, le pasamos el script de captura de datos de esta manera:

Target[ezwf]: `/usr/local/bin/nuestroscript`

Nuestro script debe devolver 4 líneas, la primera es el valor del contador para la primera variable, la segunda lo mismo para la segunda variable, la tercera una cadena indicando el tiempo de funcionamiento (uptime), y la cuarta el nombre de lo que estamos monitorizando.

Aunque nunca los he usado, comentar que hay unos paquetes, en debian se llaman mrtgutils y mrtg-contrib, que hacen uso de esta técnica para obtener diversos parámetros y representarlos con mrtg sin necesidad de usar snmp.

MAS INFORMACIÓN

Indispensable si se quiere profundizar en este tema:

man mrtg
man mrtgconfig
man indexmaker

y sobre todo, para el fichero de configuración de mrtg

man reference

Algunas cosas (no muchas) que monitorizo en el nodo novemesto de escomposlinux.org

P.D. Todo esto surgió porque SinnerP me "obligó" a escribirlo al comentar yo algo de la configuración de mi mrtg en el canal irc de ecol. Gracias Sinner.