Español English

Friday, 22 July 2011

Actualizando como instalar Arch Linux

Esta entrada se debe a los cambios en la configuración e instalación de Arch Linux. Primero de todo comentar los cambios que voy a realizar:
  1. Usar Gnome 3 (Todavía estoy aprendiendo sobre él. En cuanto pueda haré una entrada sobre esto).
  2. Cambiamos ALSA por PulseAudio.
  3. Utilizaremos un kernel LTS(Long Term Support) y la versión LTS del driver de nvidia.
  4. Utilizaremos LibreOffice en vez de OpenOffice.
  5. Intalaremos yaourt (como pacman pero "más potente").
 Yaourt:
¿Qué es yaourt? Bueno yaourt(Yet AnOther User Repository Tool) es una herramienta para acceder a los mismo repositorios que pacman pero además podemos acceder a los repositorios AUR(Arch User Repository). Los comandos para utilizarlo son los mismo que en pacman:

sudo yaourt -Syu --aur
sudo yaourt -Ss
sudo yaourt -S
sudo yaourt- R
 etc.

 ¿Cómo se instala? Debemos modificar el fichero /etc/pacman.conf añadiendo lo siguiente:

[archlinuxfr]
Server = http://repo.archlinux.fr/(i686 ó x86_64 dependiendo de la arquitectura)

En la siguiente imagen lo podemos ver:

Ahora debemos hacer un update de los repositorios.
Nos ha pedido que actualicemos el paquete pacman primero. Así que lo hacemos. Una vez actualizado el pacman debemos hacer un update de la base de datos del mismo:
Ahora ya podemos instalar el yaourt:
También estaría bien instalar el paquete pacman-color, ya que nos mostrará de forma más bonita los mensajes del yaourt. Básicamente en el repositorio AUR está el código fuente y yaourt tiene los mecanismos necesarios para saber las dependencias de un paquete, instalar dichas dependencias y finalmente compilar el paquete.

Como ejemplo vamos a instalar el paquete Deja-Dup (para las copias de seguridad) el cual sólo está disponible en el repositorio AUR:

Ahora que ya se han detectado las dependencias, necesitamos instalarlas (directamente nos lanzará el comando, sólo tenemos que aceptar y esperar a que termine).

Bueno pues así con todos los paquetes que queramos instalar. Por lo tanto NO debes usar pacman ahora usa yaourt.

Kernel-LTS:
Instalamos el kernel LTS:
Ahora en la carpeta /boot debemos tener los ficheros kernel26.img, kernel26-lts.img, etc. Ya está instalado el kernel LTS pero ahora falta añadirlo al fichero /boot/grub/menu.lst:

He querido poner la versión LTS del kernel porque así cada cierto tiempo no voy actualizando el kernel, ya que éste me funciona muy bien. En caso de querer mantener algún paquete en la versión actual o que te informe si hay actualizaciones pero no las instale sin tu permiso explicito. Podemos ver los siguientes parámetros del fichero de configuración /etc/pacman.conf:

Podemos ver el parámetro HoldPkg sirve para avisarnos en caso de que haya actualizaciones. El otro parámetro que he comentado es el IgnorePkg que sirve para que no se tenga en cuenta dicho paquete o grupo de paquetes (IgnoreGroup) cuando se actuliza el sistema. Por lo tanto si queremos mantener el kernel actual pero sin que sea un LTS podemos añadirlo a la lista de IgnorePkg.


 LibreOffice:
Básicamente es que en vez de instalar el paquete openoffice debemos instalar el paquete libreoffice.



PulseAudio:
Este es el más fácil de todos, ya que por defecto se instalará y no debemos realizar ninguna configuración adicional. Por lo tanto NO debes instalar ALSA y realizar el alsaconf.


Gnome 3:
Ahora cuando instalamos los paquetes gnome, gnome-extra y gdm nos instala la versión 3. El único cambio respecto a la instalación que indiqué es la siguiente:

En vez de instalar y arrancar los demonios hal y fam debemos instalar el demonio dbus y añadirlo. Quedando de la siguiente forma:


