Español English

Tuesday, 19 March 2013

Kali Linux con Mate

Supongo que todos sabéis ya lo que es Kali Linux, o como lo llaman algunos BackTrack 6. Prefiero llamarla Kali Linux, ya que si los creadores han decidido cambiarle el nombre por algo será.

El objetivo de este post es instalar y hacer funcionar el escritorio Mate en Kali Linux. Personalmente no me gusta el gnome3 y prefiero instalar Mate. Para ello vamos a seguir unos sencillos pasos.

El primero es añadir a los orígenes del software el repositorios de mate para Debian. Para ello editamos el fichero /etc/apt/sources.list como en la figura siguiente.

Fichero /etc/apt/sources.list con el repositorios de Mate para Debian
Ahora debemos hacer un apt-get update, pero nos dará un error. Eso es normal tranquilos, debemos instalar el paquete mate-archive-keyring como se puede ver en la figura siguiente.
Instalando el paquete mate-archive-keyring
Ahora ya podemos realizar el apt-get update e instalar los paquetes: alsa-utils, gamin, mate-core, mate-desktop-environment y synaptic. Para ello podemos realizar los mismo que se puede ver en la siguiente figura.
Instalando paquetes necesarios para Mate
Una vez hecho ésto podemos salir de la sesión y acceder pero cambiando el tipo de escritorio como en la siguiente figura.
Login en el sistema con la opción de Mate
Si hemos seleccionado MATE como escritorio ahora podemos ver que tenemos las herramientas de Kali Linux en el menú, pero no de forma ordenada y bonita como en el gnome. Para ello debemos ir a la carpeta /etc/xdg/menus como en la figura siguiente.
Cambiando de carpeta para ir a los menús
Ahora debemos editar el fichero mate-applications.menu y añadir el apartado Kali Linux que podemos ver en la siguiente figura. Yo lo he añadido entre los apartados Internet y Multimedia como en la versión de gnome.
Edición del manú de Mate
Ahora debemos salir de la sesión y autenticarnos de nuevo para acceder al escritorio Mate como hemos hecho anteriormente y ya tendremos el menú de Kali Linux en Mate. Lo podemos ver en la siguiente figura.
Mate con menú Kali Linux
Si también queremos el fondo de escritorio que trae Kali Linux por defecto podemos pulsar el botón derecho en el escritorio y elegimos "cambiar fondo de escritorio". A continuación pulsamos añadir y buscamos en la carpeta /usr/share/wallpapers/kali/contents/images/ ahí encontraremos diferentes versiones del fondo de escritorio.
Buscando la imagen de fondo de escritorio por defecto en Kali Linux
Elegimos la más adecuada a nuestra resolución y ya tendremos un Kali Linux totalmente funcional con Mate.
Kali Linux con Mate

Thursday, 24 January 2013

Gráficas en Python

Otra entrada sobre Python, ésta vez sobre como hacer gráficas muy chulas y de forma sencilla.

Necesitamos tres paquetes para poder hacer las figuras con los ejemplos que voy a describir. Como siempre los pasos a seguir son en Arch Linux aunque deben ser fáciles de reproducir en otros sistemas operativos.



[maitesin@Malesero ~]$ yaourt -S python2-numpy python2-matplotlib
[sudo] password for maitesin:
resolviendo dependencias...
verificando conflictos...

Objetivos (9): python2-dateutil-2.1-6  python2-dbus-1.1.1-2  python2-pyparsing-1.5.7-1  python2-pyqt-4.9.6-1  python2-pytz-2012j-1
               python2-sip-4.14.2-1  python2-six-1.2.0-2  python2-matplotlib-1.2.0-8  python2-numpy-1.7.0-1

Tamaño de descarga:     30,17 MiB
Tamaño instalado:       95,95 MiB

¿Continuar con la instalación? [S/n]



En mi caso yo uso Python 2 si queréis utilizar éstos módulos en Python 3 sólo tenéis que eliminar el 2 del nombre del paquete. Una vez instalado se usa como el en siguiente ejemplo:


#!/usr/bin/env python
#Graficas para los grafos con ciclos

from numpy import *
from pylab import *
from matplotlib import rc, rcParams

#rc('text',usetex=True) #Para habilitar la escritura en Latex en los textos
rc('font',**{'family':'serif','serif':['Computer Modern']})

# Read in data from an ASCII data table
binomial = genfromtxt('../prim/ciclos/final_binomial.txt')
lazy = genfromtxt('../prim/ciclos/final_lazy.txt')
fibonacci = genfromtxt('../prim/ciclos/final_fibonacci.txt')

