viernes, 17 de mayo de 2013

Hacer que el grub recuerde el ultimo sistema operativo con el que se arranco.

Una de las cosas que más me gusta del grub que instala Manjaro es que este recuerda el ultimo operativo con el que has arrancado el equipo, opción que la mayoría de grubs que instalan otras distros se pasan por el arco de triunfo.

Esto es un engorro, sobre todo cuando tienes varias distros instaladas en el mismo disco y por cualquier razón (pocas la verdad) quieres reiniciar, y no tener que estar pendiente de cuando salta el grub para volver a la distro que estabas usuando.

Tras comparar los ficheros de configuración del grub tanto en Ubuntu como Fedora, (grubs que suelo utilizar por defecto en distintos equipos o discos externos) con los correspondiente de Manjaro, he visto que las diferencias principales para habilitar esta funcionalidad se encuentra en el archivo etc/default/grub.

Editamos el fichero /etc/default/grub como root y modificamos el parámetro GRUB_DEFAULT cambiando el valor 0 por saved

GRUB_DEFAULT=saved

en el mismo fichero, descomentamos (o añadimos si no existe) la línea:
GRUB_SAVEDEFAULT=true

Una vez guardado el fichero /etc/defualt/grub actualizaremos el gestor de arranque:

Si estamos en Ubuntu lo haremos mediante el comando:
sudo update-grub

En el caso de encontrarnos en Fedora ejecutamos el siguiente comando:
grub-mkconfig -o /boot/grub/grub.cfg

Una vez actualizado el grub, la proxima vez que reiniciemos ya tendremos esta funcionalidad habilitada.

jueves, 9 de mayo de 2013

Editor de expresiones regulares


Hace ya unos cuantos años, en el 2005, recuerdo que hice un programilla para ayudarme con las expresiones regulares. Hoy lo he vuelto a necesitar y lo rescate gracias a un compañero que lo seguía guardando en el disco duro. Aunque es algo viejuno, sigue conservando toda su funcionalidad y me ha funcionado sin problemas con la openJDK 1.6.

El programa cuenta como funcionalidades principales:

  • Permitir la selección y ejecución, de una de las expresiones regulares del editor inferior, o parte de la misma.
  • Muestra todos los resultados coincidentes con la expresión regular ejecutada en el arbol de la derecha.
  • Resaltado de sintaxis.
  • Soporte para grupos en las expresiones regulares.
  • Diferentes L&F (metal.GTK,Liquid,Motiff,...)


El código fuente, a día de hoy está 'missing in action', dejo aquí los binarios para futuras necesidades o por si a alguien le resultase útil.

Descargar RegEx Editor

Para su ejecución 
java -jar regexeditor.jar

miércoles, 1 de mayo de 2013

Habilitar Firewall en Ubuntu

Así de buenas a primeras, puede parecer, que tras una instalación limpia de Ubuntu o cualqueira de sus derivadas no tenemos instalado ningún firewall en nuestro sistema.

Si bien este está instalado y su nombre es ufw (Ubuntu Firewall o Uncomplicated Firewall) es muy probable que este se encuentre desactivado. Si queremos comprobar su estado solo necesitamos escribir en la consola de comandos:
sudo ufw status

Este firewall se puede tanto administrar perfectamente desde consola de comandos, aunque en este artículo nos centraremos en su administración desde la interfaz gráfica (sin que sirva de precedente).
Para ello necesitamos instalar su interfaz gráfica llamada (en un alarde de originalidad creativa del autor) gufw el cual podemos encontrarlo en el centro de software o instalarlos directamente mediante el comando:
sudo apt-get install gufw

Una vez arranquemos el programa lo mas probable es que nos encontremos con esta imagen indicandonos que el firewall se encuentra deshabilitado.


Lo primero que haremos será habilitarlo usando el deslizador de estado (con lo que veremos que el escudo de la imagen toma una nota de color). Y dejamos por defecto todas las comunicaciones entrantes como Deny y las salientes como Allow.

Una vez hecho esto podemos añadirle las reglas necesarias para permitir dejar pasar las comunicaciones que nosotros queramos (leease Torrents, eDonkey, Juegos, etc.). A la hora de añadirle las reglas tenemos que hacer click en el símbolo + que se encuentra en la parte inferior de la interfaz gráfica. Una vez pulsado el botón nos aparece una ventana donde tenemos tres opciones a la hora de establecer las reglas.

