domingo, 12 de julio de 2009

Archivos protegidos contra escritura

Es sabido que un buen manejo de permisos en los archivos es una forma adecuada para mantenerlos accesibles y seguros, pero existe un pequeño "truco" para proteger un archivo contra escritura y es:

$ sudo chattr +i archivo


con esto se cambian los atributos y el archivo se vuelve inmutable, es decir, no podrá ser escrito ni borrado, ni siquiera por root, esto mientras los atributos se mantengan así.

Para quitar estos atributos basta con sustituir el signo "+" por "-" en la instrucción anterior, volviendo el archivo a ser escribible.

$ sudo chattr -i archivo


Y si lo que se desea es cambiar los atributos de una carpeta se depebe anteponer a la "+i" o "-i" la opción "-R" de recursividad.

$ sudo chattr -R "+-i" carpeta


Para ver más opciones "man chattr".

Y para ver los atributos de un archivo o carpeta "lsattr archivo".

domingo, 24 de mayo de 2009

Feliz Cumpleaños Star Wars!!!

A long time ago, in a galaxy far far away...

Inicio este 25 de mayo, siendo aproximadamente las 12:30am recordando que hoy se conmemora un año más (hasta ahora 32) del estreno de la primer película de la saga de Star Wars, A New Hope.

Esta cinta se estrenó en el año de 1977, la verdad es que en ese entonces yo ni siquiera estaba en los planes de mis padres, pero los pobres registros de mi memoria me dicen que esta película fue la primera que vi que no fuera animada, todavía me acuerdo cuando me sentaba en el suelo al empezar la batalla en la Estrella de la Muerte.

Bueno, desde mi punto de vista, A New Hope es el parteaguas de todo, pero The Empire Strikes back es la mejor de toda la saga. La verdad las últimas películas que sacaron (Episodio I, II y III) no se comparan con los clásicos donde conocimos a Luke Skywalker pero bueno, yo defiendo las 6, así que podrían poner a Yoda bailando reggaeton y no protestaria....bueno, no, no tanto, mejor que Yoda se vuelva Sith.

Sin duda alguna, Star Wars forma parte de la cultura mundial y son mis películas consentidas. May the force be with you...

Y por cierto, también es dia del orgullo friki :D

domingo, 26 de abril de 2009

Xbindkeys: Configurando tu teclado

Ya tiene un rato que mi scroll para subir el volumen de mi laptop no servía en xfce y empecé a buscar soluciones, la que más me gustó fue xbindkeys que es un programa que permite asignar combinaciones de teclas a comandos de consola, entonces solo es cuestión de poner en el archivo de configuración de xbindkeys que tecla se asigna a que comando, esto es muy sencillo, así que ¡A darrle atomosss!:

1.- Instalar xbindkeys:

$ sudo aptitude install xbindkeys


2.- Copiar el archivo de configuración inicial a tu home (NOTA: es guión doble el que precede a defaults):

$ xbindkeys --defaults > /home/usuario/.xbindkeysrc


3.- Ahora es tiempo de usar una opción interesante y es la de probar nuestras teclas y poder ver su representación para el archivo de configuración:

$ xbindkeys -k


Y pulsamos la combinación de teclas que queramos usar, por ejemplo para la combinación Control+P el resultado seria el siguiente:

"(Scheme function)"
m:0x14 + c:33
Control+Mod2 + p

Esta salida es la que debemos copiar en el archivo de configuración, y solo tenemos que sustituir la parte de (Scheme function) por el comando que deseamos asignarle a dicha combinación.

4.- Editando el archivo ubicado en: /home/usuario/.xbindkeysrc y al final poner:

"Comando"
Salida de xbindkeys -k

Usando el ejemplo de Control+P, suponiendo que queramos usar la orden de abrir firefox lo que debería quedar en el archivo de configuración es:

"firefox"
m:0x14 + c:33
Control+Mod2 + p

5.- Lo que sigue es iniciar xbindkeys, esto es tecleando:

$ xbindkeys