#Plot results
plot(binomial[:,0], binomial[:,1], 'o-', label='Binomial')
hold(True)
plot(lazy[:,0], lazy[:,1], 'o-', label='Lazy')
plot(fibonacci[:,0], fibonacci[:,1], 'o-', label='Fibonacci')

# Options
xlabel(r'Tamaño grafo')
ylabel(r'Tiempo(ms)')
title(r'Grafos Ciclos')
legend(loc='best')

# Turn on a grid
grid(True)

# Save the figure in a separate file
savefig('ciclos.eps') # soporta diferentes formatos jpg, png, eps...

# Draw the plot to the screen
show()



Creo que no hace falta describir que es cada parte del o como funciona el código. El resultado de la ejecución la podemos ver en la siguiente imagen.

Ya me contáis como os ha ido ;)

Wednesday, 23 January 2013

Parsear opciones en Python

A pesar de que después los amigos me pincharán voy a escribir algunas cosillas que he aprendido ha hacer con python :)

Nunca ha sido demasiado de mi agrado, más que nada porque estoy acostumbrado a realizar las cosas como en C/C++ y claro la deformación profesional...

Bueno a lo que íbamos, por un trabajo que he tenido que utilizar python y quería poder dar diferentes opciones al programa. Entonces encontré el siguiente módulo: optparse

Funciona como en el siguiente ejemplo:


#!/usr/bin/python
from optparse import OptionParser

parser = OptionParser()
parser.add_option("-s", "--start", dest="start", help="Ejemplo de opcion", metavar="Start")
parser.add_option("-f", "--finish", dest="finish", help="Otro ejemplo de opcion", metavar="Finish")
(options, args) = parser.parse_args()

if __name__ == "__main__":
    if options.start != None:
        print "Tenemos opcion en Start", options.start
    else:
        print "No hay opcion en Start"
    if options.finish != None:
        print "Tenemos opcion en Finish", options.finish
    else:
        print "No hay opcion en Finish"
    print "En argumentos tenemos", args



Podemos ver en el ejemplo que los parámetros necesarios para añadir una nueva opción son las siguientes:

add_option(opción_corta, opción_larga, atributo_destino, mensaje_de_ayuda, metavar_usado_en_la_ayuda)


Un par de ejecuciones del ejemplo son las siguientes:


[maitesin@Malesero ~]$ ./ejemplo.py -s 12 -f Hola Adios
Tenemos opcion en Start 12
Tenemos opcion en Finish Hola
En argumentos tenemos ['Adios']
[maitesin@Malesero ~]$ ./ejemplo.py -s 12 Adios
Tenemos opcion en Start 12
No hay opcion en Finish
En argumentos tenemos ['Adios']
[maitesin@Malesero ~]$ ./ejemplo.py
No hay opcion en Start
No hay opcion en Finish
En argumentos tenemos []
[maitesin@Malesero ~]$ ./ejemplo.py --help

Usage: ejemplo.py [options]

Options:
  -h, --help            show this help message and exit
  -s Start, --start=Start
                        Ejemplo de opcion
  -f Finish, --finish=Finish
                        Otro ejemplo de opcion




Espero que os sirva ésto tanto como a mi.

Latex cambiar cuadro por tabla

Me he propuesto escribir más en el blog, así que si no es algo muy especial las entradas serán más seguidas pero con menos contenido.

Ahora pasamos ya al lío. Me he encontrado con que en Latex cuando creamos una tabla nos dice de nombre Cuadro X, en vez de Tabla X.

La solución que he encontrado es editar el fichero de configuración del idioma español en Latex, no os asustéis que es fácil.

Editamos el fichero: /usr/share/texmf-dist/tex/generic/babel/spanish.ldf (en Arch Linux) y en la línea 127 encontramos lo siguiente:

\def\es@tablename{Ccuadro}


Simplemente lo cambiamos por:


\def\es@tablename{Ttabla}


Una vez hecho esto ya os pondrá las tablas como Tabla y no como Cuadro.

Como siempre, cualquier duda a los comentarios ;)

Wednesday, 15 August 2012

XFCE en Arch Linux


Seguimos desde donde nos quedamos en la entrada anterior (una vez instalado el sistema base).

Añadir un usuario:

El usuario debe pertenecer como mínimo a los grupos que aparecen en la siguiente imagen:
Añadiendo el usuario maitesin
Debes contestar a las preguntas que te realiza el sistema. Cuando finalices la creación del usuario verás una pantalla como la siguiente:
Usuario añadido