Preconfigurada:

Permite agregar reglas tanto para aplicaciones predeterminadas (Transmision, aDonkey, Skype,...) como para servicios propios de la máquina (SSH, FTP, HTTP, Samba, POP3, ....),  Por ejemplo para permitir la conexión de otros usuarios a directorios compartidos mediante samba:

Simple:

Como no están todos los servicios ni aplicaciones definidas en la pestaña de Preconfigurada, desde esta pestaña podemos agregar los puertos que queramos, de manera independiente de la aplicación, de esta manera, por ejemplo para habilitar las conexiones entrantes a un servidor JBoss que corre en el puerto 8080 estableceríamos  los siguientes valores.

Avanzada:

Como su propio nombre indica es la mas completa de todas pues nos permite abrir un rango de puertos y/o u rango determinado de direcciones IP

A la hora de definir las reglas tenemos cuatro opciones:

  • Permitir (Allow): Aceptar las conexiones
  • Denegar (Deny): Rechazar las conexiones
  • Rechazar (Reject): Aunque esta opción es muy parecida a rechazar, con este tipo de limitación el usuario entrante al intentarse conectar a nuestra máquina le aparecerá el mensaje "ICMP: Destino inalcanzable"
  • Limitar (Limit): A diferencia de Denegar y Rechazar, esta opción permite un número limitado de de intentos fallidos de conexion para una determinada IP antes de empezar a rechazar las conexiones. Esto es muy útil para evitar ataques por fuerza bruta.


Referencias: (1)

domingo, 28 de abril de 2013

Mis extensiones recomendadas para Gnome 3.6 en Ununtu 13.04


Mucho ha llovido cuando era ver Gnome 3 y empezar a echar pestes contra este escritorio, ese sentimiento sigue en parte presente por la compatibilidad entre versiones, pero es justo reconocer que Gnome 3 me gusta más en cada versión, y más si le añadimos unas cuantas extensiones que hacen que este escritorio sea verdaderamente usable.



Si bien en Ubuntu 13.04 podemos instalar la versión de Gnome 3.8 a través de PPA.

sudo add-apt-repository ppa:gnome3-team/gnome3
sudo apt-get update
sudo apt-get dist-upgrade

de momento y para mantener la compatibilidad con Unity prefiero quedarme en la 3.6. Para ello recupero las extensiones que tenía instaladas en Fedora 18 y de paso las dejo aquí para referencias futuras.


Avanced Settings in User Menu

Muestra la entrada de Opciones Avanzadas en el menu de usuario

Alternative Status Menu

Reemplaza la opción de suspender por la de apagar


Maximus

Quita la decoración de las ventanas maximizadas


Quit Button

Reemplaza el nombre del usuario por un botón en la barra de tareas

Remove Accessibility

Elimina el botón de acesibilidad.de la barra de tareas

TaskBar

Permite intercambiar entre aplicaciones desde la barra de tareas


Window Option

Añade la opcion de "Siempre encima" y "mostrar en todos los escritorios" al menú de las ventanas


Workspace Indicator

Muestra en la barra de tareas el escritorio en uso y permite cambiarlo bien pulsando y eligiendo el escritorio o haciendo scroll con la rueda del ratón.



lunes, 15 de abril de 2013

Eliminar Kernels Antiguos

A medida que nuestro sistema se va actualizando, es frecuente encontrarnos como que cada  vez tenemos más kernel instalados muertos de risa.

Si bien cada vez que se actualiza el kernel es sensato mantener el kernel antiguo, al menos por unos días por si existe algún problema con el nuevo kernel, lo que no es tan sensato es mantener toda la retahila de kernels que se van instalando en nuestro sistema.

