Explicación de los Join en SQL

Hola a todos, en la entrada de hoy explicare de una forma sencilla y eficaz que son los Join de tablas en SQL y cuales son los diferentes tipos.

Yo, al igual que muchos informáticos, mantengo una relación de Amor/Odio con SQL, ya que hay muchos conceptos que no están muy claros y uno de ellos era el de los Join, por eso como ya lo se quiero explicarlo de una forma sencilla, para que la gente que quiera aprender le cueste menos que a mi. Empecemos!!

Supongamos que tenemos las dos siguientes tablas. La tabla A está a la izquierda, y la tabla B está a la derecha. Las rellenaremos con cuatro registros cada una.

Ahora unamos estas dos tablas por el campo nombre de algunas formas distintas, y veamos si podemos obtener unas representaciones conceptuales con los ingeniosos diagramas de Venn.

Inner join sólo produce los registros que coinciden en las dos tablas A y B.

SELECT * FROM TablaA
INNER JOIN TablaB
ON TablaA.nombre = TablaB.nombre




Full outer join produce el conjunto de todos los registros en las tablas A y B, con registros coincidentes en ambos lados cuando sea posible. Si no hay coincidencia, el lado que falta contendrá null.

SELECT * FROM TablaA
FULL OUTER JOIN TablaB
ON TablaA.nombre = TablaB.nombre














Left outer join produce el conjunto completo de registros de la tabla A, con los registros coincidentes (si están disponibles) en la tabla B. Si no hay coincidencia, el lado derecho contendrá null.

SELECT * FROM TablaA
LEFT OUTER JOIN TablaB
ON TablaA.nombre = TablaB.nombre


Para producir el conjunto de registros en la tabla A, pero no en la tabla B, usamos el mismo Left Outer Join, y luego excluimos los registros que no queremos del lado derecho mediante una cláusula Where.

 SELECT * FROM TablaA
LEFT OUTER JOIN TablaB
ON TablaA.nombre = TablaB.nombre
WHERE TablaB.id IS NULL



Para producir el conjunto de registros únicos de la tabla A y la tabla B, usamos el mismo Full Outer Join, y luego excluimos los registros que no queremos de los dos lados mediante una cláusula Where.

SELECT * FROM TablaA
FULL OUTER JOIN TablaB
ON TablaA.nombre = TablaB.nombre
WHERE TablaA.id IS NULL
OR TablaB.id IS NULL



Espero que les guste la explicación y les sirva mucho.

WPS Office, la suite ofimática con interfaz Ribbon. ¿Te apetece probarla?

WPS Office, una suite ofimática china que podría dar mucho de qué hablar. La he probado. ¿Os apetece a vosotros probarla? Vamos a ello…


WPS office es una suite ofimática china la cual es desarrollada por  Kingsoft Office, ahora desarrollan la versión Linux, que se encuentra en estado beta (¡ojito que se podría comer a vuestra mascota!).

En resumen, WPS Office es una suite ofimática que consta de procesador de texto, hoja de cálculo y presentaciones. Está enfocada en el mercado chino, con un gran soporte del idioma y los diferentes dialectos de la región. Ese es por el momento su mayor hándicap para el usuario occidental. Entre sus características destaca la interfaz de usuario Ribbon (aunque se puede cambiar), al estilo marcado por Microsoft Office 2007, y un -dicen, no lo he podido comprobar- gran soporte de los formatos propietarios de Microsoft. Por contra, carece de soporte Open Document (ODF). Como detalle, se integra con el menú global de Ubuntu.
 
Probar la suite está al alcance de cualquiera, pues en la web oficial hay disponibles instaladores en DEB y RPM de los que en un principio se pueden valer los usuarios de Ubuntu, Linux Mint, Fedora y openSUSE, además de un instalador genérico para los demás. Eso sí, el programa solo tiene versión de 32-bits, por lo que los usuarios de sistemas de 64-bits tienen que instalar las bibliotecas pertinentes. Y es software propietario (que no tiene por qué ser un punto negativo, pero hay que decirlo).



Lo primero es ir descargando WPS Office. Lo segundo, si tu sistema es de 64-bit, instalar los paquetes, que en Ubuntu y derivadas se llaman ia32-libs, en openSUSE patterns-openSUSE-32bit; ambos los encontraréis en los repositorios. Con Fedora me declaro perdido como para explicarlo, pero en Xenode Systems os lo explican por mí. Una vez instalado todo… todo está en chino. Según las instrucciones que se dan en la web, solo es posible traducirlo al inglés (y no del todo, adelanto), de la siguiente manera, terminal mediante:

cd /opt/kingsoft/wps-office/office6/2052

sudo rm qt.qm wps.qm wpp.qm et.qm

Lo anterior elimina unos archivos que no sé qué son exactamente y al abrir cualquiera de las tres aplicaciones que conforman la suite, el inglés será el idioma a utilizar (aprovecho para advertir que yo he probado la suite en Linux Mint 13 Xfce sin problema siguiendo las instrucciones detalladas, pero no puedo asegurar que todo vaya bien en otros sistemas, así que actuad bajo vuestra responsabilidad). Por cierto que también deberíais instalar las fuentes propietarios de Microsoft, si queréis tener plena compatibilidad (y que no os salga un aviso cada vez que ejecutéis la aplicación).