Dar permisos de Admin al usuario e instalar algunas herramientas:

Para ello instalaremos y configuraremos la herramienta sudo.
Instalando sudo
Ahora para configurarlo debemos modificar el fichero /etc/sudoers. Añadiendo la línea sobre el usuario maitesin, substituyendo maitesin por vuestro usuario.
Modificar sudoers

También deberíamos instalar la herramienta bash-completion, que como su nombre indica sirve para que al darle al tabulador autocomplete en la terminal bash.

Instalando bash-completion
Ahora es el momento de autenticarnos utilizando el nuevo usuario.
Autenticado con el usuario maitesin

Instalar Xorg y XFCE:

El primer paso es instalar Xorg
Instalando Xorg
Puede que os sea útil instalar las herramientas del Xorg que son: xorg-utils y xorg-server-utils.

En éste caso a mi no me ha sido necesario. Como he realizado la instalación en una máquina virtual no he puesto lo pasos para la instalación de los drivers en la tarjeta gráfica ya que son distintos. Pero si mirais en la Wiki de Arch allí encontraréis toda la información para la instalación de los drivers y la configuración del Xorg.

Nota: En caso de tener una tarjeta Nvidia podéis mirar una entrada antigua de éste blog en la cuál se muestra como hacerlo. Nvidia

Ahora es el momento de la instalación de XFCE y otros componentes útiles como dbus, gamin y slim.
Instalando xfce4, gamin, slim y dbus

Configurar dbus y configurar el sistema para el arranque gráfico:

Debemos añadir dbus a la lista de demonios que hay en /etc/rc.conf
Añadiendo dbus a la lista de demonios
Ahora en el home del usuario debemos crear el fichero xinitrc con el siguiente contenido.
Contenido del fichero ~/.xinitrc


Ahora en el fichero /etc/inittab debemos cambiar dos partes, concretamente es comentar dos y descomentar otras dos.
Comentamos el id:3... y descomentamos el id:5...

Comentamos la línea de xdm y descomentamos la del slim

Primer arranque de XFCE:

Antes de reiniciar y ver el resultado deberíamos instalar los siguientes paquetes: ttf-bitstream-vera, ttf-dejavu, ttf-droid y ttf-freefont que nos irán de perlas para el sistema. Esto lo podemos hacer con el siguiente comando:

sudo pacman -S ttf-bitstream-vera ttf-dejavu ttf-droid ttf-freefont

Ahora ya podemos reiniciar y veremos la siguiente pantalla de login proporcionada por slim
Login usando slim
Una vez autenticados veremos lo siguiente:
Nuestro sistema con XFCE
De momento esto es todo. En principio no voy a continuar con la explicación de como "decorar" el XFCE ya que cada uno tiene sus gustos, pero si cualquiera tiene alguna duda sobre lo que he descrito aquí o sobre cualquier otra cosa que lo comente.


Wednesday, 8 August 2012

Instalar Arch Linux sin instalador

Introducción:

Como el título de la entrada indica, voy a explicar como instalar Arch Linux sin instalador. Debido a que el famoso ejecutable que nos ayudaba a instalar el sistema no tenía soporte han decidido prescindir de él.

Si alguna vez habéis instalado algún sistema como Gentoo o parecidos, la forma de instalar Arch ahora es parecida, pero no os asustéis que no es complicado ni mucho menos, sólo se tiene que tener una idea básica de que se está haciendo.

De acuerdo, vamos por partes, lo primero es bajarse el CD de instalación http://www.archlinux.org/download/ podréis comprobar que ya no existen ni la versión core ni la net-install ni podremos elegir arquitectura (32 o 64 bits), esto se debe a que ahora sólo habrá un único CD que pesa unos 400MB.

Empezamos la instalación:

Una vez arrancamos el PC con el CD de Arch nos muestra las siguientes opciones de arranque:

Arranque del nuevo CD de Arch Linux

Entre las opciones veréis que podemos elegir entre las dos arquitecturas y a parte siguen estando las mismas opciones de siempre. En mi caso he seleccionado la opción de 32 bits, la cual usaré para mostrar los pasos a seguir para realizar la instalación.

Una vez el sistema ha arrancado nos encontramos en que ahora la consola que utilizamos utiliza la terminal zsh. Lo primero que debemos hacer es cambiar la distribución del teclado, esto se hace con el comando loadkeys.

Cambiando la distribución del teclado

Particionado del disco duro:

Para particionar los discos yo utilizo el programa fdisk, cada uno que utilice el que prefiera yo describiré los pasos usando dicho programa.

