miércoles, 20 de julio de 2011

Algo de awk



Necesitaba enviar algunos parámetros a un script en awk, el problema es que eran varios, mi solución fue:

$ awk -v param1=$var1 -v param2=$var2 '{acciones}'

De esta forma se tenía los parámetros necesitaba usar.

Algunos tutos y libros interesantes para aprender awk:
    - http://www.linux-es.org/node/31
    - http://www.lawebdelprogramador.com/cursos/AWK/5752-Guia_del_usuario_para_AWK.html

lunes, 18 de julio de 2011

Renombrar archivos masivamente desde consola

En ocasiones nos encontramos con que tenemos muchos archivos que tienen una extensión que nos gustaría cambiar o que tienen alguna cadena que nos gustaría quitar. Por ejemplo tener muchos archivos que digan: nombreDelArchivo-NombreAutor, o cosas por el estilo. Esto es algo muy sencillo de arreglar con la orden rename.

Una de las formas de aplicarlo es:

rename 's/cadenaAreemplazar/cadenaNueva/' archivosAaplicar

Por ejemplo, supongamos que tenemos muchos archivos, para este caso que los archivos fueron generados por el siguiente script:


#!/bin/bash
   echo "Comenzando la ejecucion"
   for i in $(seq 2 10)
   do
   touch archivo$i\(Nombre\)
   done
   echo "Finalizado correctamente"


Cuando haya finalizado la ejecución tendremos varios archivos: archivo1(Nombre), archivo2(Nombre), etc

Si quisiéramos quitar la cadena "(Nombre)" de cada uno de ellos, sería ejecutar:

$ rename 's/\(Nombre\)//' *\(Nombre\)

La parte final del comando toma todos los archivos cuyo nombre contenga la cadena "(Nombre)" en la carpeta que estamos trabajando.

jueves, 14 de julio de 2011

Debian en Lenovo z470



Si alguno de ustedes ha comprado una lenovo Z470 e instaló debian squeeze como OS tal vez tenga un problema con las gráficas y es que todo el entorno gráfico se verá horrible, la resolución de la pantalla será de 1024 x 768, en fin. No les aconsejo ni siquiera intentar instalar los controladores nvidia, lo primero que les aconsejo es utilizar los repos de debian testing y actualizar todo, ya que con este kernel se configurarán las gráficas (al menos para obtener una mejor resolución), y podremos trabajar mejor. Para mí fue suficiente con esto, ya que aún no logro instalar los controladores oficiales de nvidia. Además si quiero multimedia uso algún otro OS.

Repos debian testing:


deb http://ftp.de.debian.org/debian/ testing main contrib non-free
deb-src http://ftp.de.debian.org/debian/ testing main contrib non-free


Para agregarlos, abrir la consola y ejecutar

# gedit /etc/apt/sources.list


agregan las 2 líneas anteriores.


Luego, hay que actualizar todo así que tarda un poco, recomiendo que tengan una buena conexión a internet:

# aptitude update && aptitude upgrade


Después de esto, reiniciar y cuando vuelvan a la interfaz gráfica ya tendremos resolución de 1366 x 768 y las demás.

miércoles, 13 de julio de 2011

Instalar wine en Debian

Lo primero que debemos hacer como todo programa en debian es agregar los repositorios para poder instalarlo, así que:

1. Abren el archivo donde están los repos:

# gedit /etc/apt/sources.list


2. Agregan según sea:


-Si usas lenny: deb http://www.lamaresh.net/apt lenny main
-Si usas squeeze: deb http://www.lamaresh.net/apt squeeze main
-Si usas sid: deb http://www.lamaresh.net/apt sid main


3. Para que deje actualizar se debe obtener la llave:

# wget http://www.lamaresh.net/apt/key.gpg && sudo apt-key add key.gpg


4. Si tienes instalado alguna versión de wine, se debe desinstalar:

# aptitude purge wine


5. Actualizamos:

# aptitude update && aptitude upgrade


6. Instalamos wine:

# aptitude install wine

y listo!


Ahora si lo queremos usar, simplemente:

$ wine archivo.exe
o
desde la interfaz click derecho sobre el .exe, "abrir con" y seleccionas wine.


Para evitarnos estar haciendo esto desde consola, por ejemplo si quisiéramos crear un lanzador en alguna parte, en la parte donde dice comando colocarías: wine /ubicacion/del/archivo.exe

Nota:
Para los que no saben, wine crea una carpeta donde se guardan los programas instalados ahí es donde tendrás que buscar el .exe del programa que hayas instalado. (La carpeta está en $HOME/.wine/ )


Para abrir el configurador de wine deben escribir desde la consola:
$ winecfg

Instalar eclipse y netbeans en Debian

Instalando Eclipse en Debian

Es algo muy simple si ya tenemos los repositorios oficiales agregados, para verificar:
# vim /etc/apt/sources.list

Si no sabes cómo es lo de los repositorios, o para agregar alguno:

http://www.esdebian.org/wiki/introduccion-repositorios-debian