6.- Y a continuación hacer lo necesario para que inicie con el sistema, que en GNOME podría ser desde el menú general Sistema > Preferencias > Sesiones (o Aplicaciones al inicio) y agregar la palabra xbindkeys. En Xfce desde el menu de Aplicaciones de autoarranque (xfce4-session-settings) o creando un .desktop.

Y bueno aquí dejo como tengo configurado mi .xbindkeysrc:

"amixer set Master 2dB+"
m:0x0 + c:176
NoSymbol

"amixer set Master 2dB-"
m:0x0 + c:174
NoSymbol

"amixer set Master mute"
m:0x0 + c:160
NoSymbol

"amixer set Master unmute"
m:0x0 + c:160
NoSymbol

"rhythmbox-client --next"
m:0x0 + c:153
NoSymbol

"rhythmbox-client --previous"
m:0x0 + c:144
NoSymbol

"iceweasel"
m:0x0 + c:178
NoSymbol

"eject"
m:0xc + c:26
Control+Alt + e

"xfce4-screenshooter -w"
m:0x8 + c:111
Alt + Print

"xfce4-screenshooter"
m:0x0 + c:111
Print

VirtualBox Parte 4. Compartir Carpetas

Compartir carpetas entre el sistema anfitrión y el virtualizado es muy cómodo, ya que se pueden trabajar con los archivos del sistema anfitrión y en caso de fallo o reinstalación de la máquina virtual, estos archivos no se ven afectados. Además, podemos trabajar en la máquina virtual con nuestros archivos diarios, sin necesidad de importar todo, es como compartir una partición.

1) Lo primero que se necesita es tener instaladas las Guest Additions.

2) El segundo paso es indicarle a VirtualBox que carpeta vamos a compartir, esto se puede hacer desde consola o de manera gráfica.

Consola.
Introducir lo siguiente siendo usuario que va a usar la máquina virtual, es decir, sin "sudo" o root:

$ VBoxManage sharedfolder add "NombreMaquinaVirtual" --name "CarpetaCompartida" --hostpath "/ruta/CarpetaCompartida/CarpetaCompartida"


Notar que los guiones que preceden a name y hostpath son doble guión y es recomendable que la ruta de la carpeta compartida sea la ruta absoluta, es decir, comenzar desde la raíz "/".

Para compartir una carpeta en modo de solo lectura hay que añadir al comando anterior la opción --readonly.

Para eliminar una carpeta compartida en vez de "add" utilizaremos "remove" y solo usaremos la opción --name "NombreCarpetaCompartida", sin necesidad de usar la opción --hostpath.

Manera gráfica.

Dentro de la configuración de la máquina virtual en la pestaña Directorios compartidos dar click en el botón de añadir.



Y llenameos el formulario:



3) El último paso es añadirla desde la máquina virtual.

Si la máquina virtual es Windows:

Ir a Inicio > Ejecutar y teclear cmd.

Ahora teclear:

net use Y: \\vboxsvr\NombreCarpetaCompartida


Para crear una unidad con el contenido de la carpeta compartida. Donde Y: es el nombre de la unidad que queremos crear.

Si se desea hacer esto de la forma gráfica:

Inicio > Clic derecho en Mi PC > Conectar a una unidad de Red.

Y solo resta indicar el nombre de la unidad a crear e indicar la carpeta compartida.

Si la máquina virtual es Linux:

Simplemente se tiene que montar la carpeta compartida, primero crearemos una carpeta donde montar el contenido:

$ mkdir DirMontaje


Ahora ejecutaremos el montaje:

$ sudo mount -t vboxsf NombreCarpetaCompartida /ruta/DirMontaje

En caso de que queramos que esta carpeta se monte cada vez que se inicia el sistema virtual, habrá que editar el archivo /etc/fstab y añadir al final algo así:

NombreCarpetaCompartida /ruta/DirMontaje vboxsf defaults 0 2

El único problema es que al montar la carpeta lo hace como root y solo se puede editar el contenido con sudo.

VirtualBox Parte 3. Guest Additions

