14/9/14

systemd vs sysVinit cheatsheet


Mucho tiempo a pasado desde la ultima publicación, así que para no dejar morir el blog en el olvido les traigo un cheatsheet relacionado al tema....

En los últimos meses se ha generado un intenso debate acerca de sustituir Sysvinit por Systemd o por Upstart.
La decisión ya se tomo de manera oficial hace ya algun tiempo y Systemd será el sistema de inicio que Debian va a utilizar en las próximas versiones.



Entre los beneficios de Systemd podemos citar (para una lista completa pueden visitar  el blog de Gespadas o wikidepia):

  • Es modular. Todo el contenido ejecutado por initscripts en /etc/rc.sysinit ahora es dividido en varios servicios independientes, cada uno de ellos bien documentado y de fácil comprensión.
  • Tiene capacidades “hotplug”, es decir que systemd asume que todos los recursos del sistema pueden aparecer o desaparecer en cualquier momento.
  • Podemos saber el estado del sistema en cualquier momento, ya que systemd lleva un registro (journal) mediante cgroups.


Bueno, es hora de la retirada, se ven al rato!

11/6/13

Migrando el Blog a HTML5

Bueno hace ya algún tiempo que tenía esta idea pero nunca tenia el tiempo o mejor dicho... hay cosas más importantes que hacer en lugar de esto :P

La idea era básicamente tomar un template de Blogger y modificarlo para que se vea similar al template anterior que estaba usando.

Problemas que me encontré al hacer esto:
  • Ver el sitio en IE8 
  • Eso es todo... ;)
El error que arrojaba era:
Internet Explorer 8 no puede abrir el sitio Operación anulada
Si bien la mejor solución para esto es NO USAR IE, por un tema de inclusión me decidí  a hacer una búsqueda rápida con nuestro fiel amigo google y encontré que me estaba faltando el parche KB2809289 para el IE que pueden descargar del sitio oficial de Microsoft del link aterior...

La instalación es bien sencilla... Luego de instalar este “parche” y de reiniciar (OMG), este inconveniente se solucionará....

Tambien y solo por acaso, agregue el siguiente codigo en el tag HEAD:
<!--[if lt IE 9]>
<script type="text/javascript">
   document.createElement("nav");
   document.createElement("header");
   document.createElement("footer");
   document.createElement("section");
   document.createElement("article");
   document.createElement("aside");
   document.createElement("hgroup");
</script>
<![endif]-->
Esto crera soporte para las etiquetas <nav>, <header>, <footer>, <section>, <article>, <aside> y <hgroup>. Las cuales ahora podrán ser renderizadas (por IE) en el Mark-up de nuestro sitio como cualquier navegador decente.

8/11/12

El mapa DEBIAN

Hola a todos, he vuelto :)

webeando en estos dias encontre un mapa de debian que quiero compartir con uds, el post original lo pueden ver aca.
Me parece una excelente idea de que gente se dedique hacer esto, me parece que son muy utiles y nos dan un panorama general de como se manejan las cosas en la distro.

Se ven al rato!

22/7/12

Optimizaciones de compilacion segun el procesador


Muchas veces cuando vemos en la web parametros de compilacion como "-march" y "-mtune", se han preguntado que significan?

Bien, básicamente son flags de compilación que indican el procesador del sistema donde ejecutaremos la aplicación compilada...

Veamos los posibles valores que pueden tomar en la siguiente tabla:

Valores CPU
generic Produce un código binario optimizado para la mayor parte de procesadores existentes. Utilizar este valor si no sabemos el nombre del procesador que tenemos en nuestro equipo. Este valor sólo es aplicable en la opción '-mtune='. Esta opción está disponible a partir de GCC 4.2.x.
i386 Intel i386.
i486 Intel i486.
i586, pentium Intel Pentium sin soporte de instrucciones MMX.
pentium-mmx Intel PentiumMMX basado en Pentium con soporte de instrucciones MMX.
pentiumpro Intel PentiumPro.
i686 Produce un código binario optimizado para la mayor parte de procesadores compatibles con la serie 80686 de Intel. Todos los actuales lo son.
pentium2 Intel Pentium2 basado en PentiumPro con soporte de instrucciones MMX.
pentium3, pentium3m Intel Pentium3 basado en PentiumPro con soporte de instrucciones MMX y SSE.
pentium-m Versión de bajo consumo de Intel Pentium3 con soporte de instrucciones MMX, SSE y SSE2. Utilizado por los portátiles Centrino.
pentium4, pentium4m Intel Pentium4 con soporte de instrucciones MMX, SSE y SSE2.
prescott Versión mejorada de Intel Pentium4 con soporte de instrucciones MMX, SSE, SSE2 y SSE3.
nocona Versión mejorada de Intel Pentium4 con extensiones 64-bit y soporte de instrucciones MMX, SSE, SSE2 y SSE3.
core2 Intel Core2 con extensiones 64-bit y soporte de instrucciones MMX, SSE, SSE2, SSE3 y SSSE3. Esta opción está disponible a partir de GCC 4.3.x.
corei7 Intel Core i7 con extensiones 64-bit y soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1 y SSE4.2. Soporta también los procesadores Intel Core i3 e i5. Esta opción está disponible a partir de GCC 4.6.x.
corei7-avx Intel Core i7 con extensiones 64-bit y soporte de instrucciones MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AVX, AES y PCLMUL. Soporta también los procesadores Intel Core i3 e i5. Esta opción está disponible a partir de GCC 4.6.x.
atom Intel Atom con extensiones 64-bit y soporte de instrucciones MMX, SSE, SSE2, SSE3 y SSSE3. Esta opción está disponible a partir de GCC 4.5.x.
k6 AMD K6 con soporte de instrucciones MMX.
k6-2, k6-3 Versiones mejoradas de AMD K6 con soporte de instrucciones MMX y 3DNow!.
athlon, athlon-tbird AMD Athlon con soporte de instrucciones MMX, 3DNow!, enhanced 3DNow! y SSE prefetch.
athlon4, athlon-xp, athlon-mp Versiones mejoradas de AMD Athlon con soporte de instrucciones MMX, 3DNow!, enhanced 3DNow! y full SSE.
k8, opteron, athlon64, athlon-fx Procesadores basados en AMD K8 core con soporte de instrucciones x86-64 (MMX, SSE, SSE2, 3DNow!, enhanced 3DNow! y extensiones 64-bit).
k8-sse3, opteron-sse3, athlon64-sse3 Versiones mejoradas de AMD K8 core con soporte de instrucciones SSE3. Esta opción está disponible a partir de GCC 4.3.x.
amdfam10, barcelona Procesadores basados en AMD Family 10h core con soporte de instrucciones x86-64 (MMX, SSE, SSE2, SSE3, SSE4A, 3DNow!, enhanced 3DNow!, ABM y extensiones 64-bit). Esta opción está disponible a partir de GCC 4.3.x.
btver1 AMD Bobcat (family 14). Esta opción está disponible a partir de GCC 4.6.x.
winchip-c6 IDT Winchip C6, que equivale a un i486 con soporte de instrucciones MMX.
winchip2 IDT Winchip2, que equivale a un i486 con soporte de instrucciones MMX y 3DNow!.
c3 Via C3 con soporte de instrucciones MMX y 3DNow!.
c3-2 Via C3-2 con soporte de instrucciones MMX y SSE.
geode AMD integrado con soporte de instrucciones MMX y 3DNow!. Esta opción está disponible a partir de GCC 4.3.x.
native Produce un código binario optimizado para el procesador que tengamos en nuestro sistema, siendo éste detectado utilizando la instrucción cpuid. Procesadores antiguos pueden no ser detectados utilizando este valor. Esta opción está disponible a partir de GCC 4.2.x.

