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

15/7/09

Configurar webcam Genius

Seguimos con las sorpresas de dispositivos que funcionan y esta vez me quedo atonito con la webcam genius modelo (creo) 317, que es igual a la que vemos en imagen...


Los pasos que seguí los pueden encontrar aquí y son los mismos que voy a escribir a continuación ya que no vale la pena modificarlo con las salidas de los comando que yo obtuve.
  1. Enchufar la webcam y ver el reporte del kernel con dmesg
    # dmesg
    [176596.173752] usb 1-2.3: new full speed USB device using ohci_hcd and address 4
    [176596.285850] usb 1-2.3: configuration #1 chosen from 1 choice
    [176596.290990] usb 1-2.3: New USB device found, idVendor=093a, idProduct=2468
    [176596.291005] usb 1-2.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
    [176596.291009] usb 1-2.3: Product: CIF Single Chip
    [176596.291013] usb 1-2.3: Manufacturer: Pixart Imaging Inc.
  2. Googleando un poco, encontramos que es necesario un modulo del kernel llamado "gspca".
  3. En Debian estos módulos estan en un paquete separado:
    # apt-get install gspca-modules-2.6.26-2-686 (ojo con la version de kernel)
  4. Volver a enchufar la camara y verificar:
    # dmesg
    [184106.538017] usb 1-1.3: new full speed USB device using ohci_hcd and address 9
    [184106.652139] usb 1-1.3: configuration #1 chosen from 1 choice
    [184106.662246] usb 1-1.3: New USB device found, idVendor=093a, idProduct=2468
    [184106.662260] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
    [184106.662265] usb 1-1.3: Product: CIF Single Chip
    [184106.662268] usb 1-1.3: Manufacturer: Pixart Imaging Inc.
    [184106.821663] Linux video capture interface: v2.00
    [184106.836127] gspca: USB GSPCA camera found. (PAC207)
    [184106.836143] gspca: [spca5xx_probe:4275] Camera type GBRG
    [184106.846958] gspca: [spca5xx_getcapability:1249] maxw 352 maxh 288 minw 160 minh 120
    [184106.847101] usbcore: registered new interface driver gspca
    [184106.847109] gspca: gspca driver 01.00.20 registered
    [184106.954208] gspca: [spca5xx_set_light_freq:1932] Sensor currently not support light frequency banding filters.
    [184106.954238] gspca: [gspca_set_isoc_ep:945] ISO EndPoint found 0x85
    AlternateSet 8
    Ahora vemos que se reconoce como una camara. Podemos ver los modulos
    adicionales:
    # lsmod | egrep "gspca|video"
    gspca 639568 0
    videodev 27520 1 gspca
    v4l1_compat 12260 1 videodev
    usbcore 118224 4 gspca,usb_storage,ohci_hcd
    Es decir, esto se instala como un dispositivo V4L (video for Linux)
    # ls -ls /dev/video0 0 crw-rw---- 1 root video 81, 0 jul 3 17:51 /dev/video0
  5. Probarlo en amsn! (Cuenta -> Preferencias -> Pestaña “Otras” -> Configuración de audio y video.)
Si bien no uso webcam, esta bueno saber que estos bichos raros ya tienen soporte. Bye!

14/7/09

El "man" de windows =P

Seguimos en onda windows... Jamas se me hubiese pasado por la cabeza que tenían algún tipo de documentación y medianamente ordenada, ahora les paso el "tip", ejecuten en una terminal o en ejecutar del menu inicio lo siguiente:
hh.exe ms-its:C:\WINDOWS\Help\ntcmds.chm::/ntcmds.htm
Esto esta bueno cuando necesitan hacer algún .bat ya que tiene la mayoría de los comandos que podemos necesitar, y si disponen de una conexion a internet pueden consultar (no solo de win2 y su powershell, sino también de linux) aqui

Usar toda la cache del micro en windows xp

El otro dia leia en una web que windows no viene habilitado para usar la totalidad de la cache del micro (no se si es cierto, pero el registro lo confirmaba). Asi que vamos a ver como lo hacemos:
  1. Abrimos el editor del registro de Windows (Inicio - ejecutar y escribir regedit)

  2. Navegaremos por el editor siguiendo la siguiente ruta:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Memory Management
  3. En la parte derecha de la ventana buscaremos la clave
    SecondLevelDataCache
    y "le damos" doble click

  4. introducir la capacidad de la cache del micro (en mi caso 512 en decimal)
Eso es todo. Alguien sabe si esto es correcto? O sea voy a comprar un micro para que no se usen todas sus capacidades???

12/7/09

Ksplice, se acabó el reiniciar

Ahh! Domingo por la noche, tendría que estar estudiando para los examenes finales pero ando con fiaca... y que otra cosa mejor que actualizar un poco el blog!

En general, las actualizaciones de la mayoría de sistemas operativos, incluso aquellas que son menores, requieren reiniciar la máquina en la que las estamos instalando. Esto puede no ser un problema en ordenadores de escritorio, pero sí en servidores que requieran un uptime lo más elevado posible.

Ksplice
dispone de una tecnología con la que es posible realizar actualizaciones de distintas partes del sistema, desde el núcleo hasta aplicaciones independientes, sin necesidad de reiniciar, aplicando parches en memoria. Lo mejor es que no requiere soporte previo del sistema operativo.

9/7/09

Cambiando el nombre a particiones en GNU/Linux

