jueves, 20 de noviembre de 2014

Instalando openSUSE 13.2 a traves del CD NET

 Instalando openSUSE 13.2 a traves del CD NET
No es una guiá completa, pero a través de una serie de imágenes se da a conocer los pasos para hacer una instalación via Internet.


Aclarar que esta instalación se hará en un equipo viejo y no se instalara entorno gráfico:

Características del equipo:
Marca Dell, modelo Dimension 4100
512 MB de memoria RAM
Pentium III
Disco duros 250 GB
Unidad de CD-ROM

Los pasos a seguir son:
1. Descargar la imagen ISO Net, disponible en: http://software.opensuse.org/132/en, dando un click en Network y descargando la imagen de 68MB. openSUSE-13.2-NET-I586.iso
2. Quemar en un CD la imagen.
Pueden usar K3B, lo recomiendo.
3. Conectar la PC donde instalaremos el sistema, asegurándonos de tener conexión de red, disponible y los parámetros necesarios para hacer la conexión a Internet.
4. Seleccionar una via  de instalación, me parecio HTTP
5. En el transcurso de la instalación, seleccionaremos nuestra tarjeta de RED y nos pedirá si queremos usar una conexión DHCP o asignar una IP estática. He elegido la opción de IP estática, definiendo la IP, el Gaterway y el DNS (8.8.8.8 de Google).

6. Automáticamente sera seleccionado el repositorio donde están los paquetes, pero por las dudas indicar el siguiente:
http://download.opensuse.org/distribution/13.2/repo/oss/


Eso es todo :)
Solo nos queda ir siguiendo los pasos de instalación. A continuación una serie de magies que tome con mi cámara, para dar a conocer como fue el proceso.





















martes, 21 de octubre de 2014

El Software Libre en El Salvador

Entrevistándome yo mismo. Una entrevista que me hicieron Alumnos de la Universidad Monseñor Romero de Chalatenando.

En El Salvador el uso del software libre, es uno de los temas que esta tomando relevancia. Basándonos en esto y siendo algo muy importante para nuestro país, se ha tomado la iniciativa de entrevistar a uno de los promotores de software libre.



Nuestra persona entrevistada es el Ing. José Roberto Escobar, quien es Ingeniero en Sistemas y Computación. A continuación las preguntas y respuesta que nos ha proporcionado:

1. ¿Como contribuye al desarrollo del país el software libre?
Es de mencionar que el software libre, esta formado bajo licencias publicas y puede ser descargado, instalado, distribuido  y modificado sin temor a demandas de propiedad. Esto es una gran ayuda, ya que se evita incurrir en costos por licenciamiento o contribuir a la piratería, instalando software propietario que no se ha comprado.

El uso del software libre en El salvador es algo que ha venido avanzando con el paso de los años, muchas empresas, instituciones de gobierno, universidades, centros de educación media, así como  profesionales individuales y usuarios en sus hogares, lo esta  usando día a día para sus tareas informáticas. Esta apuesta contribuye en el avance del país, obteniendo mayores ingresos y formas de trabajo a menor costo.

2. ¿Como esta ayudando el El ministerio de Educación en el uso del software libre?
Este año 2014 ha sido de buenas noticias, ya que de parte del ministerio de educación se dio un anuncio muy importante, donde menciona que ya no se seguiría usando software privativo, y como alternativa se usaría software libre como alternativa. La iniciativa va enfocada a las escuelas que imparten educación básica, teniendo como objetivo reducir costos por la compra de software con licencias privadas, como las de Microsoft.

La noticia es muy importante y tendría muy buenos resultados, ya que el uso y conocimiento estaría siendo enfocado desde los inicios del estudio de los niños, quienes llegaran con conocimientos fuertes en Software Libre, cuando cursen sus estudios universitarios.

3. ¿Qué se esta haciendo para promover el Software Libre?
Se hace poco, y la mayor divulgación lo hacen las “comunidades de usuarios”, quienes voluntariamente realizan eventos, conferencias y talleres en diferentes universidades o centros educativos.

    El apoyo que se obtiene es poco, por lo que las gestiones y logística para realizar     un evento  es un poco costosa, debido a que muchas personas no le dan la       importancia debida, o no se preocupan.

    La mayor divulgación se hace en universidades, ya que la juventud universitaria es     la que esta mas involucrada en el uso de software por su nivel académico, quienes a su ver se van interesando para ir creando mayor numero de involucrados y promoción del Software Libre.

   