Esto viene a colación de un equipo que lleva 3 meses con Ubuntu instalado y que apenas he tenido mucho tiempo para manterner me he encontrado con la siguiente lista de kernels:
ii  linux-image-3.2.0-29-generic           3.2.0-29.46                             Linux kernel image for version 3.2.0 on 32 bit x86 SMP
ii  linux-image-3.2.0-35-generic           3.2.0-35.55                             Linux kernel image for version 3.2.0 on 32 bit x86 SMP
ii  linux-image-3.2.0-36-generic           3.2.0-36.57                             Linux kernel image for version 3.2.0 on 32 bit x86 SMP
ii  linux-image-3.2.0-37-generic           3.2.0-37.58                             Linux kernel image for version 3.2.0 on 32 bit x86 SMP
ii  linux-image-3.2.0-38-generic           3.2.0-38.61                             Linux kernel image for version 3.2.0 on 32 bit x86 SMP
ii  linux-image-3.2.0-39-generic           3.2.0-39.62                             Linux kernel image for version 3.2.0 on 32 bit x86 SMP
ii  linux-image-3.2.0-40-generic           3.2.0-40.64                             Linux kernel image for version 3.2.0 on 32 bit x86 SMP
ii  linux-image-generic                    3.2.0.40.48                             Generic Linux kernel image

A nada que pensemos un poco, nos preguntamos para que queremos tal cantidad del kernels instalados si con el actual y el anterior (en caso de que no nos diese problemas y seamos conservadores)  sería mas que suficiente.

Antes de borrar nada nos aseguraremos del kernel que estamos actualizando con el comando:
uname -r

el cual nos dará una salida similar a esta:
3.2.0-40-generic

Ubuntu

Una vez sepamos que kernel es el que actualmente estamos usando procederemos a listar los kernels instalados mediante el comando:
dpkg --list | grep linux-image


Este comando nos arrojará una lista similar a a mostrada al principio.

Una vez identificados los kernels antiguos podemos proceder a des-instalarlos mediante el comando:
sudo apt-get purge linux-image-x.x.x-x-generic


Tras la desinstalación, actualizaremos el grub para que no muestre los kernels que hemos desinstalado mediante:
sudo update-grub

Fedora/Red Hat

En el caso de Red Hat/Fedora el proceso de mantener sólo 2 kernels, e mucho mas fácil, pudiendose establecer de manera automática.

Para ver los kernels instalados usaremos:
yum install yum-utils

primeramente instalamos como root yum-utils.

yum install yum-utils

una vez instalado ejecutamos el comnado:

package-cleanup --oldkernels --count=2

Para hacer permanente esta política de mantener sólo 2 kernels editamos el fichero /etc/yum.conf y establecemos la opción installonly_limit.

