Español English

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.

Monday 12 April 2010

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

En la primera de las partes explique como se debe instalar el sistema Arch Linux y el apartado gráfico Gnome. En esta entrada explicaré como modificar el sistema a nuestro gusto.

Multimedia: Vamos a instalar y configurar el apartado multimedia de nuestro sistema.
Con la siguiente sentencia instalaremos todos los paquetes gstreamer que necesitamos para reproducir cualquier archivo multimedia que necesitemos:
sudo pacman -S gstreamer0.10-good-plugins gstreamer0.10-bad gstreamer0.10-bad-plugins gstreamer0.10-base gstreamer0.10-ugly gstreamer0.10-base-plugins gstreamer0.10-ugly-plugins gstreamer0.10-good         
También instalaremos el reproductor VLC:

sudo pacman -S vlc
Instalaremos el reproductor de música rhythmbox:
sudo pacman -S rhythmbox
Ahora en mi caso voy a instalar una tarjeta de Televisión Digital Terrestre (TDT). Para eso seguiremos los siguientes pasos:
sudo pacman -S linuxtv-dvb-apps
scan /usr/share/dvb/dvb-t/es-Valencia > channels.conf
mkdir ~/.vlc
mv channels.conf ~/.vlc
En mi caso como vivo en la Comunidad Valenciana en la segunda sentencia he puesto es-Valencia pero cada uno debe poner la de la Comunidad donde viva. Después podemos utilizar el reproductor VLC para utilizar la tarjeta de TDT. Para esto utilizamos la siguiente sentencia:
vlc ~/.vlc/channels.conf


Red: Para la gestión de red vamos a utilizar el Network Manager.
Utilizaremos la siguiente sentencia para instalarlo:
sudo pacman -S networkmanager network-manager-applet
Ahora desactivamos las interfaces del archivo /etc/rc.conf de la siguiente forma:
INTERFACES=(!eth0 !wlan0)
DAEMONS=( ... !network networkmanager ...)
Si queremos una ip fija debemos realizar el siguiente cambio en este mismo fichero:
eth0="eth0 192.168.1.50 netmask 255.255.255.0 broadcast 192.168.1.255"
También debemos añadir un nuevo grupo al usuario:
gpasswd -a < usuario > network
Por último si tenemos un adaptador Wifi d-link dwl-g122 debemos instalar el siguiente firmware:
sudo pacman -S rt2x00-rt71w-fw


Oficina: Vamos a instalar todo lo necesario para poder trabajar con las herramientas ofimáticas que necesitamos.
Primer paso será instalar la suite ofimática OpenOffice:
pacman -S ttf-dejavu artwiz-fonts ttf-ms-fonts
pacman -S openoffice-base
pacman -S openoffice-es
Ahora instalaremos latex en nuestro sistema:
pacman -S texlive-core
pacman -S texlive-bin
pacman -S texlive-lang
pacman -S texlive-most
El editor que utilizo para la edición de latex es texmaker. Para instalarlo debemos usar la siguiente sentencia:
pacman -S texmaker

También vamos a instalar una impresora HP LaserJet P1005 en nuestro sistema. Para ellos ejecutamos las siguientes sentencias:
pacman -S cups ghostscript gsfonts hal-cups-utils
Instalamos el apartado gráfico para gnome de la administración de impresoras:
sudo pacman -S php system-config-printer-gnome
También debemos añadir las siguientes líneas en las 3 secciones del fichero /etc/cups/cupsd.conf:
Allow From localhost
Allow From 192.168.1.0/255.255.255.0
Para que podamos administrar las impresoras desde un navegador web instalamos los siguientes paquetes:
sudo pacman -S apache php-apache
Si queremos que el sistema inicie el servicio de impresión cuando se inicie debemos añadir al fichero /etc/rc.conf el siguiente DAEMON
DAEMONS=(... httpd cups ...)
Ahora debemos instalar la librería concreta para las impresoras HP:
sudo pacman -S cups hplip pyqt
Una vez tenemos todos estos pasos hecho y la impresora conectada al sistema debemos ejecutar la siguiente sentencia para descargar el plugin necesario para hacer funcionar la impresora:
sudo hp-plugin
Ahora podemos añadir la impresora desde la interfaz web. Para ello debemos acceder a la dirección http://localhost:631 en esta dirección nos pedirán el usuario root y su contraseña. Una vez hayamos hecho esto debemos añadir la nueva impresora y utilizar el driver hp_laserjet_p1005_hplib.

Internet: Instalaremos los programas que más se utilizan para la red. Estos son Firefox y Chrome como navegadores web, pidgin para la mensagería instantanea y liferea para los RSS. Estos programas los instalaremos con la siguiente sentencia:
sudo pacman -S firefox chrome pidgin liferea
  
