jueves, 14 de febrero de 2008

Uso del comando cat en linux


"Fue aquella noche cuando Carl encontró su destino, y yo el mío... casi. Dicen que cuando conoces al amor de tu vida el tiempo se detiene... y es verdad. Lo que no dicen es que cuando se vuelve a poner en marcha, lo hace aún más rápidamente para recuperar lo perdido"

The big fish.

Siempre he tenido una especial devoción por las películas de Tim Burton
Su manera de mezclar magia, fantasía, realidad, me parece excepcional. Creo que tiene una manera única de envolverte en un mundo de imaginación que te hace realizar sin ningún tipo de esfuerzo, una regresión a los sueños mas profundos de tu infancia

En fin, la cuestión, es que muchas veces, la solución a los problemas, no pasan por soluciones técnicas, si no por darle una vuelta de tuerca a la imaginación. A lo mejor un problema que tiene mil soluciones "correctas" lo puedes solucionar con un poco de cosecha propia, y a ver quien es el listo que te dice que esta mal.

Hace ya, unas entradas mas precisamente en esta: http://daviddelprado.blogspot.com/2007/08/fallo-al-arrancar-vmware-server-usando.html
La cual hacia referencia al fallo de arrancar maquinas virtuales desde un linux en un sistema de ficheros NTFS (
vcpu-0 Failed to allocate page for guest RAM),
un compañero me preguntaba si podía publicar la rutina con la que automatizaba esta corrección.

La verdad es que mi rutina es una chorrada, y posiblemente alguno dirá, "Que tontería", pero bueno a mi me hace la función que necesito y funcionar funciona. Creo que se acerca un poco a la rutina de hacer un log de las conexiones terminal server

Bueno la rutina en cuestión es la siguiente:
Todo se hace con el comando cat de linux, el cual sirve para ver ficheros de texto. Se puede decir que es el equivalente al type de msdos.

Escenario
Tenemos nuestro fichero de configuración de maquinas virtuales con extensión vmx. Vamos a llamarlo windows_server.vmx
Y para corregir el fallo tenemos que añadir la linea
mainMem.useNamedFile=FALSE

Solución
Creamos un fichero de texto el cual tenga el contenido de la linea. Vamos a darle el nombre de "parche_ntfs.txt"
entonces con el comando cat desde la consola de linux hacemos lo siguiente:
cat parche_ntfs.txt >> windows_server.vmx
Con esto ya sera añadida la linea al fichero de configuración de la maquina virtual.
Ahora bien, si queremos darle una vuelta de tuerca mas, y queremos automatizarlo un poco mas.
Nos creamos un script el cual recoja las variables que le metemos por la linea de comandos y simplemente tendremos que ejecutar.

script parche_nfts.txt windows_server.vmx

En el interior del script habrá un código de este tipo:
cat $1 >> $2

Si alguien quiere rizar el rizo, y quiere programar un entorno gráfico, pues ya seria mas chulo que un ocho.
Saludos

1 comentario:

Anónimo dijo...

Si mi script le pongo el nombre de miscript.sh (sh es la extesion correcta?).
A ver voy a probar
Gracias