Bueno pues esto es todo. Espero no haberos aburrido y que os sirva de algo.


En cuanto me haya peleado más con el Gnome 3 os contaré que podemos hacer con él.


Hasta la próxima entrada ;)

Tuesday, 5 July 2011

Damn Vulnerable Linux, aprendiendo sobre seguridad

En esta entrada voy ha hablar sobre la distribución Damn Vulnerable Linux la cual he estado probando unos días.

Primero de todo comentar que yo he utilizado la versión 1.5 pero que actualmente están trabajando en la 2.0, que será liberada a finales de éste verano. La página web del proyecto es la siguiente: http://www.damnvulnerablelinux.org/

Cuando se inicia el sistema, le cuesta un poco arrancar en el boot, si esperamos unos segundos empezará a iniciar el sistema. Una vez ha arrancado el sistema veremos la siguiente pantalla:


Utilizamos el usuario root y la contraseña toor. Una vez hecho esto ejecutamos startx para iniciar el apartado gráfico (supongo que lo preferís así).


Ahora pasamos a ver los cuatro apartados de seguridad que podemos aprender o perfeccionar con éste sistema:
  1.  En la parte izquierda arriba podemos ver unos enlaces para arrancar diferentes servicios.
  2.  En la parte izquierda abajo podemos ver diferentes IDE para la programación.
  3.  En la parte derecha arriba podemos ver los cinco tipos de ejercicios: Binary, Web, Coding, RCE y HoneyNet.
  4.  En la parte derecha abajo podemos ver cosas como esteganografía o análisis.

Dentro de cada uno de los tipos de ejercicios hay diferentes niveles, por ejemplo en los binarios:


Podemos ver que en cada uno de estos niveles hay diferentes ejercicios y en cada ejercicio esta también la solución del mismo por si te quedas atascado o quieres saber otras formas de hacer un exploit para ese problema concreto.


También hay mucha información sobre hacking (tanto en local como en línea):


Ahora es el momento de practicar y mejorar. Cuando se libere la versión 2.0 espero poder hacer una descripción parecida a ésta.

Hasta la próxima entrada. Espero hablar sobre como instalar la última versión de Arch Linux.

Friday, 1 July 2011

Vuelvo a realizar post (Espero que ya no tenga más parones)

Hola a todos.

Primero de todo, pedir perdón (otra vez) sobre el tiempo sin escribir ninguna entrada en el blog. He estado muy liado con las actividades lectivas del curso y no he podido escribir nada.

Ahora una vez pasado el periodo de exámenes espero poder escribir todo lo que tengo pensado.

Para ir haciendo boca, os dejo algunas de las ideas que quiero explicar durante éste verano:
  • Análisis sobre la distribución DVL (Damn Vulnerable Linux) para aprender sobre seguridad.
  • Actualizar la guía de instalación de Arch Linux, ya que hay algunos cambios importantes.
  • Enlazado con el anterior, primeros pasos en Gnome 3.
A parte de esto también escribiré sobre cualquier otra cosa que se me ocurra durante el verano (siempre relacionado con la tecnología, jejeje).

Por cierto he modificado la vista del blog, espero que os guste.

Espero escribir en breve la siguiente entrada ;)

Tuesday, 26 October 2010

Añadir paquetes a Latex para que muestre código Python o Matlab

En este post quiero explicar como se añaden nuevos paquetes a Latex, en este caso Python y Matlab. He escogido estos dos lenguajes ya que son los que utilizo en la Universidad. (Los código que he utilizado los he encontrado en Internet y han sido desarrollados por otras personas, yo solamente enseño como añadirlos al Latex).

Doy por supuesto que hemos seguido los pasos de la entrada: Instalación y configuración de Arch Linux desde cero (2/3) en la sección Oficina.

El primer paso es descagarnos pythonhighlight para los códigos de Python y mcode para los códigos de Matlab.

Una vez hemos descargado estos ficheros abrimos una terminal y ejecutamos las siguientes sentencias:

sudo mkdir /usr/share/texmf/tex/latex/mcode
sudo mkdir /usr/share/texmf/tex/latex/pythonhighlight


