Cómo resolver nombre de máquinas Linux (Ubuntu) en una red local

En casa tengo una red local con varios PCs y algunas máquinas virtuales, principalmente con Windows y Linux. En el CPE tengo configurado DHCP para asignación de IPs. Pura comodidad.

Para poder conectarme de una máquina a otra conociendo sólo el hostname es necesario que haya una resolución del hostname. En mi caso, me encontré con el siguiente escenario:

  • Máquina Windows resuelve hostname de otra máquina Windows.
  • Máquina Windows no resuelve hostname de una máquina Linux.
  • Máquina Linux no resuelve hostname de una máquina Windows.
  • Máquina Linux no resuelve hostname de una máquina Linux.

Para poder dar resolución de hostnames en la red, tuve que hacer lo siguiente:

1. Cómo hacer que máquina Windows resuelva hostname de máquina Linux (Ubuntu)

En este caso la solución es instalar el paquete winbind en la máquina Linux (destino), para que utilice el protocolo NetBIOS de Windows y publique su resolución de nombres.

sudo apt-get install winbind

Una vez instalado, el fichero /etc/nsswitch.conf habrá añadido la palabra wins en la entrada de hosts. El fichero tendrá una pinta así:

# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.

passwd:         compat
group:          compat
shadow:         compat

hosts:          files wins dns
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

Con esto, ya deberías de poder hacer ping a la máquina Linux desde una máquina Windows y resolver correctamente su hostname.

2. Cómo hacer que máquina Linux (Ubuntu) resuelva hostname de máquina Linux (Ubuntu)

Para este tema tuve que instalar en ambas máquinas Linux el paquete avahi-daemon . Con este paquete, ya se resuelven los hostnames añadiendo el sufijo «.local».

Esto probablemente te modificará el fichero /etc/nsswitch.conf de ambas máquinas y dejará la línea de hosts así:

hosts: files wins mdns4_minimal [NOTFOUND=return] dns mdns4

Con esto, ya debes de poder resolver nombres entre máquinas Linux con el hostname estilo «.local»:

[23:04:02] yvoictra|trinity:~$ ping tesla.local
PING tesla.local (192.168.1.111) 56(84) bytes of data.
64 bytes from tesla.local (192.168.1.111): icmp_seq=1 ttl=64 time=0.455 ms
64 bytes from tesla.local (192.168.1.111): icmp_seq=2 ttl=64 time=0.524 ms
64 bytes from tesla.local (192.168.1.111): icmp_seq=3 ttl=64 time=0.489 ms
64 bytes from tesla.local (192.168.1.111): icmp_seq=4 ttl=64 time=0.499 ms

Y ahora queda poder resolver máquinas Windows desde máquinas Linux. De momento no he encontrado la manera de hacerlo… pero seguiré investigando. Cuando lo consiga actualizaré el post (Si alguien me echa un cable os lo agradeceré…).

En resumen, el tema en mi red local ha quedado:

  • Máquina Windows resuelve hostname de otra máquina Windows.
  • Máquina Windows resuelve hostname de una máquina Linux.
  • Máquina Linux no resuelve hostname de una máquina Windows.
  • Máquina Linux resuelve hostname de una máquina Linux.

¡Y esto es todo amigos!

Abrir varios perfiles simultáneos de Firefox [II]

En 2009 ya descubrí uno de mis trucos favoritos del navegador Firefox, y que a día de hoy sigo utilizando. Hoy simplemente vengo a recordarlo porque probablemente muchos ni lo habréis leído, y además a explicaros la forma en la finalmente yo más utilizo: Con las opciones «-p» y «-no-remote«.

En Windows, que por suerte o desgracia es el SSOO de escritorio que más utilizo, lo que suelo hacer es:

  1. Pulsar la combinación de teclas Windows +R para conseguir la ventana de ejecutar.
  2. Ejecutar el comando: firefox -p -no-remote.

firefox_no-remote

Así consigues tener las n instancias de Firefox que quieras, cada una con el perfil que quieras. Es muy útil cuando tienes distintos perfiles (Por ejemplo el del trabajo y el personal) y quieres usarlos a la vez sin que interfieran.

Este truco es válido para todos los SSOO (Linux, MacOS…), salvo que la parte de ejecutar que se hace en Windows resulta casi más sencilla desde una consola Linux/MacOS.

 

Crear ficheros de un tamaño determinado en entornos Unix y Windows

Para crear un fichero de un tamaño determinado de bytes en entornos Unix se suele utilizar el comando dd en el que podemos definir el tamaño exacto del fichero que queremos.

# dd if=<fichero_entrada> of=<fichero_salida> bs=<tamaño_en_bytes_del_fichero> count=1

Podemos utilizar el fichero /dev/zero que contiene carácteres NULL para completar el fichero:

# dd if=/dev/zero of=prueba.txt bs=8388608 count=1

Aunque también se pueden utilizar carácteres aleatorios con /dev/urandom.

# dd if=/dev/urandom of=prueba.txt bs=8388608 count=1

Importante: el parámetro bs se expresa en bytes.

En Windows existe otro comando para conseguir ficheros de tamaño determinado, se realiza con el comando fsutil.

# fsutil file createnew <nombre_del_fichero_de_salida> <tamaño_en_bytes_del_fichero>

Ejemplo:

# C:\>fsutil file createnew prueba.txt 8388608
El archivo C:\prueba1.txt está creado

Convertir celdas de excel en formato numérico

excelEn ciertas circunstancias nos podemos encontrar con un fichero excel que tiene valores numéricos con un formato no numérico. En esta situación es difícil trabajar con estas celdas puesto que excel no las reconoce como tales.

La solución más óptima que he encontrado es utilizar las fórmulas VALOR ó ENTERO para generar una nueva columna y/o fila con los valores numéricos de las celdas que tienen un formato diferente.