VirtualBox: Si utilizamos la virtualización de sistemas operativos debemos instalar este programa. Para ello seguimos los siguientes pasos:
sudo pacman -S virtualbox-ose virtualbox-modules virtualbox-additions virtualbox-ose-additions virtualbox-additions-modules
Ahora debemos añadir al grupo vboxusers nuestro usuario:
gpasswd -a < usuario > vboxusers
Por último debemos añadir el módulo vboxdrv en el fichero /etc/rc.conf:
MODULES=(...  vboxdrv ...)
Si queremos utilizar VirtualBox sin reiniciar debemos ejecutar la siguiente sentencia:
sudo modprobe vboxdrv

RAID: Por último vamos a configurar un sistema RAID por software. Para esto primero debemos instalar el siguiente software:
sudo pacman -S mdadm
 Una vez hecho esto vamos a pasar a configurar el RAID. En el flag level debemos indicar el nivel de RAID y en el flag raid-devices debemos indicar el número de dispositivos que formarán el RAID y a continuación los dispositivos que formarán el RAID. Por ejemplo de la siguiente forma:
sudo mdadm --create --verbose /dev/mdo --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1
Si queremos ver como va la sincronización entre los dispositivos podemos ejecutar la siguiente sentencia:
watch cat /proc/mdstat

Hasta aquí la segunda parte del manual de instalación de Arch Linux. Espero poder acabar la tercera parte en breve. Si teneis alguna duda enviad un comentario.

Un saludo.

Sunday 28 February 2010

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

En esta ocasión voy a explicar mi experiencia con la instalación y configuración desde cero del sistema Arch Linux, explicaré todos los problemas que me he encontrado y las soluciones que he dado a esos problemas. Toda la información necesaria para realizar estas acciones ha sido obtenida del wiki de Arch Linux, wiki.archlinux.org/

Separaré la instalación del sistema y de todos sus componentes en varias entradas del blog y en cada entrada habrá diferentes secciones donde se explicarán los pasos a seguir para realizar las diferentes acciones.


En mi caso voy a instalar el sistema con las siguientes características:
  • Arch Linux a 32 bits.
  • Gnome como apartado gráfico.
Además, se explicará como se ha instalado otros componentes como:
  • VirtualBox.
  • Configurar una tarjeta de televisión digital terrestre.
  • Latex
  • OpenOffice
  • Network Manager
  • RAID por software
En ésta primera entrada se explicará la instalación del sistema base y del apartado gráfico Gnome.

Para instalar el sistema se puede seguir el siguiente tutorial: http://thearchlinux.wordpress.com/2008/07/15/instalacion-de-arch-linux-sistema-base/

Si se quiere seguir la continuación del tutorial anterior se explica como instalar el apartado gráfico Gnome, con una tarjeta gráfica ATI y un con el repositorio de testing activado. En este caso prácticamente seguiré el mismo guión que dicho tutorial pero con los siguientes cambios: la tarjeta gráfica es una Nvidia y el repositorio testing no esta activado.

Gestor de paquetes pacman:

Algunos parámetros a tener en cuenta del programa pacman son los siguientes:
-R (para borrar un paquete del sistema.
Ejemplo: pacman -R < nombre del paquete >)
-S (para instalar un paquete del sistema.

Ejemplo: pacman -S < nombre del paquete >)
-Su (para descargar la lista de actualizaciones del sistema.
Ejemplo: pacman -Su)
-Sy (para instalar las actualizaciones del sistema.

Ejemplo: pacman -Sy)
-Ss (para buscar un paquete en el gestor de paquetes.

Ejemplo: pacman -Ss < cosa a buscar >)

Estos son los parámetros básicos del programa pacman. Para más información man pacman. Si se actualiza el programa pacman es aconsejable volver a ejecutar la sentencia de actualización del sistema ya que puede haber nuevas actualizaciones disponibles en la nueva versión del gestor de paquetes.

Primeros pasos: El primer paso una vez esta instalado el sistema base es actualizarlo con la siguiente sentencia:

pacman -Syu

El segundo paso es añadir un usuario para el sistema. Esto lo aremos con la sentencia:
adduser < nombre de usuario >
Debemos añadir este usuario a los siguientes grupos: audio, wheel, storage, video, optical, floppy, lp y network. Si no nos hemos acordado de añadirlo durante la creación del usuario podemos utilizar la siguiente sentencia:
gpasswd -a < nombre de usuario > < nombre del grupo >

El tercer paso que debemos realizar es instalar el paquete sudo de la siguiente forma:
pacman -S sudo
A continuación podemos usar el comando visudo o nano /etc/sudoers y añadimos la siguiente línea marcada en negrita:
root ALL=(ALL) ALL
< nombre de usuario > ALL=(ALL) ALL