Llegados a este punto, le he echado un vistazo por encima a Kingsoft Writer, Kingsoft Spreadsheet y Kingsoft Presentation, así se llaman respectivamente las aplicaciones de procesador de texto, hoja de cálculo y presentaciones y lo primero que me me ha llamado la atención es la página de inicio de cada una de ellas, que la tienen y se conecta a Internet para mostrar plantillas de documentos. Pero como todo está en chino, ahí me he quedado.

Para terminar, pregunta obligada: ¿qué os parece?

Netcat la navaja suiza de los hackers

Netcat o nc, es una conocida herramienta para el análisis de red, conocida también como la navaja suiza de los hackers, ya que tiene muchas funcionalidades, similares a la mencionada navaja. En este post explicaremos algunas de sus funcionalidades más básicas con ejemplos:

1.-Netcat como un cliente-servidor:


Netcat puede utilizarse como un servidor y dejarlo a la escucha de un determinado puerto.

nc -l 2389

Además, podemos usarlo para conectarnos a un puerto (2389), recientemente abierto:

nc localhost 2389

Ahora, si escribimos en el lado del cliente, llegará al lado del servidor:

Hi, serrver

En la terminal donde está corriendo el servidor:

Hi,client

Hemos visto un ejemplo de como utilizar Nectat para la comunicación cliente-servidor.

2.-Usar Netcat para transferir archivos:


Netcat puede ser utilizado para transferir archivos. Del lado del cliente supongamos que tenemos un archivo llamado ‘testfile’ que contiene:

hello world

y del lado del servidor tenemos un archivo vacío llamado ‘test’.
Ahora ponemos del lado del servidor:

nc -l 2389 > test

y ejecutamos en el cliente lo siguiente:

cat testfile | nc localhost 2389

cuando revisemos el archivo test del servidor veremos como pone hello world.

Hemos transferido datos del cliente al servidor.

3.-Netcat soporta timeouts:


En ocasiones cuando abrimos una conexión no deseamos que ésta se quede abierta por un tiempo indefinido, así que para solucionar este problema utilizamos la opción -w, para que pasados x cantidad de segundos se cierre la conexión entre cliente-servidor.

Servidor:
nc -l 2389

Cliente:
nc -w 10 localhost 2389

La conexión se cerrará después de pasados 10 segundos.

Nota: no debes usar la opción -w con la opción -l en el lado del servidor ya que -w no causaría ningún efecto y por tanto la conexión quedaría abierta indefinidamente.

4.-Forzar a Netcat para que quede despierto:


Cuando tenemos el servidor corriendo y el cliente se desconecta, el servidor también termina, para evitar esto usamos el parámetro -k:

nc -k -l 2389

De esta forma aunque cerremos el cliente el servidor seguirá abierto.

Bueno, durante el post hemos visto algunos ejemplos del uso de Netcat, pudieron apreciar que es una herramienta muy versátil, de ahí lo de la navaja suiza de los hacker ;) , aquí presentamos solo algunas de sus funcionalidades, como siempre si quieren más información: man nc, y verán todo lo que se puede hacer con esta herramienta. Hasta el próximo post y Happy Hacking!!!

Instalar kernel Linux 3.11 en Ubuntu

En esta entrada super rápida veremos como instalar el nuevo kernel de Linux (3.11) en Ubuntu.


Descargamos los paquetes del kernel de esta página:


http://kernel.ubuntu.com/~kernel-ppa/mainline/v3.11-saucy/


descargar los 3 archivos dependiendo de tu arquitectura si es 32 o 64 bits, esos archivos son:

1 - linux-headers

2 - linux-headers-generic

3 - linux-image-generic

Una vez descargados los 3 archivos los mueves a la carpeta personal, luego ejecutas el siguiente comando para instalar:

sudo dpkg -i *.deb

Reinicias y listo !! ya instalaste el nuevo kernel

Elementary OS Luna, ¿El GNU/Linux más bonito de la historia?

Hace unos días navegando por una de las web que suelo visitar a menudo, me percate de que habían sacado una nueva distribución de GNU/Linux basada en Ubuntu (como si esto fuera una novedad). Lo que si que tenía de novedoso esta distribución es que la habían catalogado como "La distribución GNU/Linux más bonita", por lo que parece el creador de esta distribución se inspiro en Mac OS X. El sistema de escritorio que usa es GNOME 3 (sistema de escritorio que en lo personal aborrezco, nadie me quitara mi Unity o KDE) por lo tanto ya empezamos mal.

Antes de seguir con esto, os dejo un vídeo del propio creador.


Una de las cosas que más llama la atención de esta distribución (o por lo menos a mi) es que usa un shell propio llamado Pantheon.

Dejando tonterías a parte, vamos a ir paso por paso viendo a esta distribución

Instalación
  
Elementary OS Luna esta basado en ubuntu 12.04 y su instalación es un calco de esta, con los mismos pasos, por lo tanto nadie tendría ningún problema en instalarla.

Si nunca habéis instalado una distribución GNU/Linux, buscad en google como instalar ubuntu 12.04