4. ¿Cual es el beneficio que obtiene la pequeña, mediana y gran empresa en el uso del software libre?
Hay muchos beneficios, que vienen desde el uso de aplicaciones para el personal administrativo, sistemas integrados que manejan procesamiento de datos, servicios en la WEB, desarrollo de aplicaciones acorde a las necesidades, centros de computo para educación, etc.

Para todos las empresas es de gran beneficio, muchas de estas le apuestan al desarrollo y preparación de su personal técnico, con  el objetivo de poder crear sistema a la medida, no incurriendo en gastos de licencias.

También es de mencionar, que hay una gran cantidad de software ya desarrollado y que cubre aquellas necesidades que requieren las empresas, siempre enfocándose a invertir menos en licenciamiento.

5. ¿Cuándo una persona particular quiere utilizar software libre, que es lo que tiene que hacer?
    Lo importante es decidirse y ver las ventajas que me ofrece el software libre. Para     empezar, se puede ir conociendo a través de Internet, los diferentes programas y cuales son de interés, luego bastaría con descargar el sistema operativo Linux (El mayor software libre que hay) e instalarlo en su PC.

    Hay muchas variantes de Linux llamadas distribuciones, por lo que se puede hacer     una pequeña búsqueda de las características de cada una de estas y los pasos a seguir para instalarlo.

    No hay que preocuparse si algo no se puede hacer, en el país hay varias comunidades de usuarios de Software Libre, que ayudan y lo promueven, se les puede contactar a través de sus paginas WEB o listas de correo, y hacer las consultas o dudas que se tengan, quienes le ayudaran y lo guiaran a como iniciarse.


6. ¿Qué ingresos obtiene uds. como promotor del software libre?
    La mayoría de personas que promueven el software libre, lo hacen con una filosofía de ayudar a otros y contribuir sin costo alguno, por lo que no solicitan dinero por enseñar o promoverlo. En mi caso particular mi sueldo viene de una compañía donde laboro como Administrando Servidores y programando.

7. ¿Qué debería hacer una persona, para contribuir, ayudar y  promover el software libre? ¿Qué conocimientos debe tener?
   
    Lo principal es tener la voluntad de ayudar a otros a que aprendan y prefieran el software libre, para esto pueden darlo a conocer probandolo y comentándolo por correo, o medios de comunicación social, pueden asistir a los diferentes eventos que se desarrollan en el país, animarse a preparar e impartir una charla sobre un tema que consideren interesante e importante.

    Muchos piensan que para promover el software libre se requieren muchos conocimientos en sistemas libres, por ejemplo Linux, sin embargo se puede ayudar sin ser un experto. En este caso planteado, considero que para ayudar a promoverlo, se requieren conocimientos básicos, mientras se va madurando y conociendo mas a profundidad.

lunes, 14 de julio de 2014

jueves, 12 de junio de 2014

Gimp 2.8 Restaurar Caja de Herramientas



Recuperando la Caja de Herramientas la cerramos, ¿como diablos la abrimos nuevamente?

Ha de ser una pregunta muy facil para cualquiera, pero sin embargo yo he andodo pendejeando buscando una opcion para abrirla nuevamente en Gimp.

Solo se me ocurrió, borrar el archivo "sessionrc" ubicado en la carpeta Gimp de nuestro usuario, que es creada al iniciar por primera ves gimp.

cheperobert@cheperobert:~> cd .gimp-2.8/
cheperobert@cheperobert:~/.gimp-2.8> rm sessionrc
cheperobert@cheperobert:~/.gimp-2.8>

Resulta que este archivo es creado con las opciones por defecto, al iniciarse Gimp, creando los parámetros de inicio de la barra de herramientas.

Estas opciones son agregadas, en este archivo:

(session-info "toplevel"
    (factory-entry "gimp-toolbox-window")
    (position 0 0)
    (size 150 820)
    (open-on-exit)
    (gimp-toolbox
        (book
            (current-page 0)
            (dockable "gimp-tool-options"
                (tab-style automatic)
                (aux-info
                    (show-button-bar "true"))))))