Es cierto que los mas distraídos y con menos memoria no podemos recordar en que partición tenemos cada cosa, en mi caso tengo un disco con 6 particiones de las cuales una es la swap... El tip que vamos a ver hoy es muy útil en estos casos
  1. Particiones ext2/ext3:
    # e2label /dev/sdxx nombre
  2. Particiones ReiserFS:
    # reiserfstune -l nombre /dev/sdxx
  3. Particiones NTFS:
    • Acá tenemos que instalar paqueteria:
      # apt-get install ntfsprogs
    • Ahora, podemos cambiar el nombre:
    # ntfslabel /dev/sdxx nombre

  4. Particiones FATS:
    • Nuevamente tenemos que instalar algo:
      # apt-get install mtools
    • Ya podemos cambiar el nombre:
    # mlabel -i /dev/sdxx:nombre
Lo que les queda hacer a ustedes es cambiar las 'x' por lo que corresponda. Recuerden: los cambios a etiquetas se hacen efectivos al reiniciar…
Eso es todo despistados!
PD: fuente

8/7/09

Acelerar las descargas desde consola

Cuando descargamos archivos desde Internet por FTP o HTTP, disponemos de herramientas para realizar este tipo de trabajos, pero estas solamente realizan una conexión hacia al servidor para realizar la descarga.

Para poder descargar mas rápidamente, tenemos la herramienta axel, lo que hace es realizar múltiples conexiones hacia los servicios FTP o HTTP permitiendo descargar el fichero en parte y luego uniendo, con esto nos permite acelerar las descargas.

Para instalar basta con un:
# apt-get install axel
Veamos algunos ejemplos de su uso:
  1. Descargando el kernel de linux con axel
    $ axel http://www.kernel.org/pub/linux/kernel/v2.6/patch-2.6.30.bz2
  2. Descargando fichero, especificando la velocidad de descarga en bytes por segundos. En esta descarga la realiza en 1 KB por segundo.
    $ axel -s 1024 http://www.kernel.org/pub/linux/kernel/v2.6/patch-2.6.30.bz2
  3. Descargado fichero especificando el numero de conexiones a 5 y la velocidad de descarga a 30kb
    $ axel -n 5 -s 30720 http://www.kernel.org/pub/linux/kernel/v2.6/patch-2.6.30.bz2
Como pueden ver las descarga es mas rápida. Se ven al rato che!

6/7/09

Cuanto software no libre tenemos instalado en nuestro debian