[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=2
[comments abridged]
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d


lunes, 8 de abril de 2013

Trabajando con WUBI

Siempre que se pueda a la hora de instalar una distribución Linux lo mejor es hacerlo en el un disco físico, sea este externo o no. Esto no siempre es posible, bien por que no tenemos una unidad externa o por la razón que sea no podamos o no nos apetezca particionar nuestro disco (cada uno tendrá sus razones).
Es en este caso que Wubi puede ser una buena opción para probar o trabajar con Ubuntu y derivadas. Parece que a partir de Ubuntu 13.04 no corren buenos tiempos para  Wubi,  pero mientras la LTS 12.04 siga teniendo soporte (y aun quedan unos años de soporte) siempre será posible usarlo con esta versión.

Cuando ejecutamos  Wubi en un sistema Windows, este dependiendo de nuestra arquitectura nos descargará e instalará la correspondiente versión (32 o 64bits) de Ubuntu o una de sus derivadas(Xubuntu,Kubuntu,Lubuntu,...) entre las que podemos elegir. Este proceso de isntalación lo hará en un disco virtual dentro de nuestro disco de windows sin modificar nuestro disco. 

Si queremos forzar a que nos instale la versión de 32bits lo ejecutamos desde la consola de comandos con el parametro --32bit
wubi.exe --32bit


Una vez instalado nos pedirá reiniciar el sistema, completará la instalación y las próximas veces que reiniciemos veremos que al arrancar podremos elegir entre arrancar en Windows o en Ubuntu.

Si nos cansamos de el, desde windows iremos a Agregar/Quitar programas, lo desinstalamos y nuesto sistema queda como si Ubuntu nunca hubiera pasado por allí.

Hasta aquí es lo que nos ofrece WUBI por defecto, perfecto para probar el sistema casi como si se estuviera ejecutando en un disco físico.

No obstante a partir de aquí tenemos una buena base con la que experimentar, extender e incluso tener varios sistemas instalados a la vez, saltándote la limitación de Wubi.

Por defecto Wubi instala su contenido a menos que se especifique lo contrario en C:\ubuntu, concretamente los archivos que nos interesan se encuentran en el directorio c:\ubuntu\disk, por defecto en este directorio se encuentran 2 discos virtuales :

  • root.disk con un tamaño que puede variar de 8G a 30G (tamaño máximo impuesto por el instalador del wubi).En este disco se instala el sistema completo.
  • swap.disk de 256M de tamaño.Utilizada como memoria swap.

 Cuando instalo cualquiera de los sabores de Ubuntu con Wubi, no suelo crear grandes discos, como mucho les doy un tamaño de 8 o 12 GB e ir expandiendo el sistema mediante más discos virtuales en caso necesario.

Creación de nuevos discos virtuales.

Lo primero que veremos es como crear discos virtuales y asignarles un tamaño, para ello usaremos el comando dd y crearemos un disco virtual de 1G.

dd if=/dev/zero of=/host/ubuntu/disks/swap1g.disk bs=1MB count=1024

Esta tarea nos servirá como base para la expansión de nuestro sistemas y poder adecuarlo a nuestras necesidades o requerimientos.

Creación de  disco swap

Sobre el tamaño de la swap mucho se ha escrito, no existe un criterio exacto sobre esto, todo depende de las necesidades del usuario. En este caso se ha creado swap de 1GB que vamos a sustituir por la de 256M que Wubi nos creó por defecto.

Formateamos el disco creado en formato swap
sudo mkswap swap1g.disk

Para a continuación montar la nueva swap:
sudo su
swapoff -a
cd /host/ubuntu/disks/
mv swap.disk swap.disk.bak
mv swap1g.disk swap.disk
swapon -a

Ampliando Espacio en disco

Si tras instalar nuestro sistema instalar software vario, almacenar porno videos de gatitos, etc vemos que  se nos queda corto, podemos afrontar el tema desde distintos frentes.

Redimensionar disco

Con este método lo que haremos sera incrementar el tamaño del disco principal (root.disk), para poder utilizar este método es necesario que el sistema creado con Wubi no esté corriendo, por lo que necesitaremos o bien un LiveCD u otro sistema Linux instalado en el equipo.

  • Arrancamos desde el LiveCD.
  • Hacemos un bacup del root.disk (no es necesario, pero si recomendable)
  • Montamos la partición donde tenemos instalado nuestro sistema con wubi, en este caso asumimos que es (dev/sda1)
sudo mkdir -p /media/win
sudo mount /dev/sda1 /media/win
  • Ejecutamos fsck en root.disk y redimensionamos el disco a 15G
fsck -f /media/win/ubuntu/disks/root.disk
resize2fs /media/win/ubuntu/disks/root.disk 15G

Añadir nuevos discos virtuales

Redimensionar el disco principal puede ser la opción mas cómoda y más fácil, pero no necesariamente la mejor. Otra opción es crear discos virtuales alternativos y montarlos al inicio en el fichero /etc/fstab, esto nos permitirá tener directorios como /home o cualquier otro directorio en su propio disco con la posibilidad de compartir esos discos entre otros sistemas que podamos instalar a mayores. En este ejemplo montaremos /home en un nuevo disco, aunque de manera análoga podremos repetir el proceso para otros directorios  que queramos montar en discos externos por que su tamaño así lo requiere.

Como dije antes no soy amigo de los discos grandes, principalmente por que suelo hacer backups de los mismos, y a mayor tamaño, aparte del espacio en disco, hay que considerar el tiempo que toma en mover toda esa cantidad de datos. Con esta premisa en mente vamos a crear un disco de 10G y le daremos formato ext4.

cd /host/ubuntu/disks
dd if=/dev/zero of=home.disk bs=1MB count=10000
mkfs.ext4 -F home.disk

Tras crear y formatear el disco,nos logamos como root y montamos y sincronizamos el directorio /home
sudo -i
mount -o loop /host/ubuntu/disks/home.disk /mnt
rsync -av --exclude '/home/*/.gvfs' --exclude '/home/*/.cache/gvfs' /home /mnt
umount /mnt

Terminada la sincronización, desmontaremos el disco y editamos el fichero /etc/fstab para indicar que ese disco se utilizará como punto de montaje el directorio /home.
/host/ubuntu/disks/home.disk /home              ext4    loop,errors=remount-ro 0        1

Montamos las particiones y comprobamos que todo va bien
mount -a

Si es así desmontamos el nuevo disco /home y borramos el contenido que teníamos en el /home original. y montamos de nuevo el disco
umount /home
rm -R /home/*
mount -a

Recuperar discos  Wubi no es perfecto, su sistema de archivos no es tan sólido como si estuviera instalado en un disco, por lo que puede que toque reparar algún disco dañado o recuperar datos para volver a instalar de nuevo.  Para ambas opciones necesitaremos una distribución en  LiveDC desde donde realizar las operaciones.

En ambos casos lo primero que haremos será montar el disco que queremos recuperar.

sudo fdisk -l
sudo mkdir /win
sudo mount /dev/sdxy /win
sudo mkdir /vdisk
sudo mount -o loop /win/ubuntu/disks/root.disk /vdisk

Una vez montado el disco, lo que haremos será hacer un fsck para tratar de recuperar el disco corrompido.

sudo fsck /win/ubuntu/disks/root.disk

Si tras hacer el fsck, wubi se niega a arrancar, no nos queda mas remedio que arrancar el livedc de nuevo, hacer un backup de nuestros datos e instalar wubi de nuevo.

viernes, 15 de marzo de 2013

Habilitar Wi-Fi y dirvers gráficos en OpenSuse


Con la reciente salida de OpenSuse 12.3 me decidí a probarla desde el disco de tests.
Mi intención era mantenerla lo mas pura posible sin drivers privativos, pero "no pude con los broadcom de la Wi-Fi" por lo que toca tirar de privativos. Por suerte es muy sencillo habilitar estos drivers.

Para ello nos conectamos como root y ejecutamos:

su
Password:
install_bcm43xx_firmware

Tras ello nuestra tarjeta Wi-Fi quedará habilitada y podremos conectarnos a nuestra red desde el Network Manager.

Si tienes habilitado el comando sudo:

echo 'user ALL=(ALL) ALL' >> /etc/sudoers

ejecutaremos

sudo /usr/sbin/install_bcm43xx_firmware

No sé si resistiré mucho a los drivers de las gráficas de momento quiero darles una oportunidad a los libres, pero como me conozco, por si la tentación me vence, aquí me los dejo apuntados:

NVIDIA

GForce 8 y Superiores

GForce 6/7


GForce Fx(5xxx)

Geforce 4 y mas antiguas, TNT

ATI

HD5450 y Superiores

32Bits
64Bits

HD4850 e Inferiores / MXX

32Bits
64Bits

jueves, 7 de marzo de 2013

Instalar Linux en discos externos

A pesar de que no me considero un distrohopper y viendo las entradas de este blog no es muy difícil adivinar que distro es la que utilizo, a veces, me apetece probar otras distros simplemente por el gusto de instalarlas, y comprobar que no es tan complicado disfrutar de su rapidez e inestabilidad, y otras (la mayoría) por que considero que hay proyectos realmente interesantes y merece la pena seguirlos aunque no reciban toda la atención que se merecen.

Si bien usar los live CD/USB o VirtualBox está vale para hacerte una primera impresión de la misma, no las disfrutas como si estas estuvieran instaladas en un disco. Descartando instalarlas en el disco principal, pues no las uso con la suficiente asiduidad como para tenerlas ocupando un espacio innecesario, prefiero tenerlas todas instaladas en un disco USB externo, así cuando me apetece puedo conectarlo y ejecutarlas casi como si estuvieran instaladas en el disco principal.

A lo largo de esta entrada indicaré todos los pasos que sigo desde que obtengo la ISO hasta que el sistema queda instalado en el disco duro externo.

Primeramente grabaremos la ISO descargada a un USB o  CD/DVD, puesto que la grabación de ISOS en CD/DVD no tiene mucho misterio, nos centraremos mi método preferido que es usar un USB. Existen programas como Unetbootin que hacen muy fácil este proceso de pasar una imagen ISO a un USB bootable, prefiero usar el comando dd para esta tarea. Como no queremos cargarnos por error ningún dispositivo de almacenamiento que podamos tener instalado en ese momento, antes de hacer nada listaremos los discos que tenemos conectados en ese momento mediante:

sudo fdisk -l

Esto nos mostrará un informe indicándonos entre otras cosas la capacidad de cada uno de los discos así como las particiones que existen en este. Notaremos que cada uno de los discos son enumerados como sda,sdb,sdc,... (Asumiremos que solo tenemos conectados dos discos, el principal (sda) y el pendrive usb en el que vamos a convertir en un live USB  (sdb)). Una vez identificado el disco que vamos a usar, en este caso sdb, volcaremos el contenido de la ISO mediante:

sudo dd if=/path/to/iso/name-distro.iso of=/dev/sdb oflag=direct bs=1M

Esperamos a que acabe y una vez listo ya tenemos nuestro live USB bootable listo para ser ejecutado.

Hasta aquí lo fácil, ahora viene lo sencillo.

Durante esta segunda parte del proceso si no sabes lo que haces, puedes cargarte el sistema de arranque de tu disco duro principal, por ello si tu bios tiene la opción de des-habilitar el disco duro principal, lo mejor es que lo des-habilites y si no tiene esa opción, lo mejor es que lo quites antes de ponerte hacer nada.(si tienes que quitar el disco, recuerda desenchufar el ordenador y quitarle la batería antes de ponerte manos a la obra).

De las cuatro distros que tengo actaulmente instaladas, sólo  des-habilité el disco principal en la instalación de una de ellas y por precaución, porque no recordaba bien el proceso de instalación, pero el truco para no fastidiar el disco principal está en indicarle en el proceso de instalación que quieres que el grub se instale en el disco externo (habitualmente en la pantalla de particionado del disco, aunque a veces dependiendo de la distro este paso se puede indicar  al final, despues de instalar la distro en el disco y en otras simplemente te ignora y hace lo que le sale de los cataplines),  es por ello que a menos que te conozcas bien el proceso de instalación, lo mejor es que des-habilites el disco en la BIOS o directamente lo quites,para luego no encontrarte con un problema que aunque solucionable no por ello dejan de ser molesto.

Aclarado esto reiniciamos el "cacharro" con el live USB conectado (Se da por hecho que el USB está configurado en la BIOS para que este por encima del disco principal en el proceso de arranque) y arrancamos la live. Una vez arrancada esta, podemos conectar el disco duro externo donde vamos a instalar nuestra distro.
Una vez conectado el disco externo ejecutamos el proceso de instalación del sistema en la live. Durante el proceso de instalación nos aseguraremos en el apartado de particionado de la instalación que lo hacemos en el disco correcto tanto las particiones como el boot loader. En la siguiente imagen podemos ver en este caso concreto, el proceso de instalación de Ubuntu en un disco externo, indicandole que instale el grub en ese mismo disco (/dev/sdb)y no en el principal que en nuestro caso sería /dev/sda.

Una vez termine de instalarse apagamos todo, quitamos los 2 USB (el Live y el en que acabamos de instalar la distro) si queremos arrancar para asegurarnos de no habernos cargado nada si no hemos desconectado el disco principal o bien solo quitamos el USB con la distro en modo live para poder funcionar con la distro que acabamos de instalar.

Con respecto a los discos USB externos, aquí contemplo 3 opciones.

Flash USB: Necesario que tenga un buena velocidad tanto de lectura como de escritura o la experiencia con este tipos de dispositivos puede ser nefasta. Aunque muchas veces pueden valer con 8G para una cosa simple, si lo que quieres es tener instalado un sistema totalmente portable recomiendo 16G mínimo, 32G recomendables.

Tarjeta SD: Lo dicho con las memorias USB vale para estas tambien, cuanto más capacidad y más rápidez mejor.





Disco duro externo USB: En este tipo de discos, la velocidad de lectura/escritura y el tamaño de los mismos no son tan limitantes como en los dos casos anteriores obteniendo unos resultados similares a que si estuvieran instalado en tu disco principal, si bien estos dispositivos, suelen ser también portables, por tamaño, pueden ser una opción menos cómoda que las dos opciones anteriores.
En lo personal el tipo de disco duro que uso es esta, aunque eso no me impide tener una distro instalada en un USB de 16G que suelo usar si me tengo que desplazar a un cliente o usar un ordenador que no es mío.


Bonus Extra

En caso de que no hayas retirado el disco principal y te hayas cargado el sector de arranque, desde un liveCD hacemos:
sudo mount /dev/sdbx /mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind dev/pts /mnt/dev/pts
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo chroot /mnt
grub-install --force /dev/sdx
update-grub

Donde /dev/sdx es el disco principal, (habitualmente /dev/sda)

miércoles, 20 de febrero de 2013

Configuracion VirtualBox

Descargar VirtualBox e instalar Virtual Box

Primeramente descargaremos la última  versión de Virtual Box y VirtualBox Extension Pack de la página oficial.
Una vez nos hayamos descargado los archivos instalaremos primeramente VirtualBox abriendo el archivo con Gdebi o en su defecto mediante linea de comandos con:

sudo dpkg -i virtualbox-4.2_4.2.6-82870~Ubuntu~precise_i386.deb

Si estamos en una distro basada en en Debian o Ubuntu

Instalar VirtualBosx Extension Pack

Una vez instalada VB procedemos a instalar VirtualBox Extension Pack, para ello haciendo doble click sobre el archivo debería abrirse VirtualBox preguntando si deseamos instalar el Extension Pack, le decimos si y esperamos a que termine.
En caso de que el doble click sobre el archivo no produzca ningún resultado, podemos hacerlo con click con el botón derecho y elegiendo Abrir con (y seleccionamos VirtualBox de la lista de programas)  o directamente de la manera que nunca falla:

VBoxManage extpack install 

Donde es el archivo de la Extension Pack que nos hemos descargado

Añadir usuario al grupo vboxusers

Tras instalar las vbox guess aditions, lo que vamos a hacer es añadir nuestro usuario al grupo de vboxusers, de esta manera nos evitaremos un molesto mensaje de alerta cuando accedemos a la configuración de la máquina virtual y nos posibilitará el uso de dispositivos USB en nuestra maquina virtual. Desde la consola de comandos ejecutamos:

usermod -aG vboxusers username

Cambiar el directorio por defecto de instalacion de la vm

Aunque se puede cambiar el directorio donde instalar los discos de cada una de las máquinas virtuales que creemos, por defecto los archivos de configuración se crean en el directorio $HOME/VirtualBox VMs, cosa que no me gusta nada por dos razones:

  • Odio los directorios con espacios
  • No es un directorio al que suelo entrar constantemente, por lo que no me apetece verlo en mi  $HOME cada vez que abro el explorador de archivos
Es por ello que suelo re-nombrarlo a .VirtualBoxVMs matando dos pájaros de un tiro.  Para asignar este directorio desde el menu de VirtualBox vamos a Archivos --> Preferencias y elegimos el directorio creado o cualquier otro que sea de tu conveniencia. 


Añadir red interna

Este paso es opcional, y no necesario a menos que necesites trabajar con la simulación de redes. Aprovechando que tenemos abierto el diálogo de Preferencias, seleccionamos el apartado de Red y añadimos las redes virtuales necesarias que luego se podrán usar en el tipo de red Adaptador sólo Anfitrión (Host only Networking).
 Una vez creada podemos editar el comportamiento de esta red 

Deshabilitar pestaña a pantalla completa

Cuando estoy probando una nueva distro, corrientemente me gusta hacerlo a pantalla completa, para una mayor inmersión en el entorno de prueba y olvidarme por completo del host donde corre la maquina virtual.
Es por eso que me molesta un poco a veces que si se te va el puntero del ratón un poco cuando estamos usando la barra de tareas nos sale el molesto diálogo en forma de pestaña. Para evitarlo nos vamos a la configuración de esa maquina virtual, y en la pestaña General -->Avanzado desmarcamos el checkbox que habilita esta opción.

Configurar Red

Algún día lo escribiré posiblemente en un nuevo artículo para no hacer este interminable, pero mientras eso llega este artículo es de lo mejor que he encontrado aparte de la áridas páginas del manual de VB.

Incorporar discos nuevos

A veces se nos queda corto el disco virtual creado y necesitamos más espacio para datos por lo que podemos crear  un disco nuevo. Para ello en la ventana de configuración de la VM en el apartado de almacenamiento creamos un nuevo disco IDE o SATA según deseemos. Si es IDE asegurarse que en su panel de propiedades se establece como IDE primario esclavo.


Con esto tendríamos un nuevo disco que nuestro sistema que el sistema reconocerá como tal cuando arranque y tras darle el formato de archivo adecuado(ntfs, ext4, ...) podemos usarlo e incluso podemos usar este disco creado para añadirlo a otras máquinas virtuales y tener un sistema de almacenamiento común compartido en varias VM.

Otra opción es que cuando arranque el sistema se auto-monte en el directorio /media o /mnt o en el se monte por ejemplo el directorio /home.

Para ello desde consola listamos los discos que ha reconocido el sistema:

ls -l /dev/disk/by-uuid/

Saldrá una cosa parecida a esta:
lrwxrwxrwx 1 root root 10 2009-11-19 07:56 8b6ec31c-1f41-49f3-82da-d2ab0f0fa312 -> ../../sda1
lrwxrwxrwx 1 root root 10 2009-11-19 07:56 626adc53-3478-4eb1-9f68-dc0b6f9308e7 -> ../../sda2
lrwxrwxrwx 1 root root 10 2009-11-19 07:56 9cfc5c6d-f343-411e-ac59-31eee6b12a9b -> ../../sda3
Tras conocer el ID del disco que queremos montar  usaremos
En caso de ser un disco con formato NTFS:
sudo echo "UUID=XXXXXXXX /mount/point ntfs-3g auto,rw,users,umask=000 0 0" >> /etc/fstab

En caso de ser un disco Ext3
sudo echo "UUID=XXXXXXXX /mount/point  ext4    defaults 0 0" >> /etc/fstab

Compartir directorios por Red

No suelo compartir directorios  a través de la máquina virtual, principalmente por que me resulta mas cómodo en caso necesario compartirlos por red principalmente desde el explorador de archivos por sftp o smb. Gigolo hace un trabajo estupendo aquí. Para ello en caso de no poder  usar el adaptador puente, suelo establecer al menos 2 redes a la máquina virtual, una con NAT a efectos de conectarme a Internet y otra con Red Interna a efectos de compartir carpetas.


Compartir directorios por VB

Como dije no suelo utilizar mucho esta opción pero a veces es útil si no quieres crear un disco y necesitas espacio para almacenar datos o compartir un determinado directorio entre varias máquinas virtuales.


A pesar de no usar mucho esta opción, ya que cuando suelo trabajar con maquinas virtuales me es más cómodo acceder por ssh, sft o smb configurando la red según me interese (habitualmente, excepto que este probando una distro de "usar y tirar" suelo configurar 2 tarjetas de red en la maquina virtual una con NAT para acceder a Internet principalmente y otra con Red Interna para temas de compartir directorios por red) a veces es útil si no quiero crear un disco nuevo para almacenar datos que sature el disco de la VM.

Para ello en el apartado de carpetas compartidas de la VM agregamos una nueva

y nos saldrá la siguiente ventana donde estableceremos el directorio que compartimos del sistema anfitrión y el nombre por el cual vamos a identificar el recurso




Una vez que se arranque el sistema si no hemos elegido automontar podemos montarlo mediante los comando:

sudo mount -t vboxsf shareName /mount/point

o si estas en windows mediante:

net use m: \\vboxsvr\shareName
donde m: es la letra de la unidad sobre la que vamos a montar el directorio compartido.

miércoles, 6 de febrero de 2013

Deshabilitar IP v6 Debian/Ubuntu

La IP v6 es necesaria y trae muchas mejoras con respecto a IP v4, pero por desgracia a día de hoy no esta completamente implementada a pesar que   todas las distribuciones Linux  y resto de S.O. vengan preparadas para ella.
El problema es que si con tu proveedor estás usando IP v4 esto puede hacer que a la hora de navegar y establecer conexiones se vaya un poco más lento.
Esto es debido a que nuestro programa intenta establecer primero esta una conexión por IP v6 y si no contesta intenta establecerla por IP v4. (Este comportamiento depende de la aplicación, por eso recalco que hagas tus propias pruebas y juzges en consecuencia).

Para ello editamos el fichero sysctl.conf
gksudo gedit /etc/sysctl.conf

Al final del archivo escribir:
#IPv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

Tras guardar el fichero modificado escribimos desde el terminal
sudo sysctl -p

Si luego escribimos el comando:

ip a | grep inet6
y no sale nada entonces es que tenemos deshabilitada la IPv6

En mi caso personal si he notado una notable mejora en la velocidad, principalmente en páginas con muchas imágenes.
De todas maneras si algún día tu proveedor habilita IP v6, te recomiendo que la vuelvas habilitar, pues las mejoras son con respecto a la v4 son sustanciales.