Me imagino que hay otras instrucciones en otros archivos, pero me he conformado con borrar el archivo y que todo vuelva como era en un principio.

martes, 13 de mayo de 2014

Grabando pantalla, con openSUSE

Estamos en openSUSE 13.1

El script a ejecutar es :

#!/bin/sh
# --- Desarrollado por: cheperobert ---


info=$(xwininfo -frame)

win_geo=$(echo $info | grep -oEe 'geometry [0-9]+x[0-9]+' | grep -oEe '[0-9]+x[0-9]+')
win_xy=$(echo $info | grep -oEe 'Corners:\s+\+[0-9]+\+[0-9]+' | grep -oEe '[0-9]+\+[0-9]+' | sed -e 's/\+/,/')

ffmpeg -f x11grab -r 25 -s $win_geo -i :0.0+$win_xy -pix_fmt yuv420p -vcodec libx264 -preset slow -crf 18 TutorialIngreso.mp4

Posteriormente a la grabación del vídeo, lo he editado con kdenlive, le he echo algunos efectoS, le agregado audio capturado con audacity y posteriormente lo he renderizado en formatp mp4.

Al final me ha quedado bastante grande en resolución y tamaño, pues para esto lo he reducido dejando el vídeo definitivo:

ffmpeg -i ingresoElearning.mp4 -pass 1 -vcodec libx264 -profile:v high -s 1024x600 -f mp4 -crf 18 -y /dev/null && ffmpeg -i ingresoElearning.mp4 -pass 2 -vcodec libx264 -profile:v high  -preset slow -b:v 360k -s 1024x600 -f mp4 -crf 18 salida.mp4

La idea es que este vídeo este en la WEB, por lo que he utilizado VideoJS, como reproductor para WEB.
http://www.videojs.com/

Espero les haya servido, he echo muchas pruebas con kdenlive y con ffmpeg, esto es lo mejor que me ha salido.

domingo, 27 de abril de 2014

miércoles, 23 de abril de 2014

WhatsApp en Linux openSUSE



Para los que nos cuesta escribir en el teléfono, o no tenemos un teléfono que nos permita tener la Aplicación WhatsApp y lo necesitamos en nuestra PC del trabajo o casa, podemos instalarlo, en nuestro sistema. Por supuesto en este blog solo se mencionan cosas para Linux, que quede claro.

Para nuestro caso sera en openSUSE 13.1

Lo vamos a configurar con Pidgin, un programa de mensajería muy famoso en Linux, por lo que necesitamos instalarlo. Si ya tienes Pidgin perfecto, de lo contrario pueden buscarlo e instalarlo con zypper
Aclarando: Es importante saber como instalar software desde la consola (Aunque esta YaST, es bueno saber usar desde la consola las cosas) con zypper y saber que por lo menos tienes que tener configurados los tres repositorios principales.


Un poquito de ayuda con zypper:
zypper se <lo que se se quiere buscar>
zypper in <nombre de programa a instalar>

Todo esto se hace logeado como root. También necesitamos tener instalado git y algunos paquetes necesarios con sus dependencias.
zypper in python-dateutil python-argparse libpurple-devel

Nota: Es probable que necesites otros paquetes, como gcc++, make, freeimage-devel[1], gcc-c++, etc. Ya que haremos una pequeña compilación, yo no los tuve que instalar porque ya estaban en mi sistema, por lo que queda como procedimiento adicional.

[1] http://pkgs.org/opensuse-13.1/opensuse-games/freeimage-devel-3.15.4-3.2.i586.rpm.html

Ahora vamos a obtener el plugin de Whatsapp para Pidgin

 git clone https://github.com/davidgfnet/whatsapp-purple.git
 git clone https://github.com/tgalal/yowsup.git  