Ahora copiamos los ficheros que hemos descargado cada uno en su carpeta:


sudo cp mcode.sty /usr/share/texmf/tex/latex/mcode
sudo cp pythonhighlight.sty /usr/share/texmf/tex/latex/pythonhighlight


Muchos pensareis que ya hemos acabado pero nos falta un pequeño detalle y es que debemos reconfigurar el Latex para que sepa de la existencia de estos nuevos paquetes. Para llevar a cabo esta acción debemos ejecutar el siguiente comando:


sudo texhash


Una vez ha acabado la ejecución ya podemos utilizar los nuevos paquetes. Para ver como se utilizan os dejo a continuación dos ficheros de ejemplo: Ejemplo_Python.tex y Ejemplo_Matlab.tex

Como siempre si tenéis alguna duda escribid un comentario.

NOTA: Esta forma de añadir nuevos paquetes sirve tanto para Arch Linux como para cualquier otra distribución de Linux incluso para Mac OS X. Cambiando la carpeta destino en la cual debemos guardar los nuevos paquetes.

Thursday, 30 September 2010

Como cifrar el disco duro en Arch Linux

En este post voy a explicar como se realiza el cifrado(no encriptado, eso es meter a una persona en un cripta) de un disco duro en Arch Linux.

Para esto vamos a necesitar:

  • El LVM(Logical Volume Manager --> Administrador de volúmenes lógicos)
En mi caso voy a instalar en un partición un sistema operativo de la família Windows y en la otra partición voy a utilizar el LVM de Linux. Tengo un disco duro de 250GB, las particiones van a quedar de la siguiente forma:

  • /dev/sda1 50GB para el Windows.
  • /dev/sda2 150MB para el BOOT
  • /dev/sda3 200GB para el LVM.

Cifrado:

El primer paso para que se realice un buen cifrado del disco duro es llenarlo de información aleatoria para ellos usamos el siguiente comando:


dd if=/dev/urandom of=/dev/sda


Esto puede llevar un buen rato ,dependiendo del tamaño de nuestro disco duro. Ahora vamos a preparar el disco duro para que esté cifrado. Para ello primero cargamos el módulo del kernel para el cifrado:


modprobe dm-crypt


Ahora una vez hemos cargado el módulo pasamos a realizar el cifrado de la patición /dev/sda3:


cryptsetup -c aes-lrw-benbi -y -s 384 luksFormat /dev/sda3


Nos pedira que introduzcamos 2 veces la clave de cifrado. Una vez hemos esto empezará a cifrar el disco duro.

LVM:

Ahora debemos acceder a la partición cifrada esto lo hacemos con la siguiente sentencia:


cryptsetup luksOpen /dev/sda3 lvm


Una vez hecho esto ya tenemos preparado nuestra partición cifrada ahora debemos utilizar el LVM para crear nuestras particiones dentro de la partición cifrada. El primer paso es crear un volúmen lógico a partir de un volúmen físico esto se hace con la sentencia:


lvm pvcreate /dev/mapper/lvm
lvm vgcreate vgroup /dev/mapper/lvm


También lo hemos añadido al grupo vgroup. Ahora creamos las particiones lógicas, en mi caso he creado un partición para el root("/"), otra para el swap y una última para el home("/home"). Para realizar todas estas acciones ejecutamos las siguientes sentencias:


lvm lvcreate -L 20GB -n root vgroup
lvm lvcreate -L 1GB -n swap vgroup
lvm lvcreate -l 100%FREE -n home vgroup


Instalación Arch Linux:

Una vez hecho esto ya podemos proceder a la instalación de Arch Linux. La instalación se realizará como siempre a excepción de un par de momentos los cuales voy a explicar:

En el momento en que estamos preparando el disco duro para la instalación (Prepare Hard Drive -> Set Filesystem Mountpoints) debemos marcar /dev/sda2(BOOT en mi caso) para la instalación del boot. Otra cosa a tener en cuenta es que el root("/") lo debemos instalar en /dev/mapper/vgroup-root y así con todas nuestras particiones cifradas. Podéis darles el formato que queráis en mi caso los he formateado con ext4.