Otra cosa importante que deberíamos instalar si utilizamos la terminal es que la terminal se autocomplete. Esto lo hacemos con el siguiente comando:
pacman -S bash-completion

Sonido: Vamos a instalar y configurar el sonido del sistema. Para esto utilizamos la siguiente sentencia:
pacman -S alsa-utils
También debemos añadir "alsa" a los demonios que carga el sistema al iniciarse. Esto lo hacemos en el fichero /etc/rc.conf, uno de los ficheros más importantes del sistema, en el apartado DAEMONS y lo dejamos parecido al siguiente ejemplo:
DAEMONS=(... alsa ...)
Ahora debemos ejecutar alsaconf para configurar la tarjeta de sonido del sistema. Debemos elegir nuestra tarjeta de sonido de la lista que se nos mostrará.

SSH: Ahora configuraremos el demonio de ssh para poder permitir el acceso remoto. Debemos modificar el el fichero /etc/rc.conf, en concreto la lista de demonios y añadir lo siguiente:
DAEMONS=(... sshd ...)
También debemos añadir al fichero /etc/hosts.allow la siguiente línea:
sshd: ALL
Ahora se puede conectar desde cualquier host a nuestro sistema.

Instalar Gnome: Se explica en las siguientes líneas el modo de hacerlo:
pacman -S xorg
pacman -S nvidia
Con esto hemos instalado el xorg y los drivers para nvidia que es mi tarjeta gráfica en concreto. Hay algunas dependencias opcionales, para nvidia-utils, que puede ser interesante instalarlas:
pacman -S gtk2 pkgconfig
Una vez hecho esto vamos a configurar el apartado gráfico utilizando la tarjeta gráfica nvidia con la siguiente sentencia:
nvidia-xconfig
Ahora ya tenemos configurado el apartado gráfico para utilizar el driver de nvidia. Con las siguientes sentencias vamos a instalar el sistema gráfico Gnome:
pacman -S ttf-ms-fonts ttf-dejavu ttf-bitstream-vera
Para instalar las fuentes necesarias para Gnome y ahora instalaremos el propio Gnome:
pacman -S gnome gnome-extra gdm
Si tienes experiencia podrías no instalar gnome-extra ya que instala muchos programas que puede que no utilices nunca. Si quieres puedes no instalarlo y elegir los paquetes necesarios uno a uno.

Configurar Gnome: Una vez instalado el apartado gráfico Gnome tenemos que configurarlo y cambiar el nivel de ejecución del sistema para que arranque por defecto el apartado gráfico. Todo esto se hace con las siguientes líneas:
En el fichero /etc/rc.conf añadimos los siguientes demonios:
DAEMONS=(... hal fam ...)
Ahora vamos a cambiar el nivel de ejecución por defecto del sistema. Para esto accedemos al fichero /etc/inittab y cambiamos las siguientes líneas:
Comentamos: id:3:initdefault:
Descomentamos: id:5:initdefault:
Comentamos: x:5:respawn:/usr/bin/xdm -nodaemon
Descomentamos: x:5:respawn:/usr/bin/gdm -nodaemon

Una vez hecho esto sólo nos queda preparar al usuario que hemos añadido al principio para que inicie Gnome. Nos autenticamos con el usuario que hemos creado de la siguiente forma:
su < nombre de usuario >
Ahora creamos el siguiente fichero ~/.xinitrc con el siguiente contenido:
#!/bin/bash
exec gnome-session
Primer uso de Gnome: Cuando reiniciemos podremos autenticarnos con el usuario nuevo que habíamos creado. Pero antes de iniciar la sesión debemos tener en cuenta un pequeño detalle. Una vez hemos seleccionado el usuario con el que nos vamos a autenticar nos aparecerá en la parte de abajo de la pantalla para seleccionar el idioma y el tipo de teclado. Ahora se quedarán por defecto estos parámetros para los siguientes inicios de sesión.

Otro aspecto básico que debemos cambiar es que el navegador de ficheros nautilus. En este momento nautilus cuando abrimos una carpeta nos abre un nuevo navegador de ficheros y faltan algunas funciones. Para solucionar esto debemos realizar los siguientes pasos:

  1. Aplicaciones -> Herramientas del sistema -> Editor de configuración.
  2. Desplegar apps -> nautilus -> preferences.
  3. Marcamos always_use_browser y cerramos el editor de configuración.

Hasta aquí la primera parte del manual. Espero haber sido claro y explicarme bien. Si hay alguna duda escribid un comentario. Espero poder escribir la siguiente entrada del blog en breve.

Un saludo.

Tuesday 26 January 2010

