miércoles, 11 de marzo de 2009

Crear nuestra propia distribucion de guadalinex

Las aplicaciones de este procedimiento pueden ser muy variopintas, ademas de aprender claro está. Supongamos el caso de que queremos una versión live con una selección de paquetes personalizada, por ejemplo, con algún analizador de tráfico, alguna utilidad de la wifi o porque queremos la imágen para reparar otros pcs y no queremos ni el oppenoffice, ni el ekiga ni nada por el estilo... o bien nos ocurre que instalamos guadalinex en PCs sin internet y siempre lo tenemos que dejar desactualizado... Todo esto se puede corregir creando una distribución nueva de guadalinex a nuestra medida:


Una solución facil sería montar un usb live e instalar allí toda la lista de paquetes, vale, correcto, pero que pasa cuando nuestro usb es de 1 Gb y necesitamos liberar espacio para instalar los paquetes que necesitamos, o queremos simplemente cargarlo en un cd porque otras máquinas no disponen de arranque usb, o simplemente no queremos esos paquetes...

Entonces es cuando nos encontramos con la frase " el sistema de ficheros se almacena en un fichero tipo squashfs". Bien, el arranque via CDrom descompacta el filesystem.squashfs creando nuestro sistema, pero el filesystem.squashfs no se modifica por mucho que borres programas". El primer reto por lo tanto será descomprimir el archivo squashfs y aprender a modificarlo.

Precondiciones:

  • Una máquina con guadalinex V3 o superior, tambien funciona con ubuntu 6.10 o mayor.

  • Unos 3-5 GB de espacio libre.

  • CD o imagen ISO de guadalinex mejor la V5 yo lo he hecho con la version DVD por lo que con la ISO CD 1 de arranque no debe haber ningun problema.

  • Tener instalados los paquetes squashfs-utils y mkisofs.

    Si no los tuvieramos o no lo supieramos, ejecutamos en una consola las dos siguientes lineas:

    $ apt-get install squashfs-tools
    $ apt-get install mkisofs

  • Una conexión establecida a internet desde nuetro sistema.

Como se trata de un proceso bastante complejo, es necesario tomarselo con paciencia releerlo varias veces y una vez comprendido todo ponerse manos a la obra.

Debido a la complejidad vamos a utilizar directorios con nombres bastantes sugerentes para no liarnos, parece algo redundante trabajar con carpetas de contenido similar pero recordemos que los archivos iso y squashfs se montan como de solo lectura por lo que no podemos escribir en ellos y se debe realizar una copia exterior para su modificacion.

/miguadalinex -> Donde copiaremos todos los archivos de la iso, aqui reescribiremos el filesystem.squashfs modificado y será la ruta que utilizaremos para montar la iso modificada. Situada en nuestro home

/misquashfs -> Donde copiaremos los archivo de la imagen squashfs montada para modificarlos. Situada en nuestro home

/mnt -> Donde se montará la imagen de la iso o Cdrom de guadalinex V5. Una vez copiados los datos se desmontará para montar a continuacion el archivo squashfs. Se pueden crear carpetas diferentes incluso en el home para ir realizando los montajes, pero si ya existen una carpeta /mnt para estos menesteres y los montajes son momentaneos para que rizar el rizo...

Proceso de Creación:

1- Inicializaciones. Abrimos un terminal y situados en nuestro home, creamos las carpetas donde iran las copias de los archivos.

* Todo el proceso se realiza situados en nuestro $home, sin movernos de el salvo comandos que nos redirijan directamente, luego se vuelve automaticamente.

# mkdir miguadalinex

# mkdir misquashfs

2-Montamos la imágen iso en /mnt y copiamos los archivos a nuestra carpeta miguadalinex. Una vez concluido desmontamos.

# sudo mount -o loop guadalinex-v5-dvd.iso /mnt

# cp -dpR /mnt/* ./miguadalinex

# sudo chmod +w miguadalinex -R

# sudo umount /mnt/

3-Montamos el fichero squash en la carpeta /mnt y copiamos los archivos a nuestra carpeta misquashfs. Una vez concluido desmontamos.

# sudo mount -t squashfs -o loop miguadalinex/casper/filesystem.squashfs /mnt

# cp -dpR /mnt/* ./misquashfs

# sudo umount /mnt/

4- Asumimos el contenido de misquashfs como nuestro sistema. Así podremos instalar desistalar y modificar lo que creamos oportuno.

Como no hay nada configurado/actualizado,y necesitaremos internet, copiamos la configuración del pc 'host' al etc del futuro squashfs.

# sudo cp /etc/resolv.conf misquashfs/etc

