Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Buenas, soy x11tete11x y esta vez les traigo un Tutorial de instalación de Gentoo, antes que nada
quiero mencionar, que todo lo que uno necesita, esta en la Wiki de Gentoo, o en la Wiki de Arch, las
cuestiones relacionadas con la instalación, están en el handbook de Gentoo. Este tuto lo hago,
porque me lo han pedido varias personas, y porque voy a añadir mi granito de personalización, al
momento de instalar Gentoo. Sepan que en esta Distro, se aprecia mucho a la gente que lee, si, es
una distro donde la mayoría de los problemas, se pueden resolver, leyendo la wiki e indagando un
poco (es decir si preguntas algo y te contestan: fíjate en la wiki , significa que como usuario de
Gentoo, no estas haciendo las cosas bien xD). Con esto no quiere decir que no se contesten dudas
"sencillas" pero la gran cantidad de documentación, apunta a que uno lea, para resolver sus
problemas.
Ahora hablare un poco de que se trata Gentoo, que es lo que tiene de llamativo, y que la diferencia
de las demás distros de Linux. Partiremos de la base de que Gentoo, es una Distro basada en código
fuente, ¿que quiere decir esto? , que a diferencia de las Distros convencionales (precompiladas),
como Debian, Ubuntu, Arch, Manjaro, Fedora, Suse, y un largo etc etc, ésta, al instalar un paquete,
no baja el ejecutable (binario, .deb, .rpm, .pkg.tar.xz, etc) y lo instala, sino, que, baja su código
fuente, lo compila según nuestro procesador y que reglas hayamos definido para los paquetes, y con
esto, genera el ejecutable, luego, lo instala. Acá es donde radica la diferencia, y lo que la hace única
a esta Distro, no solo el hecho de que compila los paquetes, sino también que uno decide soporte
para que características tendrá cada paquete (no se preocupen, mas adelante entrare en detalle). La
consecuencia directa de la personalización y compilación de los paquetes, es la velocidad,
¿Porque?, vamos a ilustrarlo con un ejemplo. Sea X una Distro precompiladas (de las que mencione
anteriormente), para que la Distro X, pueda ser instalada en varios tipos de maquinas, es necesario
que sus paquetes sean compilados con el juego de instrucciones de la maquina mas vieja, de esta
manera, si queremos que anden desde una Pentium II en adelante, compilaremos todos sus paquetes
con el juego de instrucciones de la pentium II, ¿Que consecuencias trae esto?, los procesadores mas
nuevos, supongamos un I7, los paquetes no estarían aprovechando toda la capacidad que ofrece éste
ultimo, ya que si son compilados con el juego de instrucciones que provee el I7, no se podrán
ejecutar en procesadores anteriores a este, porque éstos últimos carecen de esas instrucciones mas
nuevas, Gentoo, al descargar el código fuente y compilarlo para el procesador que poseas,
Aprovechará toda la capacidad del mismo, ya que si lo instalas en un I7, utilizara el juego de
instrucciones de éste, y si lo instalas en un Pentium II, utilizara los correspondientes a éste ultimo.
Por otro lado también se puede personalizar que tipo de soporte que se desea que tengan los
paquetes, yo utilizo KDE y qt, entonces no me interesa que los paquetes tengan, soporte para gtk y
Gnome, por lo tanto le digo que los compile sin soporte para éstos. De ésta manera al comparar el
mismo paquete en Gentoo y en la Distro X, el paquete de Gentoo es mucho mas liviano dado que en
mi caso definí que le saque el soporte para gtk y para Gnome. Y como en la Distro X los paquetes
son genéricos, estos tendrán soporte para todo.
Ahora habiendo hecho una introducción, comenzare a explicar como instalar Gentoo, desde un Live
CD de Linux cualquiera (Ubuntu, Fedora, Suse, Backtrack, Slax, o lo que se les ocurra ) o partición
en la cual tengan una Distro de Linux instalada
El proceso hasta cierto punto, lo voy a hacer en una VMware (porque no tengo ganas de reinstalar
mi sistema xD y porque llega un punto que la VM tira errores raros al compilar u.u), y tengo a mano
una iso de Ubuntu 12.10 así que voy a usar ésta.
1) Iniciar con el Live CD o desde la particion que contiene OTRO Linux
Bueno, esto simplemente se reduce a meter el live cd e iniciar con el mismo, lo de la
particion con otro linux lo aclaro, porque tengo instalado Gentoo, Backtrack y Windows 7, y varias
veces e reinstalado Gentoo desde la particion de Backtrack
en el caso de ubuntu le damos “Probar Ubuntu” para que inicie como Live
2) Particionado
En este punto haremos las particiones desde el live cd usando el Gparted, pueden usar el que
venga en el live (Kpartition por ejemplo), y si no viene ninguno, pueden instalarlo en el mismo live
cd (el live cd se monta en RAM por lo tanto al reiniciar el programa instalado en el live cd
desaparecera, es una simple aclaracion). A partir de aca voy a insertar las screenshots del live CD
(es que me di cuenta que tenia para seleccionar ventana xD)
sudo su
mkdir /mnt/gentoo
4) Conectarse a internet y verificar que estemos conectados
En este paso lo que haremos sera conectarnos a internet mediante el administrador de redes
que traiga el Live CD y verificar que la conexión este funcionando (notar que en mis capturas esta
conectado como si estuviera conectado por cable, ya que el Vmware cuando comparte la conexión
la meneja como si fuera una cableda), si quieren conectarse a una inalambrica solo vayan al
administrador de redes seleccionen la red a la que se quieren conectar y luego ingresen la
contraseña, si tuviera. Para verificar que este andando, simplemente haremos un ping a google
ping www.google.com
5) una vez hecho esto, abriremos el navegador de Live CD e ingresaremos a la pagina del
handbook de Gentoo
www.gentoo.org/doc/es/handbook/
yo suelo elegir la version de todo en una sola pagina, aca deben elegir la arquitetura que usen
(x86<32 Bits>, amd64<64Bits>)
6) Montado las Particiones
A partir de este punto empezaremos a hacer las cosas que dice el handbook (en el paso
anterior ya lo tiene abierto por si lo quieren consultar)
Nota: Puede que alguno de mis pasos difieran un poco de los del Handbook, también mas adelante
voy a añadir opcionales para obtener un sistema super optimizado y de alto rendimiento.
Activaremos la swap:
swapon /dev/sda3
Montemos /
mount /dev/sda2 /mnt/gentoo
Creacion de los puntos de montaje /home /boot (notar que los crearemos en la particion recien
montada)
mkdir /mnt/gentoo/home
mkdir /mnt/gentoo/boot
Posicionarse en /
cd /mnt/gentoo
7) Descargar el Stage3
Descargaremos el sistema base para Gentoo, por lo que nuevamente abriremos el firefox y
en la pagina principal de Gentoo, nos iremos a la parte de “Downloads” y descargaremos la
ULTIMA versión de stage3 disponible:
Bien, ahora lo que haremos sera copiar el archivo recien descargado, a la carpeta /mnt/gentoo (se
puede hacer desde la consola mediante cp, o como lo voy a hacer ahora).
Abrimos el Administrador de archivos con permisos de root, para esto usamos gksu <nombre del
administrador de archivos> o si es un live con kde kdesu <nombre del administrador de archivos>,
y copiamos el archivo a la carpeta mencionada
Volvemos a la consola y descomprimimos el archivo recién copiado
“CFLAGS y CXXFLAGS
Las variables CFLAGS y CXXFLAGS, definen los parámetros de optimización para el compilador
de C y C++ de gcc respectivamente. Aunque generalmente se definen aquí, tendrá el máximo
rendimiento si optimiza estos parámetros para cada programa por separado. La razón es que cada
programa es diferente.
En el fichero make.conf deberá definir los parámetros de optimización que piense que vayan a hacer
su sistema el mejor en todas las situaciones. No coloque parámetros experimentales en esta
variable; un nivel demasiado alto de optimización puede hacer que los programas se comporten mal
(cuelgues, o incluso peor, funcionamientos erróneos).
No explicaremos todas las opciones posibles para la optimización. Pero si quiere conocerlas todas,
léase El manual en línea de GNU o la página información de gcc (info gcc -- Solo en un sistema
Linux funcional). El fichero make.conf también contiene una gran cantidad de ejemplos e
información; no olvide leerlo también.
El primer parámetro es -march= o -mtune=, el cual especifica el nombre de la arquitectura destino.
Las posibles opciones se describen en el fichero make.conf.example (como comentarios). Un valor
frecuentemente utilizado es native ya que indica al compilador que seleccione la arquitectura
destino del sistema actual (en el que se está realizando la instalación).
Seguida de esta, está el parámetro -O, que especifica la clase optimización de gcc. Las clases
posibles son s (para tamaño optimizado), 0 (para no optimizar), 1, 2 o incluso 3 para la optimización
de velocidad (cada clase tiene los mismos parámetros que la primera, más algunos extras). -O2 es la
recomendada. Es conocido que -O3 provoca problemas cuando se utiliza globalmente en el sistema,
por esto se recomienda mantener siempre -O2.
Otros parámetros de optimización bastante populares son los -pipe (usando tuberías en lugar de
ficheros temporales para la comunicación entre las diferentes etapas de compilación). No tiene
ningún impacto sobre le código generado, pero usa más memoria. En sistemas con poca memoria, el
proceso del compilador podría ser terminado. En este caso, no use este parámetro.
Cuidado con utilizar -fomit-frame-pointer (el cual no mantiene el puntero de macro en un registro
para las funciones que no lo necesiten) pues podría tener graves repercusiones en la depuración de
errores en aplicaciones.
Cuando defina las variables CFLAGS y CXXFLAGS, debería combinar algunos parámetros de
optimización”
Dentro del mismo archivo también hay que configurar el MAKEOPTS, ¿que es esto según el
handbook?
“Con la variable MAKEOPTS definimos cuantas compilaciones paralelas pueden hacerse al mismo
tiempo cuando instalamos un paquete. El valor sugerido se obtiene sumando uno a la cantidad de
CPUs (o de cores) de su sistema, aunque este valor no es siempre el perfecto.”
GENTOO_MIRRORS="http://gentoo.inode.at/ ftp://gentoo.inode.at/source/
rsync://gentoo.lagis.at/gentoo-distfiles/ http://gentoo.lagis.at/ ftp://gentoo.lagis.at/
http://gd.tuwien.ac.at/opsys/linux/gentoo/ ftp://gd.tuwien.ac.at/opsys/linux/gentoo/
rsync://gd.tuwien.ac.at/opsys/linux/gentoo/ rsync://gentoo.c3sl.ufpr.br/gentoo/
ftp://gentoo.c3sl.ufpr.br/gentoo/ http://www.las.ic.unicamp.br/pub/gentoo/
ftp://ftp.las.ic.unicamp.br/pub/gentoo/ http://ftp.gentoo.bg/ http://distfiles.gentoo.bg/
http://mirrors.telepoint.bg/gentoo/ ftp://gentoo.arcticnetwork.ca/pub/gentoo/
http://gentoo.arcticnetwork.ca/ http://gentoo.gossamerhost.com
rsync://gentoo.gossamerhost.com/gentoo-distfiles/ rsync://mirror.the-best-hosting.net/gentoo-
distfiles http://mirror.the-best-hosting.net ftp://mirrors.tera-byte.com/pub/gentoo
http://gentoo.mirrors.tera-byte.com/ rsync://mirrors.tera-byte.com/gentoo
http://mirror.csclub.uwaterloo.ca/gentoo-distfiles/ http://mirrors.163.com/gentoo/
ftp://mirrors.sohu.com/gentoo/ http://mirrors.sohu.com/
gentoo/ ftp://mirrors.stuhome.net/gentoo/ rsync://mirrors.stuhome.net/gentoo/
http://mirrors.stuhome.net/gentoo/ rsync://mirrors.xmu.edu.cn/gentoo/
http://mirrors.xmu.edu.cn/gentoo ftp://mirrors.xmu.edu.cn/gentoo http://gentoo.supp.name/
http://ftp.fi.muni.cz/pub/linux/gentoo/ rsync://ftp6.linux.cz/pub/linux/gentoo/
rsync://ftp.fi.muni.cz/pub/linux/gentoo/ ftp://ftp.fi.muni.cz/pub/linux/gentoo/
http://gentoo.mirror.dkm.cz/pub/gentoo/ ftp://ftp.free.fr/mirrors/ftp.gentoo.org/
ftp://gentoo.imj.fr/pub/gentoo/ http://mirrors.linuxant.fr/distfiles.gentoo.org/
ftp://mirrors.linuxant.fr/distfiles.gentoo.org/ http://gentoo.modulix.net/gentoo/
ftp://mirror.ovh.net/gentoo-distfiles/ http://mirror.ovh.net/gentoo-distfiles/
http://mirror.opteamax.de/gentoo/ http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/
ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/ ftp://ftp.halifax.rwth-aachen.de/gentoo/
http://ftp.halifax.rwth-aachen.de/gentoo/ rsync://ftp.halifax.rwth-aachen.de/gentoo/
ftp://sunsite.informatik.rwth-
aachen.de/pub/Linux/gentoo ftp://ftp.iij.ad.jp/pub/linux/gentoo/ http://ftp.iij.ad.jp/pub/linux/gentoo/
rsync://ftp.iij.ad.jp/pub/linux/gentoo/ http://ftp.jaist.ac.jp/pub/Linux/Gentoo/
rsync://ftp.jaist.ac.jp/pub/Linux/Gentoo/ ftp://ftp.jaist.ac.jp/pub/Linux/Gentoo/
http://darkstar.ist.utl.pt/gentoo/ ftp://ftp.rnl.ist.utl.pt/pub/gentoo/gentoo-distfiles/
http://cesium.di.uminho.pt/pub/gentoo/ http://ftp.dei.uc.pt/pub/linux/gentoo/
ftp://ftp.dei.uc.pt/pub/linux/gentoo/ http://ftp.romnet.org/gentoo/ http://mirrors.xservers.ro/gentoo/"
SYNC="rsync://rsync.au.gentoo.org/gentoo-portage"
También, vamos a definir la variable una serie de variables:
ACCEPT_LICENSE: En esta vamos a especificar que tipo de licencias va a aceptar nuestro sistema
en mi caso le voy a poner que acepte todo tipo de licencias
ACCEPT_LICENSE="*"
LINGUAS: En esta variable especificaremos soporte para que lenguajes queremos que tengan los
paquetes (esto sinceramente es fantástico, no hay que andar instalando paquetes de idiomas como
en otras distros, solo el sistema baja todo lo correspondiente)
LINGUAS="es"
INPUT_DEVICES="evdev synaptics"
VIDEO_CARDS: En esta especificaremos que tipo de driver usaremos para nuestra placa de video:
NVIDIA:
VIDEO_CARDS="nvidia"
NOUVEAU:
VIDEO_CARDS="nouveau"
ATI:
VIDEO_CARDS="fglrx"
RADEON
VIDEO_CARDS="radeon"
# mkdir /usr/portage
# emerge-webrsync
# emerge --sync
(Si está utilizando un terminal lento como algunos framebuffers
o consolas seriales, puede añadir la opción --quiet para aumentar la
velocidad del proceso:)
# emerge --sync --quiet
Si está detrás de un cortafuegos que bloquea el tráfico rsync, puede ignorar esta paso de forma
segura ya que tiene su árbol Portage actualizado.
Si ha advertido que está disponible una nueva versión de Portage y se debe actualizar, debería
hacerlo ejecutando emerge --oneshot portage.
Eligiendo el perfil adecuado
Primero, una pequeña definición:
Un perfil es la piedra inicial de cualquier sistema Gentoo. No solamente especifica unos valores
predeterminados para USE, CFLAGS, y otras variables importantes, también bloquea del sistema
ciertos rangos de versiones de algunos paquetes. Son mantenidos por los desarrolladores de Gentoo.
Tiempo atrás, los perfiles raramente los tocaba el usuario. Sin embargo, puede haber situaciones en
las cuales sea necesaria un cambio de perfil.
Se puede ver el perfil actualmente utilizado con la siguiente orden:
Listado de Código 2.3: Comprobar el perfil del sistema
Como puede ver, también existen sub-perfiles desktop (escritorio) y server (servidor) para algunas
arquitecturas. Ejecutando eselect profile list mostrará los perfiles disponibles.
Después de revisar los perfiles disponibles para su arquitectura, puede utilizar uno diferente si lo
desea:
Listado de Código 2.4: Cambiar de perfil
Bien, en mi caso voy a hacer la instalación con KDE así que acá va captura :
11) Configurar la variable USE
Bueno, en este punto hemos llegado a otra parte en la que hay que mirar con SUMO detalle.
De esta variable hablaba específicamente cuando decía que Gentoo ofrece la posibilidad configurar
las características de los paquetes a instalar.
Primero veamos que nos dice el handbook:
# less /usr/portage/profiles/use.desc
(Puede desplazarse arriba y abajo utilizando sus teclas de flechas y
salir pulsando 'q')
Como ejemplo, se muestran algunas opciones USE para un sistema basado en KDE con DVD,
ALSA y soporte para grabar CD's.
Listado de Código 2.7: Abrir /etc/portage/make.conf
# nano -w /etc/portage/make.conf
”
Bueno, de entrada parece un poco extraño, pero luego tiene bastante sentido, así que nada, a no
desesperarse jaja
En esta variable como ya dijo el handbook especificaremos las características que queremos que
estén activadas globalmente, anteriormente al elegir el perfil lo que hace este es activar una serie de
USEFLAGS, asique las use flags que recomiendo que añadan en este punto, serian: consolekit dbus
policykit udev
USE="zeroconf python graphite symlink mmx sse sse2 sse3 -gtk -gnome opengl qt4
kde dvd alsa cdr samba cups v4l opencl openal mixer cuda plasma cairo fontconfig
foomaticdb pdf scanner consolekit dbus pam policykit udev networkmanager appmenu
pcmcia gstreamer bluetooth plasma video truetype kdepim kdeenablefinal"
Ya deben estar cansados de que les mencione el handbook, pero bueno, por algo no
hay guiás de Gentoo, porque esta todo ahí! ahí va:
“Zona Horaria
Primero necesita seleccionar su zona horaria para que su sistema sepa dónde está localizado.
Busque su zona horaria en /usr/share/zoneinfo, cópiela a /etc/localtime. Por favor, evite las zonas
horarias /usr/share/zoneinfo/Etc/GMT* ya que los nombres no indican las zonas esperadas. Por
ejemplo, GMT-8 es realmente GMT+8.
Listado de Código 1.1: Configurar la Zona Horaria
# ls /usr/share/zoneinfo
(Supongamos que desea utilizar Europe/Brussels)
# cp /usr/share/zoneinfo/Europe/Brussels /etc/localtime
(A continuación ajustamos timezone)
# echo "Europe/Brussels" > /etc/timezone
en mi caso:
cp /usr/share/zoneinfo/America/Argentina/Buenos_Aires /etc/localtime
Elegir un Núcleo
El eje alrededor del cual se construyen todas las distribuciones es el núcleo de Linux. Es la capa
entre los programas de usuario y el hardware del sistema. Gentoo proporciona a sus usuarios varias
fuentes de núcleos. Una lista completa está disponible en la Guía del Núcleo de Gentoo.
Para los sistemas basados en AMD64 tenemos, entre otros núcleos, gentoo-sources (fuentes del
núcleo modificadas para obtener algunas características adicionales).
Elija sus fuentes del núcleo e instálelas usando emerge.
Listado de Código 2.1: Instalar unas fuentes del núcleo
# emerge gentoo-sources
Cuando vea en /usr/src verá un enlace simbólico llamado linux apuntando a las fuentes del núcleo.
En este caso, asumimos que la fuentes del núcleo instaladas apuntan a gentoo-sources-3.4.9. Su
versión podría ser distinta, así que por favor tenga esto presente.
Listado de Código 2.2: Visualizar el enlace a las fuentes del núcleo
# ls -l /usr/src/linux
lrwxrwxrwx 1 root root 12 Oct 13 11:04 /usr/src/linux -> linux-3.4.9
NOTA: Los que siguieron las opciones para aumentar el rendimiento, en este
punto, pasen por el punto 13.1) al final del tuto
14)Compilando el Kernel
Si está leyendo esta sección, eligió usar nuestro guión genkernel para configurar el núcleo.
Ahora que el árbol de las fuentes del núcleo está instalado, es hora de compilarlo usando nuestro
guión genkernel que automáticamente construirá un núcleo. genkernel trabaja configurando un
núcleo prácticamente idéntico al núcleo de nuestro CD de instalación. Esto significa que cuando use
genkernel para construir su núcleo, su sistema generalmente detectará todo su hardware en el
arranque, tal como lo hace el CD de instalación. Debido a que genkernel no requiere ninguna
configuración manual del núcleo, es una solución ideal para esos usuarios que no se sienten
cómodos compilando sus propios núcleos.
Ahora, veamos como usar genkernel. Primero, haga emerge al ebuild de genkernel:
Listado de Código 4.1: Instalar genkernel
# emerge genkernel
Ahora, compile las fuentes del núcleo ejecutando genkernel all Recuerde que genkernel compila un
núcleo que soporta casi todo el hardware, ¡esta compilación tardará un rato en terminar!
Observe que si su partición de arranque no usa el sistema de archivos ext2 o ext3, necesitará
configurar manualmente su núcleo con genkernel --menuconfig all y agregar soporte para su
sistema de archivos en el núcleo (no como módulo). Los usuarios de LVM2 probablemente querrán
añadir también el argumento --lvm2.
Listado de Código 4.2: Ejecutar genkernel
# genkernel all
Una vez que genkernel haya terminado, un núcleo, un conjunto completo de módulos y un disco
ram de inicio (initramfs) serán creados. Usaremos el núcleo e initrd para configurar un gestor de
arranque más tarde en este documento. Escriba los nombres del núcleo y de initrd ya que los
necesitará para el archivo de configuración del gestor de arranque. El initrd iniciará inmediatamente
después del arranque para realizar la autodetección de hardware (igual que en el CD de instalación)
antes que inicie su sistema "real".
Listado de Código 4.3: Verificar los nombres del núcleo e initrd creados
# ls /boot/kernel* /boot/initramfs*
Ahora bien para los que quieran mas rendimiento pásense por la sección 14.1) al
final del tuto, en este punto, explico como por ejemplo hacer que el kernel sea
de baja latencia, para que tenga mayor respuesta
15)Fstab
“¿Qué es el fstab?
En Linux, todas las particiones usadas por el sistema deben estar reflejadas en /etc/fstab. Este
fichero contiene los puntos de montaje de esas particiones (donde se encuentran en la estructura del
sistema de ficheros), cómo deben ser montadas y con que opciones especiales (automáticamente o
no, si los usuarios pueden montarlas o no, etc.).
Creando el /etc/fstab
/etc/fstab usa una sintaxis especial. Cada línea tiene seis campos, separados por espacios en blanco
(espacio(s), tabuladores o una combinación). Cada campo tiene su propio significado:
• El primer campo muestra la partición descrita (la ruta al fichero de dispositivo)
• El segundo campo muestra el punto de montaje donde la partición debe montarse
• El tercer campo muestra el sistema de ficheros usado por la partición
• El cuarto campo muestra las opciones de montaje que debe usar mount al tratar de montar
la partición. Como cada sistema de ficheros tiene sus propias opciones de montaje, le
animamos a leer la página man de mount (man mount) para un listado completo. Cuando
existen múltiples opciones se separan por comas.
• El quinto campo es usado por dump para determinar si la partición necesita ser volcada o
no. En general puede dejar esto como 0 (cero).
• El sexto campo es usado por fsck para determinar el orden en que los sistemas de ficheros
deben ser comprobados si el sistema no se apagó correctamente. La partición raíz debe
tener un 1 mientras que el resto puede tener 2 (o 0 en el caso en que la comprobación del
sistema de ficheros no sea necesaria).
Importante: El archivo /etc/fstab que proporciona Gentoo de manera predeterminada no es un
archivo fstab válido. Debe crear su propio /etc/fstab:
# nano -w /etc/fstab
Vamos a ver como anotar las opciones para la partición /boot. Esto es solo un ejemplo, si su
arquitectura no requiere una partición /boot, no lo copie al pie de la letra.
En nuestro ejemplo para AMD64 de particionamiento, /boot es la partición /dev/sda1, con un
sistema de ficheros ext2. Esta necesita ser comprobada durante el arranque del sistema, así que
necesitamos escribir:
Listado de Código 1.2: Un ejemplo de línea /boot para /etc/fstab
Algunos usuarios no quieren que su partición /boot sea montada automáticamente para mejorar la
seguridad de su sistema. Estos usuarios deberían sustituir defaults por noauto. Esto implica la
necesidad de montar manualmente la partición cada vez que se quiera usarla.
Añada las reglas que coincidan con su esquema de particionamiento para su dispositivo(s) CD-
ROM, y por supuesto, si tiene otras particiones o dispositivos, también para éstos.
Ahora use el ejemplo que tiene a continuación para crear su /etc/fstab:
Listado de Código 1.3: Un ejemplo completo de /etc/fstab
auto provoca que mount intente adivinar el sistema de archivos (se recomienda para los dispositivos
extraíbles ya que pueden ser creados con distintos sistemas de ficheros) y user hace posible a los
usuarios que no pertenezcan a root monten el CD.
Para aumentar el rendimiento, la mayoría de usuarios podrían querer agregar la opción noatime
como opción de montaje, que desemboca en un sistema más rápido, puesto que los tiempos de
acceso no son registrados (de todas formas, no necesitará esto en general):
Repase su /etc/fstab, guarde los cambios y salga para continuar. ”
nano /etc/fstab
nano -w /etc/conf.d/hostname
y en este segmento le pongo el nombre de host (si, me gusta Ironman, por eso le
pongo Jarvis xD)
hostname="Jarvis"
nano -w /etc/hosts
127.0.0.1 Jarvis
::1 Jarvis
# emerge pcmciautils
”
17)Informacion del Sistema
Miremos el handbook
# passwd
# nano -w /etc/rc.conf
Cuando haya terminado de configurar estos dos ficheros, guárdelos y salga de su editor.
Gentoo utiliza /etc/conf.d/keymaps para gestionar la configuración del teclado. Edítelo y configure
su teclado.
Listado de Código 3.3: Abrir /etc/conf.d/keymaps
# nano -w /etc/conf.d/keymaps
Tenga especial cuidado con la variable keymap: porque si selecciona un keymap incorrecto,
obtendrá extraños resultados al escribir con el teclado.
Cuando termine de configurar /etc/conf.d/keymaps, guarde los cambios y salga.
Gentoo utiliza /etc/conf.d/hwclock para fijar las opciones del reloj. Edítelo de acuerdo a sus
necesidades.
Listado de Código 3.4: Abrir /etc/conf.d/hwclock
# nano -w /etc/conf.d/hwclock
Si su reloj de hardware no utiliza UTC, añada clock="local" al archivo. De lo contrario notará como
el reloj no funciona correctamente.
Cuando haya acabado de configurar /etc/conf.d/hwclock, guárdelo y salga del editor.”
Para que el clock tome la configuracion local hay que activar la opcion RTC en
el kernel, esto lo explico en el apartado de los tweaks que yo propongo al final
del tuto.
Para otro pequeño tweak vayan a la seccion 17.1) al final del tuto
18)Idioma
Segun el handbook:
“Configurar localizaciones
Probablemente utilice únicamente una o dos localizaciones (locales) en su sistema. Debe especificar
las localizaciones que utilizará en el fichero /etc/locale.gen.
Listado de Código 3.5: Abrir /etc/locale.gen
# nano -w /etc/locale.gen
en_US ISO-8859-1
en_US.UTF-8 UTF-8
es_ES ISO-8859-1
es_ES@euro ISO-8859-15
Nota: Puede seleccionar las localizaciones que desee de la lista que se obtiene ejecutando locale -a.
Aviso: Le recomendamos que utilice al menos una localización UTF-8 ya que sus aplicaciones
pueden necesitarla.
# locale-gen
Una vez realizado el paso anterior, tendrá la posibilidad de ajustar las definiciones que afectan a
todo el sistema en el fichero /etc/env.d/02locale:
Listado de Código 3.8: Definir la localización por defecto del sistema en /etc/env.d/02locale
LANG="es_ES.UTF-8"
LC_COLLATE="C"
Y recargue su entorno:
Listado de Código 3.9: Recargar el entorno del intérprete de comandos
nano -w /etc/locale.gen
y agregue:
es_AR.UTF-8 UTF-8
Luego:
locale-gen
nano /etc/env.d/02locale
LANG="es_AR.UTF-8"
LC_COLLATE="C"
19)Instalando Programas necesarios del Sistema
emerge syslog-ng && rc-update add syslog-ng default && emerge vixie-cron
&& rc-update add vixie-cron default && emerge mlocate && emerge dhcpcd ppp
gentoolkit linux-firmware module-rebuild
emerge wireless-tools
20) GRUB
emerge grub
# Las siguientes cuatro líneas solo se usan en caso de arranque dual con un sistema
Windows.
# En este caso, Windows reside en la partición /dev/sda6.
title Windows XP
rootnoverify (hd0,5)
makeactive
chainloader +1
Cuando construya el núcleo Linux, si opta por incluir un initramfs desde el cual iniciar, entonces
tendrá que cambiar la configuración haciendo referencia a este fichero initramfs e indicándole
donde se encuentra su sistema de ficheros raíz en:
Listado de Código2.4: Fragmento de GRUB para construcciones de núcleo con initramfs habilitado
Si queremos conocer los nombres de nuestros initramfs y kernel podemos hacer un:
ls /boot
root (hd0,0)
# This is a sample grub.conf for use with Genkernel, per the Gentoo handbook
# http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?
part=1&chap=10#doc_chap2
# If you are not using Genkernel and you need help creating this file, you
default 0
timeout 30
#splashimage=(hd0,0)/boot/grub/splash.xpm.gz
title Gentoo
root (hd0,1)
kernel /boot/kernel-genkernel-x86_64-3.7.1-gentoo root=/dev/ram0
real_root=/dev/sda5
initrd /boot/initramfs-genkernel-x86_64-3.7.1-gentoo
title Backtrack
root (hd0,2)
initrd /initrd.img-3.2.6
title Windows 7
rootnoverify (hd0,0)
makeactive
chainloader +1
# vim:ft=conf:
Salga del entorno chroot y desmonte todas las particiones que continúen montadas. Después
podemos ejecutar el mágico comando que hemos estado esperando: reboot.
Listado de Código 4.1: Desmontar todas las particiones y reiniciar
# exit
cdimage ~# cd
cdimage ~# umount -l /mnt/gentoo/dev{/pts,/shm,}
cdimage ~# umount -l /mnt/gentoo{/boot,/sys,/proc,}
cdimage ~# reboot
Nada mas iniciar, con nuestro Gentoo recien instalado, lo que haremos sera
conectarnos a internet:
dhcpcd
ping www.google.com
TIP: No voy a explicar como conectarse a las redes WIFI mediante consola, pero
para aquellos que no les gusta lidiar con este tipo de cosas existe una manera
poco ortodoxa xD de instalar lo que falta sin internet, consiste en: reiniciar,
iniciar con el live CD, volver a hacer el CHROOT, y una vez dentro hacemos:
De esta manera lo que hacemos es que Portage baje el codigo fuente de todos los
paquetes (y sus dependencias) que necesita para instalar los paquetes que le
especificamos
23)Instalacion de las X
emerge --quiet xorg-server && emerge --quiet xorg-drivers && emerge --quiet
nvidia-drivers && nvidia-xconfig && module-rebuild rebuild
emerge --quiet xorg-server && emerge --quiet xorg-drivers && emerge --quiet ati-
drivers && aticonfig --initial && module-rebuild rebuild
En el caso de tener una placa NVIDIA o ATI y usar los drivers libres:
KDE: este es una extracto de la wiki en ingles de KDE Gentoo (), son los
posibles grupos de paquetes para instalar KDE
Como dice ahi es buena idea instalar kdebase-meta (emerge kdebase-meta) y luego
añadir los grupos de paquetes que querramos instalar
mkdir /etc/portage/package.keywords
Ingresamos:
cd /etc/portage/package.keywords
Y:
GNOME: No soy usuario de este entorno asique pondre directamente lo que dice la
wiki (recuerden ajustar las use flags en los pasos previos)
http://www.gentoo.org/doc/es/gnome-config.xml
http://en.gentoo-wiki.com/wiki/Gnome_3
mkdir /etc/portage/package.keywords
Ingresamos:
cd /etc/portage/package.keywords
Y:
nano gnome.keywords
“Unmasking
LXDE:
http://en.gentoo-wiki.com/wiki/LXDE
En el profile list (eselect profile list) tienen que seleccionar el que dice
desktop
XFCE:
http://wiki.gentoo.org/wiki/Xfce
Instalacion:
En el profile list (eselect profile list) tienen que seleccionar el que dice
desktop
Luego:
Instalamos:
nano /etc/conf.d/xdm
# What display manager do you use ? [ xdm | gdm | kdm | gpe | entrance ]
# NOTE: If this is set in /etc/rc.conf, that setting will override this one.
DISPLAYMANAGER="kdm"
26)Networkmanager
http://en.gentoo-wiki.com/wiki/NetworkManager
KDE:
emerge networkmanagement
GNOME o XFCE:
Le Ponemos contraseña
passwd <TUUSUARIO>
28)Sudo
Instalamos sudo:
emerge sudo
nano /etc/sudoers
29)Listo
TIPS Y Consejos
package.use / package.accept_keywords / package.mask / package.unmask
Se alojan en /etc/portage/
#Multimedia
media-video/vlc X a52 aac aalib alsa atmo audioqueue avahi avcodec avformat bidi
bluray cdda cddb dbus dc1394 debug dirac directfb dts dvb dvbpsi dvd egl encode
fbosd ffmpeg flac fluidsynth fontconfig gcrypt gme gnutls growl httpd ieee1394
jack kate kde libass libcaca libnotify libproxy libsamplerate libtar libtiger
linsys lirc live lua macosx macosxaudio macosxdialogprovider macosxeyetv
macosxqtkit macosxquartztext macosxvout matroska mmx modplug mp3 mpeg mtp
musepack ncurses ogg omxil opengl optimisememory oss png portaudio postproc
projectm pulseaudio pvr qt4 rtsp runasroot samba schroedinger sdl sdlimage shine
shout sid skins speex sqlite sse svg switcher swscale taglib theora truetype
twolame udev upnp v4l vaapi vcdx vlm vorbis wmafixed x264 xcb xml xosd xv zvbi
#Kernel
sys-kernel/gentoo-sources
#Internet
www-client/firefox
.mask y .unmask : Aveces los paquetes son enmascarados porque contienen algun
tipo de bug o inestabilidad serio (no es lo mismo que testing) si aun asi
queremos instalar uno de estos paquetes, lo podemos declarar en el .unmask,
el .mask es para hacer lo contrario, en mi caso me resulto útil una vez que
cuando queria actualizar el sistema entero, un paquete me causaba problemas,
entonces simplemente lo meti en el .mask de la siguiente manera
>=grupopaquete>/<paquete>-<version> entonces todos los paquetes > o = a la
versión que le especifique, portage no los vería y por lo tanto no intentaría
actualizar, al cabo de un tiempo lo quite del .mask , y las versiones vigentes
en ese momento estaban corregidas y funcionaban a la perfección
EQUERY:
equery es un programa que nos sirve para consultar información sobre los
paquetes, en especial, lo que quiero destacar, es esto:
de esta manera equery nos mostrará todas las USE FLAGS que soporta ese paquete,
entonces si queremos activar alguna característica de este paquete, podemos
agregarlo al package.use con la correspondiente USE FLAG
Consejos:
emerge <nombredelpaquete>
2) LEER SIEMPRE LO QUE NOS INDICA PORTAGE, muchas veces cuando queremos instalar
algo portage nos tira un error porque falta algo (alguna USE FLAG en algun
paquete por ejemplo, o poner algo en el accept_keywords), PERO, dentro del
MENSAJE de ERROR nos dice QUE DEBERIAMOS hacer para solucionarlo, así que,
PRESTAR ATENCION
por ejemplo (este error me lo paso uno de mis contactos que esta instalando
Gentoo <gracias Ale Riera por la imagen>):
como se ve en la captura zlib necesita la useflag minizip . Y udev necesita las
useflags gudev y hwdb
entonces lo que hacemos sera agregarles esas useflags a esos paquetes, por lo
tanto en nuestro /etc/portage/package.use tendríamos que agregar (siempre les
suelo poner un titulo descriptivo, comentado con #):
#Sistema
#Sys-libs
sys-libs/zlib minizip
al re-emerger esos paquetes (emerge udev && emerge zlib) se compilaran con las
nuevas USE FLAGS, entonces al intentar hacer emerge <paquetequetiroerror> este
ya no se debería quejar, dado que los paquetes del cual depende, ya están
compilados con las USE FLAGS que necesitaba
nano /etc/portage/make.conf
nano /etc/portage/package.accept_keywords
y en el pondremos:
#Compilador
sys-devel/gcc-config
sys-devel/gcc
gcc-config -l
nano /etc/portage/make.conf
Perfecto, de ahora en mas todo lo que compilemos lo hará con las optimizaciones
que ofrece graphite
También dentro de ésta categoría esta la opción para hacer que el kernel sea de
baja latencia, los kernels de baja latencia, en simples palabras, consumen un
poco mas de memoria, pero responden mucho mejor, ya que, imaginemos un tipo que
atiende un lugar de comidas, si el kernel no fuera de baja latencia, si viene
alguien y pide algo para comer, y luego llegamos nosotros y queremos pedir algo,
el tipo nos hará esperar a que termine de preparar el pedido anterior y
entregarlo, y luego atendernos a nosotros, en cambio si fuera de baja latencia,
cuando llegamos nosotros, el tipo, mientras se cocina el pedido de la persona
anterior, nos atenderá a nosotros, (reponde a las interrupciones al kernel)
entonces:
RTC (Real Time Clock) cuando instalamos Gentoo junto con Windows tenemos que
ponerle al clock, clock=local (para que los relojes funcionen bien en ambos SO)
pero esto no funciona si no activamos esta característica en el kernel:
Opciones administración de energía del kernel, probablemente si tenes una
notebook, desees que el kernel no consuma energía como loco, para esto debemos
activar lo siguiente:
17.1) Arranque de los servicios en paralelo
Si queremos que arranque los servicios en paralelo, para mejorar un poco el boot
time, en el rc.conf tendremos que tener una linea que diga asi:
rc_parallel="YES"
a) Éste lo separe del resto porque por ahi suele tirar errores al compilar
(muchas veces simplemente usando emerge o volviendo a hacer tmerge <ahora
explicare que es> se soluciona).
http://en.gentoo-wiki.com/wiki/Portage_TMPDIR_on_tmpfs
en el kernel, necesitamos:
Luego haremos:
nano /usr/local/sbin/tmerge
y pegaremos lo siguiente:
#!/bin/bash
MEMSIZE=512M
mounted=false
. /etc/make.conf
. /etc/init.d/functions.sh
if [ -z "$PORTAGE_TMPDIR" ]; then
PORTAGE_TMPDIR="/var/tmp/portage"
fi
mounttmpfs() {
mount -t tmpfs -o size=$MEMSIZE,nr_inodes=1M tmpfs $
{PORTAGE_TMPDIR}
mounted="true"
}
compile() {
einfo "running emerge ${*}"
emerge ${*}
}
unmount() {
ebegin "unmounting tmpfs"
umount -f ${PORTAGE_TMPDIR}
eend $?
}
# the next line would change the cpu-governour, if available, to the highest
frequency
#[ -f /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor ] && echo
performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
# run emerge
compile $@
# unmount tmpfs
$mounted && umount ${PORTAGE_TMPDIR}
chmod +x /usr/local/sbin/tmerge
tmerge <nombreDelPaquete>
Bueno, espero que les sea útil
http://creativecommons.org/licenses/by-nc-sa/3.0/deed.es