Instalar servidor dedicado con Gentoo
Contents
Preliminares
Gentoo no es un sistema operativo rapido de instalar, pero tiene la ventaja de ser totalmente adaptado a nuestra máquina.
Descarga del CD de Instalación
El mirror de mi elección es el de belnet.be, y me he descargado el archivo de la URI /releases/x86/2006.0/installcd/install-x86-minimal-2006.0.iso.
Preparación dispositivos
Teclado
El cd de instalación (que en realidad es un Live-CD), nos pregunta por el tipo de teclado que tenemos. Yo por supuesto le conteste que el es. Pero no encontro el mapa de caracteres del teclado.
Red
En mi caso el LiveCD de Gentoo reconocio automaticamente la tarjeta de Red. Pero sino se tendría que cargar el modulo apropiado (8139too por ejemplo) y configurar la red.
modprobe <nombre_modulo> net-setup <dispositivo_de_red>
- Ejemplo:
modprobe 8139too net-setup eth0
Particiones Discos
Para particionar los discos hay que realizarlo a la antigua,...Mi particionamiento de mi disco (IDE 20G) es el siguiente:
500M /dev/hda1 Tipo ext3 (83) (Punto de montaje /) 19500M /dev/hda2 Tipo LVM (8E)
Con el comando cfdisk creamos las 2 particiones
cfdisk /dev/hda1
Si no esta cargado el modumlo de los LVM (en mi caso estaba cargado)
lsmod modprobe dm_mod
Tenemos que evitar que el LVM evite accder a los CD's, para ello.
vi /etc/lvm/lvm.conf Descomentar siguiente línea filter = [ "r|/dev/cdrom|" ]
Creamos el physical Volume
pvcreate /dev/hda2
Creamos el volume group rootvg
vgcreate rootvg /dev/hda2
Los logical volumes que vamos a crear son los siguientes:
swap 1G (tipo swap) usr 5G (tipo ext3) var 3G (tipo ext3) home 1G (tipo ext3) tmp 2G (tipo ext3)
Los comandos son los siguientes:
lvcreate -n swap -L 1G rootvg lvcreate -n usr -L 5G rootvg lvcreate -n var -L 3G rootvg lvcreate -n home -L 1G rootvg lvcreate -n tmp -L 1G rootvg mkfs -t ext3 /dev/rootvg/usr mkfs -t ext3 /dev/rootvg/var mkfs -t ext3 /dev/rootvg/home mkfs -t ext3 /dev/rootvg/tmp mkfs -t ext3 /dev/rootvg/home mkfs -t ext3 /dev/hda1 mkswap /dev/rootvg/swap swapon /dev/rootvg/swap
A continuación, creamos unos directorios en la carpeta /mnt/gentoo, y montamos nuestros recien creados volumenes
cd /mnt mount /dev/hda1 gentoo cd gentoo mkdir usr mkdir var mkdir tmp mkdir home mount /dev/rootvg/usr usr mount /dev/rootvg/var var mount /dev/rootvg/tmp tmp mount /dev/rootvg/home home
Luego hay que cambiar los permisos de las carpetas tmp
chmod 1777 /mnt/gentoo/tmp cd /mnt/gentoo/var mkdir tmp chmod 1777 /mnt/gentoo/var/tmp
Descarga de los ficheros de instalación
Descarga del Stage
Dentro de nuestro mirror descargamos el archivo situado en la URI /releases/x86/2005.1/stages/x86/stage3-x86-200x.x.tar.bz2. Para elle utilizamos el navegador web en modo caracter links2
cd /mnt/gentoo links2 http://ftp.belnet.be/mirror/
Para descomprimir el fichero utilizamos el comando
tar xvfjp stage3..bz2
Instalar Portage
Descargamos la ultima versión de portage de nuestro mirror en la URI snapshots/portage-latest.tar.bz2.
cd /mnt/gentoo links2 http://ftp.belnet.be/mirror/
para descomprimir el fichero utilizamos el comando
tar xvfj portage-latest -C /mnt/gentoo/usr
Opciones de compilación
Hay que determinar que tipo de procesador poseemos con el comando:
cat /proc/cpuinfo
En mi caso la salida es parecida a:
vendor_id : GenuineIntel cpu family : 15 model : 2 model name : Intel(R) Pentium(R) 4 CPU 2.40MHz
Consultando la página de los flags http://en.gentoo-wiki.com/wiki/Safe_Cflags Editamos el fichero /mnt/gentoo/etc/make.conf
CHOST="i686-pc-linux-gnu" CFLAGS="-march=pentium4 -O2 -pipe -fomit-frame-pointer" CXXFLAGS="${CFLAGS}" MAKEOPTS="-j2"
Añadir los mirrors en make.conf
mirrorselect -i -o >> /mnt/gentoo/etc/make.conf mirrorselect -i -r -o >> /mnt/gentoo/etc/make.conf
Antes de entrar el nuevo entorno
Tenemos que copiar la información de los DNS y montar el sistema de ficheros /proc
cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf mount -t proc none /mnt/gentoo/proc mount -o bind /dev /mnt/gentoo/dev
Entramos en el nuevo entorno
chroot /mnt/gentoo /bin/bash env-update source /etc/profile
Actualizamos el portage
emerge --sync
Actualizamos la variable USE
USE="-gtk -gnome acpi avi bluetooth qt kde dvd alsa cdr dvdr userlocales -emacs ethereal gpm hal informix oracle pcmcia radius ssl usb wifi win32codecs vorbis xmms"
Quitar la generación de las locales
Para que glibc, cuando se compile no vuelva a generar todas las locales añadimos esta linea al archivo /etc/portage/package.use
echo "sys-libs/glibc userlocales" >> /etc/portage/package.use
Y en el fichero /etc/locales.build dejamos lo siguiente
en_US/ISO-8859-1 en_US.UTF-8/UTF-8 fr_FR/ISO-8859-1 fr_FR@euro/ISO-8859-15 fr_FR.UTF-8/UTF-8 es_ES/ISO-8859-1 es_ES@euro/ISO-8859-15 es_ES.UTF-8/UTF-8
Stage 3
El stage 3 es la forma más fácil de instalar Gentoo. Una vez descomprimido el stage 3 tenemos un sistema totalmente funcional a falta del kernel. Es la forma de ganar tiempo.
Stage 1
Creamos el bootstrap del sistema
cd /usr/portage scripts/bootstrap.sh
Y a encontrar un juego, dura bastante,...
Stage 2
Ejecutamos el comando
emerge --emptytree system
Y esto si que dura y dura,...
Compilación del Kernel
Elección de la zona horaria Yo he elegido Madrid, para ello machacamos el archivo /etc/localtime
ln -sf /usr/share/zoneinfo/Europe/Madrid /etc/localtime
Descarga de los fuentes
Descargamos los fuentes con el comando
emerge gentoo-sources
Luego vamos al repertorio /usr/src
cd /usr/src/linux make menuconfig
Y a continuación compilamos
make && make modules_install
A continuación en el archivo /etc/modules.autoload.d/kernel-2.6, añadimos los modulos siguientes
dm-mod 8139too
Para poder ver todos los modulos de nuestro kernel hacemos
find /lib/modules/<versión del kernel>/ -type f -iname '*.o' -or -iname '*.ko'
Configuración del sistema
Crear fstab
Rellenamos el fichero /etc/fstab
/dev/hda1 / ext3 defaults,noatime 1 2 /dev/rootvg/usr /usr ext3 defaults,noatime 0 1 /dev/rootvg/var /var ext3 defaults,noatime 0 1 /dev/rootvg/tmp /tmp ext3 defaults,noatime 0 1 /dev/rootvg/home /home ext3 defaults,noatime 0 1 /dev/rootvg/swap none swap sw 0 0 /dev/cdroms/cdrom0 /cdrom iso9660 noauto,ro 0 0 proc /proc proc defaults 0 0 shm /dev/shm tmpfs nodev,nosuid,noexec 0 0
Configuramos nombre de máquina
El nombre de máquina se configura en el fichero /etc/conf.d/hostname y el nombre de dominio en /etc/conf.d/domainname
rc-update add domainname default
Esto es para añadir el script de arranque domainname para el level default En el fichero /etc/hosts
127.0.0.1 filemon.luniel.com filemon localhost
Hay que poner en primer lugar el nombre FQDN
Configuración de la red
Si queremos una ip fija, en el fichero /etc/conf.d/net
config_eth0=( "192.168.0.2 netmask 255.255.255.0" ) routes_eth0=( "default gw 192.168.0.1" )
Si queremos que se configure por dhcp.
config_eth0=( "dhcp" ) dhcp_eth0="nontp nonis"
Si deseamos que eth0 se inicie automaticamente al arrancar
rc-update add net.eth0 default
Seguridad
Cambiamos la contraseña de root
passwd
Y le damos permiso a root para conectarse a las consolas
echo "tts/0" >> /etc/securetty
Ficheros de configuración varios
/etc/rc.conf /etc/conf.d/keymaps /etc/conf.d/clock
LVM
No hay que olvidar de instalar los programas para gestionar los lvm's
emerge lvm2 * Yo tuve un error de compilación (algo parecido a llamada a lib estaticas compiladas dinamicamente). Para corregir este error tuve que compilar de la forma siguiente: USE="nolvmstatic" emerge lvm2
Syslog del sistema
emerge syslog-ng rc-update add syslog-ng default
Cron
emerge vixie-cron rc-update add vixie-cron default
Instalar Gestor de arranque GRUB
emerge grub
Editamos /boot/grub/grub.conf
# Cual título arrancar por defecto. 0 es el primero, 1 el segundo, etc. default 0 # Cuantos segundos esperar antes de arrancar el título por defecto. timeout 30 # Una bella, hermosa imagen para ensalzar las cosas un poco :) # Coméntela si no tiene una tarjeta gráfica instalada # Partición donde se encuentra la imagen del kernel (o sistema operativo) title=Gentoo Linux 2.6.15-luniel-1.4 root (hd0,0) kernel /boot/kernel-2.6.15-luniel-1.4 root=/dev/hda1
A continuacion instalamos el bootloader
grub grub> root (hd0,0) grub> setup (hd0) grub> quit
Referencias
- Handbook de instalación de Gentoo
- Instalación de LVM en Gentoo
- Safe CFlags
- Raid en Gentoo
- Raid + LVM en Gentoo
--Daniel Simao 20:01, 6 Apr 2006 (CEST)