Un ejemplo en el que la celda A1 tiene un formato incorrecto, podríamos escribir en la celda A2 lo siguiente:

=VALOR(A1)

ó

=ENTERO(A1)

y con esto ya tendríamos en A2  el formato numérico de A1.

Organización de música mp3 en Windows

Cada vez se utilizan más las herramientas de música online rollo Spotify, GrooveShark… en detrimento de nuestra querida galería de mp3. Sin embargo yo sigo utilizándolo y por ello os cuento cómo organizo mi biblioteca de mp3. Soy una persona demasiado organizada, quizá DEMASIADO. Pero es lo que hay. La mayoría de las veces vivo con tiempo limitado y no tengo la capacidad necesaria de ordenar a la velocidad que me gustaría. Por ello, me gustan las herramientas que automatizan las tareas de manera rápida y sencilla. La forma en la que yo organizo los mp3 se puede dividir en 2 fases principalmente:

  1. Realizar el etiquetado de las etiquetas ID3 de cada uno de los mp3. Esto se puede automatizar en muchas ocasiones con una funcionalidad muy interesante de WinAmp, programa archiconocido en el entorno de reproducción de audio.
  2. Renombrado de los ficheros mp3. En este caso utilizo una de mis herramientas favoritas: ReNamer.

Bueno, ¡¡ pues al lío !! Para rellenar los tagsetiquetas ID3 de tu mp3 con WinAmp (¿A que no sabías que se podía?) existen 2 formas: Etiquetando uno a uno cada mp3 o etiquetar varios mp3 a la vez. La segunda forma desde luego es más cómoda si hacemos más de uno fichero mp3.

winamp_cut_2

Para etiquetar fichero a fichero primero hay que añadirlo a la lista de reproducción de WinAmp y después pulsar con el botón secundario sobre la canción. En el menú contextual hay que seleccionar «Ver información del archivo…» y en la nueva ventana  que se abre «Etiquetado automático». Con esto ya tendremos modificadas las etiquetas de esa canción.

winamp_tagging

Ahora bien, si queremos modificar las etiquetas ID3 masivamente a muchos ficheros existe otra forma. Consiste en seleccionar todos los archivos de la lista de reproducción de WinAmp (Ctrl+A) y en el menú contextual pulsar en «Enviar a: -> Auto Etiquetar».

Ahora toca renombrar los ficheros mp3, y es que muchas veces tienen nombre del estilo «track 1», con lo que no es fácil reconocer qué canción es. Para ello utilizamos ReNamer. Es un programa muy potente que ofrece la posibilidad de utilizar las etiquetas ID3 que contiene un mp3 para colocarlo en el nombre. Os invito a que trasteéis un poco con el programita. En la imagen podéis observar las reglas que he añadido y el resultado:

ReNamer_example

Espero que os haya gustado este pequeño tutorial.

Clientes para conexión remota (PuTTy, SecureCRT…)

En mis comienzos con el Telnet y SSH y las conexiones con máquinas remotas utilizaba PuTTy, una herramienta que me enseñó mi querido colega Roberto Andradas en alguna clase de EDI o MTP… jeje, qué tiempos.

Investigando en su momento descubrí PuTTy Tray, un interesante proyecto que ofrecía ciertas mejoras al tradicional cliente de PuTTy. Entre otras, transparencias, poder minimizar directamente al System Tray, mejorar la portabilidad, linkar desde PuTTy a un navegador las URLs…

En la actualidad, debido al inmenso número de máquinas que administro en el trabajo, tuve que hacer un cambio obligado de cliente SSH. Con PuTTy lo intenté, a través del PuTTy Session Manager, que proporciona una nueva ventana en la que se pueden visualizar de forma ordenada las sesiones guardadas, para acceder directamente a ellas.

Pero debido a que para acceder a ciertas máquinas tengo que saltar pasando por otras…. y PuTTy no ofrece generar scripts que automaticen esta tarea, al final tuve que recurrir al cliente SecureCRT, que aunque es de pago, ofrece bastantes mejoras para poder trabajar con varias terminales a la vez. Entre otras cosas, permite ejecutar scripts y comandos en varias ventanas a la vez… bastante útil cuando administras muchas máquinas.

En definitiva, cada cliente tiene sus ventajas e inconvenientes, dependiendo del uso que se le va a dar… por eso, es mejor ir probando cada uno, hasta encontrar el que realmente se ajuste a tus necesidades. A pesar de todo, yo sigo abriendo de vez en cuando mi querido PuTTy 🙂 .

Acceso directo en Windows para suspender el equipo

Para suspender el equipo con un simple doble click, podemos hacerlo del siguiente modo:

  • Con el ratón en el escritorio, apretaremos el botón derecho del ratón y del menú y seleccionamos Nuevo Acceso directo.
  • Aparecerá una pantalla con el título: Crear acceso directo.
  • En la caja de texto (Escribimos la ubicación del elemento) escribiremos rundll32.exe PowrProf.dll, SetSuspendState
  • Click en siguiente y le ponemos un nombre al acceso directo, por ejemplo, Suspender.

El acceso directo se creará en el escritorio, y cada vez que queramos suspender el equipo ejecutaremos dicho acceso directo.

Backup emoticonos del Windows Live Messenger

A pesar de que este blog está dedicado a entornos GNU/Linux, voy a añadir un pequeño truco de Windows. Si queréis hacer una copia de seguridad de los emoticonos de Windows Live Messenger, tenéis que copiar la siguiente carpeta:

C:\Documents and Settings\USUARIO\Configuración local\Datos de programa\Microsoft\Messenger\direccion@dominio.com\ObjectStore

Sustituyendo adecuadamente los parámetros de color rojo.