Primer contacto

 La primera impresión que da es la de "simpleza" y estética pulida, la pantalla de inicio de sesión es muy bonita, pero no se puede decir si una distribución es buena por la pantalla de inicio.

Cuando hemos iniciado sesión, vemos claramente las referencias a Mac OS X, un fondo bonito, un dock simple etc...

El menú para lanzar las aplicaciones también es muy mono


Por lo que se puede ver, estéticamente es muy mono, pero ahora llegamos a la parte mala.

Las ventanas no tiene botones de miminizar ni de maximizar, solo tienen un boton, el de cerrar. Esto es algo que a mi en lo personal me molesta muchísimo, cuando tengas un montón de pestañas abiertas que haces??

La otra es que para abrir el menucito tienes que teclear la secuencia Alt+F2 y no la tecla super ("llamada windows"), y por último el no poder poner documentos en el escritorio es algo ya infernal.

Aparte de lo de arriba le faltan un montón de aplicaciones por defecto, esta es una distribución muy simple, tiene midori como navegador, pero nunca superar a firefox que es de obligada descarga y como gestor de correo se necesitara instalar thunderbird etc de programas útiles.

Conclusión: OS Luna es una distribución muy bonita, eso no lo niego, pero todas sus carencias no compensan la estética, por lo tanto esta será una distribución que para mi pase sin pena ni gloria.

Redimensionar imágenes con la terminal.

Todos los días me tengo que enfrentar a nuevas dificultades y obstáculos, y en el caso de hoy era un problema relacionado con las dimensiones de una imagen para hacer unos tramites, ya que superaba los limites. Si tenemos una terminal no tendremos ningún problema con  estas cosas debido a que tenemos el comando  mogrify para redimensionar cualquier imagen que queramos. El comando funciona de la siguiente manera.


mogrify -resize 400x300 file.jpg


mogrify es el comando como tal, luego le tenemos que poner el parámetro -resize este parámetro indica al programa mogrify que queremos redimensionar la imagen, ya que mogrify tiene muchísimos parámetros, 400x300 son las proporciones a las que quiero redimensionar la imagen, también se pueden poner porcentajes como 50% que redimensionara la imagen a la mitad y por último file.jpg es el archivo que queremos modificar, se puede poner * para decir todos los archivos.

Con esto ya podríamos redimensionar cualquier imagen que queramos, pero recordar el parámetro y el nombre del comando es complicado, por lo que vamos a crear un pequeño script más fácil de recordar.

Creamos un archivo que llamaremos redimensionar y este será su contenido

#!/bin/bash
#redimensionar
#author: Luistecnologico

if [ "$#" -ne 3 ]
 then
        echo "Este comando debe tener 3 parametros"
 else
        ArgumentoFinal=$1"x"$2" "$3
        mogrify -resize $ArgumentoFinal
fi
Con esto ya tenemos el script creado, ahora lo que tenemos que hacer es darle permisos al archivo.



chmod 777 redimensionar

ahora lo que tenemos que hacer es poner el script en un lugar desde donde pueda ser llamado siempre, lo que tenemos que hacer es mover este script a /bin

sudo mv redimensionar /bin

Necesitamos permisos de administrador para poder moverlo, con esto ya esta, todo listo, ya tenemos nuestro comando personalizado.

Escribir Japonés en Linux

No suelo instalar el sistema operativo muy a menudo pero cuando lo hago siempre sigo una cosa, y es poder escribir en el ordenador en japonés. Nunca me han gustado los tutoriales que vi en internet, por lo que ahora pondré como lo hago yo siempre, para todos los que quieran escribir japones en el sistema del pingüino.

Lo primero es ir al soporte de idiomas.


En la zona de abajo "Sistema de método de entrada de teclado" ponemos ibus. Como de primeras no tendremos instalado el idioma japonés, tendremos que darle a "instalar o eliminar idiomas..."


Buscamos Japonés y seleccionamos la casilla, una vez seleccionada pulsamos en "Aplicar cambios"

Cuando hemos hecho esto tenemos que hacer lo siguiente:

En la esquina superior derecha habrá un teclado, entonces hacemos click derecho sobre ese teclado y damos a preferencias.

Vamos a la pestaña "Métodos de Entrada"


En esta pestaña damos a "personalizar métodos de entrada activos" y pulsamos en "Seleccione un método de entrada activos" seleccionamos japones y pulsamos en Añadir,ahora vamos a la pestaña General. Aquí tendremos que poner los atajos para nuestro teclado, como los que tengo yo o los que queráis.



Espero que os sirva, さよなら!!

Mi escritorio este verano.

Una de las cosas que se suele hacer en las comunidades Linux es enseñar como es el escritorio de uno, pues en esta entrada simplemente voy a enseñar como lo tengo yo.


Instalar Oracle XE 11g R2 en Ubuntu

Hola a todos, en esta entradas veremos como instalar Oracle XE 11g R2 en Ubuntu, creo esta entrada ya que no había encontrado información sobre su instalación en Español y no solo eso, sino que la instalación es un poco "infierno", y así lo dejo por escrito para mi.