En el pasado post se habló de como instalar una máquina virtual, pero existen en VirtualBox las VBox Guest Additions, que son funcionalidades extras para la máquina virtual, ejemplos de estas funciones son:

  • Mayor integridad con el sistema.
  • Permite compartir carpetas con el sistema anfitrión.
  • Se reduce la necesidad del uso de la tecla anfitrión.
  • Mayor eficiencia en el modo pantalla completa.
  • Se activa Modo Seamless (conviviendo los paneles de la máquina anfitrión y la virtual en la pantalla principal).

Vamos a ver como instalarlas cuando una máquina virtual tiene Windows y otro ejemplo cuando el sistema virtual es Linux.

1.- Cuando se encienda la máquina virtual damos clic en Dispositivos > Instalar "Guest Additions" y al arrancar el sistema operativo se habrá montado la imágen iso en la Unidad D (para Windows) y en /media/cdrom (para Linux).

NOTA: la versión Vbox OSE descarga la imágen desde internet, mientras que PUEL la trae integrada, esta se guarda en la carpeta oculta .VirtualBox del home.



Guest Additions en Windows







Guest Additions en Linux


2.- En el caso de Windows solamente basta con dar clic en la Unidad D o donde esté montada la imágen y seguir el asistente, una vez terminado, basta con reiniciar la máquina virtual para que se hagan los cambios.

Y para Linux hay que instalar algunos paquetes básicos antes de ejecutar la instalación, desde consola:

$ sudo aptitude install gcc make linux-headers-$(uname -r)

Y si el sistema huésped es Fedora, habrá que instalar como superusuario:

$ yum install make gcc kernel-devel kernel-headers


moverse a la carpeta cdrom e instalar la versión del script .run que se acople al sistema (arquitectura, ya sea x86 o amd64) que viene dentro de la imagen montada:

$ cd /media/cdrom
$ sudo sh VBoxLinuxAdditions-x86.run


Si se satisfacen todas las dependencias se ejecuta el script instalando estas adiciones y basta con reiniciar la máquina virtual para que surta efecto.

En el siguiente post veremos como compartir carpetas entre el sistema anfitrión y el virtual, esto se puede hacer gracias a las Guest additions que acabamos de instalar.

lunes, 20 de abril de 2009

VirtualBox Parte 2. Instalación de una máquina virtual.

El post pasado hablaba de como instalar VirtualBox en nuestro sistema, este tratará de como instalar una máquina virtual.

Creación de una máquina Virtual.

Tenemos que abrir VirtualBox y a continuación damos clic en el botón "Nueva", lo cual abrirá un asistente:





Lo que sigue es elegir el nombre de la máquina virtual así como el tipo de sistema operativo que se instalará:



Ahora es tiempo de elegir el tamaño de memoria RAM de la máquina huésped, es recomendable poner poca memoria, pero en el caso de que se quiera usar mucha, lo más recomendable es que el límite de esta sea la mitad de la memoria física, es decir si nuestra computadora tiene 1GB de RAM el máximo recomendable a usar en la máquinva virtual es de 512MB:


El siguiente paso es usar o crear un disco duro virtual, esto se refiere a que se creará un archivo que representará el disco duro físico de la máquina virtual, para este punto debemos seleccionar nuevo y crear un disco duro virtual ya sea de expansion dinámico o fijo.

Imagen de expansión Dinámica: Tiene capacidad de crecer hasta el límite establecido, es decir, si creamos una imagen virtual de 10GB y el sistema que se instala ocupa solo 4GB quedarán 6GB libres mas en la máquina anfitrión, esta opción es la más recomendada.

Imagen de expansión Fija: A diferencia de la anterior, no puede crecer, esto quiere decir que el espacio asignado al momento de crear el disco es el que se usará siempre, y usando el ejemplo anterior, si se asigna 10GB de disco duro virtual serán los 10GB reservados se usen o no.




El siguiente punto es la asignación de espacio:


Por último se muestra un resumen de la creación de la máquina virtual.


IMPORTANTE: antes de iniciar la máquina virtual hay que configurarla (que no es otra cosa que activar los dispositivos que se quieran usar durante la instalación y uso del sistema operativo virtualizado), para esto hay que estar en la pantalla principal de VirtualBox, seleccionar la máquina virtual y dar click en el botón de "Configuración":


