Artículos de la categoría Programas

Una de las cosas más importantes con las que uno se encuentra en ambientes de trabajo heterogéneos, con diversos sistemas operativos, cuando hay redes y máquinas que instalar, es contar con una herramienta que nos permita iniciar (boot) desde USB.

Ultimate Boot CD
Es un proyecto gratuito (y open source en algunos casos), para integrar una serie de herramientas de diagnóstico, reparación y análisis de equipos, discos duros y hardware.

Consta de una serie de herramientas bajo DOS (freeDOS) como Disk Manager, etc y además con una completa versión live USB de la distribución partedMagic, partedMagic es una distribución (basada en Gentoo y XLDE) que corre desde RAM, trae:

  • gparted
  • testdisk
  • smart-mon tools (herramientas de diagnóstico de S.M.A.R.T)
  • Hardware info
  • Herramienta para reset de contraseñas Windows.

Y toda la serie de cosas que encontrarás en una distribución Linux (music player, navegador Internet, etc)

Hiren Boot CD
Con Hiren Boot CD contamos con herramientas “comerciales” de diagnóstico, reparación y chequeo basadas en DOS y hasta un “mini-Windows XP” iniciable.
HOWTO: Crear un Pen-Drive boot (grub4Dos)

Alerta!: Alto contenido técnico, no me hago responsable si por error, destruyes tu disco duro!.

Modo Gparted:

  1. Conectar el USB stick (tengo una memoria micro-SD viejita de 512 MB) al equipo
  2. abrir gparted
  3. Particionar el pendrive (menú Dispositivo > Crear tabla de particiones)
  4. Presionar CTRL+N (nueva partición) > tipo: primaria, sistema de archivos: fat32
  5. Al terminar de formatear, menú partición > Gestionar Flags > Seleccionar BOOT

Modo Fdisk

  1. Conectar el pendrive, si este se monta, desmontarlo (umount /dev/sdxx) donde xx representa el disco y el número de la partición, ejemplo:
    umount /dev/sdb1
  2. ejecutar fdisk sobre el pendrive:
    fdisk /dev/sdb1
  3. En el prompt, solicitas la opción de “new DOS partition table” = letra O
  4. Creamos una nueva partición: opción N, luego tipo primaria, la totalidad del pendrive
  5. Opción A (letra A), le darán la opción “boot” al pendrive.
  6. Presionen “P” para ver si la partición está bien creada:
    Device Boot      Start         End      Blocks   Id  System
    /dev/sdb1   ?      200646      216001   123339962   78  Unknown
  7. Presionar “W” para escribir los cambios, es probable que se requiera retirar y volver a colocar el pendrive.
  8. Formatear el pendrive:
    mkfs.vfat -n bootusb -f1 -F 32 /dev/sdb1

Ya contamos con un pendrive formateado, ahora, procedemos a “agregarle” el sistema de arranque.

NOTA: si no posee gparted, instálelo (nombre: gparted), si no encuentra mkfs.vfat, instale el paquete requerido (dosfstools)

Syslinux y arranque
Se requiere hacer 2 cosas sobre un pendrive FAT32 para hacerlo arrancable, siempre y cuando se instalen los paquetes requeridos:

aptitude install syslinux syslinux-common

Luego, debemos “transferir” el Master Boot Record (MBR), que representan 404 bytes del sector “iniciable” del pendrive; ejecutamos:

dd if=/usr/lib/syslinux/mbr.bin of=/dev/sdX

Donde X representa la letra del dispositivo (nota: SIN EL número de la partición)

Esperamos a que el comando DD “suelte” el pendrive, ejecutando:

sync

el comando syslinux requiere la presencia de los siguientes archivos y directorios (en la raíz del pendrive):

/boot (directorio)
/boot/syslinux (directorio)
/boot/grub (directorio)
/boot/grub/menu.lst (menu list del grub)
/boot/syslinux/syslinux.cfg (configuración de arranque de syslinux)

Y la presencia, “obviamente” de un kernel Linux.

Cuando todo eso esté ahí, transferimos el “sistema de arranque” con:

syslinux /dev/sdXn

Donde X representa la letra del pendrive y N la partición (en mi caso 1).

Transfiriendo los archivos necesarios
Tanto Ultimate Boot CD como Hiren Boot CD puedes encontrarlos en forma de archivos .ISO, simplemente los “montamos” en un directorio y copiamos todo el contenido a nuestro “pendrive”:

mount -t iso9660 -o loop ubcd501.iso /mnt

Y copiamos todo:

cp -a /mnt/* /media/bootusb

Personalizando …
Luego de copiar todo el contenido de Ultimate Boot CD al pendrive, personalizaremos un poco.

He copiado las carpetas HBCD (Hiren Boot CD) y UBCD (Ultimate Boot CD) desde sus respectivos ISO a mi pendrive, luego, edité el archivo isolinux.cfg que encontraremos en /boot/isolinux/ y agregué las entradas para hiren boot CD:

DEFAULT main

LABEL main
COM32 /boot/syslinux/menu.c32
APPEND /ubcd/menus/isolinux/main.cfg

label bc
COM32 /HBCD/menu.c32
menu label Start BootCD
kernel /HBCD/memdisk
append initrd=/HBCD/boot.gz

label xp
COM32 /HBCD/menu.c32
menu label Start Mini Windows Xp
kernel /HBCD/XP.BIN

Guardé y reinicié el equipo para probar que puedo entrar tanto a Hiren Boot CD, al Mini-Windows XP de Hiren Boot como al PartedMagic de UBCD.

TODO (por hacer):
Hay 3 herramientas populares:

  • Hiren Boot CD : herramientas comerciales para Windows
  • System Rescue CD: herramientas libres y GPL para Linux
  • Ultimate Boot CD: herramientas libres o gratuitas para Linux y Windows

Las 3 usan grub4Dos y syslinux para arrancar sus servicios, sería “interesante” crear un único “menú” (menu.lst y syslinux.cfg) que integre los menús de las 3 herramientas, cada una en su propia carpeta (HBCD: Hiren Boot CD, pmagic: systemRescueCD, UBCD: Ultimate Boot CD).

Como último, agregar en un sector “aparte” el arranque de instalación de algunas distros populares (Debian netinstall, Canaima DVD y Ubuntu Live DVD) y sería el pendrive “perfecto”.

Conclusiones
No saben con la proliferación de “netbooks” lo necesario que es tener una herramienta de este tipo para re-particionar, formatear, instalar y revisar (sin tener que cargar una unidad DVD portable), además estas herramientas son tan “pequeñas” que en conjunto no superan los 500 MB de espacio, posibilitando recuperar esos “viejos pendrives” y memorias para algo útil.

Espero les sirva como a mí …

Publicación original de Phenobarbital.

Instalar Temas en Windows 7

Hace un tiempo publique una manera de instalar temas de terceros en XP y ahora le toca el turno a Windows 7, el cual aunque nativamente ya luce muy bien nunca viene mal distinguirlo un poco de los demás con algunos de los geniales temas que hay rodando por la web. Así que si deseas “enchular” tu nuevo Windows 7 ,sigue los pasos de este tutorial:

1. Preparando el sistema para Aceptar temas no oficiales.

  • Descarga el Universal Theme Patcher.
    • Descomprímelo, ubica y ejecuta el archivo UniversalThemePatcher (elige el x86 si tu sistema es de 32bits o el x64 si tu sistema es de 64bits)
      • image
    • Al iniciar el ejecutable preguntara que idioma queremos usar DEJENLO EN INGLES!y cliquen en OK.
      • image
    • Ahora aparecerá un cuadro informando cuantos patch necesitamos; hagan clic en si.
      • image
    • Ahora solo clicamos en los tres botones de patch y reiniciamos el sistema.
      • image
    • Al reiniciar Windows 7 ya aceptara temas de terceros.

2. Instalar Temas.

Con el sistema ya preparado ahora solo basta ubicar el tema deseado, (nuevamente les recomiendo deviantart.com como fuente) en este post utilizaré el tema X2 que pueden descargar desde acá.

image

Una vez descargado y descomprimido el tema (como descompresor recomiendo 7-zip) encontraras dentro, una carpeta y un archivo de tema del mismo nombre, en este caso ambos “llamados” X2. (otros temas pueden contener mas archivos sobre info del autor capturas de pantallas etc.. pero lo que necesitaremos siempre son la carpeta y el archivo de tema)

image Ambos archivos (el tema y la carpeta) los copiamos y pegamos en la ruta: C:\Windows\Resources\Themes

image

Ahora solo basta con ir a Personalización (clic derecho en el escritorio/Personalizar o desde el Panel de Control) y veremos un nuevo área llamada “temas Instalados” desde la que podremos aplicar el nuevo estilo.

image

¿Problemas?

en caso de que Windows arroje errores o que los temas carguen mal, solo queda desistir en el intento y restaurar los archivos parcheados.

image

¿Preguntas? ¿Algún temas que recomendar? deja tu comentario.

Publicación original de JManzur.

Prueba Android 2.1 (eclair) en Windows

¿Ansioso por probar el nuevo Android que trae a bordo el Nexus One de Google? Pues ya podemos hacerlo gracias al SDK (Software Development Kit) publicado en la web developer.android.com para ello tan solo sigue estos simples pasos.

    1. Descarga el SDK para Windows (también disponible para MAC y Linux) desde este enlace.

    2. Descomprime el archivo android-sdk_r04-windows.zip y ejecuta el archivo SDK Setup.exe

    3. Si recibes un error continua con los siguientes pasos de lo contrario salta al paso 4.

image_thumb_3_

  • Cierra la ventana del error (Refresh Sources) y la ventana “Choose Packages to Install”

  • En la venta que quedara abierta ve a Settings; marca las dos casilla inferiores y clica en Save & Apply.

image_thumb_6_

  • Cierra todas las ventanas y vuelve a ejecutar SDK Setup.exe (al igual que en el paso “2)

  • Selecciona el paquete a Descargar/Instalar (en nuestro caso “SDK Platform Android 2.1. API 7, revision 1”) marca la casilla “Accept” y pulsa “Install…”

image_thumb_9_

 

  • Hecho esto iniciara el proceso de descarga el cual les advierto que es realmente lento.

image_thumb_14_

 

  • Finalizada la descarga pulsa en “Close” luego en “Virtual Devices” y “New”.

 

image_thumb_19_

 

  • Ahora crearemos una maquina virtual con las siguientes características:

 

image_thumb_25_

  • [Paciencia al pulsar en Create AVD, pues la aplicación puede tardar en reaccionar]

  • Inicia la maquina virtual.

image_thumb_28_

 

  • [Clica en Launch en la nueva ventana]

  • Luego de unos segundos Andorid 2.1 comenzara el proceso de booteo.

image_thumb_40_

Eso es todo ya puedes jugar con Android 2.1 en tu escritorio.

image_thumb_33_

 

image_thumb_36_

 

image_thumb_39_

Publicación original de JManzur.

Una de las cosas que uno comunmente diseña en una organización son los grupos, que permiten cosas como por ejemplo, permisología de carpetas, en samba los permisos y seguridad sobre recursos compartidos, etc.

Ahora, usaremos los grupos como listas de distribución de correo (como mailman, pero sin suscripción) para enviar correo masivamente a todos sus miembros.

Los grupos Posix

Los grupos en directorios LDAP se crean usando posixGroups, los grupos posix son un tipo de entrada muy común en LDAP y tienen más o menos la siguiente forma:

dn: cn=redes,ou=Redes,ou=Coordinacion de Tecnologia de la Informacion,ou=unidades,dc=vive,dc=gob,dc=ve
sambaGroupType: 5
cn: redes
objectClass: posixGroup
objectClass: sambaGroupMapping
sambaSID: S-1-5-21-2102913520-367280055-1561271698-25000
gidNumber: 25000
memberUid: vgainza
memberUid: hfernandez
memberUid: vcastillo
memberUid: jesuslara

Para Samba, el atributo sambaSID representa la concatenación entre el gidNumber (identificador posix) y el SID del Dominio, para ello se agrega el objectClass sambaGroupMapping, el tipo de grupo (sambaGroupType) es 5; para todos aquellos grupos que contienen cuentas de personas.

Agregando atributos para correo a los grupos

Suelo usar el objectClass qmailGroup (del qmail.schema) para darle este tipo de atributos los grupos; como postfix utiliza tablas que pueden ser construidas con los atributos que queramos, esta me parece la más útil que he encontrado (y a diferencia de otros que he encontrado, este OID está aceptado por la IANA).

Para usar qmailGroup, primero debemos agregar a openLDAP el schema qmail.schema, que podemos encontrar acá:

http://www.zytrax.com/books/ldap/ape/qmail.html

Luego de agregarlo en el /etc/ldap/slapd.conf en la zona de inclusión de schemas:

include /etc/ldap/schema/qmail.schema

Buscamos la defición de índices en openLDAP y agregamos los siguientes:

index mail pres,eq,sub,subinitial
index mailAlternateAddress, mailForwardingAddress eq,sub

Para mail, podemos hacer búsquedas de tipo igualdad, presencial, por substring (ej. *prueba*@*) o de tipo subinitial (jesus*), también agregamos los mailAlternateAddress (para direcciones Alias) y mailForwardingAddress (para Forwarding o re-envio de correo).

Indizamos y reiniciamos nuestro openLDAP:

slapindex -f /etc/ldap/slapd.conf #recuerde retornar al usuario openldap la raiz de la DB de openldap (/var/lib/ldap)
/etc/init.d/slapd restart

Ya podemos hacer uso de qmailGroup con los posixGroups.

Grupos con qmailGroup

Al agregarle el atributo qmailGroup a un grupo, este podrá tener los siguientes atributos adicionales:

dn: cn=redes,ou=Redes,ou=Coordinacion de Tecnologia de la Informacion,ou=unidades,dc=vive,dc=gob,dc=ve
cn: redes
objectClass: qmailGroup
mail: redes@vive.gob.ve
mailAlternateAddress: soporteredes@vive.gob.ve
mailAlternateAddress: migracion@vive.gob.ve
mailMessageStore: /bin/false

El grupo redes, tendrá una dirección que será igual a redes@vive.gob.ve; pero adicionalmente un par de “alias”, que serán soporteredes@vive.gob.ve y migracion@vive.gob.ve; mailMessageStore lo usa qmail para determinar donde quedará el mailbox, pero como uso postfix y eso es definido en otro lado, ese atributo realmente no es utilizado.

Creando la tabla de distribución en postfix

Para que postfix pueda entender la dirección como un grupo, esta debe ser un virtual_alias y postfix debe endender esto; para ello debemos hacer los siguientes cambios en el /etc/postfix/main.cf:

Nota: para que postfix entienda grupos y aliases, deben comentar o eliminar la siguiente línea:

receive_override_options = no_address_mappings

Luego, en el virtual_alias_maps agregamos:

virtual_alias_maps = ldap:/etc/postfix/ldap/virtual_groups.cf, ldap:/etc/postfix/ldap/virtual_aliases.cf

Con este par de cambios, postfix mirará en las tablas virtual_groups y virtual_aliases para obtener los grupos a donde enviará correo.

Ahora, es hora de crear esas tablas.

Postfix LDAP tables

La tabla (además de los atributos comunes dedicado a la conexión, búsqueda y bind) queda de la siguiente manera:

/etc/postfix/ldap/virtual_groups.cf

scope = sub
search_base = dc=vive,dc=gob,dc=ve
query_filter = (&(objectClass=qmailGroup)(objectClass=posixGroup)(|(mail=%s)(mailAlternateAddress=%s)))
result_attribute = memberUid
result_format = %u@%d

La tabla busca toda entrada que sea objectClass posixGroup y además qmailGroup, que la dirección esté en mail o en mailAlternateAddress (lo que permite los aliases).

La tabla retorna el valor memberUid (miembro del grupo), pero como la necesitamos en la forma de una dirección de correo, el formato del resultado es igual a el atributo de resultado concatenado con ‘@’ y seguido del dominio desde donde se hizo la llamada (esto permite obviamente el uso de esta tabla en configuraciones multi-dominio).

Para permitir grupos de forwarding (re-direcciones) la tabla queda más o menos de la siguiente forma:

query_filter = (&(objectClass=qmailUser)(objectClass=account)(|(mail=%s)(mailAlternateAddress=%s)))
result_attribute = mailForwardingAddress

Esta tabla busca una cuenta genérica account + qmailUser y retorna mailForwardingaddress, para hacer las redirecciones.

Una entrada LDAP básica para un forwarding sería:

dn: uid=cursoldap,ou=alias,ou=correo,ou=servicios,dc=vive,dc=gob,dc=ve
objectClass: account
objectClass: qmailUser
mail: cursoldap@vive.gob.ve
uid: cursoldap
mailForwardingAddress: redes@vive.gob.ve
mailForwardingAddress: jesuslarag@gmail.com
mailForwardingAddress: fernandezharold@gmail.com

En esta entrada (un tipo de grupo más complejo que posixGroup), podemos hacer forwarding distribuido, un correo enviado a cursoldap@vive.gob.ve será redirigido a redes@vive.gob.ve (un grupo posix) a jesuslarag@gmail.com (mi correo gmail) y a fernandezharold@gmail.com (el correo de Harold en gmail, claro, es ficticio ;) ); incluso podríamos enviarlo a un comando (ejemplo, mailman o un SMS script en python de un artículo anterior); pero los envios de correos electrónicos a comandos de Linux, serán para otro artículo. ;)

Pues bien, cuando ambas tablas estén listas; debemos primero, probarlas con postmap.

Probando tablas con postmap

postmap es un comando que permite “explorar” las tablas hash, mysql o ldap de postfix y verificar que el mapping (mapeo) se está haciendo correctamente; su sintaxis es:

postmap -q [direccion a consultar] [postfix lookup map: mysql,ldap,hash]:[ruta al archivo .cf de la tabla]

Un ejemplo, ejecutar:

postmap -q redes@vive.gob.ve ldap:/etc/postfix/ldap/virtual_groups.cf

Nos trae como resultado:

vgainza@vive.gob.ve,hfernandez@vive.gob.ve,vcastillo@vive.gob.ve,jesuslara@vive.gob.ve

Con lo que verificamos que la tabla funciona y por ende podemos reiniciar el postfix.

ejecutamos:

postfix reload

ó

/etc/init.d/postfix reload

Para actualizar los cambios en el postfix.

Ya tenemos la posibilidad de al enviarle un correo a un grupo, este sea re-direccionado a sus miembros y si enviamos a una dirección de forward; sea redireccionado a la(s) persona(s) agregada(s) a la lista de re-dirección.

Notas:

Podrías crear una tabla postfix que no requiera qmailGroup; es decir, buscar todos los posixGroups y en vez de mail=%s usan cn=%u, claro, esto convertiría a TODOS los posixGroups en listas de distribución de correo y en mi caso institucional, no deseamos eso (hay que tener el control de los grupos que reciben correo y cuales no).

En vista de que mi transporte es postfix (salvo virtual_transport=dovecot gracias a deliver), no necesito nexthop para hacer que la lista de forwarding funcione (una dirección @gmail.com es asumida que no forma parte del transporte virtual, así que es no es entregada a deliver sino que es postfix quien intenta resolver su entrega); esto se logra gracias a que:

virtual_alias_domains =

está vacio (permitiendo alias hacia cualquier dominio) y seteando obviamente a:

virtual_mailbox_domains = ldap:/etc/postfix/ldap/virtual_domains.cf

Que si son los dominios “internos” los cuales tienen mailbox (buzón) en mi servidor.

Publicación original de Phenobarbital.

Categorías

Enlaces

Estadísticas


eXTReMe Tracker