Al hacer esto se nos creará dos carpetas, una llamada whatsapp-purple y otra llamada yowsup, pasemos a compilar ahora el plugin para Pidgin y lo moveremos a la carpeta de plugins para Pidgin:


 cheperobert:/opt/whatsapp-purple # make  
 gcc -c -O2 -Wall -fPIC -DPURPLE_PLUGINS -DPIC -I/usr/include/libpurple -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -o wa_purple.o wa_purple.c  
 g++ -c -O2 -Wall -fPIC -DPURPLE_PLUGINS -DPIC -I/usr/include/libpurple -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -o whatsapp-protocol.o whatsapp-protocol.cc  
 g++ -shared -pipe -o libwhatsapp.so wa_purple.o whatsapp-protocol.o wa_api.o -lpurple -lglib-2.0   
 cheperobert:/opt/whatsapp-purple # ls -la  
 total 944  
 drwxr-xr-x 5 root root  4096 Nov 24 11:38 .  
 drwxr-xr-x 8 root root  4096 Nov 18 08:47 ..  
 drwxr-xr-x 8 root root  4096 Nov 24 11:34 .git  
 -rw-r--r-- 1 root root  126 Apr 23 2014 .gitignore  
 -rw-r--r-- 1 root root  324 Apr 23 2014 .mailmap  
 -rw-r--r-- 1 root root  151 Apr 23 2014 .travis.yml  
 -rw-r--r-- 1 root root  1831 Nov 24 11:34 Makefile  
 -rw-r--r-- 1 root root  1436 Nov 24 11:34 Makefile.mingw  
 -rw-r--r-- 1 root root  2517 Apr 23 2014 README.md  
 drwxr-xr-x 2 root root  4096 Nov 24 11:34 debian  
 -rw-r--r-- 1 root root  622 Nov 24 11:34 libwhatsapp.rc  
 -rwxr-xr-x 1 root root 329546 Nov 24 11:38 libwhatsapp.so  
 -rw-r--r-- 1 root root 19143 Apr 23 2014 wa_api.cc  
 -rw-r--r-- 1 root root  4081 Apr 23 2014 wa_api.h  
 -rw-r--r-- 1 root root 36180 Jul 4 09:39 wa_api.o  
 -rw-r--r-- 1 root root 45435 Nov 24 11:34 wa_purple.c  
 -rw-r--r-- 1 root root 36600 Nov 24 11:37 wa_purple.o  
 -rw-r--r-- 1 root root  4762 Apr 23 2014 wadict.h  
 -rw-r--r-- 1 root root 88977 Nov 24 11:34 whatsapp-protocol.cc  
 -rw-r--r-- 1 root root 309868 Nov 24 11:38 whatsapp-protocol.o  
 -rw-r--r-- 1 root root  1138 Apr 23 2014 whatsapp.png  
 -rw-r--r-- 1 root root  365 Apr 23 2014 whatsapp16.png  
 -rw-r--r-- 1 root root  496 Apr 23 2014 whatsapp22.png  
 -rw-r--r-- 1 root root  1011 Apr 23 2014 whatsapp48.png  
 drwxr-xr-x 2 root root  4096 Nov 24 11:34 win32  
 cheperobert:/opt/whatsapp-purple # cp -rf libwhatsapp.so /usr/lib/pidgin/  
 cheperobert:/opt/whatsapp-purple # cd ..  

Nota: Estos archivos los descargue bajo la carpeta /opt, pueden hacerlo desde el lugar que mejor les guste.

Ahora me voy a crear un archivo de configuración en :
 vi yowsup/whatsapp.txt  

Con la siguiente información:
cc= (codigo de area del pais)
phone=(Telefono incluyendo codigo)
id=
password=

ejemplo:
cc=503
phone=50374641347
id=
password=


Solicitamos el código para activar WhatsApp, dentro de la carpeta yowsup ejecutamos:
  ./yowsup-cli registration -c whatsapp.txt --requestcode sms

Cuanto tengamos el codigo, lo registramos:
 cheperobert:/opt/yowsup/src # ./yowsup-cli registration -c whatsapp.txt --register XXX-XXX  
 status: ok  
 kind: free  
 pw: UDXVLRIkH6py747CHlBYBbSF9/E=  
 price: US$0.99  
 price_expiration: 1401426698  
 currency: USD  
 cost: 0.99  
 expiration: 1418706987  
 login: 50374641347  
 type: existing  

Ahora abrimos Pidgin y configuramos una cuenta:
Protocolo: WhatsApp
Nombre del usuario: 50374641347 (acá ira tu numero)
 Contraseña: UDXVLRIkH6py747CHlBYBbSF9/E= (la que te proporciono cuando registraste)
