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 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.

viernes 9 de enero de 2009

Impresora Lexmark z613 en Linux

La verdad es que no suelo usar la impresora, pero arreglando la casa me encontré una que me regalaron en la compra de mi amada PC Dell, así que decidí instalarla, la impresora es una Lexmark z600series (z613).

Bueno lo que hay que hacer es decargar los drivers (de la paǵina de Lexmark), instalarlos (esta es la parte menos fácil y eso debido a un error en los desarrolladores del driver) y luego configurar la impresora...¿fácil no?.


1.- Instalar lo necesario:

sudo apt-get install cups cups-driver-gutenprint alien


2.- Descargar los drivers compatibles de la siguiente página:

http://downloads.lexmark.com/perl/downloads/downloads.cgi


3.- El archivo descargado es un tal CJLZ600LE-CUPS-1.0-1.TAR.gz, lo más fácil sería descomprimirlo e instalar el script que trae, pero en primera parece ser que ni siquiera es un tar.gz válido, en segunda si se ejecuta el script como normalmente se hace (sh o ./) se produce un error de lectura, así que hay que extraer el contenido en otra carpeta comprimida y luego descomprimir (para que quede más claro vayamos a los pasos):

Descomprimir el archivo descargado:

tar -xvf CJLZ600LE-CUPS-1.0-1.TAR.gz


Extraer el contenido del script que trae (con tail) y mandarlo (>) a una nueva carpeta:

tail -n +143 z600cups-1.0-1.gz.sh > lexmark.tar.gz


Descomprimir el nuevo directorio (lexmark.tar.gz), pero para que no quede todo revuelto crearemos un directorio (Lexmark) donde se descomprimirá el tar.gz creado:

mkdir Lexmark && tar -zxvf lexmark.tar.gz -C Lexmark


Nos movemos dentro de Lexmark (cd Lexmark) y una vez dentro podremos ver el contenido (ls) y veremos que lo principal son dos archivos RPM que es lo que debió descomprimir el script sin ningún problema.

NOTA: Si no se entendio muy bien eso del tail o por alguna razón no sale, en este link dejo como queda la carpeta correcta, donde solo resta instalar los RPM.


4.- A instalar como Tux manda, una vez dentro de la carpeta Lexmark instalaremos los RPM:

sudo alien -i *.rpm


5.- Esto tardará un poco, una vez terminado el proceso habrá que actualizar todas las librerías:

sudo ldconfig


6.- Como paso OPCIONAL podemos descomprimir el archivo PPD (PostScript Printer Description):

cd /usr/share/cups/model/

sudo gunzip Lexmark-Z600-lxz600cj-cups.ppd.gz


7.- Y ya tenemos instalados los drivers, es hora de conectar la impresora con el sistema, así que en el navegador web escribir:

http://localhost:631


con lo que se abrirá el administrador de impresoras (con esto nos evitamos instalar aplicaciones de gnome que son más estéticas pero básicamente hacen lo mismo).

8.- Es hora de dar click en la pestaña Administración y posteriormente en el botón Encontrar nuevas impresoras.


Arrojará una lista con las impresoras disponibles, en este caso elegiremos la segunda (aunque no se si las otras dos sean válidas...después de todo, no pasa nada con probar).


Se nos preguntarán una serie de datos acerca de la impresora, no es nada del otro mundo:


Tras esto viene la parte importante, que es escoger el driver, escogeremos el que dice Lexmark z600 (que es el que acabamos de instalar):


Y por fin, la impresora queda lista para usarse.


Y bueno ya entrados en esto de las impresoras, resulta que también tengo una ancianita Epson Stylus Color 777 que aún se conecta por el puerto paralelo (LPT) y debido a esto, no es reconocida tan fácilmente, por lo que hay que instalarla "manualmente", pero bajo el mismo método de localhost:631.

En vez de dar click en Encontrar nuevas impresoras, se dará click en la pestaña Administración > Añadir impresora, le daremos nombre y lo demás que nos pide, en el puerto escogemos LPT#1 (o el que nos aparezca), y en driver buscaremos la marca Epson y el modelo Stylus Color 777 (que bueno que este si existe de forma nativa :D ). Solo resta seguir el asistente y la impresora queda lista.

FUENTES:
http://ubuntuforums.org/showthread.php?t=660471
http://www.ubuntu-es.org/index.php?q=node/39366
http://bolsamercados.blogspot.com/