(Si recien agregas los repositorios: # aptitude update && aptitude upgrade)

Luego, ejecutar:

# aptitude install openjdk-6-jdk openjdk-6-jre eclipse

Si por alguna razón te dice que no están los paquetes(No se puede encontrar ningún paquete cuyo nombre o descripción coincida con....), revisa que estén en los repositorios con:

# aptitude search openjdk-6-jdk openjdk-6-jre eclipse

Aparecerá una lista, revisa que estén los 3. Si no están, es cuestión de los repos.

Y listo!



Instalando Netbeans 7.0 Debian

Para muchos usuarios Debian no debe ser difícil hacerlo sin embargo aquí vamos:

1. Descargar la versión de netbeans que se desea de la página oficial.

2. Por la consola ir al directorio donde está el archivo, si fuese en descargas:

$ cd $HOME/Descargas/

3. Ejecutar el comando "su" para quedar como root.

4. $ sh nombreDelArchivo.sh

5. Seguir la instalación tipo tintows: next, next, accept, next, finish...

Listo! Netbeans instalado.

viernes, 7 de enero de 2011

Servidor detrás de router

Bien, resulta que tengo un router Thomson TG782 y quería montar mi propio WebServer, luego de instalar LAMP y tener todo configurado y listo, sólo me faltaba poder acceder a mi WebServer desde Internet así que me puse a googlear un rato, pero no encontré absolutamente nada relacionado con mi router. Entonces, tuve la osadía de ponerme a "cacharrear" con mi router y luego de unas cuantas horas logré configurarlo, así pues me decidí sentarme a escribir este tuto para aquellos que estén en las mismas.

Luego de tener todo el servidor montado en alguna computadora o en un servidor dedicado, algunos nos encontramos con un inconveniente, y es poner nuestro servidor en línea, sobre todo si se trata de un servidor casero ya que por lo general la configuración que hacen los ISP's del router no permite la comunicación por el puerto 80 o 21(HTTP y FTP respectivamente).

Para lograr esto lo único que debemos hacer es: abrir los puertos o hacer NAT, NAPT o portfowarding. En cualquiera de los casos nuestro servidor debe quedar con conexión a internet.

Debido a que existen muchas marcas de routers y por cada una hay diferentes modelos me limitaré a dar una explicación no muy detallada pero que estoy seguro les servirá:

-En algunos routers basta con entrar a la interfaz de configuración del router por medio de algún navegador (si no sabes cómo entrar a la configuración de tu router abre una terminal y teclea ifconfig aparecerán las conexiones ya sea conexión por cable o wifi busca una parte donde dice Difus.###.###.#.###.........luego teclea esos números en un navegador y entra como si fuera una página web) y buscar donde dice NAT ó games & application, donde obtendremos un menú como este, luego de  rellenar los cuadros todo estará hecho(donde dice global IP addres se pone nuestra ip pública, donde dice Internal IP Addres ponemos nuestra IP Privada, donde dice type ponemos TCP ó UDP y finalmente escogemos el puerto que queremos) sin embargo, en otros routers no es tan sencillo, muchas veces el menú de NAT o de NAPT no se encuentra, por esa razón deberemos hacerlo desde la terminal.

-Para hacerlo desde la terminal basta con teclear:

 telnet ipDeNuestroRouter (la ip de la mayoría de los routers es 192.168.0.1)

Luego de teclearlo nos pedirá un usuario y un password, (si tu ISP instaló el router entonces debes llamar y pedirles el usuario y el password de administrador para el router, si no lo consigues no podrás hacer nada) luego de ingresar el usuario y el password ya estaremos en el router sólo que desde la terminal y desde acá podremos ver menús que no aparecían desde la interfaz gráfica, como es en mi caso.

Ahora, la configuración depende de cada router por lo que no podré ahondar mucho, esto dependerá de cada cual. En este punto si no conocemos los comandos, podemos ejecutar la ayuda la cual nos servirá bastante para este proceso, así que tecleamos:

 help

Esto nos mostrará una serie de comandos que podemos ejecutar, por lo general, uno de ellos es el de "menú", el cual si no eres un experto en la terminal o no conoces bien los comandos nos ayudará a guiarnos y nos hará de la configuración del router, una tarea mucho más sencilla.

Todo lo que debes hacer ahora es buscar el menú de NAT y desde ahí podrás configurar todas las redirecciones de los puertos a tu gusto. Si tienes dudas o necesitas ayuda no dudes en escribir en los comentarios y en lo que pueda te ayudaré.

Nota: Antes que todo haz una copia de seguridad de la configuración de tu router.

Montando un servidor en Ubuntu o Ubuntu Server


Navegando por la red me encontré con un excelente tutorial en el cual explican paso a paso cómo instalar un servidor en Ubuntu Server. Cabe aclarar que también sirve para Ubuntu, lo único que varía es la instalación de LAMP.

Si desean hacer un servidor casero y ya tienen instalado alguno de los sistemas operativos bien pueden empezar desde el Volumen No 4 y saltarse la configuración de la red (para que tenga salida  internet) ya que suele ser la que más problemas da (almenos en mi caso), además se puede dejar para el final.

Nota: La instalación de LAMP en Ubuntu se hace de la siguiente forma. Ir a Sistema-Administración-Gestor de paquetes Synaptic-Editar-Marcar paquetes por tarea-Seleccionan LAMP y listo!

Si por el contrario quieren hacer un servidor dedicado y "con todos los juguetes" entonces pueden empezar leyendo desde la Introducción.

En una próxima ocasión colocaré un breve tutorial sobre cómo hacer para que las páginas webs o los servicios que ofrezca tu servidor puedan ser percibidos desde internet (sobre todo para aquellas personas que quieren un servidor casero o detrás de un router).