Un apodo: cheperobert  

Eso es todo :)
Solo falta agregar los contactos en Pidgin, siempre agregando el código del área del país antes del teléfono. Espero les sirva

viernes, 11 de abril de 2014

martes, 11 de marzo de 2014

KDM Hecho en El Salvador

Nuestro amigo y compañero Giovanni Hurtado (xiorone@gmail.com) de la comunidad openSUSE de El Salvador, ha echo un KDM muy elegante y fino.

Te dejo una imagen:


Puedes descargarlo desde KDE-LOOK
http://kde-look.org/content/show.php?content=163462

Felicidades Giovanni, un gran aporte a Linux.

jueves, 6 de marzo de 2014

Git en mi empresa

Git es un gran software para el control de versiones.

Es importante saber como implementarlo en una empresa, para el control de versiones de Software que desarrollamos o cualquier otra cosa que queramos controlar.

En mi caso lo uso para:
- Control de versiones de software que se desarrolla.
- Control de planos.
- Control de desarrollo de escenarios virtuales para aeropuertos (siempre es bueno regresar atras una textura modificada).

El esquema propuesto:




Antes que nada quiero decir que esta no es la mejor forma escrita en piedra, si buscan por la WEB, podran encontrar algo mejor o peor.. Así como comentarles que no voy a explicar en detalle como se configura cada cosa, ya que existen muchos tutoriales para hacer estas tareas.

Firewall
El firewall esta configurado con la App Shorewall, en este caso con tres interfaces (existen excelentes tutoriales en Alcance libre y el sitio de Shorewall para configurarlo). En este caso un CentOS 6.

Servidos de respaldo (IP dmz 10.10.1.6)
EL servidor de respaldo configurado con un Appliance (openfiler), con el cual puedo gestionar los directorios compartidos con samba y NFS, es donde al final tengo los respaldos de las versiones.

Dándole una mirada al archivo exports
 [roberto@srvresp ~]$ more /etc/exports

# PLEASE DO NOT MODIFY THIS CONFIGURATION FILE!
#       This configuration file was autogenerated
#       by Openfiler. Any manual changes will be overwritten
#       Generated at: Thu Mar 6 10:48:18 CST 2014

/mnt/REPO  10.10.1.3/255.255.255.0(rw,anonuid=96,anongid=96,secure,root_squash,wdelay,sync) 


En este caso el directorio exportado esta sobre /mnt.

Es fundamental acá leer un poco sobre como exportar carpetas con NFS

El servidor de producción (IP dmz 10.10.1.3)
Un servidor con CentOS 6, donde tenemos la carpeta /var/git, que es donde montaremos la carpeta de respaldo (es de notar que los servidores en la DMZ estan en un circulo de confianza, salvo que configuremos en su propio firewall o el shorewall, que no se tengan acceso, en este caso no).

Demosle una mirada con el comando mount a nuestra carpeta de respaldo montada para llevar nuestro control de versiones.

 [root@srvpro Servidores]# mount
.....
.....
...
10.10.1.6:/mnt/REPO on /var/git type nfs (rw,addr=10.10.1.6) nfsd on /proc/fs/nfsd type nfsd (rw)
[root@srvpro Servidores]#

En este punto tenemos una comunicación entre servidores, por lo que los respaldos están haciéndose en el servidor de respaldos, para el cual el servidor de producción solo monta un directorio. (El server de producción no tiene mucho espacio en disco).

Ahora vamos con Git en el server de produccion y el cliente.
Acá pueden haber muchas dudas sobre el uso de Git o como se come eso, lo cual no entrare en detalle, ya que como lo mencione al principio, hay mucha información en la WEB, tutoriales que explican desde lo mas básico.
http://rogerdudler.github.io/git-guide/index.es.html

En el cliente Linux openSUSE
Por supuesto que tengo que tener instalado git, esta en los repos de openSUSE y pueden instalarlo con el gestor de paquetes zypper.

Vamos hacer esto en la carpeta home del usuario.