En este punto basta con navegar por las diversas pestañas de la lista de la izquiera y activar los soportes, he aquí una pequeña lista de las opciones que hay:

  • General: Se puede elegir el tipo de SO a usar, el tamaño de RAM y el de memoria de video, así como el orden de arranque.
  • Discos duros: Se pueden elegir los disco duros a usar así como si es IDE primario o secundario (en la versión PUEL está el controlador SATA).
  • CD/DVD-ROM: Aquí es donde se activa el soporte para la unidad de CD/DVD física o también está la opción de seleccionar una imagen .iso con la que iniciar o usar como CD/DVD.
  • Disquetera: Cumple con la misma función que la de CD/DVD-ROM pero para discos flexibles.
  • Audio: Esta opción sirve para activar el soporte de sonido y seleccionar el controlador de audio.
  • Red: Se encarga de proveer soporte a conexión de internet o de red con la máquina anfitrión, pudiendo seleccionar el tipo de adaptador de red, la manera de conexión, dirección MAC, etc.
  • Puerto Serie: Una opción interesante ya que permite activar y convivir con los puertos seriales de la máquina anfitrión desde la máquina virtual.
  • USB: Una característica que actualmente solo está disponible en la versión PUEL de VirtualBox, aquí se puede habilitar el soporte USB.
  • Directorios Compartidos: Mediante esta opción se pueden agregar de manera gráfica los directorios que se quieran que convivan entre VBox y la máquina anfitrión, esta característica es una de las más útiles, ya que ofrece compatibilidad entre los sistemas. Requiere Guest Additions.
  • Pantalla remota: Que permite que una computadora remota se conecte y use la máquina virtual mientras esta esté en uso (solo en PUEL).
Para administrar los discos virtuales e imagenes .iso (agregar, borrar, etc.) se debe dar clic en la pantalla principal de Virtualbox: Archivos > Administrador de discos virtuales.

AHORA SI ESTAMOS LISTOS PARA INICIAR VIRTUALBOX:

En realidad la máquina virtual se opera de la misma manera que una computadora física, solo que corre sobre un sistema operativo existente y usando los recursos de la máquina anfitriona. Existe una tecla de "liberación" (generalmente Ctrl derecho), que puede ser modificada desde Archivos > Preferencias de la pantalla principal de VBox, y el objetivo de esta tecla es liberar el cursor del mouse para que se pueda usar en la máquina anfitrión y luego regresar a la virtual, en caso de instalar las GuestAdditions, esta tecla pierde efecto, aunque sigue siendo útil para otras funciones como "Modo pantalla completa", "activar modo seamless" etc.

Instalar un sistema operativo:

Una vez configurada nuestra máquina virtual es tiempo de instalar un sistema operativo huésped, bastará con indicarle a VBox que medio se usará para bootear, esto con la tecla F12 al iniciar la máquina virtual.
Si se desea usar una imagen iso para bootear, se debe abrir el menú de Configuración y seleccionar en la pestaña de CD/DVD-ROM la imagen a usar, lo demás dependerá mucho del sistema operativo.

El siguiente post hablará de como instalar las guest additions para que VBox sea más funcional.

miércoles, 21 de enero de 2009

VirtualBox Parte 1. Instalación.


En este primer post veremos como instalar VirtualBox tanto la versión PUEL como la OSE en Debian (también funciona para Ubuntu).

¿Qué es VirtualBox?

Bueno, para quienes no lo conocen, VirtualBox es un software de virtualización que se ha vuelto famoso entre los usuarios de GNU/Linux, porque es fácil de usar y también tiene una versión libre que incluso viene en los repos oficiales.

VirtualBox se encuentra disponible para varios sistemas operativos como:

  • GNU/Linux
  • Windows
  • Mac OS X
  • OS/2 Wrap
  • Solaris, etc.

y se pueden virtualizar sistemas como:

  • GNU/Linux
  • Windows
  • OpenBSD
  • FreeBSD
  • OS/2 warp
  • Solaris.

En su inicio VirtualBox era software 100% privativo, y que inició bajo la empresa Innotek pero pasó a ser parte de Sun Microsystems.

