Download Gentoo Linux

Document related concepts
Transcript
2009
Gentoo Linux
Una pequeña guía de instalación
Sin duda Gentoo se caracteriza por brindarnos un nivel de personalización a
otro nivel para nuestro sistema operativo, a continuación veremos todo el
proceso de construcción de éste SO, desde el particionado de nuestro disco
duro…hasta la instalación de software usando una Shell gráfica, en este caso
KDE.
Manuel Josué Carrillo Ordoñez 200412975
Universidad de San Carlos de Guatemala, Facultad de Ingeniería
Sistemas Operativos 1
15/02/2009
Que no es Gentoo…
Gentoo no es igual a todas las distribuciones disponibles, llámese Suse, Ubuntu, etc.…ya que
éstas se instalan de manera similar en cualquier computadora dando como resultado un
sistema operativo genérico que difícilmente será el más optimizado para nuestra arquitectura
en particular.
Gentoo es una distribución de Linux pensada específicamente para las personas que desean
construir su sistema operativo optimizado completamente para la arquitectura de su
computadora, dicho proceso conlleva compilar todo el código fuente desde el núcleo del
sistema o kernel hasta cualquier aplicación que se desee instalar.
La compilación de todos los componentes puede resultar en horas y horas de tiempo de
máquina, así que si no cuentas con dicho tiempo…instala otra distro =)
Ahora, para la gente valiente que quiera construir Gentoo en su máquina, tiene dos caminos
posibles:
Una instalación mediante un Live CD de Gentoo.
Una instalación utilizando el CD Minimal de la distribución.
Una instalación mediante el Live CD puede ser hecha por cualquier Noob, así que no
tocaremos dicho tema, nos centraremos mediante la instalación utilizando el CD Minimal.
Dicho CD lo podemos descargar del sitio oficial de Gentoo: http://www.gentoo.org/main/en/where.xml
Antes de descargar la imagen, debemos ver la arquitectura de nuestro sistema, en mi caso
seleccione el CD disponible para máquinas X86, si disponemos de una arquitectura distinta
será seleccionar simplemente la imagen correspondiente a la misma.
Una vez tenemos el .ISO lo grabamos en un CD, les recomiendo este software:
http://projects.gnome.org/brasero/
Incluido en varias distribuciones que utilizan la Shell gráfica Gnome como Ubuntu.
Comienza a construir
Cuando tengamos nuestro medio de instalación, configuramos nuestra máquina para que
pueda iniciar desde la unidad de CD y…veremos a un amigable pingüinito en la parte superior,
mas un buen número de líneas en donde se muestra la carga de todo lo relacionado con el
sistema base de Gentoo:
Cuando todas las herramientas necesarias sean
cargadas, el siguiente paso es la creación de un
esquema de particionado para nuestro disco
duro, es recomendable hacer una partición
para /boot, una para la raíz del sistema “/root”
y una para el manejo del área de intercambio
“swap”.
Esquema de particionado:
/boot (/dev/hda1)
swap (/dev/hda2)
NTFS(/dev/hda3)
/root (/dev/hda4)
Si no estamos seguros de que dispositivo asignar, podemos utilizar el comando #fdisk –l, el
cual mostrara todos los dispositivos de almacenamiento conectados a la computadora, ya sean
discos duros o
La partición NTFS es la que ocupa Windows XP, la de boot será necesaria para que el sistema
Gentoo pueda iniciar, la de Swap es utilizada para intercambio con la memoria, mientras que la
de /root será la partición principal…en donde será construida toda la estructura de directorios
de nuestro sistema Linux.
El Live CD nos brinda una herramienta para poder realizar el particionado, dicha herramienta
es CFDISK, acá tenemos una imagen de la misma:
El uso de esta herramienta hará que la tabla de particiones sea escrita en el disco, para poder
tener el esquema de particionado mencionado
anteriormente.
Lo que hay que tomar en cuenta: El uso de la
herramienta CFDISK no debe tomarse a la ligera, ya
que destruirá la tabla de particiones y con ello la
asignación lógica de las particiones existentes, por
ello se debe estar seguro de su uso. Hay que tener
en mente que la partición “/boot” debe poder
arrancar, por ello debe ser marcada como
“bootable”, hay que establecer el tipo de cada partición, en este caso todas son Físicas, y por
ultimo, establecer el código para la partición swap (82).
Según nuestro esquema de particionado, debería verse de esta manera:
Cuando nuestra tabla de particiones este lista,
llego la hora de preparar las particiones para
que puedan albergar un sistema de archivos, en
este caso crearemos las particiones de tipo ext2
y ext3, dichos sistemas de archivos prepararán
toda la estructura de i-nodos para que el
sistema Linux pueda ser instalado.
Comenzando con la partición de /boot:
El formato puede aplicarse de la siguiente manera: #mke2fs <partición> en este caso la
partición era la correspondiente a /dev/hda1, dicha partición ahora puede albergar el sistema
de archivos ext2.
Comando utilizado: #mke2fs /dev/hda1
Siguiendo con la partición de /root:
El comando debe aplicarse casi de igual manera
que para la partición de /boot, únicamente que
debe especificarse un parámetro adicional para
poder utilizar el sistema ext3.
Comando utilizado: #mke2fs –j /dev/hda4
Finalizando con la activación de la partición SWAP
El último paso para poder terminar con la fase de creación de particiones es la de la activación
de la partición de intercambio SWAP.
Comando utilizado: #mkswap /dev/hda2
Comando utilizado: #swapon /dev/hda2
Montar las particiones recién hechas
Una vez que las particiones han sido formateadas, es necesario montarlas para poder hacer
uso de ellas, acá está dicho proceso:
Gentoo Stage
Los diferentes Stages que existen de Gentoo son diferentes niveles de configuración y
optimización que podemos dar a nuestro sistema Linux, en este caso utilizaremos el Stage 3 de
dicha distribución.
Como obtener el Stage?
El Stage debe seleccionarse en función de la arquitectura de nuestra computadora, en mi caso
seleccione el archivo correspondiente a la arquitectura X86.
Dicho Stage podemos descargarla de los repositorios oficiales de Gentoo que se encuentran en
servidores por todo el mundo, acá esta una lista de ellos: http://www.gentoo.org/main/en/mirrors2.xml
Acá podemos ver el archivo Stage que necesitamos:
El árbol PORTAGE
Los usuarios que estamos acostumbrados a sistemas Linux podemos hacer la comparación con
el árbol Portage a una lista de repositorios, es decir…Portage tendrá toda la estructura
necesaria para poder instalar tanto aplicaciones como las diferentes dependencias que
pudieran tener. Acá esta el archivo que necesitamos:
Mmm…ya tengo los archivos…ahora que?
Teniendo ambos archivos, el archivo Stage y el archivo Portage…procedemos a copiarlos a
nuestro directorio de instalación /mnt/gentoo.
Podemos utilizar el navegador Lynx para poder navegar desde nuestro sistema Linux (el que
estamos usando con el CD Minimal) o podemos usar una técnica adicional, dicha técnica
consiste en grabar los archivos a un dispositivo extraíble (llámese memoria USB :P), montar
dicha memoria y copiar los archivos hacia los directorios de instalación.
Pasos para copiarlo desde nuestra memoria USB:
1) Crear un punto de montaje para nuestra memoria USB. Comando: #mkdir /mnt/memoria
2) Montar la memoria en el punto creado anteriormente.
Comando: #mount –t vfat /dev/sda1 /mnt/memoria
3) Copiar el archivo Stage a /mnt/Gentoo
Comando: #cp stage3-x86-2008.0.tar.bz2 /mnt/gentoo
Con el archivo Stage en el directorio /mnt/gentoo, procedemos a descomprimirlo utilizando la
siguiente instrucción:
Comando: #tar xvjpf stage3-x86-2008.0.tar.bz2
En donde: x=descomprimir, v=que es lo que está
pasando durante la extracción del paquete,
j=descomprimir con bz2, p=preservar los permisos de
todos los archivos, f=para poder indicar que estamos
descomprimiendo un archivo.
En esta etapa, tenemos ya los archivos Stage y
Portage ya en el directorio de instalación, el archivo
Stage ya fue descomprimido, tenemos que realizar un proceso similar para poder extraer el
árbol Portage.
Comando (Portage): #tar xvjf /mnt/gentoo/portage-2008.0.tar.gz –C /mnt/gentoo/usr
Listo, descomprimiendo esos dos archivos, estamos listos para poder continuar con la
siguiente etapa…la configuración de nuestro archivo MAKE, base fundamental para la
optimización de nuestro sistema Gentoo Linux ;).
CFLAGS y archivo MAKE.CONF
En el comienzo de este pequeño manual de instalación se dijo que la piedra angular de Gentoo
es su habilidad de poder ser optimizado para una arquitectura en particular, dicha acción se
lleva a cabo mediante un simple archivo de configuración…llamado “make.conf” que se
encuentra en el directorio /etc.
Algunas de las cosas primordiales que podemos encontrar en el son las siguientes:
CFLAGS, CXXFLAGS: Son todos los parámetros que podemos indicar para la optimización de la
instalación de aplicaciones en nuestro entorno Gentoo, a un nivel más profundo podemos
decir que son parámetros formales para el compilador gcc.
CHOST: Esta variable define el sistema objetivo, es decir la arquitectura de la máquina en
donde el sistema operativo será construido, en mi caso es i486-pc-linux-gnu, NO HAY QUE
MODIFICARLA, ya que rompería la integridad del sistema, en caso de que no aparezca lo
correcto es porque el archivo Stage es incorrecto.
Para poder saber que parámetros debemos
colocar, Gentoo ofrece mediante su wiki una
página de “safe flags”, la cual podemos ver acá:
http://en.gentoo-wiki.com/wiki/Safe_Cflags .
Servidores de Réplica: Para poder descargar de una manera más rápida todo el software
correspondiente tanto a las fuentes de Gentoo como a las aplicaciones, podemos utilizar la
herramienta mirrorselect: # mirrorselect -i -o >> /mnt/gentoo/etc/make.conf
Información de DNS: Es necesario copiar la información del DNS, para poder asegurarnos de
que la red sea funcional dentro del entorno del sistema que estamos instalando:
(La opción "-L" es necesaria para asegurarnos que no copiamos un enlace simbólico)
# cp -L /etc/resolv.conf /mnt/gentoo/etc/
Montar los sistemas PROC y DEV: Esto es necesario para que toda la información
correspondiente al kernel sea accesible desde el nuevo entorno de nuestro sistema operativo.
# mount -t proc none /mnt/gentoo/proc
# mount -o bind /dev /mnt/gentoo/dev
Entrando en nuestro nuevo entorno:
Antes de esta etapa, nos encontrábamos en el entorno proporcionado por el CD Minimal,
ahora es necesario cambiarnos a nuestro sistema Gentoo inicializado:
# chroot /mnt/gentoo /bin/bash
# env-update
>> Regenerating /etc/ld.so.cache...
# source /etc/profile
# export PS1="(chroot) $PS1"
La variable USE: Dicha variable es necesaria para poder brindar nuestra personalización sobre
el soporte que queramos dar sobre las aplicaciones a instalar, esto nos provee la capacidad de
dar soporte únicamente a las aplicaciones que necesitamos sin tener servicios innecesarios
como en un sistema genérico. Dicha variable es configurada también en el archivo
/etc/make.conf (si, el mismo de las CFLAGS :P)
En mi caso en particular, mi variable USE esta configurada de la siguiente manera:
USE="-gtk -gnome qt3 qt4 kde dvd alsa cdr java X"
El Kernel Linux
Mucho se ha hablado del kernel de Linux, pero…básicamente es un componente que realiza la
integración entre el hardware de nuestra máquina y el sistema operativo, dicha unión se ve
mejor en la siguiente gráfica:
Kernel
Software
Hardware
Básicamente necesitamos una versión estable del kernel para poder continuar con la
construcción de nuestro sistema Gentoo, para poder descargar las fuentes de dicho kernel es
necesario escribir la siguiente instrucción:
#emerge gentoo-sources
Modos de Compilación del Kernel
Básicamente hay dos formas de compilar un kernel, una es usando Genkernel…una instrucción
que construirá un kernel genérico para nuestro sistema.
Una opción mucho más interesante e infinitamente mejor es seleccionando los módulos
necesarios para la compilación de nuestro propio kernel. El único inconveniente es que para
poder realizar este tipo de
compilación es necesario que
tengamos un conocimiento bastante
profundo del hardware de nuestra
computadora. Si no seleccionamos un
modulo correcto, por ejemplo el
encargado de manejar los discos
duros…nos encontraremos con un
bello
“kernel
panic”
y
mmm…créanme, no es nada divertido
=).
Con un par de compiladas manuales, se va aprendiendo a seleccionar los módulos correctos :P,
así que suponiendo que ya tenemos la fuente del kernel con el comando anterior, procedemos
a ver el menú de configuración del mismo con la siguiente instrucción:
# cd /usr/src/linux
# make menuconfig
Lamentablemente la selección de los módulos correctos depende de la persona que este
instalando y obviamente del hardware instalado, así que aunque pusiera una lista acá, serviría
de poco…porque cada maquina es una historia diferente e increíble…
Acá algunas secciones vitales:
Processor Type
Bus Options
Device Drivers (créanme, sino le echan un ojo a esta sección,….se avecinan
problemas)…
File Systems
Networking
Una vez los módulos sean seleccionados, procedemos a compilar el kernel con la siguiente
instrucción:
#make && make modules_install
Mientras el kernel se compila, puedes ir a tomar un café o algo así… ;). Cuando por fin termine,
lo único restante será copiar la imagen compilada a tu carpeta de /boot:
# cp arch/i386/boot/bzImage /boot/kernel-2.6.24-gentoo-r5
El archivo fstab
Este archivo contiene el punto de montaje de todas las particiones de nuestro sistema Linux,
debe ser configurado para poder reconocer los diferentes sistemas de archivos que hemos
dado a nuestras particiones, en nuestro caso en particular debería de quedar de la siguiente
forma:
/dev/hda1 /boot
/dev/hda2 none
/dev/sda4 /
ext2 defaults,noatime
swap sw
ext3 noatime
12
00
01
/dev/cdrom /mnt/cdrom auto noauto,user
00
Información de Red
Debemos configurar el archivo /etc/conf.d/net para que pueda darse una dirección de red a
nuestra interfaz, en mi caso dicha dirección es asignada por mi router mediante el protocolo
DHCP:
#esto va en el archivo:
config_eth0= ( "dhcp" )
dhcp_eth0="nodns nontp nonis"
Luego ejecutamos esta instrucción: # rc-update add net.eth0 default para que la red se cargue
al inicio del sistema.
Password para el usuario Root: A estas alturas creo que todos sabemos quien es el usuario
Root, pero….en fin, es el tipo encargado de todo el sistema…al cual irán los usuarios cuando
algo no funcione…para establecer su password basta con escribir la siguiente instrucción:
#passwd
Bitácora del sistema
Una bitácora instalada será una valiosa herramienta, nos proporcionará información de todo lo
ocurrido en caso de falla o algo similar, podemos instalar dicha bitácora con la ejecución de lo
siguiente:
# emerge syslog-ng
# rc-update add syslog-ng default
DHCP
Importante, importante, si no se instala un cliente de DHCP ahora, puede que no podamos
conectarnos a internet luego, basta con ejecutar la siguiente instrucción:
# emerge dhcpcd
Gestor de Arranque
Mmmm, quizá te estés preguntando que es un gestor de arranque, es esa pantalla bonita que
aparece cuando enciendes tu PC y te muestra los sistemas operativos instalados…en este caso
vamos a instalar GRUB, para ello basta con ejecutar la siguiente instrucción:
# emerge grub
Cuando termine, es necesario configurar su archivo de configuración, mediante lo siguiente:
# nano -w /boot/grub/grub.conf
Cuando el archivo anterior este configurado, debemos instalar dicho cargador de arranque en
nuestro disco duro, para ellos utilizamos las siguientes instrucciones:
# grep -v rootfs /proc/mounts > /etc/mtab
# grub-install --no-floppy /dev/hda
Listos, ya!!!!
Creo que a estas alturas quieren ver algo funcionando, basta con desmontar las unidades y
reiniciar el sistema:
# exit
cdimage ~# cd
cdimage ~# umount /mnt/gentoo/boot /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo
cdimage ~# reboot
Un usuario mortal…
Necesario para poder entrar al sistema con privilegios limitados, en fin…el usuario de “todos
los días”:
# useradd -m -G users,wheel,audio -s /bin/bash many
# passwd many
Password: (Introduzca la contraseña para many)
Re-enter password: (Vuelva a introducir la contraseña para verificar)
Listo!!!! Gentoo Funciona!!!!
Si ves esta pantalla, es porque seleccionaste los módulos correctos ;):
X Server:
Siiiii, bonito pero….a todos nos gustan mas las Shell gráficas, así que el primer paso es
configurar el Servidor X, que es el responsable del manejo y manipulación de todo el sistema
gráfico de nuestra máquina.
Primero: Agregar las variables necesarias al archivo /etc/make.conf. Estas son las variables en
cuestión:
(For mouse and keyboard support)
INPUT_DEVICES="keyboard mouse"
VIDEO_CARDS="sis"
Luego, basta con descargar los paquetes correspondientes al servidor X:
# emerge xorg-x11
Luego de mucho tiempo (y entiéndase mucho tiempo) la descarga terminara, es necesario
actualizar algunas variables de entorno con las siguientes instrucciones:
# env-update
# source /etc/profile
Luego, debemos crear un archivo de configuración para la correcta inicialización de la
resolución y aspecto de nuestro entorno grafico, afortunadamente el servidor X trae una
herramienta que permite crear dicho archivo:
# Xorg –configure
Esperando en Dios que funcione, copiamos el archivo generado a /etc/X11 para poder iniciar el
modo grafico son un simple “startx”.
# cp /root/xorg.conf.new /etc/X11/xorg.conf
Si ejecutamos “startx” deberíamos ver el manejador de ventanas llamado twm. Acá esta una
imagen de dicho sistema:
Si, ya se lo que estas pensando…”tanto para esa cosa
asquerosa de modo grafico!!!?”
Eso pensé yo también, pero bueno…llegar a ese nivel es
algo bueno, por lo menos sabes que el servidor X funciona
y ya puedes instalar un gestor grafico mucho más bonito.
Acá es en donde vienen las peleas clásicas entre dos de los
gestores mas populares, por un lado tenemos a los
fanáticos del piecito (Gnome ianos) y los amantes de los colorcitos (los KDE ianos), los dos
sistemas tienen lo suyo, ambos tienen aplicaciones muy buenas… yo en lo particular he usado
Gnome toda mi vida, pero instale KDE como un pequeño tributo a alguien muy especial.
Lo que has de tener en mente, es que no importando que tan poderosa sea tu conexión a
internet, si decides instalar KDE o Gnome…te esperan varias horas de compilación.
KDE 3.5.8
Hay diversos paquetes, obviamente los mas grandes tardaran más en compilar, si quieres un
entorno simple, debes ejecutar la siguiente instrucción:
#emerge kdebase-startkde
Luego, debes indicar que KDE es el gestor gráfico: $ echo "exec startkde" > ~/.xinitrc
Ahora, un simple “startx” debe iniciar KDE, lo primero que se mostrará es un wizard llamado
“KPersonalizer”, el cual nos dirá el aspecto de ventanas, etc. Sobre nuestro recién y flamante
escritorio KDE.
KDM
KDM es básicamente una aplicación que nos permite iniciar el modo grafico desde el inicio del
sistema, instalamos dicha aplicación de la siguiente forma:
#emerge kdm
Luego, debemos indicar que kdm es el gestor de inicio de sesión para el sistema, para ello
editamos el archivo /etc/conf.d/xdm:
# nano -w /etc/conf.d/xdm
(Modifique la siguiente variable)
DISPLAYMANAGER="kdm"
Basta con agregar a xdm al nivel de ejecución por default:
# rc-update add xdm default
Reinicias el sistema y listo, tu nuevo KDE is up and running!!! ;)
Cualquier comentario es bienvenido…
[email protected]