cheperobert@cheperobert:~> mkdir fercho
cheperobert@cheperobert:~> cd fercho/
cheperobert@cheperobert:~/fercho> git init
Initialized empty Git repository in /home/cheperobert/fercho/.git/
cheperobert@cheperobert:~/fercho> touch leeme.txt
cheperobert@cheperobert:~/fercho> git status
# On branch master
#
# Initial commit
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       leeme.txt
nothing added to commit but untracked files present (use "git add" to track)
cheperobert@cheperobert:~/fercho> git add *
cheperobert@cheperobert:~/fercho> git status
# On branch master
#
# Initial commit
#
# Changes to be committed:
#   (use "git rm --cached <file>..." to unstage)
#
#       new file:   leeme.txt
#
cheperobert@cheperobert:~/fercho> git commit -m "Iniciando control de versiones para fercho versión 1.0"
[master (root-commit) 7cad3c1] Iniciando control de versiones para fecho versión 1.0
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 leeme.txt
cheperobert@cheperobert:~/fercho> cd ..
cheperobert@cheperobert:~> git clone --bare fercho/ fercho.git
Cloning into bare repository 'fercho.git'...
done.
cheperobert@cheperobert:~>


Explicando un poquito:
1. Cree una carpeta fercho
2. Entre a la carpeta
3. Inicialice un nuevo proyecto
4. Cree un archivo
5. Revise el estado del archivo con git status
6. Agrege el archivo con git add
7 Revise nuevamente
8. Hice un commit de los archivos
9. Sali del directorio
10 Clone el proyecto fercho con fercho.git. (Con la opción --bare solo crea un directorio, sin los archivos del arbol de trabajo, por lo que no podemos ver los archivos )


Este fercho.git, lo copio a la carpeta /var/git de mi servidor de produccion.
Ahora ya  podemos clonar en los clientes desde el directorio del servidor de producción, los repositorios para trabajar, luego hacemos push y pull para subir y bajar.

Algunos pasos que no menciono.
Para copiar el fercho.git al server de producción, pueden hacerlo con "scp".
Para clonar el repositorio en los clientes, pueden usar ssh con un usuario valido en el servidor de producción, por lo que es necesario configurar SSH.

Espero les sirva :)






lunes, 10 de febrero de 2014

Linux. Haciendo ping a rangos de IP's o verificando cuales estan vivas

Esto es importante, cuando manejamos varias maquinas en una red, lo que nos ayuda a revisar cuales están activas o respondiendo,

También  nos ayuda a verificar si hay una maquina con una IP en el mismo rango que no debería estar.
Utilizaremos la red 10.10.1.0/24 como ejemplo

Usando el comando fping

cheperobert:~ # fping -s -g 10.10.1.1 10.10.1.15
10.10.1.1 is alive
10.10.1.2 is alive
10.10.1.3 is alive
10.10.1.4 is alive
10.10.1.6 is alive
ICMP Host Unreachable from 172.18.64.254 for ICMP Echo sent to 10.10.1.5
ICMP Host Unreachable from 172.18.64.254 for ICMP Echo sent to 10.10.1.5
ICMP Host Unreachable from 172.18.64.254 for ICMP Echo sent to 10.10.1.5
ICMP Host Unreachable from 172.18.64.254 for ICMP Echo sent to 10.10.1.7
ICMP Host Unreachable from 172.18.64.254 for ICMP Echo sent to 10.10.1.7
ICMP Host Unreachable from 172.18.64.254 for ICMP Echo sent to 10.10.1.7
10.10.1.5 is unreachable
10.10.1.7 is unreachable
10.10.1.8 is unreachable
10.10.1.9 is unreachable
10.10.1.10 is unreachable
10.10.1.11 is unreachable
10.10.1.12 is unreachable
10.10.1.13 is unreachable
10.10.1.14 is unreachable
10.10.1.15 is unreachable

      15 targets
       5 alive
      10 unreachable
       0 unknown addresses

      10 timeouts (waiting for response)
      45 ICMP Echos sent
       5 ICMP Echo Replies received
       6 other ICMP received

 0.53 ms (min round trip time)
 0.89 ms (avg round trip time)
 1.36 ms (max round trip time)
        4.439 sec (elapsed real time)



La opcion s podemos obtener algunas estadisticas
Con la opcion g podemos definir la mascara de la IP o un rango, que ha sido nuestro caso.
ej.

 fping -g 10.10.1.0/24

            o
 fping -g 10.10.1.1 10.10.1.15