Información que proporciona el fdisk cuando se ejecuta

Si elegimos la opción m nos mostrará la ayuda:

Ayuda del fdisk
También podemos ver que de momento el disco duro no tiene ninguna partición, en caso de querer borrar una partición se usa la opción d:

No hay ninguna partición en el disco duro


En mi caso voy a crear 4 particiones primarias en el disco:
  1. Boot 150MB.
  2. SWAP 256MB.
  3. Root (Sistema) 8GB.
  4. Home (Carpeta Personal) 11,6GB.
Ahora veremos los pasos para crear dichas particiones:

Se ha creado la partición para el boot
Para crear una partición nueva se utiliza la opción n y se le introduce la información que se nos pide.

Se ha creado una partición para el swap
Se ha creado una partición para el Sistema
Se ha creado una partición para el Home

Una vez tenemos creadas las particiones hemos de crear el sistema de ficheros para cada una. En este caso la partición del Boot será Ext2 y el Sistema y el Home serán Ext3. A continuación podéis ver el proceso:

Sistema de ficheros para el boot
Sistema de ficheros para el Sistema
Sistema de ficheros para el Home
Creando el SWAP y activándolo

Montar particiones e instalar el sistema base:

Ahora debemos montar las particiones en su lugar correspondiente. Además, también tenemos que configurar la conexión a internet si no estamos conectados por cable. La parte de la conexión no la haré ya que yo estaba conectado por cable, cualquier cosa en la Wiki de Arch está explicado de maravilla.

Montaje de las particiones
Primero se ha montado el sistema /dev/sda3, a continuación se han creado dos directorios (/boot, /home) de esta forma el genfstab los detectará automáticamente y los montará. Después se han montado las otras dos particiones en sus respectivos directorios.

En caso de querer especificar el origen de los paquetes (los servidores de donde se descargan) éste es el momento. Para ello debemos editar el fichero /etc/pacman.d/mirrorlist como se muestra a continuación:

Editar la lista de servidores


Ahora ha llegado el momento de instalar el sistema base, para ello se utiliza la herramienta pacstrap que hace lo mismo que el pacman pero eligiendo el destino, esto se puede ver en la siguiente imagen:

Instalando el sistema base

En mi caso he instalado también el paquete base-devel debido a que utilizaré AUR para compilar e instalar algunos paquetes que no vienen en los repositorios por defecto.

GRUB y configuración del sistema:


Debemos instalar también un bootloader que en mi caso utilizaré GRUB2, ya que el GRUB original ha sido substituido por esta nueva versión en el paquete estable.

Instalación del GRUB2
Hay dos variantes del GRUB2 el BIOS y el EFI, cada uno depende del sistema básico de la placa base. Si tu placa base tiene BIOS debes utilizar el paquete grub-bios, en cambio si tu placa base utiliza el sistema EFI debes utilizar el paquete grub-efi. A parte de en la instalación, los comandos a seguir son los mismos para los dos paquetes.

Primero debemos utilizar el programa genfstab que creará automáticamente el fichero fstab para nuestro sistema utilizando las particiones que estén montadas.

También realizamos un chroot a la carpeta /mnt para configurar el sistema, para ello utilizaremos el comando arch-chroot, ya que nos prepará el entorno y montará los diferentes dispositivos y directorios necesarios automáticamente.

Configuración del fstab y utilización del arch-chroot
Una vez estamos dentro del nuevo sistema podemos ver que la terminal por defecto es la sh pero esto no supone ninguna novedad. A continuación se deben configurar los siguientes ficheros:
  • /etc/hostname (Para darle un nombre al sistema).
  • /etc/localtime (Para la hora del sistema).
  • /etc/locale.conf (Para la configuración del idioma del sistema).
  • /etc/locale.gen (Para la generación de las locale de los idiomas).
  • /etc/mkinitcpio.conf (Sólo en caso de necesitar montar cosas especiales como LVM o RAID)
Las configuraciones las podemos ver en las siguientes capturas:
Dentro sólo debes escribir el nombre del ordenador
Es un enlace simbólico al fichero de la zona horaria
Idioma español de España y
el segundo parámetro es para cuando se muestra información
Descomentamos la línea de español de España
Se generan las locale
Como no se ha utilizado ningún tipo especial de administrador de dispositivos o volúmenes como el RAID o el LVM no se ha cambiado la configuración del mkinicpio. Entonces, ahora se ejecuta para crearlo.
Creando el initcpio utilizando el mkinitcpio
Recordemos que hemos instalado el grub pero no lo hemos configurado. Si tienes en tu ordenador instalados otros sistemas operativos, como Windows por ejemplo, debes instalar el paquete os-prober utilizando el comando