Como pueden ver hay una gran variedad según la arquitectura y como me es imposible recordarlos a todos los dejo acá también para el resto de los navegantes!

19/7/12

what de UNIX en Linux

Hola a todos! Luego de algún tiempo sin escribir (exactamente 3 años, 5 meses y 7 días =P) he vuelto para traerles algo que les sera útil para aquellos que programan en C/C++ y quieren saber que fuentes contiene un binario que generaron en su proyecto.
Tal como el titulo lo dice en UNIX tenemos el comando what y en linux, si no me equivoco, "no tenemos una alternativa" a ese comando.

Básicamente el comando en UNIX se usa de la siguiente manera:
what binario
y la información que nos trae es la de los fuentes con los que se ha compilado el binario.

La particularidad que deben tener los fuentes tal como nos dice la pagina del man de unix (man what) es incluir dentro de el una linea como la siguiente:
char version_id[] = "@(#)identification information"; 
Vemos un ejemplo, escribamos un pequeño programa en C (al que llamaremos a.c), con el siguiente contenido:
 char version_id[] = "@(#)a.c v1.2";

#include

main()
{
    printf("Hola Mundo \n");
    return 0;
}
Ahora compilamos:
gcc a.c
Y esto nos generara, un binario llamado a.out.

Como comente arriba no "disponemos" del comando what en LINUX, pero lo podemos emular de la siguiente manera:
strings  a.out | grep '@(#)'
y la salida del comando anterior, como se imaginan sera:
@(#)a.c v1.2
Como ven, se puede incluir cualquier tipo de información que deseen...

Investigando un poco mas, encontré un fuente de what usado en BSD, que pueden bajar y compilar uds mismos desde aquí.

El único inconveniente que encontré al compilarlo es que no se encontraba la función
strlcpy, la cual se encuentra en la libbsd, -lbsd. Los usuarios de Debian y derivados pueden descargar sin mayor problema...

Bien, espero les sirva, se ven al rato!

 

23/8/09

Enviando emails desde la consola

Veamos como enviar mails desde la consola.

Para esto, usaremos 2 paquetes que están en los repositorios de debian, asi que los instalamos:
# apt-get install bsd-mailx
# apt-get install sendmail-bin
Ahora una vez instalado el sendmail arrancara su demonio automáticamente. Para nuestra primer prueba mandaremos un mail a nuestro correo desde consola a algo@dominio.com y claro con la cuenta de su usuario no root, así que siempre en consola:
echo “Cuerpo del mensaje” | mail -s “Asunto del mensaje” destinatario@dominio.com
Bien como pueden ver es fácil entender... Deberán tener cierto cuidado ya que el ISP puede llegar a bloquearlos, en cuyo caso los mails nunca llegaran a destino!
También deben de cambiar el nombre de dominio de su pc no querrán ver su ip si es que tienen ip fija en el nombre del servidor de procedencia del mail.

16/8/09

Escanear redes netbios desde la consola

Como administradores de sistemas siempre debemos estar pendientes de todos los recursos que están compartidos en nuestra red con otros sistemas operativos.

Para esto existe un sniffer en el cual nosotros podemos ver todas las máquinas que compartan información por medio del protocolo netbios, como sabemos windows utiliza este protocolo para sus comunicaciones en GNU/Linux, BSD, Solaris y Mac utilizamos el servicio de samba por lo cual también serán detectadas los recursos por compartidos por esos sistemas.

Para esto tenemos la herramienta nbtscan, el cual es un sniffer que detecta todos los recursos compartidos dentro de nuestra red.

Para instalar:
#apt-get install nbtscan
Veamos algunos ejemplos:
  • Ejemplo 1:
    Podemos escanear completamente un segmento de red por el puerto 137:
    # nbtscan -r 192.168.1.0/24
    Doing NBT name scan for addresses from 192.168.1.0/24
    IP address NetBIOS Name Server User MAC address
    ——————————————————————————
    192.168.1.0 Sendto failed: Permission denied
    192.168.1.107
    192.168.1.79 FACTOR-8BAB06C6 00:13:d3:bb:96:23
    192.168.1.3 NPIB88CB2 00:11:0a:b8:8c:b2
    192.168.1.64 HP530 00:1f:3c:a3:13:f3
    192.168.1.255 Sendto failed: Permission denied
  • Ejemplo 2:
    Escanear por un rango de ips por el puerto 137:
    # nbtscan -r 192.168.1.1-64
    Doing NBT name scan for addresses from 192.168.1.1-64
    IP address NetBIOS Name Server User MAC address
    ——————————————————————————
    192.168.1.3 NPIB88CB2 00:11:0a:b8:8c:b2
    192.168.1.64 HP530 00:1f:3c:a3:13:f3
  • Ejemplo 3:
    Escanear el segmento con informacion por columnas.
    # nbtscan -v -s : 192.168.1.0/24
    192.168.1.0 Sendto failed: Permission denied
    192.168.1.79:FACTOR-8BAB06C6:00U
    192.168.1.79:GRUPO_n TRABAJO :00G
    192.168.1.79:FACTOR-8BAB06C6:20U
    192.168.1.79:GRUPO_TRABAJO :1eG
    192.168.1.79:GRUPO_TRABAJO :1dU
    192.168.1.79:##__MSBROWSE__#:01G
    192.168.1.79:MAC:00:13:d3:bb:96:23
    192.168.1.64:HP530 :00U
    192.168.1.64:HP530 :20U
    192.168.1.64:GRUPO_TRABAJO :00G
    192.168.1.64:GRUPO_TRABAJO :1eG
    192.168.1.64:MAC:00:1f:3c:a3:13:f3
    192.168.1.115:F-LAPTOP :00U
    192.168.1.115:F-LAPTOP :03U
    192.168.1.115:F-LAPTOP :20U
    192.168.1.115:INFOMANAGERANG :1eG
    192.168.1.115:INFOMANAGERANG :00G
    192.168.1.115:MAC:00:00:00:00:00:00
    192.168.1.255 Sendto failed: Permission denied
  • Ejemplo 4:
    Tambien podemos hacer un escaneo a partir de un archivo creado con las ips a escanear:
    # vim lista
    192.168.1.1
    192.168.1.10
    192.168.1.24
    192.168.1.64
    192.168.1.70
    192.168.1.105

    # nbtscan -f lista
    Doing NBT name scan for addresses from lista
    IP address NetBIOS Name Server User MAC address
    ——————————————————————————
    - bad IP address
    192.168.1.64 HP530 00:1f:3c:a3:13:f3
visto aqui!

11/8/09

Mostrar logotipo propio en las propiedades del sistema

Bueno, empezamos con los post pedorros nuevamente, por falta de tiempo, asi que sin mas preambulos ahi les va el tip...

Si pulsamos con botón derecho en MI PC y abrimos las propiedades, veremos que nos muestra los datos de nuestra PC, que versión de windows tenemos instalada a nombre de quien esta registrado y una imagen de windows. La parte inferior puede ser modificada de tal modo que nos muestre una imagen en concreto debajo de la existente y si queremos también puede ponerse un texto.

Tan solo tenemos que buscar una imagen en formato .bmp y de dimensiones 160x160 la cual cambiaremos el nombre a "oemlogo.bmp" en el directorio C:\Windows\System, echo esto crearemos un archivo de texto con lo siguiente:
[General]
Manufacturer=Fulanito (nick, apodo, nombre de tu lugar de trabajo)
Model=fulanito-log.blogspot.com (email, dirección, alguna Web, etc.)
[Support Information]
Line1=Para soporte técnico llame a: (por ejemplo)
Line2= (en blanco para que quede un espacio)
Line3=Teléfono:****-*****
Line4=E-mail: fulanito@foo.com
Una vez terminado el archivo de texto guardarlo como "oeminfo.ini" en el directorio C:\Windows\System

Nota: se pueden seguir agregando líneas y modificar los textos a gusto, esto es solo de ejemplo. La información que se haya escrito en la sección [Support Information] aparecerá cuando se presione el botón Información de Soporte

es un hecho!

8/8/09

Generador de sources.list para Debian y Ubuntu

Webeando encontré un sitio interesantisimo que nos genera automáticamente el archivo sources.list que es el encargado de apuntar a servidores que contienen soft para instalar. Ingresando aqui podemos seleccionar la lista de repositorios para la versión de Debian que tengamos. Lo bueno es que también es capaz de generar repositorios no oficiales y lo que siempre me hace renegar: la instrucción para obtener la llave del repositorio y agregarla al sistema.
Algunas características:
  • Seleccion por pais
  • Por version (old, estable, testing, unstable)
  • Multimedia
  • KDE
  • Servers (php, mysql,etc.)
  • y mucho mas!

Desactivar la reproduccion automatica de Win XP

La reproducción automática de Windows puede llegar a ser un estorbo y culpable de que ejecutemos algún archivo malintencionado, como por ejemplo un autorun de algún pendrive, CD, etc. por lo que es recomendable quitar la reproducción automática.

Lo primero que tenemos que hacer es ir a Inicio->Ejecutar y una vez se habrá la ventana escribimos:
gpedit.msc
Veremos la ventana de Directiva de grupo, debemos ir a Configuración del equipo -> Plantillas administrativas -> Sistema, con lo que se abrirán las propiedades en la ventana de la derecha.


De las opciones que nos han salido en la ventana de la derecha seleccionamos Desactivar reproducción automática y hacemos doble clic, con lo que se abrirán las propiedades.

Por último, en la ventana de propiedades que se nos ha abierto tenemos que activar la opción Habilitada y en el desplegable seleccionar Todas las unidades, le damos al Aceptar y ya no nos volverá a mostrar la ventana de reproducción automática cada vez que pongamos un Cd o Pendrive.

5/8/09

Ocultar informacion del inicio en Debian con Splashy

Si bien no estoy de acuerdo con "ocultar" ésta información, suele servir para que la gente que tiene pocos conocimientos del sistema no salga corriendo antes de que este inicie y este listo para utilizarse. Voy a escribir algunas lineas de como instalar y configurar splashy en lenny, ya que me tope con "algunos problemitas". Para los mas despistados splashy es una barra de progreso que se ejecuta al inicio del sistema!


Instalación:
# apt-get install splashy splashy-themes
Problemas:
Soy muy novato y pensé que al hacer un reboot saldría como piña, pero no... Tuve que renegar como siempre.
El problema estaba en que faltaban agregar unas lineas al menu.lst de grub. Para solucionarlo, al inicio del sistema deberemos editar la linea de grub con que booteamos el kernel normalmente para ver que resoluciones y profundidad de color soporta nuestro monitor haste encontrar la que funcione y luego si guardar los cambios en ese archivo.

Como lo hacemos??? Fácil, la inicio de grub, cuando nos muestra el menu, presionamos la tecla 'e' seleccionamos la linea que corresponde, nuevamente 'e' para editar la linea y agregamos al final de esta: vga=ask nos debería quedar algo similar a:
kernel /boot/vmlinuz-2.6.26 root=/dev/hda1 ro quiet vga=ask
Luego presionamos y luego 'b' para bootear con la linea modificada. Esperamos y presionamos para ver los modos soportados y la profundidad de color (en mi caso fue el 314 con un modo de 800x600x16)

Una vez hecho esto, lo que obtuve fue una advertencia como la siguiente:

Esto nos dice que ademas debemos agregar algo mas como parámetro de booteo y es la palabra splash, resumiendo nos deberia quedar asi:
kernel /boot/vmlinuz-2.6.26 root=/dev/hda1 ro quiet splash vga=ask
esta linea (solo lo de color verde) la deberíamos agrear en el archivo: /boot/grub/menu.lst para no tener que hacerlo siempre que iniciemos, en caso de querer ver que pasa al inicio, nuevamente editamos la linea en el inicio de grub y borramos la palabra splash.

Cambiar el Theme:
Los themes esta en /etc/splashy/themes exploren las imagenes hasta encontrar uno que les guste y editen el archivo:
# vim /etc/splashy/config.xml
Deben cambiar la etiqueta Default por el nombre de la carpeta donde esta el theme que les gusta, guarden los cambios.
Por ultimo ejecuten
# update-initramfs -u
y reinicien!

Si quieren editar algun theme peguese una vuelta por el archivo:
/etc/splashy/themes/theme.xml
bueh... es todo gente!

4/8/09

Instalar y Retener paquetes en Debian

Algunas veces se nos puede dar el caso en que nos interese que el sistema no actualice determinados paquetes por algún motivo: versiones posteriores a defectuosas, incompatibles, etc.

ACLARACION:
Los paquetes retenidos para apt no están retenidos para aptitude, y viceversa, y ademas ocurrirá lo mismo con sus dependencias, echa esta aclaración podemos proseguir....

El problema se presenta cuando hacemos:
  • apt-get upgrade
  • aptitude upgrade
Retener paquetes para aptitude:
Tenemos dos formas de hacerlo, una es por consola y la otra mediante el menú en modo texto de aptitude.

Por consola, para retener un paquete lo único que tenemos que hacer es:
# aptitude hold nombre_paquete
Y para restaurarlo y permitir su actualización:
#aptitude unhold nombre_paquete
Para hacerlo con el menú de aptitude: una vez hayas hecho el correspondiente
# aptitude update para comprobar qué paquetes son actualizables, escribe aptitude en consola, busca en "paquetes actualizables". Dentro debería aparecer los paquetes que se van a actualizar. Te colocas sobre el que deseas y pulsas la tecla ‘=’. Finalmente pulsas ‘q’ para salir.Retener paquetes para apt y dpkg

Para retener un paquete en apt o dpkg:
echo "nombre_del_paquete hold" | sudo dpkg –-set-selections
Para restaurar el paquete y permitir su actualización:
echo "nombre_del_paquete install" | sudo dpkg -–set-selections
y para los mas desmemoriados (aunque con el uso se lo acuerdan) hay otra herramienta llamada feta, la instalan como siempre:
# aptitude install feta
con esto, para retener un paquete es:
# feta hold nombre_del paquete
y para restaurarlo:
# feta unhold nombre_del paquete
Retener paquetes en Synaptic:
Simplemente debemos seleccionar un paquete y seleccionando éste archivo nos dirigimos al menú superior y seleccionamos "Paquete" / "Forzar versión" y seleccionamos la opción que más nos interesa que quede instalada.
De no estar dicha opción o si tenemos el paquete sin actualizar vamos ahora a "Paquete" / "Bloquear versión" y activamos la casilla de verificación. Por último, hacemos click en aplicar y aceptamos.


Ahora cuando automáticamente se retienen paquetes, típico caso que nos de la salida:
Se han retenido los siguientes paquetes:
initramfs-tools libxml2 linux-image-2.6.18-6-686
0 paquetes actualizados, 0 nuevos instalados, 0 para eliminar y 3 sin actualizar.
Necesito descargar 0B de ficheros. Después de desempaquetar se usarán 0B.
Escribiendo información de estado extendido… Hecho
esto sucede cuando tenemos instalados paquetes (con sus dependencias), en una versión superior dependen de paquete que no tenemos instalados.
Para poder instalar cualquier paquete retenido solo hay que usar la siguiente orden:
#apt-get dist-upgrade
Bueno, por ahora es todo, bye!

2/8/09

Eliminar la barra de Recordar Contraseña de Firefox / Iceweasel

Bueno, comensamos el mes con todo y hoy vamos a ver como quitar esa barra de firefox / Icdeweasel, que a mi personalmente me molesta mucho, ya que por cuestiones de seguridad nunca le digo que recuerde una contraseña.

Los pasos son:
  1. vamos a about:config, en el Filtro ponemos la palabra remember
  2. Vamos hasta la clave signon.RememberSignons, que esta en true
  3. Hacemos doble clic para cambiar el valor a false
Que les sea leve!

Diario de un Administrador de Sistemas

Ahh!!! 31 de julio Dia del administrador de Sistemas y con el aparecen infinidad de artículos muy buenos, aca les dejo uno muy gracioso, espero lo disfruten!

Lunes

8:05
Una usuaria llama diciendo que se le olvidó su contraseña. Le digo que utilice el comando de recuperación de contraseñas llamado FDISK. Muy ignorantemente me agradece y cuelga. DIOS!, dejamos que voten y manejen!!!

8:12
Llaman de Contabilidad por que no pueden acceder a la base de datos. Le hago referencia al error #112 del manual del usuario de la base de datos. Bueno, ¡a mi me funciona! Dejo que gruña y se enoje un rato mientras desenchufo la cafetera del UPS y vuelvo a conectar el servidor de bases de datos. Le sugiero que lo intente otra vez. Resultado: Otro cliente contento.

8:14
La usuaria que llamo a las 8:05 dice que le aparece el siguiente mensaje: "Error en el Drive C:". Le digo que es problema de la energía eléctrica. La transfiero a mantenimiento.

11:00
Relativamente tranquilo las ultimas horas. Decido volver a conectar el teléfono para llamar a mi novia. Me dice que sus padres llegaron de visita y se van a quedar toda la semana en casa. La pongo en espera y la transfiero al Portero del Sótano (que nadie lo conoce) ¿Que se esta creyendo? El fútbol empieza esta semana!!!

11:34
Otro usuario llama. Dice que quiere modificar la lista de acceso al recurso de Recursos Humanos para que solamente él pueda accederlo. Le digo que no hay problema. Cuelgo. Modifico la lista de acceso. Le pongo "ACCESO TOTAL" a todas la cuentas.

12:00
Comida.

15:30
Regreso de la comida.

15:55
Despierto de la siesta. Un mal sueno me pone de mal humor. Pateo los servidores sin ninguna razón especial. Me vuelvo a dormir.

16:23
Otro usuario llama. Quiere saber como cambiar el tipo de letra de su documento. Le pregunto que tipo de CHIP esta usando. Le digo que me llame cuando lo sepa porque tengo a otro usuario en la línea.

16:55
Decido ejecutar mi nueva macro "crear_conflictos_de_replicacion" para que el siguiente turno tenga algo que hacer.

MARTES

8:30
Termino de leer el log de eventos del turno nocturno. Se ve terrible. Muchos problemas de replicación...

9:00
El Gerente de Soporte llega. Quiere discutir conmigo mi actitud. Presiono algunos botones del servidor. Empieza a sonar el teléfono. Los usuarios dicen que no pueden entrar a la base de datos. ¡Que raro! le digo al Gerente que me apena, pero no puedo atenderlo.

9:35
El Gerente de Recursos Humanos habla pidiendo una cuenta de red para un nuevo usuario. Le digo que necesita llenar la forma J-19Roe9DARK1. Me dice que nunca había escuchado de esa forma. Le digo que esta en el servidor de Formas Especiales. Dice que nunca había oído de ese servidor. Lo transfiero al Portero.

10:00
El Director de Recursos Humanos llega exigiendo una cuenta de red para un nuevo usuario. Le digo que necesito su numero de empleado, departamento, jefe inmediato y estado civil. Ejecuto la opción "Buscar" en la base de datos de juegos y en los contactos de mi agenda. No se encontró, mmmmm... Le digo que la cuenta estará lista en la noche.

10:07
El Portero pasa por la oficina y comenta que ha estado recibiendo llamadas muy extrañas. Le ofrezco enseñarle a usar el Lotus Notes. Lo dejo ver la consola mientras me voy a fumar un cigarro.

13:00
Regreso de fumar. El conserje me dice que el teléfono no paraba de sonar, así que lo enruto a la cafetería. ¡Me agrada ese señor!

13:05
Una gran conmoción! El Gerente de Soporte cae en el hoyo que deje al quitar el piso técnico en la entrada de Sistemas. Le recuerdo la importancia de NO ENTRAR a Sistemas sin avisar.

13:15
María, la cocinera de la cafetería llama. Dice que ha estado recibiendo llamadas extrañas de gente que no pudo entrar a una base o algo parecido, no esta segura. Le digo que probablemente sea una encuesta. Lo piensa y cuelga.

14:00
La secretaria del Director General llama diciendo que perdió su contraseña. Le digo que busque en su bolsa, en el coche y en el baño. Le digo que probablemente se le cayo atrás del escritorio. Le sugiero que tape con cinta adhesiva todas las ranuras que encuentre en su PC para que no vuelva a suceder. Me ofrezco a crearle otra contraseña mientras ella hace eso.

14:49
El Portero regresa. Quiere mas lecciones de Lotus Notes. Lo dejo en la consola y me tomo el resto del día.

MIERCOLES

8:35
Un usuario enojado llama diciendo que no tiene nada que ver el tipo de CHIP que usa para cambiar el tipo de letra de su documento. Le explico que me entendió mal, no dije CHIP, dije BIT. Muy apenado se disculpa y cuelga.

9:10
El Gerente de Soporte llega con una pierna enyesada. Agenda una reunión conmigo a las 10:00. Llama un usuario queriendo hablar con el Gerente para quejarse del mal servicio que dan en Sistemas... Tengo que informarle que el Gerente esta a punto de entrar a una reunión. ¡Algunas veces todo es tan fácil!

10:00
Me entero que el nombre del Conserje es Luis y le pido que me cubra un rato. Voy a la oficina del Gerente de Soporte. Me dice que me puede despedir o cambiarme de área. Le pregunto si ya sabe del nuevo "virus" que toma las direcciones de e-mail de los usuarios y las envía a servicios para os. Además de que pone fotos de mujeres sin ropa en la pagina Web de la empresa. Lo dejo en su oficina mientras revisa su correo y la Web.

10:30
Le digo a Luis que esta haciendo un gran trabajo. Le ofrezco enseñarle a usar el Mainframe algún día.

11:00
Comida.

16:55
Regreso de comer.

17:00
Cambio de turno. Me voy a casa.

JUEVES

8:00
El nuevo chico (Juan), entra a trabajar hoy. Le enseño el Site, la cocina, el baño y los manuales. Le asigno una IBM PC-XT 286. Le digo que deje de quejarse, que Lotus Notes también corre en monitores monocromáticos.

8:45
El nuevo chico termina de encender su PC. Le digo que le voy a crear un nuevo usuario de red. Le establezco una contraseña para que utilice mínimo 64 caracteres. Me voy a fumar un cigarro.

9:30
Presento a Luis y a Juan. "Bonita computadora, Juan", comenta Luis. Bueno.. es genial este señor o que?!!

11:00
Le gano a Luis en un juego de Domino. Luis se va. Un usuario llama diciendo que no puede acceder al servidor de contabilidad. Desconecto el cable de red del servidor de la antena de TV (para mejor recepción) y lo vuelvo a conectar al Hub. Le digo al usuario que lo intente otra vez. ¡Otro usuario contento!

11:58
Capacito a Juan en la política del Help Desk 98.022.01: "PARA TODO EMPLEADO DE NUEVO INGRESO Y SI COINCIDE LA TERMINACION DEL DIA DE LA SEMANA EN "S", ESTARA OBLIGADO A PROVEER PRODUCTOS Y SUSTANCIAS QUE REQUIERA EL TECNICO EN JEFE EN ESTA AREA". Juan lo duda unos momentos. Yo le recuerdo que las políticas del área son irrefutables. "Recuerda: es DOBLE QUESO y no DOBLE JAMON", le grito a Juan antes de que salga por la puerta en busca de los productos solicitados.

13:00
Oooooooooooh! la pizza siempre me da sueño...

16:32
Despierto de una siesta revitalizante. Sorprendo a Juan buscando empleo en un periódico.

17:00
Cambio de turno. Apago y enciendo varias veces el servidor de Recursos Humanos (solo estoy probando el botón de encendido/apagado). ¡Nos vemos mañana!

VIERNES

9:15
El turno de la noche todavía esta tratando de reemplazar la fuente de poder del servidor de Recursos Humanos. Con real sorpresa les comento que ayer estaba funcionando bien.

9:22
Juan no ha llegado. Decido empezar a contestar las llamadas yo mismo. Desenruto el teléfono.

9:25
Pues si, llama un usuario. Dice que el correo no replica en Dallas, TX. Mi tabla Ouija y yo determinamos que es culpa de las manchas solares. Le indico que debe comunicarse con su carrier.

9:30
¡Válgame Dios! ¡otro usuario! Son como hormigas. Dice que esta en Brasil y no puede replicar con Dallas. Le aviso de la situación de las manchas solares pero con 2 horas de diferencia. Le recomiendo que atrase el reloj del servidor 2 horas para sincronizar el horario con Dallas.

10:16
Llaman de otra ciudad. Dicen que no pueden enviar el correo a Dallas. Le digo que adelante el reloj del servidor 3 horas por la diferencia de horario.

11:31
Llega un mensaje del Corporativo pidiendo que no estén moviendo la hora de los servidores. Cambio la fecha del mensaje y lo mando a otra ciudad. Me voy a tomar un café.

12:50
Termino de tomar mi café. Vuelvo a conectar el teléfono.

13:22
Llaman de otra ciudad, preguntan que día es hoy...

13:25
El Gerente de Soporte llega diciendo que Juan renuncio... ¡Que difícil es conseguir a un buen empleado! Me dice que tiene que ir con el medico a revisar su pierna, que si puedo entrar a una reunión por el. Le digo que por supuesto, que no hay problema.

13:32
Llamo a Luis y le digo que esta invitado a una reunión. Si, claro, le digo que puede invitar a su novia.

14:30
Empiezo el respaldo semanal de los servidores. Los redirecciono al dispositivo NULL para que sea mas rápido.

14:33
Termina el respaldo de los servidores. ¡Wow! ¡Como avanza la tecnología!

15:00
Llama otro usuario. Dice que no sabe como imprimir un documento. Le digo que presione CTRL-ALT-DEL... Dice que se apago su PC. Le digo que es porque esta fallando la energía eléctrica y que llame a Mantenimiento.

15:10
Conecto la cafetera al hub a ver que pasa (no mucho)

15:15
Llama la usuaria del lunes a punto de soltar el llanto y dice que esta muy preocupada porque no sabe que le hizo a la computadora porque se queda con la pantalla en blanco y negro. Le digo que es porque le borro los colores y que el lunes mando a alguien de mantenimiento correctivo a que la coloree de nuevo.

15:30
¡Que bueno que hoy salimos temprano! El hub empieza a actuar un poco raro, mejor me voy.

Visto aqui!

29/7/09

Guia de conectores del hardware

Sip, via varios blogs que visito a diario, veo la grata noticia de que alguien se tomo el trabajo de poner casi todos los conectores existentes que hay para PC, Notebooks, Netbooks, etc... en fin les dejo una imagen...


En caso de que el link no funcione aqui hay otro de menor calidad! Por su pollo =P, el link y las felicitaciones a Sonic840 buen trabajo men!

25/7/09

Windows XP PRO como Terminal Server

Windows XP Professional dispone del servicio RDP, esto permite conectarnos a la maquina remotamente, claro esta desde otra PC... Sin embargo, en Windows XP solo se permite una conexión concurrente al escritorio remoto.

Mas aun, si un usuario remoto se conecta remotamente, el usuario sentado frente a la maquina Windows XP, es desconectado, con su permiso o no. El escritorio remoto, salvo en los servicios Terminal Server de Windows 2000, Server 2003 y Server 2008, es diseñado para un solo usuario, sin importar si es local o remoto.

Lo que van a ver aquí es como quitar ésta limitación y habilitar conexiones remotas concurrentes (en Windows XP Professional), usando una dll parcheada llamada termserv.dll, que nos va a permitir que un numero ilimitado de usuarios puedan conectarse al PC de manera remota.

Una buena aplicación de esto es usar una pc de bajos recursos para conectarse a una PC de mayor capacidad y así aprovechar mejor su potencia. Los pasos que deberán seguir son:
  1. Descarguen alguno de los siguientes archivos, según su versión de SO:
  2. Reinicien la PC en modo seguro
  3. Vallan a %windir%\System32 y hagan una copia del archivo termsrv.dll para tener de Backup.
  4. Renombren o borren el archivo termserv.dll en el directorio %windir%\System32\dllcache
  5. Copien el archivo termsrv.dll que descargaron en %windir%\System32, windir%\ServicePackFiles\i386 (si existe) y %windir%\System32\dllcache
  6. Creen una archivo .bat y peguen el contenido siguiente para luego ejecutarlo:
    @REG ADD "HKLM\SYSTEM\ControlSet001\Control\Terminal Server\Licensing Core" /v EnableConcurrentSessions /d 1 /t REG_DWORD /f >nul
    @REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v EnableConcurrentSessions /d 1 /t REG_DWORD /f > nul
    @REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v AllowMultipleTSSessions /d 1 /t REG_DWORD /f > nul
  7. Ahora click en Inicio-> ejecutar y escriban gpedit.msc, seguido de un "enter", esto traerá el editor de políticas de grupo.
  8. Vallan hasta Configuración de Equipo -> Plantillas Administrativas -> Componentes de Windows -> Terminal Services
  9. Habiliten Limitar numero de conexiones y coloquen el numero de conexiones a 3 o mas, según sus requerimientos y la capacidad de su hardware. Este seteo es el que permite las sesiones concurrentes
  10. Asegúrense que el escritorio remoto esta habilitado en las propiedades del sistema (clasico: MiPC -> propiedades -> solapa remoto -> Permitir a los usuarios bla bla bla) y el servicio este ejecutándose en las herramientas administrativas...
  11. Habiliten el cambio rápido de usuarios en el panel de control -> cuentas de usuario.
  12. Reiniciar en modo normal!
Si la computadora esta conectada a un dominio, Windows setea el valor de la clave del registro “AllowMultipleTSSessions” a “0″ cada vez que la PC es iniciada. Para asegurase que se permitan sesiones concurrentes en este caso, deberán ejecutar al inicio del sistema el archivo .bat que crearon anteriormente.

Para usarlo es muy simple:
  • Desde linux deberán tener instalado rdesktop y escribir:
    rdesktop -0 -p -U usuario dirección_host
  • Desde windows deben ir a Inicio -> Programas -> Accesorios -> Conexión a escritorio remoto o bien usar el comando similar al anterior:
    mstsc dirección_host/console
Notas finales:
  • por ahora, los usuarios del escritorio remoto deberán tener contraseña!
  • Por si quieren habilitar el acceso desde internet, el puerto TCP es 3389, para que lo pongan en su router...

23/7/09

Extraer un CD sin desmontar

Via un coterraneo, me encuentro con este tip... casualmente andaba buscando algo similar, que por supuesto aun no encuentro. Les dejo un copy=y/paste del site

Nunca te acostumbraste a andar saliendo del directorio donde has montado el CD y luego ejecutar un umount /dev/cdrom o lo que fuere y que a veces no sabes que esta bloqueando el CD y tu Linux no lo quiere soltar?. Siempre soñaste con apretar el boton "eject" de tu Lectora y que el CD sea expulsado con solo eso? bueno hay una solución para tu "desgracia".

Lo que debes hacer es ejecutar el siguiente comando como root o con sudo:
sysctl dev.cdrom.lock=0
Una vez que hayas ejecutado este comando Linux dejara tu lectora libre y podrás extraer tus CDs sin mas que apretar el botón.

Ahora lo anterior es momentáneo, si quieres hacer esto permanente deberás agregar con el usuario root la siguiente linea al archivo /etc/sysctl.conf
"dev.cdrom.lock=0"
o ejecutar directamente la siguiente linea como root o con sudo:
sudo sh -c 'echo "dev.cdrom.lock=0" >> /etc/sysctl.conf'

22/7/09

Uso básico de screen

Cuando accedemos remotamente ssh a un sistema se suele obtener acceso a una única shell donde ejecutar comandos.

Ejemplo: si queremos ejecutar simultáneamente el lector de correo electrónico mutt y navegar por directorios para copiar o mover archivos, vamos a tener que realizar 2 conexiones para disponer de 2 shells: En una ejecutaríamos mutt mientras usamos la otra para navegar por los directorios.
Adicionalmente, si perdemos la conexión con el servidor no podremos recuperar el estado en el que se encontraban las terminales. Por ejemplo, si estábamos comprimiendo un directorio y se corta la conexión, esta acción se quedará a medias y tendremos que repetirla.

Sin embargo, si hacemos uso de screen podemos solventar esos inconvenientes:
  • Únicamente nos bastará con realizar una conexión dado que nos permite mantener diversas “ventanas” virtuales dentro de la misma terminal. Similar al concepto de un navegador con diferentes pestañas.
  • Si la conexión se pierde, screen continuará funcionando y al volver a reconectar con el servidor podremos recuperar el estado original.
Para instalarlo, lo de siempre:
# apt-get install screen
Veamos algunos ejemplos:
  • screen -R -D
    Restaura la sesión anterior de screen en caso de existir o, de lo contrario, creará una sesión nueva.
Podemos utilizar diversas combinaciones de teclas para crear nuevas ventanas o realizar otras acciones:
  • ctrl-a c
    Crear una nueva ventana con una shell
  • ctrl-a k
    Destruye la ventana actual
  • ctrl-a n
    Ir a la ventana siguiente
  • Ctrl-a y luego 0 – 9
    Para cambiar entre ventanas o screens
  • ctrl-a p
    Ir a la ventana anterior
  • ctrl-a ctrl-a
    Ir a la última ventana visualizada
  • ctrl-a A
    Ir a la última ventana visualizada
  • ctrl-a ESC
    Ver el historial (scrolling buffer)
  • ctrl-a x
    Bloquea terminal
  • ctrl-a d
    Desasignar screen (recuperar después con screen -R -D)
Podemos realizar pantallazos o llevar un registro de todos los comandos que ejecutamos:
  • ctrl-a h
    Guarda pantallazo en “hardcopy.n”
  • ctrl-a x
    Bloquea terminal
  • ctrl-a H
    Inicia/para registro de la ventana actual en “screenlog.n”
O incluso podemos compartir una terminal entre diversos usuarios de forma remota con screen, los pasos a seguir son:
  1. Activar el setuid de screen mediante: chmod +s /usr/bin/screen
  2. Ejecutar en local: screen -S nombreSesion
  3. Activar acceso multiusuario mediante “Ctrl+a :multiuser on”
  4. Dar permisos a un usuario con “Ctrl+a :acladd usuario”
  5. Si se quiere que el usuario no pueda interactuar con la terminal (solo permisos para observar): Ctrl-a :aclchg student -w “#”
  6. El usuario remoto deberá conectar por SSH con la máquina y ejecutar: screen -x usuario/nombreSesion
Finalmente, si deseamos tener una barra inferior donde aparecerá el nombre de las diferentes ventanas, así como la carga del sistema y la hora actual (entre otras cosas), podemos modificar el fichero de configuración ~/.screenrc:

screen -t shell 0
#screen -t shell 0 motd+shell
#screen -t shell2 1
#screen -t server 2
#screen -t Mail 9 tail -f /var/log/messages

select 0
shelltitle "shell"

# skip the startup message
startup_message off

# go to home dir
chdir

# Automatically detach on hangup.
autodetach on

# Change default scrollback value for new windows
defscrollback 1000

# Turns off alternate screen switching in xterms,
# so that text in screen will go into the xterm's scrollback buffer:
termcapinfo xterm* ti@:te@
altscreen on

# start with visual bell as default
vbell on
vbell_msg "bell on %t (%n)"
activity "Activity in %t(%n)"

# Run a screensaver if there's nothing happening for a while.
#idle 600 eval "screen cmatrix -f -o -u 10" "idle 0"
idle 600 lockscreen

### White
#caption always "%{kW}%?%-Lw%?%{bw}%n*%f %t%?(%u)%?%{kW}%?%+Lw%? %= %{= Wk}%110`%109`%111` %H load: %l | %D %d-%m-%Y %0c:%s"

### Black
caption always "%{wk}%?%-Lw%?%{bw}%n*%f %t%?(%u)%?%{wk}%?%+Lw%? %= %{= kw}%110`%109`%111` %H load: %l | %D %d-%m-%Y %0c:%s"
Jojo, lindo ehh??!! Extraido de aqui...

19/7/09

Copiar nuestra instalacion Linux Debian a una particion o disco diferente

Si necesitamos mover nuestro querio SO a un disco o particion diferente de donde esta (y que siga funcionado!) y ademas poseemos GRUB estas en el lugar indicado!

Para comenzar debemos disponer un live cd e iniciar desde él y seguir los siguientes pasos

Copiando:
  • Montamos la aprticion / disco origen y destino.
  • Ejecutamos en una terminal:
    $ sudo cp -afv /source/* /destination
  • Luego de que termino de copiar, apagamos, quitamos el disco origen e iniciamos nuevamente desde el live cd.
Configuracion:
  • Montamos nuestra partición / disco de destino.
  • Editamos el archivo /etc/fstab. Cambiamos el UUID o el dispositivo cuyo punto de montaje es / a nuestro nuevo disco/partición.
  • Podemos buscar UUID del disco / particion nueva con el siguiente comando:
    ls -l /dev/disk/by-uuid/
  • Editamos el archivo /boot/grub/menu.lst. Cambiamos el UUID de la entrada correspondiente.
Instalamos Grub:
  • sudo grub
  • En el prompt de GRUB, escribimos:
    find /boot/grub/menu.lst
    Esto nos dirá cual es la nueva unidad y el número de partición (algo como hd(0,0))
  • Escribimos:
    root hd(0,0)
    reemplazando "hd(0,0)" con nuestro numero de partición que obtuvimos antes.
  • Ahora tipeamos:
    setup hd(0)
    reemplazando "hd(0)" con el numero de nuesro disco que obtuvimos antes.
Eso es todo! Ahora disponemos de una copia completamente funcional de SO favorito...
Se ven al rato chimuelos!

18/7/09

Actualizar Video4Linux

Como pudimos ver en la entrada anterior, pudimos configurar nuestra webcam. Para aquellos que no la pudieron hacer funcionar, pueden probar de actulizar Video4Linux
Recordemos que Video4Linux es una API de captura de video, que nos permite usar las webcams, sintonizadores de TV, etc. Desde hace algun tiempo el proyecto V4L se ha unido con el proyecto DVB por lo que ahora las versiones son llamadas V4L-DVB en Linuxtv.org.

Para poder obtener esas ultimas actualizaciones es necesario compilar el código fuente, deberán seguir los siguientes pasos:
  1. Instalamos las dependencias:
    # apt-get install build-essential mercurial linux-headers-`uname -r`
  2. Vamos al directorio
    # cd /usr/src
  3. Descargamos los ultimos paquetes de V4L-DVB:
    # hg clone http://linuxtv.org/hg/v4l-dvb
  4. Vamos a la carpeta descargda:
    # cd v4l-dvb
  5. Compilamos:
    # make
  6. Instalamos:
    # make install
  7. Reiniciamos el equipo y listo, ya tenemos los últimos drivers.
Espero puedan instalar sus webcams, sin mas los despido hasta la próxima! =P
PD: sacado de linlap.com