cheperobert:~ # for IP in 10.10.1.{1..15}; do if ping $IP -c 1 > /dev/null; then echo $IP alive; else echo $IP dead; fi; done
10.10.1.1 alive
10.10.1.2 alive
10.10.1.3 alive
10.10.1.4 alive
10.10.1.5 dead
10.10.1.6 alive
10.10.1.7 dead
10.10.1.8 dead
10.10.1.9 dead
10.10.1.10 dead

Un pequeño for, que nos dice que si hay un ping a la IP del rango envié la salida a null e imprima el mensaje definido en echo.

Estos for son importantes, porque se pueden usar en muchas formas desde la linea de comando, por cierto los for programando en PHP nunca se me olvidan, la sintaxis de linux siempre tengo que ver la documentación :)

cheperobert:~ # nmap -sn 10.10.1.0-20

Starting Nmap 6.40 ( http://nmap.org ) at 2014-02-10 09:24 CST
Nmap scan report for 10.10.1.1
Host is up (0.00030s latency).
Nmap scan report for 10.10.1.2
Host is up (0.00056s latency).
Nmap scan report for 10.10.1.3
Host is up (0.00057s latency).
Nmap scan report for 10.10.1.4
Host is up (0.00056s latency).
Nmap scan report for 10.10.1.6
Host is up (0.00056s latency).
Nmap done: 21 IP addresses (5 hosts up) scanned in 11.22 seconds
cheperobert:~ #

No podria faltar nmap

Espero les sirva.

martes, 4 de febrero de 2014

Compartiendo internet desde mi openSUSE

A veces es bueno compartir Internet desde una sola PC y mucho mejor si podemos hacerlo a través de un punto inalambrico, que nos ofrezca IP's a computadoras portátiles y teléfonos.

Pero es mas interesante cuando al PC solo tiene una Interfaz de red, para esto le creamos un alias.

Espero les sirva les dejo las configuraciones echas en openSUSE 13.1

En: /etc/sysconfig/network/ifcfg-eth0

BOOTPROTO='static'
IPADDR='172.18.64.40/24'
NAME='82567LM-3 Gigabit Network
STARTMODE='auto'
USERCONTROL='no'
PREFIXLEN='24'

# eth0:0
IPADDR1='192.168.21.1'
NETMASK1='255.255.255.0'
LABEL1='0'

Configuramos el DNS en: /etc/resolv.conf
nameserver 8.8.8.8


Aplicamos el redireccionamiento:
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -F
iptables -F -t nat
iptables -t nat -A POSTROUTING -s 192.168.21.0/24 -o eth0 -j MASQUERADE

Podemos crear un pequeño script

Al final configuran el AP, con los datos necesios, para que puedan na vegar a través de la IP.
Les dejo un pequeño diagrama echo en KolourPain



Suerte.

miércoles, 22 de enero de 2014

Pasar un arreglo de checkbox al darle click a un enlace.

Espero les sirva.

Valida los checkbox y hace un submit, pasando el arreglo por medio de post

<html>
<head>
    <script language="javascript">
       
    function formValidarCheckBox()
    {
      var formulario = document.miform;
      var elementosTotales = formulario.elements.length;
      var total_checked = 0;
      for(i=0;i<elementosTotales;i++)
      {
               if((formulario.elements[i].type=="checkbox") && (formulario.elements[i].checked))
               {
                   total_checked++;
               }
       }
       if (total_checked==0)
       {
            alert("Por favor seleccione al menos un registro");
        }else{
            document.forms["miform"].submit();
        }
   }
    </script>
    </head>
<body>
<form name="miform" id="miform" action="pasar.php" method="post">
<td><input type="checkbox" name="chepe[]" id="chepe0" value="1"></td>
<td><input type="checkbox" name="chepe[]" id="chepe1" value="3"></td>
<td><input type="checkbox" name="chepe[]" id="chepe2" value="5"></td>
<td><input type="checkbox" name="chepe[]" id="chepe3" value="7"></td>
</form>
<td><a href="javascript: formValidarCheckBox()">Eliminar</a></td>
</body>

</html>