Una vez hecho esto instalamos el sistema de forma normal hasta llegar al punto en que podemos modificar los ficheros de configuración del sistema. Debemos modificar los siguientes ficheros: "/etc/rc.conf", "/etc/mkinitcpio.conf" y "/boot/grub/menu.lst".

/etc/rc.conf
Buscamos USELVM="no" y lo cambiamos por USELVM="yes".

/etc/mkinitcpio.conf
Buscamos la línea:

HOOKS="base udev autodetect pata scsi sata filesystems"

Y la cambiamos por:

HOOKS=”base udev autodetect pata scsi sata keymap encrypt lvm2 filesystems”

Los elementos escritos en HOOKS deben estar en éste mismo orden.

/boot/grub/menu.lst
Debemos dejar los arranques de Arch linux como el siguiente:

# (0) Arch Linux
title Arch Linux
root (hd0,0)
kernel /vmlinuz26 root=/dev/mapper/vgroup-root cryptdevice=/dev/sda3:vgroup ro
initrd /kernel26.img

# (1) Arch Linux
title Arch Linux Fallback
root (hd0,0)
kernel /vmlinuz26 root=/dev/mapper/vgroup-root cryptdevice=/dev/sda3:vgroup ro
initrd /kernel26-fallback.img


Una vez hemos esto todos estos cambios en los ficheros de configuración seguimos con la parte final de la instalación del sistema. Debemos recordar instalar el booloader en el disco /dev/sda.

Si habéis llegado hasta aquí: ¡Felicidades! Ya tenéis vuestro Arch Linux instalado sobre un disco duro cifrado. Ahora sólo debemos reiniciar el ordenador y entrar en Arch Linux. Veremos que al principio de la carga nos pide que insertemos la contraseña que hemos utilizado para realizar el cifrado del disco duro.

Bueno hasta aquí éste post. Como siempre si tenéis dudas, preguntas o alguna sugerencias, no lo dudéis escribid un comentario.

Un saludo y hasta pronto.

Wednesday, 29 September 2010

Justificación del tiempo sin escribir

Hola a todos,

Este post solamente es para dar una explicación a la falta de actividad en el blog durante todo el verano. Lo primero, no he estado de vacaciones ni mucho menos. He estado trabajando en mi proyecto final de carrera, el cual ja está entregado y evaluado.

Ahora que ya soy titulado en Ingeniería Técnica en Informática de Sistemas, he empezado el segundo ciclo de Ingeniería Informática.

En breve volveré a ir escribiendo en el blog. Ya estoy trabajando sobre el nuevo post.

Un saludo y hasta pronto.

Tuesday, 13 April 2010

Instalación y configuración de Arch Linux desde cero (3/3)

En esta última entrega de la instalación y configuración de Arch Linux voy a explicar como instalar todo lo necesario para poder utilizar el IDE Eclipse, mejorar el apartado gráfico con compiz y con AWN, y también la instalación de conky que es un monitor de sistema que consume muy pocos recursos y es muy flexible y personalizable.


Programación: Vamos a instalar el IDE Eclipse:
sudo pacman -S eclipse
Si queremos usar también Eclipse para programar en PHP debemos instalar también el siguiente paquete:
sudo pacman -S eclipse-phpeclipse
En mi caso concreto utilizo mucho la terminal y en ocasiones necesito tener muchas abiertas. Para esto utilizo el programa terminator. Para instalarlo utilizamos la siguiente sentencia:
sudo pacman -S terminator

Compiz y Avant-Window-Navigator: Podemos mejorar el apartado gráfico de nuestro sistema instalando Compiz:
sudo pacman -S compiz-fusion fusion-icon
También podemos instalar el programa Avant Window Navigator para hacer que nuestro sistema tenga una barra en la parte baja de la pantalla donde se encuentran nuestros programas preferidos, de forma parecida al sistema operativo de Apple. Para esto vamos a instalar los siguientes paquestes:
sudo pacman -S avant-window-navigator libgtkhtml gdl libgda emerald