pacman -S os-prober


El primer paso es que busque los diferentes sistemas operativos e imágenes del kernel para poder utilizarlas para arrancar:
Utilizamos grub-mkconfig para realizar la búsqueda
Sólo queda escoger el disco duro sobre el que funcionará el GRUB, normalmente es el mismo que tiene el boot.
Los hemos instalado sobre /dev/sda y no ha habido errores


Ahora ha llegado el momento de cambiar la contraseña del root:
Cambiando la contraseña del usuario root
Salimos del chroot, utilizando el comando exit, y desmontamos las particiones:
exit y desmontar las particiones
Si has llegado hasta aquí, ¡Felicidades has instalado Arch Linux!

Primer arranque y configuración del teclado:

Si estamos en el paso anterior debemos reiniciar utilizando reboot y quitar el CD de Arch. Una vez hecho esto y el ordenador arranque veremos la siguiente pantalla del GRUB, donde podemos elegir el sistema con el que queremos arrancar, en este caso sólo está Arch Linux.

GRUB mostrando los sistemas para arrancar
Después nos mostrará el login:
Login del sistema
Una vez nos hayamos autenticado usando el usuario root y la contraseña que hayamos introducido previamente debemos cambiar la disposición del teclado. Para ello debemos editar el fichero /etc/rc.conf uno de los más importantes, por no decir el más importante para la configuración del sistema.
Se ha añadido KEYMAP="es" para el teclado español
Para utilizar la distribución de teclado debemos reiniciar el sistema. Hasta aquí ha llegado éste tutorial, en el próximo partiré de esta base para instalar el apartado gráfico y todo lo necesario para tener un sistema con el que se pueda trabajar. El entorno gráfico elegido será XFCE, ya que he decidido probarlo. Pero todo esto será en el próximo tutorial.

Monday, 7 November 2011

Gnome 3, Gnome 2.32 y Mate en Arch Linux

Hola a todos.

Primero de todo, ¡sigo vivo! es porqué dije que escribiría más amenudo en el blog y no lo he cumplido :( Pero bueno para eso hay fácil remedio.

El Gnome 3 no voy a explicar lo que es porqué ya hay multitud de entrada en Internet sobre el. Éste verano he estado trasteando con la versión 3.0 de Gnome y no me parecía que estubiese lo suficiente maduro como para sustituir al Gnome 2.32 por completo (cosa que los de Arch hicieron).

Como no me parecía lo suficiente maduro me decidí a instalar la versión 2.32 (el paquete es gnome-desktop2 en Arch), pero tenía una dependencia que no se podía resolver. Con lo cual no fue posible instalarlo (o almenos yo no lo conseguí).

Una vez en ésta situación decidí cambiar de sistema operativo para tener el gnome versión 2.32. Las opciones que barajé fueron la Debian o la Gentoo. La Debian me parecía un paso atrás en configuración y versatilidad (se que los Debianeros me vais a matar por decir esto, jejeje). Debian me parece genial para servidores o para gente que necesite un sistema ultra estable. Pero yo soy un culo inquieto y necesito trastear y para eso me parecía mejor la Gentoo, ya que al estar Arch basada en ésta me sería más familiar todo (Arch está basada en CRUX, gracias Anónimo).

Bueno al final probé la Gentoo Hardened que es una Gentoo con todas las medidas de seguridad activadas (PIE, SELinux, ASLR, etc.), ya que cuando mi amigo Klondike me lo recomendó le dijé que lo probaría. Me pareció un sistema buenísimo, muy muy chulo, pero no era mi Arch. Estube trabajando con la Gentoo 2 meses pero al finales de verano tenía morriña de mi Arch. Así que en cuanto ví que en mi Arch pasaban la versión Gnome 3.2 a estable me la instalé en una máquina virtual y me encandiló.

Así que el final de mi travesía por los sistemas he vuelto a Arch. Ahora la versión 3.2 me parece mucho más madura (aunque le falta mucho camíno por recorrer).

Mate, para los que no lo sepan, es un fork del Gnome 2.32 pero no lo pude hacer funcionar del todo bien. Espero que el día de mañana pueda hacerlo funcionar y así tendríamos una opción más.

Resumiendo: Arch con Gnome 3.2 me parece lo suficiente estable como para utilizarla en producción. Gentoo Hardened mola muchísimo, espero poder probarlo más a fondo. Veo un futuro prometedor a Mate.

Cualquier queja o comentario o lo que sea, comentad!