¿VirtualBox es libre?

Si y no. ¿Porqué?. Existe una versión que es un paquete instalable con licencia PUEL que solo permite usar VBox (así abreviaré VirtualBox) para uso personal, de evaluación e incluso uso académico, de lo contrario, habrá que comprar una licencia o usar la otra versión, que es la OSE (Open Source Edition) que tiene licencia GPL v2 y se encuentra en los repositorios.

Ventajas de una u otra versión:

Las ventajas de la versión OSE es que se tiene una mayor integración con el sistema, de entrada al venir el paquete en los repos, en segunda al usar módulos en el kernel para su funcionamiento y por último que es libre.
VirtualBox maneja una extensión de archivo llamado .vdi que es el tipo de archivo que usan los discos virtuales de VBox y donde se guarda todo el sistema operativo que se este virtualizando (funcionando como disco duro virtual), así, si se tiene el archivo .vdi en un disco duro físico y quieres probar o usar tu maquina virtual en otra computadora con VBox solo copias el archivo a dicha computadora y listo.

Las deventajas de OSE es que hasta el momento no hay soporte USB ni Pantalla Remota (Servidor RDP) como en la versión PUEL.

Requisitos para instalar VBox:

Tener los headers del kernel instalados:

apt-get install linux-headers-$(uname -r)

Tener actualizado el sistema:

apt-get update

apt-get upgrade

Instalación:


VERSIÓN PUEL - En realidad es la versión más fácil de instalar y si no hay molestia con cambiar un poco de libertad de software por facilidad de uso e instalación, es recomendable esta versión.

1.- Descargar el paquete correspondiente de la página de descargas de VirtualBox.

2.- Abrir una consola y escribir (de preferencia como root):

dpkg -i paquete.deb

Si hay algún error de dependencias, estas son:

libxalan
libxerces

Este es el nombre genérico, el nombre específico del paquete se puede ver mediante la instrucción en consola:

aptitude search libxalan
aptitude search libxerces

y se instalan mediante APT (apt-get install paquete).


VERSIÓN OSE - Esta versión es recomendada para los entusiastas del software 100% libre, con todos sus beneficios y consecuencias.

1.- Desde consola (como root) o desde Synpatic:

apt-get install virtualbox-ose virtualbox-ose-modules-$(uname -r)

para instalar virtualbox y los módulos correspondientes a la versión del kernel que estemos usando. Es importante ver que siempre tengamos instalados estos modulos para que funcione VirtualBox OSE. En caso de que, con la instrucción anterior no se hayan encontrado, habrá que ir a synpatic y buscarlos manualmente, o compilarlos de la siguiente manera:

apt-get install virtualbox-ose-source module-assistant build-essential

m-a prepare
m-a a-i virtualbox-ose


En caso de que se genere un error con la última instrucción, se puede probar con:

m-a -f a-i virtualbox-ose

lo que forzará la instalación.


2.- Editar el archivo donde se cargan los módulos:

gedit /etc/modules

y agregar la palabra vboxdrv para que se cargue el módulo de Virtual box cada vez que la computadora inicie.


INDICACIONES PARA LAS DOS VERSIONES:


Tras haber instalado la versión deseada, hay que hacer un paso más que es agregar nuestro usuario al grupo vboxusers, si es de manera gráfica en Sistema > Administración > Usuarios y Grupos se pude hacer, pero por consola será más fácil (como root):

adduser Usuario vboxusers

o también se puede con:

gpasswd -a Usuario vboxusers


NOTA PARA LAS ACTUALIZACIONES:

Cada vez que se actualice el kernel Linux tal vez mande un mensaje de que no se puede acceder a VBOX, para esto hay que escribir lo siguiente en consola:

/etc/init.d/vboxdrv setup

para recconfigurar el módulo de VBox y se acople al nuevo kernel o recompilandolos (solo si se usó el paquete virtualbox-ose-source):

m-a prepare
m-a a-i virtualbox-ose

ó

m-a -f a-i virtualbox-ose

y reiniciar. Ahora si, a usar VirtualBox, hasta el siguiente post que hablará de como crear una máquina virtual.