Monitorización del sistema y Conky: Por último instalar todo lo necesario para poder monitorizar el sistema: Tomar la temperatura del procesador, de la placa base, de la tarjeta gráfica, etc. Para ello ejecutamos la siguiente sentencia:
sudo pacman -S lm-sensors ruby lua tcl
Ahora debemos ejecutar la siguiente sentencia y seguir las instrucciones que se nos van indicando:
sudo sensors-detect
Ahora debemos añadir en el fichero /etc/rc.conf  los siguientes DAEMONS y MODULES:
DAEMONS=(...  sensors ...)
MODULES=(...  coretemp it87 acpi-cpufreq ....)
Una vez hecho esto nos queda añadir el applet para gnome que utiliza los sensores para darnos información del sistema. Para esto instalamos los siguientes paquetes:
sudo pacman -S sensors-applet hddtemp libxnvctrl
Por último instalamos el conky con la siguiente sentencia:
sudo pacman -S conky
Aquí dejo de ejemplo mi configuración del fichero .conkyrc para que lo podáis modificar a vuestro gusto:


# THIS CONFIG RELIES ON 2 SCRIPTS, CPUSPEED AND CPUTEMP
# YOUR SYSTEM MAY NOT REQUIRE THEM, REPLACE AS DESIRED

# maintain spacing between certain elements
use_spacer yes

# set to yes if you want conky to be forked in the background
background yes

use_xft yes

# Xft font when Xft is enabled
xftfont Bitstream Vera Sans Mono-9
#xftfont Andale Mono-9
#xftfont Clean-8
#xftfont cubicfive10:pixelsize=8
#xftfont squaredance10:pixelsize=14
#xftfont swf!t_v02:pixelsize=10

# Text alpha when using Xft
xftalpha 1
mail_spool $MAIL

# Update interval in seconds
update_interval 4.0

# Create own window instead of using desktop (required in nautilus)
own_window yes
own_window_transparent yes
own_window_type override
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
#on_bottom yes

# Use double buffering (reduces flicker, may not work for everyone)
double_buffer yes

# Minimum size of text area
minimum_size 280 5
maximum_width 350

# Draw shades?
draw_shades no

# Draw outlines?
draw_outline no # amplifies text

# Draw borders around text
draw_borders no

draw_graph_borders yes

# Stippled borders?
stippled_borders 8

# border margins
#border_margin 4
border_inner_margin instead 4

# border width
border_width 1

# Default colors and also border colors, grey90 == #e5e5e5
default_color grey90
default_shade_color black
default_outline_color DarkGrey

# Text alignment, other possible values are commented
#alignment top_left
alignment top_right
#alignment bottom_left
#alignment bottom_right

# Gap between borders of screen and text
gap_x 10
gap_y 30

# Subtract file system buffers from used memory?
no_buffers yes

# set to yes if you want all text to be in uppercase
uppercase no

# stuff after 'TEXT' will be formatted on screen

cpu_avg_samples 4

net_avg_samples 2

override_utf8_locale yes

#Configuracio de colors
# Main headers
color0 FF8C00
# TOP headers
color1 FFCB48
#sección
color2 52C3C7
#sección resaltada
color3 00DDE1
# text cabecera
color4 E12979