Bueno, antes de nada tengo que deciros que en la versión 11g tiene ya APEX (Aplication Express), si queréis que funcione tal y como muestra en este tutorial, no tenéis que tener apache instalado.

1. Instalación Oracle XE

Oracle XE esta oficialmente soportado para plataformas windows y las distribuciones basadas en Red Hat incluyendo a esta. Las distribuciones Linux basadas en Debian, como es el caso de Ubuntu, no están oficialmente soportadas por lo tanto la instalación sera mucho más dura.

Lo primero de todo es descargarse la versión XE de oracle Download Oracle Database Express Edition 11g R2

 Cuando lo tengamos descargado lo tenemos que descomprimir

unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip

Esto nos generará una carpeta llamada Disk1

Ahora instalamos los paquetes requeridos para la instalación

apt-get install alien libaio1

Ahora convertimos el paquete .rpm a .deb con alien

cd Disk1
sudo alien --scripts oracle-xe-11.2.0-1.0.x86_64.rpm

creamos un archivo /sbin/chkconfig con la siguiente información dentro (es necesario ser root)

#!/bin/bash
# Oracle 11gR2 XE installer chkconfig hack for Ubuntu
file=/etc/init.d/oracle-xe
if [[ ! `tail -n1 $file | grep INIT` ]]; then
echo >> $file
echo '### BEGIN INIT INFO' >> $file
echo '# Provides: OracleXE' >> $file
echo '# Required-Start: $remote_fs $syslog' >> $file
echo '# Required-Stop: $remote_fs $syslog' >> $file
echo '# Default-Start: 2 3 4 5' >> $file
echo '# Default-Stop: 0 1 6' >> $file
echo '# Short-Description: Oracle 11g Express Edition' >> $file
echo '### END INIT INFO' >> $file
fi
update-rc.d oracle-xe defaults 80 01

Damos privilegios al archivo

chmod 755 /sbin/chkconfig

Creamos el archivo /etc/sysctl.d/60-oracle.conf con la siguiente información (necesario ser root)

# Oracle 11g XE kernel parameters
fs.file-max=6815744
kernel.sem=250 32000 100 128
kernel.shmmax=1073741824
net.ipv4.ip_local_port_range=9000 65000

Cargamos los nuevos parámetros del kernel

service procps start

Ejecutamos los siguientes comandos

ln -s /usr/bin/awk /bin/awk
mkdir /var/lock/subsys
touch /var/lock/subsys/listener

Para evitar los errores de MEMORY_TARGET

rm -rf /dev/shm
mkdir /dev/shm
mount -t tmpfs shmfs -o size=2048m /dev/shm

Creamos el siguiente archivo /etc/rc2.d/S01shm_load con la siguiente información

#!/bin/sh
case "$1" in
start) mkdir /var/lock/subsys 2>/dev/null
touch /var/lock/subsys/listener
rm /dev/shm 2>/dev/null
mkdir /dev/shm 2>/dev/null
mount -t tmpfs shmfs -o size=2048m /dev/shm ;;
*) echo error
exit 1 ;;
esac

Le damos permisos al archivo

chmod 755 /etc/rc2.d/S01shm_load

Instalamos el paquete de Oracle XE

dpkg --install oracle-xe_11.2.0-2_amd64.deb

Añadimos las siguientes variables al archivo .bashrc que esta en nuestro directorio de conexión

export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
export ORACLE_SID=XE
export NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
export ORACLE_BASE=/u01/app/oracle
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$PATH

Recargamos el bash del perfil

source ~/.bashrc

Arrancamos la configuración de Oracle XE:

/etc/init.d/oracle-xe configure

Ahora Oracle ya debería estar instalado, si en la configuración de Oracle XE en el puerto http [8080] le pusimos 8080 si cogemos el navegador y ponemos localhost:8080/apex nos debería aparecer una ventana de APEX. La versión por defecto de APEX es la 4.0 para tener la última 4.2 tendrías que quitar esta y poner la nueva, pero eso ya será en otra manual.

Si algo ha salido mal en el proceso de instalación o quieres desinstalarla tienes que seguir estos pasos

sudo -s
/etc/init.d/oracle-xe stop
ps -ef | grep oracle | grep -v grep | awk '{print $2}' | xargs kill
dpkg --purge oracle-xe
rm -r /u01
rm /etc/default/oracle-xe
update-rc.d -f oracle-xe remove

Espero que os guste el manual.

Hasta la próxima entrada.

Mejorando el rendimiento de firefox

Hola, en el día de hoy vamos a aprender como mejorar el rendimiento de nuestro firefox de una forma muy rápida, por lo que esta será una entrada muy muy corta.

Empecemos!!!

Abrimos Firefox y en la barra de direcciones escribimos about:config

en la barra de buscador buscamos lo siguiente

“network.http.pipelining” ponla en “True”
“network.http.proxy.pipelining” ponla en “True”
“network.http.pipelining.maxrequests” ponla en “30”
Después haz clic derecho en cualquier lugar y elige:
“Nuevo” -> “Entero”, escribe como nombre “nglayout.initialpaint.delay” y dale el valor “0”.



Una vez hecho esto, simplemente reinicia tu firefox y será mucho más rapido.