Ahora es cuando simulamos que nuestro sistema es el contenido del archivo squashfs descomprimido en nuestra carpeta misquashfs. Esto se consigue con el comando chroot, con él la consola actual creerá que está en el host, pero en realidad estará en la copia del sistema que carga el arranque live.

# sudo chroot misquashfs

Notareis que el promt cambiar a root@guadalinex:/ # conseguido! la consola actual toma el contenido como nuestro sistema de archivos y nos situa en el directorio raiz, no tendría sentido esta mas atrás del /

Para que ciertos programas funcionen correctamente, los sistemas de ficheros proc y devpts deben estar disponibles dentro del entorno chroot. El sistema de ficheros proc es el pseudosistema de ficheros de información de procesos a través del cual el núcleo suministra información sobre el estado del sistema. Y el sistema de ficheros devpts es hoy en día el método más común para implementar los pseudoterminales (PTYs). Desde la versión 2,4 del núcleo, un sistema de ficheros se puede montar tantas veces y en tantos lugares como quieras, así que no hay problema en que estos sistemas de ficheros estén todavía montados en tu sistema anfitrión, sobre todo porque son sistemas de ficheros virtuales.  # mount -t proc proc proc # mount -t devpts devpts dev/pts Udev interacciona con el núcleo a través del pseudo-sistema de archivos sysfs.
El proyecto libsysfs proporciona una API común para acceder de forma genérica a la información dada por el sistema de archivos sysfs. Esto permite consultar todo tipo de hardware sin tener que hacer suposiciones acerca de su tipo.
Esto esta sacado de un howto pero sinceramente no me deja muy claro para que sirve, ni porque es imprescindible montarlo pero es así. # mount -t sysfs sys sys

Ya tenemos el sistema completamente montado y preparado...

5- Aplicamos los cambios necesarios en el sistema. Este es el apartado más creativo aquí cada cual realiza las operaciones que cree necesaria, hechazle imaginación!!

Yo os pongo algunas de las cosillas que he tocado...

Lo primero actualizamos todos los paquetes para que el sistema de nuestro Cdrom esta actualizado y no tengamos que soportar 250/300 Mb de descargas, ideal para los que tengan conexiones lentas.

$ apt-get update

$ apt-get upgrade

Configuramos la imagen con los programas que deseemos, aquí os dejo los mios:

La suite de aircrack. No comment!! jeje

$ apt-get install aircrack-ng

Un gestor de archivos torrent algo mas currado y configurable que bittorrent y sin pasarse como vuze (Que moustro de programa!!)

$ apt-get install deluge-torrent

Gestor de bases de datos del openoffice

$ apt-get install openoffice.org-base

Reproductor de sonido versátil y fácil de usar para KDE

# apt-get install amarok

Genial y sencillo reproductor multimedia y streaming

# apt-get install vlc

Emulador de terminales muy comodo de usar.

# apt-get install yakuake

Gestor de maquinas virtuales.

# apt-get install virtualbox-ose

Gestor de particiones similar a partitionmagic

# apt-get install qtparted

Utilidades para desarrollar este tipo de procedimientos (vease el inicio. Prerequisitos)

# apt-get install squashfs-tools
# apt-get install mkisofs

Paquete de acrobat reader que por problemas de licencias no incluye guadalinex por defecto. Ya se incluye un visor por defecto de pdf pero algunos documentos con formularios rellenables y opciones especiales requieren de esta biblioteca.

# apt-get install acroread

# apt-get install acroread-escript

Descompresor winrar algunos archivos rar no lo controla del todo bien el descompresor por defecto. Tambien por problemas de licencias no es incluido por defecto.

# apt-get install unrar

Pluguin no libre de flash para paginas web.

# apt-get install flashplugin-nonfree

Un emulador para comprobar directamente la carga de los isos.

# apt-get install qemu

Programa para escanear documentos.

# apt-get install xsane

Instamos un editor de imagenes como Dios manda

# apt-get install gimp

6,- Limpieza y salida. Una vez realizados todos los cambios vamos a limpiar todos aquellos archivos que hemos dejados en nuestro nuevo sistema live. Vamos a ser limpitos... y hacer las cosas bien.

Borramos los ficheros que se hayan ido creando

