Avanlinux

De McWiki

Tabla de contenidos

Introducción


La introducción correspondera a como mantener una instalacion de Gentoo tanto a nivel de servidor.

Conociendo portage


Portage es junto con la herramienta emerge el corazón de Gentoo.

Portage es un árbol de directorios en el cual se albergan los ficheros ebuild de los cuales hablaremos mas adelante. Este árbol esta dividido en catgorias segun el tipo de software.


Ej: sys-kernel, games-fps, dev-ruby, etc


Como es lógico en el directorio sys-kernel podremos enconrtrar todos los kernels disponibles en el árbol portage.


Ej: gentoo-sources, ck-sources, mm-sources, etc


El primer directorio corresponde al kernel vanilla parcheado con parches de gentoo, el segundo seria con los parches Con Kolivas. Dentro del directorio gentoo-sources podremos encontrar todos los ficheros ebuild correspondientes a las versiones de gentoo-sources.


Ej: gentoo-sources-2.4.32-r4.ebuild, gentoo-sources-2.6.16-r1.ebuild, gentoo-sources-2.6.16-r6.ebuild, etc.


EL contenido de los ficheros ebuild lo explicaremos con detalle más adelante, pero para que os hagais una idea, contienen las instrucciones para instalar un paquete.

Conociendo emerge


Emerge es la herramienta de Gentoo para instalar (y desinstalar software) en nuestro sistema.


Hoy veremos una breve reseña acerca de emerge, ya que a lo largo del curso iremos ampliando conocimientos acerca de esta herramienta y optimizando su uso.


No podemos comenzar con emerge sin echar un primer vistazo a su fichero de configuración /etc/make.conf. El fichero de configuración minimo el instalado por el stage 3


Archivo: /etc/make.conf
# These settings were set by the catalyst build script that automatically built this stage
# Please consult /etc/make.conf.example for a more detailed example
CFLAGS="-O2 -march=i686 -pipe"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
 


En este primer ejemplo conocemos las variables más importantes.

CFLAGS hace referencia a las flags de compilacion que recibira gcc cada vez que instalemos software.

CHOST declara el objetivo de la compilacion.

CXXFLAGS igual que CFLAGS pero para programas en C++.


A este fichero le añadiremos unas opciones basicas que explicaremos ahora, a lo largo del curso iremos añadiendo y explicando otras muchas opciones.

Lo primero que añadiremos sera la variable USE , esta variable informara a emerge acerca de que soporte debe añadir a cada paquete de software.

Apache


Instalación de Apache


Ahora que ya conocemos el funcionamiendo de emerge, vamos a instalar y configurar Apache.


Código: Viendo las USES
 emerge apache -vp


En la salida podremos ver que tenemos dos USES activadas apache2 y ssl, la primera le indica a emerge que debe instalar la version dos de apache y la segunda hara que apache se instale con soporte ssl (Secure Socket Layer).


Como no queremos modificar ninguna USE procedemos a instalarlo.


Código: Instalando apache
 emerge apache -v

Configuración basica: 1 host


Configuración avanzada: Virtual hosts

Proftpd


Instalacion de proftpd


Configuracion basica


Configuracion avanzada

Samba

Iptables


Instalando Iptables


Configuración basica: Firewall


Configuración avanzada: NAT y SNAT


Configurar dispositivos USB, mp3, pen-drives, cámaras digitales, etc

Esta configuración servirá para:

  • El dispositivo USB se monte automáticamente.
  • Permitir tantos dispositivos USB como queramos.
  • Se desmonte automáticamente para su desconexión segura.
  • Crear un acceso directo en el escritorio cuando se conecte el USB y este se desconecte al extraer el USB

Instalación de componentes

Instalamos lo necesario:

emerge hotplug usbutils autofs -v

Y lo añadimos al inicio:

rc-update hotplug add default rc-update usbutils add default


Configuración

Añadimos una línea en /etc/auto.master

echo '/mnt/usb /etc/auto.removable --timeout=1' >> /etc/auto.master

Con esto indicamos que los dispositivos están especificados en el fichero /etc/auto.removable, que estos los tiene que montar en /mnt /usb[*] y que tras un segundo de inactividad lo desmonte; así, nos permitirá extraer el dispositivo sin peligro de corromper su sistema de ficheros. [*] AVISO: no indiquéis / como punto de montaje si no queréis que desaparezca toda vuestra información!

Ahora, crearemos el fichero /etc/auto.removable e introducimos unas líneas:

echo 'USB1 -fstype=vfat,uid=1000,gid=100,umask=002 :/dev/sda' >> /etc/auto.removable echo 'USB2 -fstype=vfat,uid=1000,gid=100,umask=002 :/dev/sdb' >> /etc/auto.removable echo 'USB3 -fstype=vfat,uid=1000,gid=100,umask=002 :/dev/sdc' >> /etc/auto.removable echo 'USB4 -fstype=vfat,uid=1000,gid=100,umask=002 :/dev/sdd' >> /etc/auto.removable

Tantas líneas como conexiones USB tengamos en nuestro ordenador. Con esto cambiamos también los valores uid y gid para que coincidan con nuestro usuario y grupo habitual.

Y ahora creamos el punto de montaje:

mkdir /mnt/usb

y reiniciamos el servicio autofs:

/etc/init.d/autofs restart

Ahora cuando conectamos y desconectamos dispositivos USB tendría que hacer que estos se montaran automáticamente en /mnt/usb/USB1, /mnt/usb/USB2, etc. podemos hacer un test con:

less /var/log/syslog

y pulsamos mayúsculas+F. Conectamos un cacharrito USB y deberíamos ver cómo syslog se actualiza. Desconectamos, y los cambios también aparecen. Pulsamos Control+C y Q para salir de less.

Ahora lo preparamos bonito cuando conectamos aparezca un icono en el escritorio, y cuando lo desconectemos el icono desaparezca.

Editamos el fichero /etc/hotplug/usb.agent y añadimos esta línea al final: . ./usb/usb-storage &

Pues lanzamos:

echo '. ./usb/usb-storage &' >> /etc/hotplug/usb.agent

el & es importante, porque el USB no se activará hasta que no finalice el script, y para ejecutar usb-storage necesitamos que los dispositivos estén activados.

También tenemos que crear el un fichero /etc/hotplug/usb/usb-storage con:

  1. !/bin/sh

HOME=/vuestro/home sleep 2 for i in USB1 USB2 USB3 USB4 USB5 USB6 do

 if [ -d /mnt/usb/$i ]
 then
   if [ ! -L $HOME/Desktop/$i ]
   then
     ln -s /mnt/usb/$i $HOME/Desktop/$i
   fi
 else
   if [ -L $HOME/Desktop/$i ]
   then
     rm -f $HOME/Desktop/$i
   fi
 fi

done

(Ojo cambiar el HOME por el vuestro)

Y le damos permisos de ejecución:

chmod +x /etc/hotplug/usb/usb-storage

Y listo ya lo tenemos. Si ahora conectamos algo USB, nos aparecerá en el escritorio un icono de acceso a este dispositivo. Cuando desconectemos, este icono desaparecerá.

Herramientas personales