Servidor ubuntu completo - XX parte - configurar el proxy

Hola a todos, en la entrada de hoy vamos a ver como configurar el proxy en un ubuntu server con esto no me refiero que veamos squid, sino que vamos a ver como configurar el proxy para nuestro servidor, en otras palabras, decirle a nuestro servidor que use un proxy, para esto tendremos 2 fases:

1. Configurar para la salida de internet normal.
2. Configuración para el gestor de paquetes apt.

Empecemos!!!

Para tener salida hacia Internet a través de un servidor proxy HTTP (por ejemplo para descargar paquetes, documentos o archivos usando la herramienta wget) se debe configurar la variable de entorno http_proxy

 Editamos el archivo environment de la carpeta /etc


nano /etc/environmet

dentro de este archivo añadimos estas 2 lineas.

export http_proxy=http://ipproxy:puerto/
export https_proxy=http://ipporxy:puerto/

Para que el gestor de paquetes apt pueda descargar actualizaciones desde Internet, se debe configurar el proxy agregando un archivo de configuración dentro del directorio /etc/apt/apt.conf.d/

nano /etc/apt/apt.conf.d/95proxies

dentro de este archivo añadimos las siguientes lineas

Acquire::http::proxy "http://ipproxy:puerto/";
Acquire::ftp::proxy "ftp://ipproxy:puerto/";
Acquire::https::proxy "https://ipproxy:puerto/";

Espero que esto os sirva tanto como a mi.

Hasta la próxima entrada :)

Virtual Host en apache.


Hola a todos, en el día de hoy veremos como crear un virtual host en apache, para los que no sepan que es un virtual host lo explicare brevemente.

Los dominios como vimos en el apartado de DNS, son nombres que hacer referencias a direcciones ip, estas ip son en la mayoría de los casos las direcciones ip públicas de los ruters, por lo que a simple vista puede parecer que si queremos tener varias paginas web necesitaremos varios ruters, para esto se crearon los virtual host, para que dependiendo del nombre dns entre en una carpeta de nuestro servidor apache y sino en otra.

Un ejemplo de esto es que cuando ponga la dirección www.proiximaparadajapon.sytes.net entren el la carpeta /var/www/proximaparadajapon y si ponen www.ppj.sytes.net entren en la carpeta /var/www/ppj

Bien, empecemos con la creación de los hosts.
Para crear los VirtualHost en Apache existe un directorio llamado sites-available y allí es donde crearemos los VirtualHost. Accedemos al directorio …

cd /etc/apache2/sites-available

Copiaremos el archivo por defecto default para crear el Virtual Host en este paso para la dirección de nuestro server …


cp default nuestrodiminio.sytes.net

//escribo .sytes.net ya que es el subdominio que tengo con no-ip, pero si tenéis un dominio contratado, simplemente poner ese.

A continuación editaremos el archivo nuestrodominio.sytes.net del siguiente modo …

nano nuestrodiminio.sytes.net

Este archivo default es el que usa Apache para decir cual es la raíz de nuestro servidor Web. En este caso y como podemos ver tenemos el archivo por defecto …



Además de modificar algunas lineas tendremos que agregar otras que no están en el archivo de configuración por defecto. En mi caso dispongo de dos subdominios que quiero alojar. El de proximparadajapon.Sytes.Net para el directorio /proximaparadajapon



Si comparáis vuestro archivo default con el mio veréis que he agregado algunas nuevas opciones como por ejemplo ServerName y ServerAlias, también he agregado la ruta /var/www/proximaparadajapon en el DocumentRoot y en la linea , etc …

Poner vuestras datos.

Ahora hay que hacer que coja nuestras modificaciones, para eso vamos a usar el comando a2ensite nuestrodominio.sytes.net

a2ensite nuestrodominio.sytes.net

Después de esto solo nos queda reiniciar el servidor apache y ya tendremos todo :)

Descomprimir archivos en Linux desde la consola


En modo gráfico tenemos el gestor de archivadores para facilitarnos la vida. Pero, ¿cómo tratar con archivos comprimidos o empaquetados como los tgz, tar, bz2 o rar en la consola?

tar

Se trata de un archivo que combina varios archivos en uno, no hay compresión de datos. Para extraer el contenido usamos el comando tar con los flags x (extract, extraer) y f (file, desde un archivo), y opcionalmente v (verbose) para mostrar por pantalla el proceso o vv para mostrar no solo los archivos y carpetas creadas, sino información sobre estas.

tar xvf archivo.tar

gz

Se trata de un archivo comprimido con gzip. Para descomprimir utilizamos el comando gzip con el flag -d (descomprimir) o bien el comando gunzip, que no es más que un enlace a gzip.

gunzip archivo.gz
gzip -d archivo.gz

tgz, tar.gz

Un archivo empaquetado con tar y comprimido con gunzip. Se descomprime de la misma forma que los tar, añadiendo el flag z para indicarle que use gzip para descomprimir.

tar xvzf archivo.tar.gz

bz2

Archivo comprimido con bzip2. Para descomprimir se usa el comando bzip2 con el flag -d (descomprimir) o bien el comando bunzip2, que no es más que un enlace a bzip2.