En ciertas ocasiones, esta bueno saber que paquetes instalados tenemos que no son libres, para esto solo basta con instalar el paquete vrms:
# apt-get install vrms
Luego ejecutan el vrms en consola, en mi caso estoy bastante "ilegal":
gcc-4.3-doc documentation for the GNU compilers (gcc, gobjc, g++)
gcc-doc-base several GNU manual pages
gdb-doc The GNU Debugger Documentation
glibc-doc-reference GNU C Library: Documentation
p7zip-rar non-free rar module for p7zip
rar Archiver for .rar files
sun-java6-bin Sun Java(TM) Runtime Environment (JRE) 6 (architecture
sun-java6-fonts Lucida TrueType fonts (from the Sun JRE)
sun-java6-jre Sun Java(TM) Runtime Environment (JRE) 6 (architecture
unrar Unarchiver for .rar files (non-free version)
Reason: Modifications problematic

Contrib packages installed on debian

gcc-doc documentation for the GNU compilers (gcc, gobjc, g++)
msttcorefonts transitional dummy package
ttf-mscorefonts-installer Installer for Microsoft TrueType core fonts

10 non-free packages, 1.2% of 861 installed packages.
3 contrib packages, 0.3% of 861 installed packages.

4/7/09

Video: montando un centro de computo

Bueno para finalizar el día, les dejo un video muy bueno, para los que no tuvieron la experiencia aun


Instalar las fuentes de Windows

Via bulma me entero de que se pueden instalar las fuentes ttf de MS, esto suele ser util cuando tenemos algunos documentos de openoffice que vienen con las fuentes de MS (si bien las reemplaza por sus equivalentes) o cuando deseamos ver alguna web con las mismas fuente que se ven en winchot...

Para instalarlas:
apt-get install msttcorefonts ttf-mscorefonts-installer
El programa te preguntará si ya la has bajado desde Windows Update y te pide el nombre del directorio. Pero si lo dejas en blanco, lo baja él mismo desde Windows Update.

Una vez bajadas ya puedes cambiar las fuentes del escritorio, programas. Usando las fuentes Arial, Courier New, Times New Roman y Verdana, se logra que las páginas web se vean prácticamente idénticas a IE.

Asegurar que dichas fuentes están en path del X (/etc/X11/xorg.conf):
FontPath "/usr/X11R6/lib/X11/fonts/TrueType/"
Recomiendo hacer un:
# fc-cache -f -v
y lesto!!!

3/7/09

Instalar la documentacion de debian

En los repositorios de debian esta el paquete dwww que tiene toda la información de ayuda en linea de debian para leerla en nuestro computador sin necesidad de internet, lo que hace el paquete dwww instala un servidor http local (daemon) para eso:
# apt-get install dwww
para iniciar el daemon ejecutan dwww en consola o con su lanzador de aplicación y el demonio se iniciara y seguira hasta que lo detengan, una vez iniciado pueden usar la documentación en su navegador en la dirección:
http://127.0.0.1/dwww/

1/7/09

4 Gb de RAM en SO de 32 bits

Hay casos (no es el mio, ya que no dispongo de 4Gb de RAM) que los sistemas operativos de 32 bits, no logran "ver" la totalidad de memoria que disponemos en nuestro hardware. La mayoria de los sistemas operativos convencionales solo soportan hasta 3 Gb de RAM, con lo que nos quedarian gigabytes sin usar…

Una posible solución es cambiarse a un sistema operativo de 64 bits, pero sabemos que hay que conseguir programas, librerías, drivers y demas con soporte para esta plataforma…

Pero no se pongan tristes, podemos mantener nuestro SO de 32 Bits y hacer que "vea" los 4GB de memoria RAM!

Algunos datos interesantes:
El tema es que para hacer uso de esta funcionalidad, es necesario que el kernel de nuestro sistema operativo sepa cómo hacerlo. En Windows esto se llama AWE y por supuesto Linux tiene el correspondiente soporte si se lo compila con el flag adecuado.
En linux, PAE (Physical Address Extensio) es incluido en las versiones del kernel 2.6.XX
La extensión de dirección física es una característica de los procesadores x86 que nos permitirá utilizar 64 gigas de memoria sin muchos problemas.

Los pasos a seguir son sencillos pero obviamente varían según la distribución:
  • Ubuntu y Mandriva hay que instalar el kernel versión servidor, luego reiniciar y arrancar con él:
  • $ sudo apt-get install linux-headers-server linux-image-server linux-server
  • Debian
  • Buscar e instalar el kernel que presente en el nombre la palabra -bigmem
  • ArchLinux, Gentoo y Slackware:
    Compilar el kernel y activar la función HIGHMEM64G en la configuración del mismo
  • Fedora:
    yum install kernel-PAE
  • OpenSUSE:
    Si el procesador soporta se instala por defecto (versión 11.0 en adelante)
  • Windows:
    Editar el archivo C:\boot.ini, para eso hay que cambiar las propiedades del mismo, sacando los atributos de solo lectura y oculto, agregamos a las líneas originales el prefijo:
    [boot loader]
    timeout=0
    default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
    [operating systems]
    multi(0)disk(0)rdisk(0)partition(1)\WINNT=”Microsoft Windows XP”
    /fastdetect /PAE
    Si usamos el comando Bootcfg en consola hacemos:
    bootcfg /raw "/pae" /A /ID 1
    Aclaracion: el sistema termina siendo muy inestable, es posible encontramos con que podremos tener una mayor frecuencia de pantallas azules por errores y conflictos con nuestros drivers (es una cuestión del mapeado de memoria) y, SOLO soporta hasta 4 gigas de RAM.
    Lista de programas de Microsoft y su soporte de memoria con PAE activos:
    Sistema operativo: Máximo de memoria soportado con PAE
    Windows 2000 Advanced Server: 8 GB RAM
    Windows 2000 Datacenter Server: 32 GB RAM
    Windows XP (todas las versiones): 4 GB RAM
    Windows Server 2003 (and SP1), Standard Edition: 4 GB RAM
    Windows Server 2003, Enterprise Edition: 32 GB RAM
    Windows Server 2003, Datacenter Edition: 64 GB RAM
    Windows Server 2003 SP1, Enterprise Edition: 64 GB RAM
    Windows Server 2003 SP1, Datacenter Edition: 128 GB RAM

28/6/09

Uso de ethtool para cambiar parametros de red

Muchas veces nos es útil cambiar los parámetros por defecto que se configuran en la placa de red y obtener algo de información de ella, hoy vamos a ver el uso básico de la herramienta ethtool...

En primer lugar vamos a averiguar las características de la tarjeta que tenemos:
  • $ lspci | grep Eth
00:12.0 Ethernet controller: VIA Technologies, Inc. VT6102 [Rhine-II] (rev 78)
El sistema además la reconoce e identifica como eth0 (podemos verlo con ifconfig), para ver qué módulo del kernel la está manejando ejecutamos:
  • ethtool -i eth0
driver: via-rhine
version: 1.4.3
firmware-version:
bus-info: 0000:00:12.0
Para ver la configuración actual de esa tarjeta basta con hacer:
  • ethtool eth0
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbg
Wake-on: d
Current message level: 0x00000001 (1)
Link detected: yes
E incluso podríamos ver la información de la EEPROM de la tarjeta de red (en algunos casos) con:
  • ethtool -e eth0
Algo muy util suele ser bajar la velocidad de la placa de red:
ethtool –change eth0 speed 10 autoneg off
Para hacerlo de forma permanente deberías incluirlo en el fichero /etc/network/interfaces de la siguiente manera:
post-up ethtool –change eth0 speed 10 autoneg off
poniendo esta línea justo detrás de la que defina eth0...

Para configurar una interfaz ethernet a full-duplex, hacemos lo siguiente:
# ethtool -s eth0 autoneg off duplex full
Bueno es todo por hoy, si a alguien se le ocurre algo mas para agregar a la entrada comente que lo actualizo!

25/6/09

Introduccion a los logs de Linux

Algunas entradas de este blog he mencionado la posibilidad de analizar los log del sistema operativo para tener un indicio de lo que puede estar fallando, asi que como no trate el tema vamos a ver una breve introducción a ellos....

Los más importantes son:
/var/log/kern.log: Mensajes del núcleo
/var/log/syslog: Registro de mensajes relativos a la seguridad del sistema
/var/log/dmesg log con mensajes del sistema
/var/log/debug: Información de depuración de los programas
/var/log/messages: Información general que nos proporciona el sistema
/var/log/user.log: Información de usuario
/var/log/fsck/ log de los chequeos de disco
/var/log/auth.log: Conexiones al sistema (incluidos los intentos fallidos)
/var/log/Xorg.0.log: Información sobre el entorno gráfico
/var/log/debian-instaler: log de la instalación de Debian
/var/log/apt/term.log log de APT
Si tenemos instalado algún servidor:
/var/log/samba/ log de SAMBA
/var/log/cups/ logs del servidor de impresion
/var/log/mail.log logs del sistema de correo (por ejemplo postfix)
Para mantener seguro nuestro pc, debemos conocer muy bien los logs del sistema, saber interpretarlos e incluso protegerlos.

Para ver logs, podemos usar cualquier procesador de textos o incluso comandos como cat, less, more o zcat (si es que estan con algun tipo de compresion). Ésto puede convertirse en problema ya que si no hemos cambiado los permisos por defecto a estos archivos, cualquier usuario que se conecte a nuestra máquina tendrá acceso a ellos y por lo tanto conseguirá información sensible del sistema.

¿De que manera un usuario puede aprovechar los logs para realizar un ataque?
Por ejemplo, el archivo /var/log/auth.log contiene los usuarios que han accedido al sistema y las conexiones fallidas, por lo tanto, si un usuario se equivoca y en vez de introducir el usuario para la conexión, introduce la contraseña por ejemplo "password" esto queda almacenado en el archivo como que el usuario "password" no pudo iniciar sesión. El usuario (por ejemplo "fulanito") al no poder acceder al sistema volverá a intentarlo, esta vez con éxito, y ahora la siguiente línea del archivo mostrará que el usuario "Fulanito" inició sesión con éxito.
Con éste descuido del usuario y con la falta de protección ofrecida por el administrador, nos hemos hecho con la cuenta de "Fulanito" con pass "password", con la que podremos lanzar ataques al sistema sin dejar rastro de nuestra presencia.

23/6/09

Mouse serie en linux

Recuerdo que hace algún tiempo un chico de la facu tenia problemas para configurar un mouse serie en X, he aquí la solución...

Van a ver que tienen las siguientes lineas en el xorg.conf:
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ImPS/2"
Option "Emulate3Buttons" "true"
EndSection
En la opción "Device" debemos cambiar "/dev/input/mice" por "/dev/ttyS0" (o ttyS1, o ttyS2, dependiendo del com que este usando su mouse). Luego en la opción "Protocol" "ImPS/2", debemos cambiar "ImPS/2" por "Microsoft" =-.(

La configuración de esta sección quedaría así:
Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/ttyS0"
Option "Protocol" "Microsoft"
Option "Emulate3Buttons" "true"
EndSection
Con esto estamos!

Usando Firefox / Iceweasel con perfiles

Muchas veces es util tener dos "configuraciones" de Firefox, para iniciar los dichosos perfiles debemos hacer:
$ firefox -P [nombre_perfil]
si estamos en linux, pero si estamos en win2 seria:
firefox.exe -P
Por supuesto, el nombre del perfil es opcional.

Si no lo ponemos, nos abrirá el asistente de creación y selección de perfiles.

Podemos tener un perfil básico, sin extensiones (o sólo las imprescindibles), otro con montones de extensiones destinadas al desarrollo web, otro con diccionarios, traductores.... Las posibilidaes son casi infinitas!!!

Si queremos trabajar con varios perfiles a la vez, hay que indicar la opción -no-remote, así:
$ firefox -no-remote -P nombre_perfil
Para mas informacion visiten esta web...

12/6/09

Papelera para la consola

Sip! lamentablemente, por error, elimine un archivo que no quería en la consola (por suerte ya lo recupere, luego cuento como lo hice) así que buscando di con una solución bastante elegante (mejor que la de crear una alias de rm).

Para solucionar este tipo de problemas, debemos instalar el paquete libtrash:
# aptget install libtrash
Luego añadimos en nuestro .bashrc una nueva variable de entorno LD_PRELOAD ( carga en memoria la librería dinámica que le indiquemos) con la ruta a la librería:
echo "export LD_PRELOAD=/usr/lib/libtrash/libtrash.so.2.4" >> ~/.bashrc
Ahora debemos cerrar y abrir la consola de nuevo para grabar los cambios o ejecutar:
source ~/.bashrc
Entonces, cada vez que hagamos un:
rm algo.txt
El archivo algo.txt va a ir al directorio Trash de nuestro home, que es el que simula la papelera...

Esto lo podemos personalizar aun mas, haciendo que el directorio trash apunte a otro lugar, esto quedara como ejercicio para el lector atento, solo les digo que busque en el archivo de configuración ~/.libtrash

Esto es todo por hoy y quizá para el mes ya que es época de examen, se ven al rato che!

9/6/09

Instalar Firefox en debian junto con Iceweasel

Bueno, retomando el tema blog... Esta vez le toco el turno a iceweasel, la verdad es que estoy algo decepcionado con su rendimiento, asi que me decidi instalar FIrefox para ver si el rendimiento mejora un poco, en estos momentos estoy escribiendo desde el, asi que después les cuento que tal funciona... Para instalarlo es muy simple:
  1. Descargamos desde la pagina de mozilla el navegador
  2. Una vez descargado lo descomprimimos con nuestra herramienta predilecta
  3. Copiamos el contenido de lo que descomprimimos (por lo gral. un directorio llamado firefox) a la capeta /opt de la siguiente manera:
    sudo mv firefox /opt
  4. Actualizamos el menu de Desktop que estemos usando (Kde, Gnome, LXDE, etc), donde dice comando lo apuntamos a:
    /opt/firefox/firefox
OBS: en caso de que no les funcione la maquina virtual de java pueden hacer un enlace simbolico de la siguiente manera:
# ln -s /usr/lib/jvm/java-6-sun/jre/plugin/i386/ns7/libjavaplugin_oji.so
Espero no tengan estos problemas con iceweasel, pero por ahora es la unica solucion....

27/5/09

Login en SSH toma mucho tiempo

Bueno, el problema ahora es que al hacer un ssh remoto en servidor debian lenny toma mucho tiempo en pedir el password del usuario (quizá algunos 15 segundos de pausa o_O )

Aclaro que realice una instalación hace poco en otra maquina y el problema no estaba, asi que no tengo la mas pálida idea de lo que lo puede causar, pero googleando di con una solución que todavia no me convence mucho...

El tema es que debemos agregar la siguiente linea al archivo /etc/ssh/sshd_config en el servidor
UseDNS no
Aclaro, no se que problema de seguridad acarrea hacer esto, si lo saben comenten!

26/5/09

Cambiar el nombre de interface de red eth1 por eth0

Cuando nuestra Debian inicia con una tarjeta de red, guarda en "algún sitio" un registro que le permite asociar un nombre a cada uno de los dispositivos. La correspondencia se hace directamente entre MAC y nombre. A la primera mac que "ve" se le asigna el nombre eth0, a la segunda eth1 y así sucesivamente. Las asociaciones permanecen en el sistema aún cuando la tarjeta de red ya no está presente. Esto es muy práctico porque asi las posibles configuraciones de cada dispositivo estarían disponibles en el caso de volver a pinchar la tarjeta que hemos quitado. Pero hay escenarios en los que este comportamiento es molesto.

El funcionamiento de esta asociación mac-nombre es de "bajo nivel" y escapa al alcance del blog (por ahora)

Lo fundamental
Existe un fichero llamado
/etc/udev/rules.d/70-persistent-net.rules
en el que se almacenan estas asociaciones mac-nombre. Editándolo podremos cambiar los nombres asociados a los distintas interfaces.

Esto es útil cuando trabajamos con imágenes en linux, la receta es borrar este fichero antes de exportar la imagen. Así en el primer arranque de la imagen se escribirá en ese fichero la asociación de la mac actual con el nombre eth0.

25/5/09

UrbanTerror no descarga mapas porque no encuentra una librería de cURL

Si! por fin le toco el turno a un GAME! Via leprosys, leo este articulo para solucionar el error de que no puede descargar los mapas el UT cuando no disponemos de ellos...

Cuando se va descargar un mapa en el jugo UrbanTerror me manda el siguiente error:
"Cannot autodownload missing file(s), because the cURL library could not be loaded."
Después de googlear un poco vi algunas soluciones, una en Ubuntu decía que bastaba con instalar el paquete libcurl3, pero es una librería vieja que se encuentra en AUR por lo que no quería instalarlo, así que la solución es simple hacer un enlace simbólico a la librería existente libcurl.so.4:
ln -s /usr/lib/libcurl.so.4 /usr/lib/libcurl.so.3
Ahora ya pueden descargar los mapas.

23/5/09

Agregar los DVD de Debian al sources.list

Vamos a hacer uso de los DVD de Debian, ya que hay gente que todavía no dispone de una conexión a internet y por lo tato no podría instalar paquetes... Bueno, manos a la obra!

Lo primero que tenemos que hacer es descargar las iso de los 5 DVD de Debian (en realidad no es necesario descargar los 5 pues podrian necesitar solo algunos, en la casa de alguien que tenga banda chancha o comprarlos en elgun sitio de internet) y grabarlos haciendo uso de, por ejemplo k3b.

Luego para agregar los DVD, lo tenemos que hacer uno por uno, menos el primer DVD ya que cuando instalamos Debian, en el archivo /etc/apt/sources.list ya queda guardada la configuración de este DVD.

Para agregar los DVD's de Debian al Sources.list hacemos uso del comando apt-cdrom asi:
apt-cdrom add
Introducimos el DVD y le damos enter, luego hacemos lo mismo con los restantes DVD's que dispongamos.

Listo ya tenemos agregados los DVD de Debian y tenemos paquetes listos para instalarlos sin una conexión a internet!

Se ven al rato che!

22/5/09

Boton del medio en Firefox para Linux

Cuando hacemos click con el botón del medio del mouse en la version de Firefox para GNU/Linux su comportamiento es distinto a la versión de Windows. En Linux si uno hace click con este botón la accion por defecto es abrir el contenido del porta papeles en una nueva pestaña. En cuanto a Windows lo que sucede es que se activa la funcion de auto scroll para desplazarnos por la pagina, tan solo deslizando el puntero del mouse.

Veamos como cambiar este comportamiento en la configuracion que Firefox trae en Linux, para dejarlo con el mismo comportamiento que en Windows.

Primero debemos entrar en configuración avanzada de Firefox, escribiendo en la barra de direcciones:
about:config
En la barra de busqueda escribimos:
middlemouse.contentloadurl
y vamos a ver que nos aparecera debajo una única opción, cuyo valor es true; simplemente hacer doble click sobre la misma para que cambie su valor a false. Ya desactivamos el comportamiento no deseado.

Ahora queda activar el auto scroll, para ello simplemente debemos ir a Editar/Preferencias/Avanzadas/General y activar la opción de “usar desplazamiento automático“


Hecho!

12/5/09

Desinstalar kernel antiguo

Seguramente en estas ultimas semanas/meses, actualizaron el sistema o instalaron algún kernel mas actualizado y en el menú del grub se agragaron nuevas entradas para seleccionar con que kernel bootear...

Bueno nuestro objetivo aquí, va a ser limpiar un poco este pequeño desorden (claro esta, una vez probado que todo funciona con el kenel nuevo)

Lo primero que vamos hacer es tipear en nuestra terminal favorita =P
sudo dpkg --get-selections | grep linux-image
Que nos dara un resultado similar a:
linux-image-2.6-686 install
linux-image-2.6.26-1-686 install
linux-image-2.6.26-2-686 install
Una visto que kernel vamos a eliminar, nustro segundo paso seria hacer por ejemplo
sudo apt-get remove --purge linux-image-2.6.26-1-686
o el kernel viejo que quieran eliminar....

Una segunda forma de hacer todo lo anterior es:
# aptitude search linux-image | grep ^i
Que nos da el mismo resultado, pero un poco mas detallado:
i linux-image-2.6-686 - imagen de Linux 2.6 para PPro/Celeron/PII/
i A linux-image-2.6.26-1-686 - Linux 2.6.26 image on PPro/Celeron/PII/PII
i A linux-image-2.6.26-2-686 - Linux 2.6.26 image on PPro/Celeron/PII/PII
Si queremos eliminar ademas los headers del kernel viejo, hacemos una busqueda, aunque se cae de maduro como viene la mano!
aptitude search 2.6.26 | grep ^i
esto nos da otra lista con los headers instalados, seleccionamos el de nuestra preferencia para eliminar:
aptitude purge linux-headers-2.6.26-1
y... guala!

Solucion para IE 7 y pagina de inicio

Bueno, últimamente ando corto de tiempo y últimamente vengo con los artículos pedorros, asi que para no perder la costumbre seguimos con onda pedorra!

Lamentablemente me toco reinstalar una PC para una persona y le ofrecí (como simpre lo hago) las alternativas del SL, porsupuesto no quiso saber nada... Asi que me tube que poner a instalar un IE7 =-.(...

El problema empeso cuando termine la instalacion del navegador de MS y siempre me dirigia a la pagina de inicio:
http://go.microsoft.com/fwlink/?LinkId=74005
por mas que, por ejemplo, este dirigida a google! Para solucionarlo tuve que editar el registro, siguiendo los pasos que pongo aqui:
  1. Ir a inicio
  2. ejecutar
  3. regedit
  4. Busca la siguiente clave del registro: HKCU\Software\Microsoft\Internet Explorer\Main
  5. Una vez que estás en “Main” creas una nueva clave pulsando con el botón derecho (de tipo DWORD)
  6. La llamas RunOnceHasShown, la abres y le asignas el valor 1
  7. Haces la misma operación creando otra clave (de tipo DWORD) y la llamas RunOnceComplete y le asignas también el valor 1
Hecho!

8/5/09

Error en Iceweasel

Hoy por casualidad ejecute iceweasel desde la consola y ohh! sorpresa que cuando lo cierro, en la consola apareció el siguiente error:
(firefox-bin:5092): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed
Si bien no es nada grave, la astilla ya estaba en mi mente y quizá hoy por la noche no me dejará dormir! Así que Googleando un poco encontré la solución, solo hay que ejecutar el siguiente comando:
gtk-update-icon-cache -f /usr/share/icons/hicolor/
Bueno la sigo remando con este tipo de post, no se pieran el próximo numero =-.P

7/5/09

Solucion al error de virtualbox al actualizar el kernel

Sip, hoy me decidí a actualizar el kernel, y cuando reinicio y quiero ejecutar vrtuabox, adivinen, siiii! ERROR...
Bueh, el primer intento de novato (lo de novato es para mi, que nadie se ofenta!) es hacer un:
/etc/init.d/vboxdrv setup
por supuesto que hacer esto no lo hace funcionar, dando el siguiente eror:
Stopping VirtualBox kernel module:done..
Recompiling VirtualBox kernel module:
Look at /var/log/vbox-install.log to find out what went wrong failed!
Acá, en realidad lo que nos esta diciendo, es que no tenemos instalados los fuentes de los headers del kernel nuevo que se actualizo. La solución viene de la mano de un simple comando:
# apt-get install linux-headers-`uname -r`
Hecho! ahora disponemos nuevamente de nuestro amado virtualbox....

4/5/09

Seguridad básica de un equipo con Linux

Bueno retomando el tema blog en mi vida, les traigo una nueva semi-entrada....

En esta ocasión el tema es seguridad (por supuesto algo muy basico, como para entrar en calor). Aquí el enlace a este interesante articulo denominado “ChecklistLinux” donde se enumeran una serie de pasos para mejorar la seguridad de nuestro equipo con Linux.

En el trabajo se utiliza Debian GNU/Linux como distribución para mostrar los ejemplos, pero se pueden adaptar a la distribución favorita de ustedes.

26/4/09

Reinstalar Debian con los paquetes elegidos anteriormente

Muchas veces, después que tenemos ya montado todo nuestro sistema, con todos los paquetes necesarios, se nos ocurre reinstalar de nuevo y por lo general, se nos olvidan paquetes que necesitamos y que teníamos instalado antes.
Pues existe una forma muy facil de recordar estos paquetes:

Con esta simple linea exportamos los paquetes:
dpkg –get-selections “*” > /home/user/Desktop/paquetes.txt
Luego de reinstalar ejecutamos esto:
dpkg –set-selections “*” < /home/user/Desktop/paquetes.txt
Y luego ejecutamos:
apt-get -u dselect-upgrade
Y listo, todo como antes =-.)

25/4/09

Instalar Linux en la misma partición de Windows

Muchos usuarios no se animan a particionar su disco duro para poder instalar otro sistema operativo diferente al que tienen. Pero siempre han existido opciones menos traumáticas para poder instalarse Linux en la PC sin necesidad de entrar en detalles de particiones lógicas y primarias o qué particionador usar, para que al final todos los datos se pierdan. Hay varios proyectos que permiten instalar Linux en la misma partición de Windows (ya sea fat32 o ntfs), de los más conocidos son:
  1. Wubi: es quizá de los más conocidos proyectos destinados a compartir la misma partición para Windows y Linux, sin embargo a muchos a desencantado. Wubi es un instalador no-oficial de Ubuntu que instala Linux como si se tratase de una aplicación .exe más.
  2. Goodbye-Microsoft: otro basado en Debian y sólo requiere la ejecución de un programa .exe y posteriormente se encargará de descargar una imagen de Debian para instalar el sistema básico de este sistema operativo.
  3. Topologilinux: Topologilinux es una distribución Linux diseñada para correr en cualquier computadora con DOS/Windows instalado sin necesidad de particionar el disco duro, y además pueda correrse desde el mismo Windows. Topologilinux no necesita particionar el disco duro.
    Se ejecuta en la partición de Windows activa en un directorio llamado /tlinux6. Funciona en particiones NTFS y FAT. Desde la versión 5 se puede ejecutar dentro de Windows a traves de coLinux, y desde la versión 6 se puede instalar en modo real sin necesidad de crear una imagen que se monte en el disco duro, se puede instalar cualquier distro, ya sea Slackware, Red Hat, Fedora, Suse o la que quieras. Es posible también instalar programas de Windows en Topologilinux a través del emulador Wine.
  4. InstLux es un proyecto similar a todos, al igual que el resto toca descargar un archivo ejecutable, y bajar el Linux que deseemos intalar; está traducido a 20 idiomas y soporta openSuse, Ubuntu, etc.
  5. CoLinux: este sistema difiere del resto, ya que no instala imágenes como los anteriores métodos, sino que utiliza un kernel de linux que corre junto a Windows. Cooperative Linux (coLinux) es el primer método libre para correr Linux en Windows nativamente; coLinux es un port del kernel de Linux que le permite correr cooperativamente junto a otro sistema operativo en la misma máquina. Por ejemplo, permite correr Linux en una PC con Windows 200/XP sin usar software de virtualización comercial como VMWare.
Y si bien es algo dostinto pueden jugar con la "alternativa a wine" para windows, el enlace, AQUI!

24/4/09

Mantener acentos y eñes al montar FAT, NTFS, SMBFS y al compartir directorios con Samba

En el pasado a menudo he tenido problemas con los acentos y las eñes al montar particiones FAT o NTFS o al montar o compartir directorios usando Samba. Esto ocurre porque GNU/Linux usa distintos juegos de caracteres que Windows y DOS.
En esta entrada vamos a tratar de aclarar todos los aspectos que pueden impedirnos disfrutar de nuestra apreciadas eñes cuando nos enfrentamos con ficheros cuyo origen o destino sea un sistema operativo de Microsoft.

Existe una multitud de juegos de caracteres. Podemos ver muchos de ellos en popular character encodings . Allí vemos el Windows-1252, el CP850, el ISO 8859-1 (Latin 1), el ISO 8859-15 (Latin 9) o el Unicode (con su sistema de codificación de longitud variable más típico, el UTF-8) , que son los que más nos interesan para el asunto que nos ocupa. En el artí*** de la WikiPedia Western Latin character sets tenemos una tabla mostrándonos las diferencias entre estos juegos de caracteres.

Antes de poner manos a la obra, es conveniente que verifiquemos que el bash nos muestra correctamente acentos, eñes y si acaso, el símbolo del euro € (aunque por estos lares el € no lo usamos...) escribiendo en un terminal á é í ó ú Á É Í Ó Ú ñ Ñ €. Si no salen bien, puede ser por dos motivos principalmente:
  1. El bash no está correctamente configurado para mostrar acentos. Esto ocurría bastante hace unos años, y era necesario hacer todo tipo de ajustes. Sin embargo, en las distribuciones actuales normalmente no es necesario hacer nada.
  2. La fuente usada en el terminal que estamos usando (Consola de Linux, Putty, Konsole, GNOME Terminal, etc.) no lleva acentos o no están correctamente mapeados.
Lo primero que tenemos que tener en mente es que el juego de caracteres que vamos a usar en Linux es el que especificamos en la variable LANG. Yo normalmente la tengo en inglés (ya he comentado alguna vez que es muy útil tener los errores y mensajes en inglés para poder buscarlos) y con el juego de caracteres de alfabetos latinos con el símbolo del Euro, el ISO 8859-15. Podemos ver en el siguiente ejemplo que si especificáramos un LANG no apropiado para nuestro entorno, como C, no veríamos ninguno de los caracteres especiales:
$ echo $LANG
en_US.ISO-8859-15
$ ls 0áéíóúñ€
0áéíóúñ€
$ export LANG=C
$ ls 0áéíóúñ€
0???????
Por tanto, la clave de este juego es siempre traducir de o desde el juego de caracteres ISO 8859-15.

Si necesitáramos reconfigurar qué juegos de caracteres queremos tener disponibles en Linux, podemos usar el comando:
dpkg-reconfigure locales
que nos hará las siguientes preguntas:




NTFS
:
El NTFS tiene las siguientes opciones de mount en relación a los juegos de caracteres:

iocharset=name Character set to use when returning file names. Unlike VFAT, NTFS suppresses names that contain unconvertible characters. Deprecated.
nls=name New name for the option earlier called iocharset.
utf8 Use UTF-8 for converting file names.
uni_xlate=[0|1|2] For 0 (or `no’ or `false’), do not use escape sequences for unknown Unicode characters. For 1 (or `yes’ or `true’) or 2, use vfat-style 4-byte escape sequences starting with “:”. Here 2 give a little-endian encoding and 1 a byteswapped bigendian encoding.

Para que el driver traduzca el juego de caracteres a nuestro ISO 8859-15 pondremos:
mount -t ntfs -o nls=iso8859-15 /dev/XXX /mnt/puntodemontaje

NTFS-3G
:
El NTFS-3G tiene la siguiente opción para que le especifiquemos qué juego de caracteres usar:

locale= You can set locale with this option which is often required to make visible files with national charaters. It’s useful if locale environment variables are not set before partitions had been mounted from /etc/fstab.

Por tanto el NTFS-3G usará lo que tengamos en el locale a menos que le especifiquemos lo contrario. En la siguiente secuencia de comandos podemos ver que si la variable LANG no soporta nuestros caracteres, los ficheros con dichos caracteres directamente ni aparecerán (en el root del filesystem hay un fichero llamado 0áéíóúñÑ€.txt). Si forzamos un locale en el comando ntfs-3g, el fichero ya aparecerá, aunque el bash no nos lo mostrará bien (pondrá símbolos de interrogación) por culpa precisamente de la variable LANG:
# export LANG=C
# ntfs-3g /dev/XXX /mnt/test
# ll /mnt/test/0*
ls: /mnt/test/0*: No such file or directory
# umount /mnt/test/
# ntfs-3g /dev/XXX /mnt/test/ -o locale=en_US.iso8859-15
# ll /mnt/test/0*
-rwxrwxrwx 1 root root 0 Apr 3 23:33 /mnt/test/0????????.txt*
# umount /mnt/test/
# export LANG=en_US.iso8859-15
# ntfs-3g /dev/XXX /mnt/test/
# ll /mnt/test/0*
-rwxrwxrwx 1 root root 0 2009-04-03 20:33 /mnt/test/0áéíóúñÑ€.txt*

VFAT:
El FAT tiene las siguientes opciones de mount en relación a los juegos de caracteres:

codepage=value Sets the codepage for converting to shortname characters on FAT and VFAT filesystems. By default, codepage 437 is used.
iocharset=value Character set to use for converting between 8 bit characters and 16 bit Unicode characters. The default is iso8859-1. Long filenames are stored on disk in Unicode format.
uni_xlate Translate unhandled Unicode characters to special escaped sequences. This lets you backup and restore filenames that are created with any Unicode characters. Without this option, a ‘?’ is used when no translation is possible. The escape character is ‘:’ because it is otherwise illegal on the vfat filesystem. The escape sequence that gets used, where u is the unicode character, is: ‘:’, (u & 0×3f), ((u>>6) & 0×3f), (u>>12).
utf8 UTF8 is the filesystem safe 8-bit encoding of Unicode that is used by the console. It can be be enabled for the filesystem with this option. If `uni_xlate’ gets set, UTF8 gets disabled.

La forma adecuada de usar el mount en este caso sería:
mount -t vfat -o iocharset=iso8859-15,codepage=850 /dev/XXX /mnt/puntodemontaje
Es importante darse cuenta de que codepage es lo que se usa para traducir los nombres cortos (8+3) de MS-DOS que se siguen guardando junto con los largos en un sistema de ficheros FAT, y que el iocharset es lo que usamos para traducir los nombres largos.

Aunque los nombres cortos apenas los usamos hoy en día, podemos ver en Windows cómo se han guardado con la opción /X del comando dir:
3/04/2007 19:04 13 HOF3C6~1 hoááéñÑÁ
Hay que tener en cuenta que el CP850 no contiene el símbolo del Euro (€), y que es el CP858 el que sí lo contiene, pero el CP858 no lo soportan ni MS-DOS ni Linux (bueno, según How to Display the Euro in MS-DOS and Windows DOS el MS-DOS realmente sí, si le ponemos ficheros del YEAR 2000 FIX PAK FOR IBM PC DOS 7)


SAMBA
:
El servidor Samba nos permite compatir nuestros directorios usando el mismo sistema que Windows. Si queremos que los clientes Windows vean bien los caracteres especiales de nuestros ficheros, tenemos que especificar las siguientes opciones en la sección [global] del fichero /etc/samba/smb.conf:
dos charset = 850
unix charset = ISO8859-15
Y a continuación ejecutar un:
/etc/init.d/samba reload

Opciones del Kernel:

Para finalizar, es importante comentar que el kernel de Linux también tiene que estar compilado con opciones adecuadas para nuestro entorno de forma que si no especificamos opciones siempre se escojan las adecuadas para nuestro entorno. Muestro las opciones interesantes en capturas de sesiones de make menuconfig.

En File Systems→Native Languaje Support es importante elegir todos los juegos de caracteres que vamos a necesitar y, sobre todo, especificar que nos interesa que el iocharset por defecto sea siempre iso8859-15:


En File Systems→DOS/FAT/NT Filsesystems especificamos el codepage y el iocharset por defecto para particiones FAT:

En File Systems→Network File Systems especificamos el codepage por defecto para montar shares SMB:


Bueno es todo... Creditos y agradecimientos a http://www.vicente-navarro.com/