$ rm -rf /tmp/*

Los paquetes deb que hayamos descargados y estén en la cache:

$ apt-get clean

Y finalmente desmontamos los sistemas de ficheros especiales y salimos del chroot

$ umount proc
$ umount sys
$ umount devpts

Regeneramos el manifest (lista de los paquetes instaldos en el sistema del sistema), los necesitaremos despues. Como es necesario un chroot y ya estamos en el, aprovechamos...

# dpkg-query -W --showformat='${Package} ${Version}\n' > filesystem.manifest Y salimos del sistema, es decir de la orden chroot. $ exit

7.- Creamos nuestro nuevo archivo live. Es decir, empaquetamos nuestro directorio misquashfs en un nuevo archivo filesystem.squashfs

Movemos el manifest de actualizaciones de nuestro sistema a nuestra futura distribución guadalinex.

# sudo mv ./misquashfs/filesystem.manifest ./miguadalinex/casper/filesystem.manifest

Generamos el nuevo archivo filesystem.squashfs es un proceso largo, asi que aprovechamos para ir al baño o tomarnos un café:

# sudo mksquashfs ./misquashfs filesystem.squashfs

y lo copiamos el fichero filesystem.squashfs al directorio casper de nuestra nueva distrubucion guadalinex:

# sudo cp filesystem.squashfs miguadalinex/casper/

8.- Configuramos nuestra nueva distribución. Cambiamos aquellas cosas que deseemos y configuramos el futuro Cdrom o Iso para todos los cambios realizados en nuestra live se apliquen tambien al instalar.

Cambiamos el nombre a nuestra iso

# sudo gedit miguadalinex/README.diskdefines

Este es otro punto totalmente creativo, mirad investigar y cambiar todo aquello que querais...

Teniendo en cuenta que hemos instalado mucho software una opción interesante sería quitar los programas de instalación de windows borrandolos de mylive/mnt/programs.

Cuando se ejecuta el instalador del CD de escritorio, lo copia todo al sistema objetivo, pero después hace limpieza y elimina los paquetes que no estén en un segundo fichero llamado filesystem.manifest-desktop. Así se evita que en la instalación se incluya el propio instalador, por ejemplo.

Recordemos ya teniamos el manifest actualizado en miguadalinex/casper por lo tanto lo copiamos como filesystem.manifest-desktop para que la instalación tenga todos los paquetes actualizados.

Podemos filtrar el manifest con un script de sed. Creamos un fichero /tmp/filtro con este contenido:

/casper/d /libdebian-installer4/d /os-prober/d /ubiquity/d /ubuntu-live/d /user-setup/d

# sudo sed -f filtrodesktop miguadalinex/casper/filesystem.manifest > miguadalinex/casper/filesystem.manifest-desktop

Por ultimo Calculamos las sumas MD5

# sudo find miguadalinex/. -type f -print0 | xargs -0 md5sum > miguadalinex/md5sum.txt

9-Empaquetamos una iso con todo el mylive/mnt

#sudo mkisofs -J -R -o miguadalinexV0803.iso -no-emul-boot -boot-info-table -b isolinux/isolinux.bin miguadalinex/

10.- Probamos la Iso. Bien grabamos el CD/DVD según el tamaño final y lo probamos o podemos probar la imagen creada con Qemu con lo que nos ahorraremos discos en caso de haber metido la pata.

$ qemu -cdrom miguadalinexV0803.iso -boot d

En el caso de tener un Usb de arranque de nuestra distro de guadalinex es posible aplicar todos los cambios a media/disk/ en lugar de al directorio miguadalinfo. Así nos ahorrariamos crear y la iso y grabarla.


domingo, 8 de marzo de 2009

$HOME/.dmrc

Al formatear y recuperar los datos de un antiguo usuario existente me ha aparecido el siguiente error al iniciar la sesión de usuario:

"Se esta ignorando el archivo $HOME/.dmrc del usuario.Esto impide que se guarden la sesión predeterminada y el idioma . El archivo debería pertenecer al usuario y tener los permiso 644. El directorio personal del usuario debe pertenecer al usuario y no ser escribible para otros usuarios."

Tras investigar un poquito parece que la solución es bastante sencilla, lo único que hay que hacer es entrar con el usuario al que le genera el problema y cambiarle los permisos a la carpeta /home/nombre_usuario asi:

  • Propietario: Usuario
  • Acceso a carpeta: Crear y borrar archivos
  • Acceso a archivo: ---
  • Grupo: nombre_usuario
  • Acceso a carpeta: Acceder a archivos
  • Acceso a archivo: ---
  • Otros:
  • Acceso a carpeta: Acceder a archivos
  • Acceso a archivo: ---

No hace falta presionar el botón de «Aplicar permisos a los archivos contenidos»

Ya solo queda reiniciar la sesión gráfica y listo... corregido el error.

Si el archivo no existe se crea al inicio de sesion, por lo que si esta dañado se puede incluso borrar.

viernes, 6 de marzo de 2009

Modificar la variable PATH

Cuando introducimos un comando en un shell el sistema busca un archivo con ese nombre en todos los directorios contenidos en la variable PATH. En caso de no encontrarlo se retorna un mensaje de error especificando que el comando no ha sido encontrado.

Para saber los directorios contenidos en PATH debes escribir en la consola:

# echo $PATH

Te retornará algo como esto:
/usr/local/bin:/usr/bin:/bin:/usr/games/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/lib/qt/bin
Destacar que cada ruta de directorio aparece separada por dos puntos (:)

Así, para añadir un nuevo directorio a la lista abrá que modificar la variable. En muchas ocasiones creamos un script y al ejecutarlo el sistema nos indica que no existe. Entonces recordamos que no hemos indicado la ruta completa donde esta situado nuestro programita o por lo menos ./nuestroscript , no sería mucho más comodo incluir el directorio de trabajo actual ./ en la lista de directorios que nuestro sistema mira por defecto...

En caso de que desees agregar directorios a tu PATH puedes hacerlo de dos formas: La primera los hace válidos por el tiempo que dura tu sesión, la segunda los hace permanentes.

Para el primer caso basta escribir en el terminal:
PATH="$PATH:::..."

Supongamos que tenemos un usuario que desea agregar dos carpetas a su PATH, ambas contenidas en ~/: la carpeta Scripts y la carpeta compilados. Tendría que escribir en el terminal:
PATH="$PATH:/home/nombreusuario/Scripts:/home/nombreusuario/compilados"

De esa manera ambos directorios se agregan a su variable PATH. Sin embargo, estos cambios no son permanentes y la próxima vez que el usuario acceda a su cuenta todas las modificaciones se habrán perdido.
Para que los cambios sean permanentes es necesario editar un par de archivos: ~/.bash_profile y ~/.bashsrc

~/.bash_profile
Editar este archivo permite especificar una serie de comandos que se ejecutarán en cuanto el usuario acceda a su cuenta. En caso de que el archivo no exista puedes crearlo. Un ejemplo de lo que contiene este archivo es el siguiente:

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi

# User specific environment and startup programs

BASH_ENV=$HOME/.bashrc
USERNAME=""
PATH=$PATH:/usr/local/pgsql/bin:/usr/local/sbin:/usr/sbin:/sbin
MANPATH=$MANPATH:/usr/local/pgsql/man
PGLIB=/usr/local/pgsql/lib
PGDATA=/usr/local/pgsql/data

export USERNAME BASH_ENV PATH MANPATH PGLIB PGDATA

Los directorios que aparecen asignados a la variable PATH se sumarán a los directorios básicos que asigna el sistema a todos los usuarios. El archivo .bash_profile se carga cada vez que el usuario realiza un login a su cuenta. Para decirlo de un modo más específico, cada vez que Bash es invocado mediante un login shell interactivo (cuando te logeas con tu password)o mediante un shell no interactivo con la opción --login, primero lee y ejecuta los comandos desde el archivo /etc/profile, en caso de que este archivo exista. Luego de leer este archivo busca los archivos ~/.bash_profile, ~/.bash_login y ~/.profile, en ese orden. La idea es que se ejecutarán los comandos del primero de los archivos que sea encontrado y sea legible. Una vez encontrado este archivo no seguirá buscando los demás, por esa razón es que es preferible asegurarse de trabajar con el primer archivo de la lista.

Nota: ~/ se usa para indicar tu directorio home. Si tu usuario es carlos, por ejemplo, ~/ corresponde a /home/carlos/

Sin embargo, si accedemos a un terminal desde un entorno de escritorio como Gnome, KDE o Xfce, nos encontraremos con que el archivo .bash_profile no es leído. En ese caso, además, debemos modificar el archivo .bashrc


~/.bashrc
Cuando se inicia un shell interactivo que no es un login shell, es decir que no requiere que ingreses a tu cuenta con tu clave y nombre de usuario, Bash lee y ejecuta comandos desde ~/.bashrc, si es que ese archivo existe. Un ejemplo del contenido de este archivo sería el siguiente:

alias ll="ls -al --color"
alias nautilus="nautilus --no-desktop"
alias aterm="aterm -fg white -tr"
export PS1='\u[\W]\$ '
export PAGER="most"
export PATH=$PATH:/usr/local/sbin:/usr/sbin:/sbin

Esta última linea contiene los directorios que se sumarán a los que cada usuario tiene por defecto.
De esta manera, editando ambos archivos es posible modificar tu variable PATH.

Por supuesto, existe más de un método de hacer todo lo anterior, es cosa de descubrir la forma que prefieras. Se puede, también, modificar los archivos /etc/profile y /etc/bashrc que corresponden a los archivos ~/.bash_profile y ~/.bashrc, pero que afectan a todos los usuarios. Evidentemente que para modificarlos necesitarás permisos de superusuario.

martes, 3 de marzo de 2009

Mozilla Firefox maximizado tapando las barras de tareas

Hace tiempo tuve este problema y hoy me ha vuelto a pasar, la causa y la solución son bastante sencillas pero recuerdo que me dio algun quebradero de cabeza la primera vez asi que lo detallo por si ayudo a alguien.

El problema se encuentra al menos en la distribucion ubuntu 8.10 y es debido a que en ocasiones maximizamos la ventana a un tamaño superior del espacio comprendido entre las barras de herramietas superior e inferior. Pasa sin pretenderlo al tirar de la ventana estando maximizada ya. Ignoro si pasa con todas las aplicaciones, unicamente lo he detectado en mozilla firefox aunque cierto es que la aplicacion que mas utilizo.

Una solución momentanea al menos para tener acceso a las barras de herramientas es jugar con la tecla F11 que pone/quita el firefox a pantalla completa, pero esto no soluciona el problema puesto que al volver a abrir una nueva ventana o al reiniciar la aplicación tendremos la misma.

La forma de solucionarlo es desmaximizarla, tirar de la ventana para despegarla de los bordes y barras y una vez realizado mover las paredes del mozilla hasta crear un nuevo tamaño mas pequeño. Cerramos el mozilla y lo volvemos a abrir para que guarde los valores (tamaño) de la ventana y listo.

lunes, 2 de marzo de 2009

Servidor ssh con una IP dinamica

SSH (Secure SHell) es el nombre de un protocolo y del programa que lo implementa, y sirve para acceder a máquinas remotas a través de una red. Permite manejar por completo el ordenador mediante un intérprete de comandos, y también puede redirigir el tráfico de X para poder ejecutar programas gráficos si tenemos un Servidor X arrancado.

Instalación

Instala los paquetes openssh-server y openssh-client del repositorio main de Guadalinex.

Configuración

La configuración del servidor ssh no es complicada, voy a explicar como hacerla desde la línea de comandos en un Guadalinex V4 / V5, ignoro si en las anteriores sigue siendo igual.

Permitiendo y denegando el acceso al servidor

Para permitir y denegar los accesos, editaremos los archivos /etc/hosts.deny y /etc/hosts.allow. En el primero de ellos denegaremos todos los hosts y en el segundo permitiremos algunos, de forma que quedará todo denegado excepto lo que permitamos en hosts.allow.

Es imprescindible que comprendamos que los archivos hosts no se aplican solo al servidor ssh, sino a toda la máquina, por lo que hay que tener especial cuidado a la hora de permitir o denegar los accesos. Ésta práctica puede no ser adecuada en servidores web y tener en cuenta qué servicios permitir y denegar.

De ésta forma, si tenemos un servidor conectado a dos redes (una red interna y una red pública) podríamos denegar el acceso desde la red pública.

sudo gedit /etc/hosts.deny

Y añadimos la línea:

ALL: ALL

Ahora editamos el archivo hosts.allow:

sudo gedit /etc/hosts.allow

Y añadimos los hosts que queramos:

sshd: 192.168.0.10 # Permitir una dirección.
sshd: 192.168.0.* # Permitir todo el rango de la IP 192.168.0.1 a 192.168.0.255.

Ahora definiremos en qué dirección queremos que escuche el servidor ssh, de forma que en caso de tener varias interfaces de red (una pública y otra privada) sólo se acceda por una de ellas:

Editar el archivo /etc/ssh/sshd_config:

sudo gedit /etc/ssh/sshd_config

Cambiar la directiva ListenAddress a (por ejemplo) la dirección privada del servidor:

ListenAddress 192.168.0.1

Agregar usuarios para conectarse dentro del rango de IP en la red interna configurar

AllowUsers usuario@192.168.0.* # corresponde al rango 192.168.0.1 al 192.168.0.255
AllowUsers usuario@192.168.0.11 usuario2@192.168.0.12 usuario3@192.168.0.7 # definir 1 dirección de IP por usuario

Agregar usuarios para conectarse desde cualquier parte del mundo

AllowUsers usuario usuario2 usuario3

Recomendación: para evitar ataques de hackers y hacerles más difícil que se conecten se debe desactivar la opcion para que se conecte el usuario "root", cambiando a no en la siguiente líne.

# Authentication:
LoginGraceTime 120
PermitRootLogin no
StrictModes yes

Incrementado la seguridad

Cambiando a un puerto no estándar

Para aumentar la seguridad, una de las prácticas habituales es cambiar el puerto estándar (22) a uno no estádar (por ejemplo 5039).

Editamos el archivo /etc/ssh/sshd_config:

sudo gedit /etc/ssh/sshd_config

Cambiamos la directiva Port de 22 a (por ejemplo) 5039:

Port 5039

Con los pasos anteriores tendremos un servidor ya bastante seguro, pero todo se puede mejorar. Ahora vamos a definir otros aspectos de seguridad.

Cambiar el número de intentos fallidos de autentificación

Cambiar el número de intentos fallidos de autentificación es una buena estrategia, sobre todo si nuestro servidor está escuchando en una red pública. De ésta forma podemos evitar que un posible atacante intente repetidamente averiguar una contraseña.

Editamos el archivo /etc/ssh/sshd_config:

sudo gedit /etc/ssh/sshd_config

Cambiamos la directiva (si no está la añadimos) MaxAuthTries:

MaxAuthTries 2

Si fallas la contraseña dos veces, te desconecta.

Cambiar el número de conexiones concurrentes no autentificadas

Ésta es una buena estrategia también, para evitar intentos de conexión. La directiva MaxStartUps controla el número de conexiones no autenticadas en el servidor, de ésta forma, evitamos que posibles atacantes intentasen conectarse demasiadas veces.

Editamos el archivo /etc/ssh/sshd_config

sudo gedit /etc/ssh/sshd_config

Cambiamos o añadimos la directiva MaxStartUps:

MaxStartUps 3

Ya solo nos queda reiniciar el demonio ssh para que vuelva a funcionar con la nueva configuración:

$ sudo /etc/init.d/ssh restart

De ésta forma tendríamos un servidor ssh muy seguro.

Ya podemos hacer pruebas dentro de una red local desde un shell:

ssh -p puerto usuario@192.168.1.2

Conectarnos desde internet a nuestra IP dinámica

Una de las complicaciones para que exista la comunicación entre ambos computadores radica en que para comunicarse entre sí se debe conocer la IP del computador servidor (el que recibe la conexión); actualmente esto se hace prácticamente imposible debido que son cada vez menos los ISP'S que entregan IP estática, ahora cuando te conectas a internet recibes una nueva IP. Es aquí donde entra No-IP, el cual se encarga de averiguar la IP que se nos a entregado y la transforma en un nombre estático del tipo nombre.redirectme.net por ejemplo.
  • Ahora debemos crear una cuenta en la página de no-ip.com.
    Una vez realizada el alta y activada la cuenta mediante el enlace que te mandan por correo electronico nos vamos al apartado Add host y creamos uno nuevo.
  • Instalamos no-ip en Ubuntu. Podemos hacerlo de forma manual:

$ sudo apt-get install no-ip

y lo configuramos......

$ sudo no-ip -C

o bien desde los repositorios software de ubuntu donde encontraremos la ultima version llamada noip2 al instalarla se abre directamente la ventana de configuración.

Se nos preguntará por el e-mail y la password con que nos inscribimos en no-ip.com

No está demás recordar que debemos tener abiertos los puertos en nuestro cortafuegos/firewall desde donde "salen" los servicios (sshd, no-ip), el puerto de sshd depende de cual tu configuraste en el paso anterior y para no-ip es 8245 TCP. No obstante, no-ip se las apaña aunque no redireccionemos su puerto.

Especial cuidado hay que tener con los router que comunmente usamos y que por defecto no presentan actividados los puertos. Hay que entrar en la configuración del router desde un navegador web introduciendo 192.198.1.1 o en su defecto la puerta de enlace que hayamos configurado, introducimos el user y el pass del router (mirad vuestros manuales) y activar el puerto correspondiente en la cofiguracion NAT.

Ahora solo basta conectarnos de la siguiente manera:

$ ssh -p puerto (el que configuramos anteriormente) usuario@nombre.redirectme.net

NOTA: Hay que tener cuidado si estamos con ambos ordenadores en la misma red local y deseamos probar que funciona el servicio mediante el host no-ip. Recordemos que nuestro router solo redirecciona un puerto a una maquina por lo tanto debemos conectarnos al servidor por un puerto y escuchar con el cliente en otro... ambos habilitados en la configuración del router y en nuestro firewall. Existe una opción de conexión ssh -r que permite realizarlo aunque yo lo he provado, si estamos en la red local nos conectamos con ssh -p puerto 192.168.1.? y si estamos conectados a internet remotamente mediante nuestro host no-ip ssh -p puerto nombre.redirect.net.

Acceso ssh desde nuestro navegador de archivos nautilus

Siempre es bastante engorroso utilizar la consola comparado con un par de click con el ratón desde el entorno grafico. Así, vamos a configurar nuestro navegador de ubuntu nautilus para poder trabajar remotamente con nuestro servidor ssh como si se tratará de un disco duro local.

Pulsamos en el menu superior sobre archivo y a continuación conectar con el servidor y rellenamos el formulario: tipo de servicio a ssh, servidor con nuestra IP local o el host remoto no-ip según desde donde realicemos nuestra conexion, el puerto configurado en el servicio ssh, en carpeta ponemos el directorio raiz / o bien la ruta especifica a la que deseemos y marcamos la opción Añadir marcador espeficando el nombre del acceso directo que queramos que se muestre.

Ya tenemos configurado el acceso ssh mediante sftp nuestro servidor remoto mediante un simple click. Al pulsar sobre el acceso directo y realizar la conexión nos pide la contraseña, yo recomiendo dejar la opción por defecto Olvidar la contraseña inmediatamente o como máximo recordarla para la sesion pero esto ya es a gusto del consumidor y teniendo en cuenta que personas en un futuro pueden tener acceso a nuestro ordenador.

sábado, 21 de febrero de 2009

Cómo instalar Guadalinex desde un Pen Drive o Disco USB

En alguna ocasión deberemos instalar nuestra distribución lguadalinex en un equipo que no disponga de lector de cd/dvd para ello podremos emplear un simple pen drive. Otra alternativa sería mediante un lector externo conectado al puerto USB.

Existe diversas formas de realizarlo, por ejemplo podeis hecharle un vistazo a el articulo http://tecnoloxiaxa.blogspot.com/2008/09/cmo-instalar-ubuntu-desde-un-pen-drive.html donde podeis ver como realizarlo paso a paso, modificando codigo etc... alguna vez lo he realizado asi, pero lo realmente interesante y comodo es el programa UNetbootin que nos permite seleccionar mediante un interfaz gráfico, en primer lugar la distribución de Linux que queremos instalar (dejándonos escoger entre un ISO que tengamos en nuestro equipo ya descargada, o que la descargue el programa sin nuestra intervención); desgraciadamente no está configurado para guadalinex , así que debemos bajar la iso por nuestra cuenta. Por último debemos seleccionar en qué disco USB/duro, deseamos generar el dispositivo de instalación.

Además de las distribuciones" habituales", podemos instalar algunos discos con utilidades. A continuación os muestro una lista de las distribuciones y utilidades con las que este programa nos va a permitir generar un pen drive desde el que instalar Linux.

El programa se encuentra disponible en versiones Windows y Linux, incluso, en la página del proyecto, se encuentran disponibles los paquetes deb para instalar en Debian, Ubuntu,...


UNetbootin también se puede usar para cargar varios cds de utilidades, entre los que se incluyen:

  • Parted Magic, un gestor de particiones que permite: modificar el tamaño, reparar, hacer copias de seguridad y restaurar particiones.
  • Super Grub Disk, una utilidad de arranque que permite restarurar y reparar instaalaciones de GRUB sobreescritas o desconfiguradas; o directamente arrancar (boot) varios sistemas operativos
  • Backtrack, una utilidad de red empleada para análisis de red y test de penetración.
  • Ophcrack, utilidad para recuperar passwords de Windows.
  • NTPasswd, una utilidad que puede resetear el password de Windows y editar el registro.
  • Gujin, un cargador de boot (gestores de arraque) en modo gráfico, que puede ser usado para arrancar varios sistemas operativos y medios.
  • Smart Boot Manager (SBM), puede permitir el arranque desde CD-ROM y unidad de disquete en equipos con la BIOS "averiada".
  • FreeDOS, que puede ejecutar flash BIOS y otras utilidades DOS.
Además de esto existen versiones para instalar Ubuntu en tu Eepc o incluso la distribución de Linux que traen por defecto. Asímismo, en la página del proyecto podrás encontrar cómo instalar distribuciones anteriores a las listadas anteriormente.


Fuente:
Página de descarga del programa UNetBootin: http://sourceforge.net/project/showfiles.php?group_id=222386
Página de descarga del programa Lubi (Linux- based ubuntu installer): http://sourceforge.net/project/showfiles.php?group_id=198821
Página de información del proyecto: http://lubi.sourceforge.net/unetbootin.html

domingo, 15 de febrero de 2009

¿Que es guadalinex?

Guadalinex es una iniciativa de la Junta de Andalucía que pretende ordenadores funcionales sin más inversión que el hardware necesario. A través de su web, Guadalinex.org, os podéis bajar la ultima versión V5 en dvd o 2 CDs.

Esta distribución esta basada en Debian más concretamente en ubuntu. Ubuntu y guadalinex se parecen como dos gotas de agua, semejante instalación, usan menús Gnome, sistema de actualizaciones, etc...

Entonces, ¿Por que guadalinex? Es la pregunta. Además de su apariencia algo más elaborada, su proceso de instalación es igual o más sencillo, trae los códecs multimedia incorporados, esta diseñada integramente en castellano y orientada a andaluces y españoles (Os sorprendereis con los enlaces por defecto del mozilla), instala aplicaciones tan usadas y utiles como Amule, gFTP, Bluefish...
Los usuarios de ubuntu estareis pensando si todo esto se puede hacer con mi distribución, efectivamente, pero para que perder tiempo existiendo guadalinex.

En la pagina web del proyecto podeis encontrar información mucho más de tallada sobre que es, objetivos y su contexto.

Con este planteamiento incicial, para los amantes de las tablas comparativas, paso a enumerar a mi jucio cuales son las ventajas de cada uno de los dos sistemas, partiendo eso si, del hecho que las bases de ambos son identicas (kernel, actualizaciones, ...)

GUADALINEX
  • Apariencia por defecto algo más elaborada y profesional. (Aunque esto depende del gusto de quien lo mire, a mi el tono marrón y el fondo de pantalla por defecto en instalación y postinstalación de Ubuntu me parecen horribles)
  • Códecs multimedia incorporados. No se resistirá practicamente ningún formato de video.
  • Castellano como idioma base. No tendrás que instalar los paquetes de idiomas ni conflictos con otros, esta todo perfectamente traducido.
  • Orientado a españoles. Como ya comentaba con anterioridad llaman la atención algunos aspectos como los enlaces del mozilla firefox, televisiones y radios españolas, periodicos, etc... muchas aplicaciones están configuradas suponiendo un usuario de España.
  • Incorpora software para P2P. Así trae por defecto clientes para bittorrent y edk. Entre ellos el tan usudo amule.
  • Utilidades de edición web. gftp, Bluefish...
  • Se realiza en nuestra tierra. Nuestro apoyo, instalación y puesta en conocimiento a otras personas contribuye a que crezca este proyecto... riqueza para todos.
  • Facil instalación. La instación de Ubuntu ya es sencilla pero guadalinex le gana por goleada, no es neccluso más que la de ubuntu.
  • Controladores actualizados. Esto si que me deja perplejo, en teoria deberia tener los mismo que ubuntu, pero guadalinex se deja muy pocos controladores sin configurar optimamente. Webcam integradas en los portatiles, targetas de sonido y targetas de video son instaladas y configuradas a la perfección. Especial mención tienen las targetas de video que tanto quebraderos de cabeza nos da en linux, algunas que otras distribuciones no logran ni encontrar guadalinex las configura incluso con aceleración gráfica.
  • Destinado a equipos con arquitectura i386. Es decir a ordenadores personales / portatiles de los que tenemos todos en nuestra casa, al estar exclusivamente destinado a este tipo de equipos, el trabajo es mas intensivo y las actualizaciones son liberadas más rapidamente. Tened en cuenta que otras distribuciones como Debian al trabajar con multiplataformas y para sistemas de elevados requerimientos de seguridad y fiabilidad (pensemos en servidores de entidades sanitarias o bancarias) necesitan un mayor testeo a la hora de darnos una actualización. Si esta no es tu plataforma o necesitas otro grado de seguridad, simplemente esta no es tu distrubición.
  • Posibilidad de bajarse online la versión en DVD. Ubuntu tambien dispone de versión DVD pero hay pedirla/comprala no se puede descargar desde la web.
  • Amplio catálogo de software adicional desde el dvd. El dvd de instalación dispone de muchisimos programas extras que podras instalar directamente sin conexión a internet.

UBUNTU:
  • Comunidad más grande. No cabe duda que la comunidad ubuntu es con creces mayor a la de guadalinex, por lo que el numero de foros, paginas oficiales y personas involucradas en el proyecto favorecen el mantenimiento y la mejora del mismo. Recordar no obstante que todas las mejoras y avances de Debian, Ubuntu, Gnome, Metadistros, guadalinex, etc. son utilizadas por el resto.
  • Distribuciones semestrales. Guadalinex decidió en su momento lanzar distribuciones anuales. No olvidemos cualquier distro se mantiene al día mediante las actualizaciones.
  • Multilenguaje. Ubuntu es practicamente adaptable a cualquier lenguaje. Si tu idioma no es el español quizas deberías quedarte con ubuntu.
  • Disponible para varias plataformas. Presenta versiones para 32 y 64 bits.
  • Mayor cantidad de programas adaptados especificamente para esta distribución.