bunzip2 archivo.bz2
bzip2 -d archivo.bz2

tar.bz2

Similar a los archivos tar.gz, pero se usó bzip2 para comprimirlo. Para descomprimir se usa también tar, con el flag j en lugar de z:

tar xvjf archivo.tar.bz2

zip

Archivo comprimido con zip. Se descomprime usando el comando unzip:

unzip archivo.zip

rar

Formato propietario de RarLab, creadores del famoso Winrar. Normalmente el comando rar no está instalado en el sistema


sudo aptitude install rar

Se descomprime con el flag -x (eXtract, extraer)

rar -x archivo.rar

Un nuevo gran proyecto

Hola a todos, me encamino a un nuevo proyecto.
En este nuevo proyectos no tendréis que seguir manuales ni nada por el estilo.
Hace poco un profesor mio me sugirió hacer una sección en la que colgara las maquinas virtuales de los server que voy montando y así la gente pudiera descargarlas. Pues bien, después de mucha mucho reflexionar he decidido hacerlo.

Las máquinas virtuales que subiré por ahora serán de el manual de Ubuntu server, Por lo tanto tendremos desde la maquina virtual más básica simplemente con la instalación, hasta la maquina virtual más completa con todo ya implementado pasando por las zonas intermedias.

El usuario común sera en todas la misma: Luis
y su contraseña siempre sera para todas las máquinas: 1234
La contraseña del usuario root siempre será: 1234

Utilizaré versiones de 32bits para que todo el mundo pueda utilizarlas.

Si queréis alguna máquina virtual en especial simplemente dejarlo en los comentarios y cuando tenga algo de tiempo lo haré.

Servidor Slackware completo - III parte - servidor FTP

En esta entrada aprenderemos a montar nuestro servidor ftp en slackware, el servidor a usar es uno que ya hemos utilizado antes en ubuntu, vsftpd, por lo tanto la zona de configuración del mismo os lo dejo como enlace aquí --> Servidor ftpd

Como hicimos la anterior vez, para saber si tenemos instalado un paquete lo tendremos que buscar en /var/log/packages

por lo tanto pondremos:


ls /var/log/packages/vsft*

dando como resultado algo como esto:























Si no lo tuvierais instalado (raro ya que por defecto se instala), mirar al final del tutorial.

ahora lo único que tendríamos que hacer sería configurar el vsftpd e iniciarlo,
para iniciarlo pondremos lo siguiente:


/usr/sbin/vsftpd &

Con esto ya lo tendremos iniciado y funcionando:


Si no lo tenias ya instalado.

Si no lo tenias instalado, tendrás que descargar el paquete e instalarlo.

Descargalo de aquí ftp://ftp.slackware.com/pub/slackware/slackware-14.0/slackware/n/vsftpd-3.0.2-i486-1.txz e instalo con:

installpkg vsftpd-3.0.2-i486-1.txz

Nuestro propio Media Center con Ubuntu y XBMC

Hola a todos!! En el día de hoy nos montaremos nuestro propio Media Center, para los que no sepáis lo que es un Media Center lo describiré como: "Un ordenador destinado a estar en el salón de casa acompañando al televisor para la reproducción de contenido multimedia". 

Ya sabemos que es un Media Center, pero ¿Qué es lo que necesitamos?

Después de este tutorial, nosotros tendremos lo siguiente:

  • Centro Multimedia completo.
  • Mando a distancia. (solo si tienes móvil con android).
Bien, el SO que usaremos sera Ubuntu, en mi caso he utilizado una versión desktop para la instalación, pero podéis ponerlo en vuestro server si le poneis antes una interfaz gráfica (no aconsejo ponerlo en el server ya que el server tiene que ser rápido y aunque el media center no consuma mucho siempre es mejor dejarlo libre)

Supongo que todo el mundo sabe como instalar ubuntu (o por lo menos su versión server).

1. Abrimos una consola y escribimos para agregar las librerias:

sudo add-apt-repository ppa:team-xbmc/ppa

2. Refresca la información local:

sudo apt-get update

3. Instalamos el paquete

sudo apt-get install xbmc

Con esto ya tendremos instalado en nuestra máquina xbmc.

Lo siguiente que tendremos que hacer sera programarlo para que xbmc arranque como tarea al inicio, podemos hacerlo de varias formas.

  1. Desde Aplicaciones al inicio:

2. Editando el archivo .profile

sudo nano .profile


En este archivo tendremos tendremos que añadir "xbmc" sin comillas al final del archivo.

cuando lo tengamos, cada vez que encendamos el ordenador aparecerá nuestro media center.

No voy a explicar nada más que lo imprescindible para poner el mando a distancia, la investigación de como funciona el programa se la dejo a ustedes (es muy sencilla).

Mando a distancia.

Si no tienes un android es mejor que no sigas leas esto ya que no te servirá.

Para poderlo controlar necesitaremos:

  • XBMC Remote instalado en nuestro android.
  • Configurar nuestro ordenador con una ip estática.
  • Configurar el programa para que pueda ser manejado.

Desde el google play se instala en android la aplicación.
Para configurar la red, mirar los tutoriales de "Servidor Ubuntu completo"

Configurar el programa:

Dentro del programa tendremos que ir a la zona de ajustes > Servicios y activamos la casilla que pone "Permitir el control de XBMC via http"

Asignamos un nombre de usuario y una contraseña:

Esta foto no es mía y es de una versión más antigua, pero sirve para entender el concepto (PD:. No pondré en este articulo fotos mías por pereza)

Con esto ya tenemos nuestro la parte del ordenador lista, ahora toco el móvil.

La primera vez que la abramos nos dara un error como es logico, le damos a Settings y luego a Close.




Ahora clicamos en el boton de opciones de nuestro movil para añadir el Host manualmente ya que el Wizard funciona fatal.
Seleccionamos Add Host y lo rellenamos como en la imagen.


Name of this instance: xbmc (de momento que si no da problemas)
Host or ip adress: 192.168.0.3 (o la que tengamos)
Http por atapi : 8080
username : xbmc
password: 1234

No hay que rellenar ningun campo mas, aceptamos y listo. Ya deberia funcionar el telefono, si no va por lo que sea o porque nos hemos equivocado, reintroducimos los datos de nuevo desde Manage XBMC hosts, prestando especial atencion en introducir bien la constraseña (xbmc)



Bueno, ya deberiamos tener un menu parecido a este desde el que podemos explorar nuestra biblioteca o usarlo en modo mando, desde el menu del modo mando se puede introducir texto como comentaba al principio.




Con todo esto ya tendremos nuestro Media Center completo, espero que lo disfruteis y os espero en la proxima entrada. Bye!!!!

Servidor Slackware completo - II parte - servidor ssh

Muy buenas a todos, en la entrada de hoy veremos como instalar el servicio ssh en un slackware, la verdad es que es más fácil de lo que podéis imaginar. Empecemos!!!

Lo primero que tenemos que hacer es comprobar si tenemos los paquetes del openssh, deberíamos tenerlo preinstalado, ya que viene con el sistema, pero aún así lo comprobaremos, para ello abrimos una terminal y tecleamos lo siguiente:

ls /var/log/packages/openssh*

si la respuesta que nos da es algo como:

/var/log/packages/openssh-6.1p1-i486-1

es que tenemos el paquete instalado y no hace falta

Si lo tenemos instalado lo único que nos falta es iniciar el servicio (si no esta instalado mirar más abajo). Para iniciar el servicio tecleamos:

/etc/rc.d/rc.sshd start

con esto ya tendremos nuestra ssh iniciado.

para comprobar si de verdad esta iniciado tecleamos lo siguiente:

netstat -plutn | grep ssh

si la salida del comando es como la de la imagen inferior es que todo esta iniciado y funcionando perfectamente.

Con esto ya estará todo listo y solo tendremos que acceder a el por el puerto 22


 SI NO ESTA INSTALADO

Si no teníamos instalado openssh lo que tendremos que hacer será descargarnos los paquetes oficiales desde el CD1 o DVD o desde los repositorios oficiales de slackware ftp://ftp.slackware.com/pub/slackware/slackware-14.0/slackware/n/openssh-6.1p1-i486-1.txz

cuando este descargado vamos a la dirección donde este descargado y tecleamos:

installpkg openssh-6.1p1-i486-1.txz

Después sigue los pasos de arriba para completarlo.

Servidor Slackware completo - I parte - Instalación

No encontré mucha información sobre la instalación de Slackware en español, la mayor parte estaba en ingles (como la mayoría para este sistema) por eso creo este tutorial, ya que no es muy intuitiva que digamos.

La versión de Slackware a instalar es la versión 14. Esta entrada será muy larga. Empecemos!!!!

Inicio.

Arrancamos el ordenador con el DVD de Slackware para que arranque desde el DVD, la primera pantalla que vemos es como la siguiente, en esta pantalla simplemente se nos da la bienvenida y y además nos dice si queremos poner parámetros de configuración del kernel, como ahora solo queremos una instalación sencilla pulsamos directamente Enter.























Para elegir la distribución de teclado pulsamos 1

 Elegimos la opcion qwerty/es.map























probamos el teclado para comprobar























para salir presionamos enter, luego 1 y después enter

iniciamos sesión como root























Toca el turno de crear las particiones.

Ahora tenemos que crear las partciones para instalar nuestro sistema, en mi caso solo hare raiz (/) y swap.

primero comprobamos los discos del sistema con el comando "fdisk -l"























El resultado obtenido es el siguiente






















Cuando ya sabemos cual es nuestro disco duro, empezamos con el particionamiento del mismo tecleando lo siguiente: cfdisk /dev/sda

Donde he puesto /dev/sda tendreis que poner el que tengáis vosotros.

Con el comando cfdisk accederemos a la interfaz cfdisk






















Primeros creamos la partición swap, pulsamos la opción new























Seleccionamos la opción [Primary]























Tamaño de la particion swap en mi caso 1024Mb























En esta zona tenemos que decidir la posición de la partición en el árbol de particiones, en mi caso seleccionaré [Beginning]























Seleccionamos el tipo de partición que será, utilizando la opción [type]























En esta ventana veremos todos los tipos de particiones que podemos elegir, esta será mi particion swap por lo tanto tengo que elegir Linux swap, para esto pulsamos enter