Conectarse a internet a través del portátil

En casa de mi novia por un mal entendido con el proveedor de internet no hay internet y estamos a la espera de que el proveedor lo solucione ya que era un error suyo. Por suerte una red inalámbrica de un vecino no estaba cifrada con lo cual pude acceder a internet desde el portátil. Una vez explicada la causa por la que no teníamos internet voy a explicar como he conseguido que el ordenador de sobremesa de mi novia tenga acceso a internet sin un dispositivo para las redes inalámbricas.

Resum: Portátil con wifi conectado al vecino y la torre sin wifi.

Me hice la siguiente pregunta ¿Puedo hacer que la torre se conecte a internet a través del portátil? La respuesta es sí. Si tienes instalada alguna distribución de GNU/Linux tanto en el portátil como en la torre. Supongo que no sería complicado hacer que una torre con windows también hiciese esto pero no es mi caso.

Como el portátil tiene dos interfaces de red, la inalámbrica y la entrada ethernet RJ45. No hay problema en que esté conectado a dos redes al mismo tiempo. La red inalámbrica es la siguiente: 192.168.1.0/24. Ahora nosotros vamos a crear una red para que se conecten los dos ordenadores que será la siguiente: 192.168.2.0/24.

Lo primero es conectar los dos ordenadores con un cable cruzado o también conocido como latiguillo. Una vez hecho esto abrimos una terminal en cada ordenador. En la torre ejecutamos el siguiente comando:
ifconfig eth0 192.168.2.2 netmask 255.255.255.0
éste comando nos da la ip 192.168.2.2 a la interfaz eth0. Ahora ejecutamos
route add default gw 192.168.2.1
éste comando le indica a la torre que por defecto las peticiones las ha de realizar a la ip indicada (el portátil).

La torre ya hace las peticiones al portátil para conectarse a internet, pero todavía no hemos acabado.Ahora en el portátil ejecutamos
ifconfig eth0 192.168.2.1 netmask 255.255.255.0
y después éste
echo "1" > /proc/sys/net/ipv4/ip_forward
éste último le dice al portátil que reenvíe todos los paquetes que le llegan.

Una vez llegados a este punto si queréis podéis ver como tanto el portátil como la torre contestan a los ping. Ahora mismo sólo se pueden comunicar entre ellos pero nosotros queremos que la torre tenga acceso fuera de la red que hemos creado. Para eso el portátil tiene que trabajar como si fuera un router NAT. Esto se hace de la siguiente forma. En el portátil ejecutamos.
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -d 0.0.0.0/0 -j MASQUERADE
iptables -A INPUT -i wlan0 -p ICMP -j ACCEPT
iptables -A INPUT -p TCP -m state --state RELATED -j ACCEPT
iptables -A INPUT -i wlan0 -m state --state NEW, INVALID -j ACCEPT
iptables -A FORWARD -i wlan0 -m state --state NEW, INVALID -j ACCEPT
Con esto lo que conseguimos es que el portátil trabaje como un router NAT. En el man iptables podéis ver todas las posibilidades de éste fabuloso comando.

Ahora mismo la torre se puede conectar a internet pero no resuelve los DNS. Si queréis hacer la prueba podéis ejecutar en la torre
ping 216.239.59.191
Es la IP del servidor de blogspot.com.
Ahora sólo nos falta añadir las líneas que indican como se resuelven las peticiones DNS en nuestra torre. Para esto tenemos que editar el fichero /etc/resolv.conf. Añadimos las siguientes líneas al final
nameserver 208.67.222.222
nameserver 208.67.220.220
Estas IP son de los servidores DNS openDNS, podéis utilizar las que más os gusten. Yo he puesto estas porque forman parte de un desarrollo opensource.

Ahora una vez hecho esto, ENHORABUENA. Ya tienes acceso a internet desde la torre sin tener un dispositivo inalámbrico en ella.

Cualquier duda comentario.

Thursday 21 January 2010

Primera entrada en mi blog

Hola a todos o a nadie.

Ésta es mi primera entrada en mi propio blog. En éste blog intentaré explicar las necesidades o problemas que tengo, he tenido o tendré usando distribuciones GNU/Linux. También intentaré comentar cosas que me parezcan interesante respecto a la seguridad informática o simplemente cosas que me parezcan intenresantes comentar.

Bueno una pequeña descripción mia es la siguiente:
Soy estudiante de la carrera Ingeniería Técnica en Informática de Sistemas. Estoy actualmente en el último curso, si todo va bien este año seré Ingeniero Técnico. Uso GNU/Linux para trabajar en la Universidad y en casa. Me preocupa la seguridad informática y los problemas que puede causar.

Un saludo y espero que os guste mi blog y mis entradas.