TEXT
$color0[ SISTEM ] $hr $color
${color #ffcb48}$nodename$color ${color #828282}$sysname $kernel on $machine$color
#${color #98c2c7}Batt:$color ${battery}

$color0[ PROCESSING ] $hr $color
#${color #ffcb48}PROCESSING$color

$color2 CPU Usage: ${color #E1D93F}$cpu% ${cpubar cpu0 6,75} $color
#${color #98c2c7}CPU0:$color ${execi 5 cpuspeed}MHz $cpu%
#${execi 5 cputemp}°C
#${color #78af78}$cpubar
#${color #78af78}${cpugraph 78af78 a3a3a3}

${color #3399FF}Core0: ${cpu cpu1}% ${cpubar cpu1 6,75} $color${color #9933FF} Core1: ${cpu cpu2}% ${cpubar cpu2 6,75}$color
${color #3399FF}${cpugraph cpu1 25,150 000000 #3399FF} $color${color #9933FF}${cpugraph cpu2 25,150 000000 #9933FF}$color
${color #040ECD}Core2: ${cpu cpu3}% ${cpubar cpu3 6,75} $color${color #04CD6B} Core3: ${cpu cpu4}% ${cpubar cpu4 6,75}$color
${color #040ECD}${cpugraph cpu3 25,150 000000 #040ECD} $color${color #04CD6B}${cpugraph cpu4 25,150 000000 #04CD6B}$color

$color2$alignc Processes: $processes Running: $running_processes Load: $loadavg $color

${color #98c2c7}NAME PID CPU% MEM%
${color #e5e5e5}${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1}
${color #c4c4c4}${top name 2} ${top pid 2} ${top cpu 2} ${top mem 2}
${color #a3a3a3}${top name 3} ${top pid 3} ${top cpu 3} ${top mem 3}
${color #828282}${top name 4} ${top pid 4} ${top cpu 4} ${top mem 4}
${color #828282}${top name 5} ${top pid 5} ${top cpu 5} ${top mem 5}
${color #828282}${top name 6} ${top pid 6} ${top cpu 6} ${top mem 6}

${color #98c2c7}NAME PID CPU% MEM%
${color #e5e5e5}${top_mem name 1} ${top_mem pid 1} ${top_mem cpu 1} ${top_mem mem 1}
${color #c4c4c4}${top_mem name 2} ${top_mem pid 2} ${top_mem cpu 2} ${top_mem mem 2}
${color #a3a3a3}${top_mem name 3} ${top_mem pid 3} ${top_mem cpu 3} ${top_mem mem 3}
${color #828282}${top_mem name 4} ${top_mem pid 4} ${top_mem cpu 4} ${top_mem mem 4}
${color #828282}${top_mem name 5} ${top_mem pid 5} ${top_mem cpu 5} ${top_mem mem 5}
${color #828282}${top_mem name 6} ${top_mem pid 6} ${top_mem cpu 6} ${top_mem mem 6}

$color0[ DATA ] $hr $color
${color #98c2c7}RAM:$color $memperc% ${color #78af78}${membar 6}${color}
${color #98c2c7}Swap:$color $swapperc% ${color #78af78}${swapbar 6}$color
${color #98c2c7}/:$color ${fs_free_perc /}% $fs_free ${color #78af78}${fs_bar 6 /}$color
${color #98c2c7}/home:$color ${fs_free_perc /home}% ${color #78af78}${fs_bar 6 /home}$color
${color #98c2c7}/media/Copies:$color ${fs_free_perc /media/Copies}% ${color #78af78}${fs_bar 6 /media/Copies}$color
${color #98c2c7}/media/descargas:$color ${fs_free_perc /media/descargas}% ${color #78af78}${fs_bar 6 /media/descargas}$color

#${color #98c2c7}Upload:$color ${upspeed eth0}kb/s${color #98c2c7}
#Download:$color ${downspeed eth0}kb/s

$color0[ NETWORK ] $hr $color
IP Address: ${addr eth0}
Down:${color green} ${downspeed eth0} KB/s ${offset 80}$color
Up:${color red} ${upspeed eth0} KB/s $color
${color green}${downspeedgraph eth0 25,150 000000 00CC00 80}$color ${color red}${upspeedgraph eth0 25,150 000000 CC0000 20} $color
$color$alignc Inbound: ${tcp_portmon 1 32767 count} Outbound: ${tcp_portmon 32768 61000 count} All: ${tcp_portmon 1 65535 count}

# $color0 [ LOGGING ] ${hr 2}$color
# ${execi 30 tail -n6 /var/log/messages.log | fold -w53}


Espero que os haya servido de algo estas tres entradas en el blog. Un saludo y ante cualquier duda que tengas, escribid un comentario o podéis acceder a al wiki de Arch Linux. Allí también hay muchísima información disponible.

Hasta aquí la entrega de la instalación del sistema Arch Linux.