Tecleamos 82























Bien, ahora crearemos la partición raiz (/)

seleccionamos la opción new























Crearemos una partición primaria, por lo tanto seleccionamos la opción [primary]























Simplemente le asignamos el resto del espacio pulsando Enter























Esta partición la marcamos como sector de arranque (en efecto, podríamos tener una partición solo para el sector de arranque), para marcarla como tal pulsamos sobre la opcion [Bootable] En la zona que pone Flags veremos como cambia a Boot























Guardamos los cambios pulsando la opción [Write]























Nos pregunta si estamos de acuerdo, tecleamos yes























Con esto el particionamiento ha concluido, seleccionamos la opción [Quit] para salir de la interfaz de cfdisk y regresar a nuestra consola donde continuaremos con la instalación.























Configurando la instalación.

Para acceder a la pantalla de configuración escribimos setup























Se abre la siguiente ventana con las distintas opciones donde se llevara acabo la verdadera instalación.























Lo primero que haremos sera activar la partición swap que creamos, para ello vamos a la opción ADDSWAP























Como ya la hemos creado la detectara automáticamente, pulsamos <OK>
























Pregunta si revisar la partición para buscar daños, le damos a la opción <No>

La siguiente ventana nos indica que la operación se ha realizado correctamente y que se ha añadido a la particion /fstab, pulsamos <ok>























"TARGET"

Ahora tenemos que declarar la partición raiz que es la otra partición que creamos, para ello seleccionamos la opción <select>























Seleccionamos Format para asignarle un sistema de archivos  a la partición


En mi caso seleccionare ext4

Una vez seleccionado el formato iniciará el formateo

Una vez finalizada se muestra una pantalla indicando que se agrego  a la partición fstab <ok> para continuar























En esta zona nos pregunta de donde instalara los paquetes, yo estoy utilizando un DVD por lo tanto elijo la opción 1 y pulso <ok>

Nos pregunta si busca el CD de forma automática o de forma manual, yo elegiré auto

Se realiza el proceso de escaneo

"SELECT"

Ahora tendremos que decir los paquetes que se instalaran, es muy importante marcar la opción KDEI International language support for KDE esto hará que KDE tenga soporte para nuestro idioma, para marcarlo nos dirigimos hasta la opción y pulsamos la barra espaciadora para que aparezca el asterisco alado.























"Install"
 Ahora nos pide seleccionar 1 entre 7 opciones de instalación, yo seleccionare la opción "full" ustedes seleccionen la que deseen.

 En este punto empieza la instalación propia del sistema. Este es un buen momento para preparar un cafe o comer algo mientras miras la tele.
























Cuando ya este instalado nos preguntara si queremos crear un USB bootable, yo en este manual le diré que no

"CONFIGURE"

Definimos como instalaremos LILO, yo instalare la forma simple

Elegimos la resolución de pantalla que queremos, si no tenemos claro cual es o no esta en la lista, elegimos la estandar tal y como lo hago yo.

Agregamos parámetros para el kernel, en mi caso no usare y pondré directamente <ok>

Pregunta si deseamos incluir soporte UTF-8 en nuestra consola, pulsamos <yes>

Elegimos donde queremos colocar LILO, para este caso seleccionamos MBR

Seleccionamos el controlador para el raton, en la mayor parte de los casos es la que esta por defecto "imps2"

Nos pregunta si deseamos usar el ratón para las acciones de terminal, seleccionamos <yes>

Pregunta si deseamos configurar la red, seleccionamos <yes>

Agregamos el nombre para nuestro Host

Solicita el nombre de dominio, para omitir pulsamos "."

Seleccionamos la forma en la que obtendremos la IP, en la mayoría de los casos DHCP



 

En algunos casos los provedores ISP ponen nombres a sus servidores DHCP, pero la mayoría de las veces no es así, entonces simplemente pulsamos <ok>

Aparece la configuración que hemos seleccionado si todo esta correcto seleccionamos la opción <yes>

Seleccionamos los servicios que se ejecutaran al inicio, si es el caso pulsamos <ok>

Pregunta si queremos configurar las fuentes para la consola, en mi caso <no>

 Configuramos el reloj, para hacerlo adecuadamente seleccionamos <no>

Elegimos nuestra zona horaria.

Elegimos el entorno de escritorio que deseamos usar en mi caso KDE, por lo tanto xinitrc.kde

Nos advierte que el usuario root no tiene contraseña y que si queremos ponerle una, seleccionamos <yes>

Agregamos la contraseña y pulsamos enter

Hemos terminado con el proceso de instalación y se nos muestra una pantalla de confirmación, <ok> para continuar

Regresamos a la pantalla donde toda la instalación empezo, seleccionamos EXIT para salir del setup

Reiniciamos nuestro equipo tecleando "reboot"


Una vez reiniciado nos encontraremos la pantalla de LILO

Al terminar de cargar llegaremos a la linea de comando donde teclearemos "startx" para acceder al entorno gráfico


Listo, ya tenemos nuestro slackware instalado y funcionando. Espero que lo disfruteis.

Este es el proceso de instalación de Slackware, como veis es bastante largo y no es intuitivo.