----copiado descaradamente del sitio:
http://usando-linux.blogspot.com.es/2012/05/aprendiendo-gentoo-configurar-kde.html
Arch Copia Fedora Gentoo Manjaro Restauración Sabayon
Apuntes, curiosidades, programación... sobre todo lo relacionado con GNU/Linux.
Introducción: Gentoo es una distribución linux orientada para usuarios avanzados, fue fundada por Daniel Robbins. El objetivo de esta distribución fue crear un sistema operativo sin binarios precompilados, es decir, diseñarse un sistema a medida ajustada a las necesidades del usuario. No es recomendable adentrarse en esta distribución si no tienes un equipo medianamente potente y una conexión a Internet bastante rápida , ya que hay que descargar una gran cantidad de paquetes y compilar todo el sistema desde 0. Es un sistema operativo flexible, potente, rápido, muy configurable y lo mejor de todo, es una rolling release, es decir, no existen versiones nuevas, se va actualizando a tiempo real y va avanzando progresivamente.
Gentoo tiene un sistema de paquetes llamado emerge, inspirado en los ports de freebsd pero con algunas características que no posee éste, es decir, la gestión de dependencias de paquetes, afinamiento preciso de los paquetes a gusto del administrador, instalaciones falsas estilo openbsd, cajas de arenas durante las compilaciones, desinstalación segura, perfiles del sistema, paquetes virtuales, gestión de archivos de configuración y ranuras múltiples para distintas versiones de un mismo paquete.
El sistema gentoo carece de instalador oficial y su instalación resulta un poco más complicada que otras distribuciones, eso hace que muchos usuarios noveles no se adentren para probar esta gran distribución.
Hay que tener mucha paciencia, porque el echo de tener que compilar todo puede llevar un tiempo prudencial, en mi caso lo hice en día y medio. Bueno dicho esto, voy empezar con la instalación de gentoo, mucha suerte.
Información de la instalación de Gentoo.
Hardware: Amd64 Athlon X2 3.0 ghz, 4 gigabyte de ram, 1 terabyte de almacenamiento sata, nvidia geforce 9400 GT 1 gigabyte de ram, ratón y teclado genéricos, tarjeta de sonido sound blaster CA0106, tarjeta red ethernet nvidia mcp61, tarjeta red inalámbrica ralink rt61, multifunción hp deskjet f2480.
La instalación de Gentoo se puede hacer de varias maneras:
- Puedes descargarte el cd mínimo de instalación desde la pagina oficial, http://www.gentoo.org/main/en/mirrors.xml. Utilizar siempre un servidor lo más cercano a tu situación geográfica. Yo me encuentro en España, y escojo un servidor francés que se llama linuxant.fr, es bastante rápido y no suele darme problemas. A continuación selecciona la arquitectura correcta de tu ordenador, es decir, x86 o amd64 según sea tu máquina de 32 o 64 bits respectivamente.
- Una segunda opción, que a mi, personalmente es la que me gusta más, es usar cualquier sistema operativo linux en livecd, de esta manera tienes un escritorio completamente funcional con todas las herramientas necesarias y puede ser una forma más "amigable" de instalar gentoo.
- Puedes usar cualquier livecd que se pueda utilizar el comando "chroot", ya que es un herramienta imprescindible para la instalación. Como es gentoo lo que voy a instalar, opté por un sistema operativo parecido, sabayon. Esta distribución está basada en gentoo y a diferencia de éste, tienes un livecd totalmente funcional y puedes obtenerlo sin necesidad de compilar todo el sistema desde 0. Descarga el livecd de la página oficial www.sabayon.org/download.
Iniciando Instalación de Gentoo.
Una vez que descargues el livecd de sabayon y lo grabes a un disco, colócalo en la lectora para que arranque por el cd. Busca tu idioma con la tecla F2 e inicias el sistema operativo con la primera opción.
Te vas a la consola, inicio/aplicaciones/sistema/terminal y tecleamos "su" para usar permisos administrativos. Prepara un poco sabayon para poder instalar algunas herramientas que puedas usar en el futuro para contruir gentoo. El administrador de paquetes que usa sabayon se llama "equo", actualiza la lista de repositorios para dejarlo listo para instalar cualquier aplicación. Ejecutas "equo update" y listo. Hay que tener en cuenta que es un livecd, es posible que de algún tipo de error por actualizar el gestor de paquetes, simplemente lo ejecutas otra vez.
Configurando Red.
Como has ejecutado un livecd es probable que tengas internet configurado, pero en caso contrario hay un comando que configura red por cable automáticamente.
Ejecutas "net-setup eth0" para configurar la tarjeta red ethernet y usas dhcp que es más cómodo.
Preparando Disco Duro.
Hay muchas herramientas para crear un diseño personalizado del disco duro, sabayon tiene una gestión gráfica llamada "editor de particiones" en inicio/aplicaciones/sistema, vas a usar el comando cfdisk para no tener que salir de la consola.
El esquema básico de gentoo son 3 particiones:
- 32 mb para la partición de arranque o /boot, el sistema de ficheros es ext2.
- 512 mb para la partición de intercambio o swap.
- El resto para la partición raiz o /, el sistema de archivos es ext3.
Las particiones deben ser todas lógicas si estamos compartiendo disco con Windows 7. Si usas un disco duro sólo para gentoo usamos particiones primarias. Hay que fijarse en la organización de los discos cuando estes particionando, porque a la hora de dar formato a las particiones debemos saber a cual nos referimos. En el ejemplo siguiente me baso en que sda1 y sda2 es windows 7 y sda5, sda6, sda7 son los nombres que le aplica linux a las particiones lógicas. Si usas un disco sólo para gentoo los organizaría como sda1, sda2, sda3.
Dando formato a las particiones.
- mkfs.ext2 /dev/sda5 - Das formato a la partición de arranque o /boot.
- mkfs.ext3 /dev/sda7 - Das formato a la partición raíz o /.
- mkswap /dev/sda6 - Creas la unidad de intercambio o swap.
- swapon /dev/sda6 - Activas la unidad de intercambio o swap.
Montando particiones.
Ahora debes montar las particiones que hemos creado para poder acceder a éstas, usa el comando "mount", pero antes debes crear las carpetas donde vamos montar las unidades.
- mkdir /mnt/gentoo - Creas una carpeta para montar la unidad raíz.
- mount /dev/sda7 /mnt/gentoo - Montas la unidad raíz en la carpeta /mnt/gentoo.
- mkdir /mnt/gentoo/boot - Creas una carpeta para montar la unidad de arranque.
- mount /dev/sda5 /mnt/gentoo/boot - Montas la unidad de arranque en la carpeta /mnt/gentoo/boot.
Instalando Archivos de Instalación de Gentoo.
Antes de continuar deberías comprobar que la fecha está correctamente, un reloj mal configurado puede traer problemas futuros. Tecleamos "date" para comprobar si la fecha es correcta, de no ser así la introduces con la siguiente sintaxis; date MMDDhhmmAAAA (MM=mes, DD=día, hh=hora, mm=minuto y AAAA=año).
Se necesita descargar dos archivos importantes para continuar con la instalación, stage3 y portage. Abre el navegador chromium y dirígete a la pagina oficial de gentoo, http://www.gentoo.org/main/en/mirrors.xml y busca un servidor a tu elección. Los stage3 suele estar en el directorio "releases" y la arquitectura de tu ordenador y los portages en "snapshots". Si has elegido el livecd mínimo de gentoo, hay navegador bajo consola que se llama links, su uso es muy simple, "links <pagina>" y usas los cursores para desplazarte por la pagina.
Cuando termine la descarga vuelve a la consola y cópialo al directorio /mnt/gentoo, "cp /home/sabayonuser/Downloads/*.bz2 /mnt/gentoo"
Descomprimiento e Instalando stage3 y portage.
- cd /mnt/gentoo - Te diriges al directorio con el que estamos trabajando.
- tar xvjpf stage3-*.tar.bz2 - Descomprime el archivo stage3.
- tar xvjf portage-*.tar.bz2 -C /mnt/gentoo/usr - Descomprime el archivo portage y lo guarda en el directorio especificado.
Configurando Opciones de Compilación.
Ahora deberías Editar un archivo de configuración importante para configurar algunas variables de compilación necesarias para una correcta instalación. "nano /mnt/gentoo/etc/portage/make.conf".
- CFLAGS="-march=k8 -02 -pipe". En la variable -march hay que indicar que tipo exacto de microprocesador tiene la maquina, si no estás seguro puedes ver la información tecleando "cat /proc/cpuinfo" o puedes usar la opción "-march=native", al usarla el compilador detectará automáticamente el tipo de procesador de la máquina. Existen otros muchos tipos de procesadores para configuración las opciones de compilación. Puedes verla en el siguiente enlace; Otras posibles configuraciones del Procesador.
- La variable LXXFLAGS dejalá como está por defecto.
- MAKEOPTS="-j3". Aquí le indicas al compilador el número de compilaciones paralelas que puede realizar el microprocesador al mismo tiempo, es decir, el número de núcleos o cores que tiene el procesador +1. El ejemplo expuesto es para un microprocesador athlon64 de doble núcleo.
- GENTOO_MIRRORS. En esta variable se guardan los servidores que vas a utilizar para descargar los paquetes, para ello utilizas una herramienta especifica:
- equo install mirrorselect --relaxed - Esta herramienta viene por defecto en el livecd mínimo de gentoo, pero en sabayon hay que instalarla manualmente. Debes configurar sabayon para instalar esta herramienta.
- mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf. Es una utilidad en la que seleccionas los servidores de paquetes de una lista bastante larga. Cuando termines comprueba que esos servidores se han añadido correctamente en el archivo de configuración "make.conf".
- ACCEPT_KEYWORDS="amd64". Defines la rama de los paquetes que vas a instalar;
- amd64. Paquetes para la arquitectura 64 bits de la rama estable.
- x86. Paquetes para la arquitectura de 32 bits de la rama estable.
- ~amd64. Paquetes para la arquitectura 64 bits de la rama inestable.
- ~x86. Paquetes para la arquitectura 32 bits de la rama inestable.
- ACCEPT_LICENSE="*". Defines las licencias de paquetes que aceptarás a la hora de instalar las aplicaciones. El signo (*) significa que acepta todas las licencias. Si ejecutas "emerge --search <nombre del paquete>". Te mostrará toda la información pertinente del archivo, incluida la licencia.
- LINGUAS="es_ES es". Indicas el lenguaje de las aplicaciones que se requiera un idioma en los paquetes. Puedes ejecutar "locale -a" para orientarte un poco sobre que idioma escoger.
- INPUT_DEVICES="evdev". Por defecto Xorg usa "evdev", un controlador de entrada genérico para detectar dispositivos como teclados, ratones..etc. Se necesita para ir preparando el sistema para instalar las Xorg. Puedes ejecutar "emerge -pv xorg-drivers" y verás la información de los diferentes controladores de entrada disponibles.
- VIDEO_CARDS="nvidia". Debes especificar cual es controlador de video que vas a utilizar en el sistema. Puedes ejecutar "emerge -pv xorg-drivers" para ver los controladores de vídeos disponibles y adaptarlo a tus necesidades.
- USE="gtk -gnome kde qt4". Aqui defines las variables USE que vas a utilizar en el sistema. Lo explicaré más adelante.
Entrando en el Sistema por Primera vez.
Ahora hay que recoger cierta información indispensable antes de entrar en el nuevo entorno, cosas como información de la red, para que siga funcionando después para la descarga de paquetes, montar sistemas necesarios...etc.;
- cp -L /etc/resolv.conf /mnt/gentoo/etc - Copias la información de los servidores dns para que siga funcionando el internet.
- mount -t proc none /mnt/gentoo/proc - Montas el sistema de ficheros /proc.
- mount --rbind /dev /mnt/gentoo/dev - Montas el sistema de ficheros /dev.
- chroot /mnt/gentoo /bin/bash - Entras en el nuevo entorno de instalación.
- env-update - Creas un nuevo entorno y las variables de éste.
- source /etc/profile - Cargas en memoria las variables de entorno.
- export PS1="(chroot) $PS1" - Ya estás dentro de tu nuevo entorno Gentoo Linux, pero todavía no se ha terminado quedan unas secciones más por configurar.
Configurando Portage.
- emerge --sync - Actualizas el árbol de portage a la última versión.
- eselect profile list - Los perfiles es una parte importante de gentoo, ya que vas a elegir una configuración por defecto para nuestro sistema. Te mostrará una lista de los posibles perfiles con los que vamos a trabajar. Por ejemplo si fueras a usar gentoo para escritorio y el entorno KDE, sería correcto elegir el perfil Desktop/kde.
- eselect profile set <número> - Seleccionas un perfil para nuestro sistema gentoo.
Configurando la Variable USE.
La variable USE es una de la más importante que gentoo proporciona a sus usuarios. Muchos paquetes pueden ser compilados con o sin soporte para ciertas cosas. Por ejemplo es posible compilar ciertos paquetes con soporte para kde y qt4 y otros no sean necesarios compilarlos para este soporte.
En las mayorías de las distribuciones se compilan los paquetes con el mayor soporte posible aumentando considerablemente el tamaño y el tiempo de carga, aquí es donde entra a formar parte las variables USE, indicándole a gentoo con que soporte se deben compilar los paquetes.
Veamos un ejemplo; USE="-gtk -gnome qt4 kde dvd alsa cdr". En este ejemplo los paquetes se compilarán sin soporte para gtk y gnome (date cuenta que hay un signo negativo delante) y con soporte para qt4, kde, dvd, alsa y cdr, es decir, un sistema totalmente compatible con kde y con soporte para dvd, alsa y grabación de cds.
Cuando se selecciona el perfil adecuado con el que trabajar, por ejemplo el número 5 (desktop/kde), se configura variables importantes como CFLAGS, USE..etc, cualquier modificación que podemos realizar en las variables USE en el archivo make.conf se calcularán contra estos resultados.
Puedes encontrar una lista más extensa de las variables USE con las que puedes trabajar en "/usr/portage/profiles/use.desc" ó en también puedes ojearla en línea.
Configurando Kernel.
- Configurar zona horaria. En la carpeta "/usr/share/zoneinfo" se encuentran todas las zonas horarias disponibles en el sistema, elige la tuya. Escoge el horario de Europa/Madrid como ejemplo:
- cp /usr/share/zoneinfo/Europe/Madrid /etc/localtime.
- echo "Europe/Madrid" > /etc/timezone.
Instalar núcleo.
- emerge gentoo-sources - Instalas la última versión disponible de las fuentes del kernel.
- emerge genkernel - Una utilidad para compilar mas fácilmente el kernel sin necesidad de configuraciones extras.
- genkernel --menuconfig all - Compilas el kernel con soporte para la mayoría del hardware. Tienes que tener en cuenta que si no vas a usar exit2 o exit3 como sistema de archivos, debes asegurarte de que tienes activado el soporte para EXT4 en la sección "file system".
- Para una correcta sincronización del reloj, debes dar soporte RTC al kernel. Está en el menú "device drivers". Si no hicieras esto te dará un error en el servicio "hwclock".
- Si diera un error al compilar "busybox" se arregla añadiendo la línea "CONFIG_FEATURE_MOUNT_NFS=n" al archivo "/usr/share/genkernel/defaults/busy-config" y vuelves a regenerar el disco ram de inicio; "genkernel --install initramfs".
- Ha habido casos en los que al generar el kernel me da un error de compilación al principio. Si fuera este el caso, instala el paquete "perl" y se soluciona el problema.
- Módulos del núcleo. Los módulos son driver o servicios que se arrancan al inicio del sistema para interactuar con ciertos dispositivos. Debes listar los módulos que quiera cargar automáticamente al inicio del sistema en /etc/conf.d/modules. Si quiere ver la lista de módulos disponibles para las versión que acaba de compilar ejecute "find /lib/modules/<kernel version>/ -type f -iname '*.o' -or -iname '*.ko' | less". No olvide sustituir <kernel versión> por la versión del kernel con la que estás trabajando.
Configurando Sistema.
- Creando un /etc/fstab. El fstab es un archivo de configuración donde almacenamos todos los dispositivos, particiones, sistemas de archivos y puntos de montajes del cualquier sistema operativo linux, vamos a ver un configuración por defecto;
/dev/sda1 /boot ext2 defaults,noatime 1 2 /dev/sda2 none swap sw 0 0 /dev/sda3 / ext3 noatime 0 1 /dev/cdrom /mnt/cdrom auto noauto,user 0 0
Debes configurar las opciones para tu caso particular, es decir, si no has usado exit2 y en tu caso es ext4, la organización de los nombres de las unidades es diferente.
- nano /etc/conf.d/hostname - Configuras el nombre del equipo en la red.
- hostname="home"
- nano /etc/conf.d/net.
- dns_domain_lo="mi dominio" - Configuras un nombre de dominio si lo necesitas.
- nis_domain_lo="mi dominio nis" - Configurar un nombre de dominio nis si lo necesitas.
Ahora configura la conexión de internet.
- Debes configurar las variables "config_eth0" y routes_eth0 para configurar manualmente la conexión a internet.
- config_eth0="192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255" - Configuras la dirección ip, las máscara de subred y la pasarela.
- routes_eth0="default via 192.168.0.1.
- Si la conexión a internet es mediante dhcp, basta con poner config_eth0="dhcp".
- Configurar la red para que funcione desde el arranque.
- cd /etc/init.d
- ln -s net.lo net.eth0
- rc-update add net.eth0 default - Asignas un servicio al arranque automático.
- Linux necesita que le informes de los diferentes equipos que hubiere o no en la red que no se puedan resolver a traves del servidor de nombres dns; "nano /etc/hosts".
(Esto define la máquina actual) 127.0.0.1 localhost (Definir máquinas adicionales o la propia red, necesitan tener una IP estática para definirlas de esta manera.) 192.168.0.5 jenny.redlocal jenny 192.168.0.6 benny.redlocal benny
- passwd - Cambias contraseña del root o administrador del sistema.
- Gentoo usa /etc/rc.conf para configurar servicios y el arranque y apagado del sistema, edítalo y configura las opciones que creas oportunas.
Configurar Localizaciones.
- nano /etc/conf.d/keymaps - Configuras el idioma del teclado, en mi caso "es", teclado en español.
- nano /etc/conf.d/hwclock - Por defecto se utiliza "utc", pero si compartes disco con windows es mas correcto poner "local".
- nano /etc/locale.gen - Debes utilizar una o dos localizaciones para el sistema. Puedes comprobar todas las localizaciones disponibles ejecutando "locale -a" en la linea de comandos. Voy configurar la localización de España;
es_ES.UTF-8 UTF-8 es_ES ISO-8859-1 es_ES@euro ISO-8859-15
Después ejecutas "locale-gen" para regenerar las localizaciones.
- Debes configurar las definiciones que afectarán a todo el sistema, para ello edita el archivo /etc/env.d/02locale y añades las lineas que correspondan;
LANG="es_ES.UTF-8" LC_COLLATE="C"
Ahora procede a recargar el entorno de nuevo para que los cambios tengo su efecto; "env-update && source /etc/profile.
Instalando Algunas Herramientas Necesarias.
- emerge metalog - Es una utilidad que proporciona un registro de todo lo que pasa en nuestro sistema.
- emerge vixie-cron - Es una aplicación que nos permite realizar ejecuciones de comandos en horarios planificados.
- emerge mlocate - Creas un índice del sistema de archivos para facilitar la búsqueda usando la herramienta locate.
- Algunas herramientas que necesitan iniciarse en el arranque de gentoo.
- rc-update add metalog default - Añades metalog a la lista de servicios del sistema.
- rc-update add vixie-cron default - Añades vixie-cron a la lista de servicios del sistema.
- rc-update add sshd default- Añade el servicio sshd para tener acceso remoto desde otro equipo.
Configurando Gestor de Arranque.
Aquí configuras el gestor de arranque, algo muy importante para que el sistema arranque como es debido. Para empezar, gentoo dispone de grub y lilo para configurar el arranque, yo voy a explicar grub, que a mi personalmente me gustas más.
- emerge grub - Instalas grub en el sistema.
Editas el archivo /boot/grub/grub.conf y lo modificamos con esta estructura pero adaptándolo a tu esquema de particiones;
# Qué 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 :)
splashimage=(hd0,4)/boot/grub/splash.xpm.gz title Gentoo Linux # Partición donde se encuentra la imagen del núcleo (o sistema operativo) root (hd0,4) kernel /boot/kernel-2.6.34-gentoo-r1 root=/dev/sda7 video=vesafb:mtrr:3,ywrap vga=792 initrd /boot/initramfs-genkernel-amd64-2.6.34-gentoo-r1 # 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/sda1. title Windows 7 Profesional rootnoverify (hd0,0) makeactive chainloader +1
Hay que tener mucho cuidado con los nombres de las particiones o no arrancará correctamente. Si hay 5 particiones, la estructura será del 0 hasta el 4, es decir, a la hora de modificar el "hdx,x". Si te referieres a la unidad /dev/sda1 sería hd0,0. Hay que prestar atención en este detalle porque se puede meter la pata y que no arranque Gentoo.
En el caso de modificar los dispositivos que empiezan por /dev/sda1..2...3, hay que fijarse que se nombra diferente. Cuando has creado la estructura del disco, si la configuración de la unidad raíz es /dev/sda7, como es el caso, coloca el sda7, no confundas algún número o no arrancará gentoo.
Para averiguar la versión del kernel y el disco ram de inicio (initramfs) que hemos compilado con genkernel, debes irte al directorio /boot; "ls /boot" y modificas en el grub la información de kernel.
Antes de instalar grub, debes crear un archivo mtab. Es donde se guardan la configuración de todos los sistema de archivos montados en el sistema.
- grep -v rootfs /proc/mounts > /etc/mtab
Ahora procede a instalar grub; grub-install --no-floppy /dev/sda.
Finalizando Instalación.
Sal del sistema y desmontas todos los sistemas de archivos que hemos creado para la instalación.
# exit # cd # umount -l /mnt/gentoo/dev{/pts,/shm,} # umount -l /mnt/gentoo{/boot,/sys,/proc,} # reboot
Al reiniciar, si todo ha ido bien, accedes al sistema como usurario root y creas tu propio usuario.
Login: root Password: (Su contraseña de root) # useradd -m -G users,wheel,audio -s /bin/bash Ismael # passwd Ismael Password: (Introduzca la contraseña para Ismael) Re-enter password: (Vuelva a introducir la contraseña para verificar)
Los grupos a los que pertenecen los usuarios definen que actividades puede realizar. Estas son las mas utilizadas;
audio - para ser capaz de acceder a los dispositivos de audio
cdrom - para poder acceder directamente a dispositivos de lectura óptica
floppy - para poder acceder directamente a los dispositivos de disquete
games - para poder utilizar los juegos
portage - para ser capaz de utilizar emerge --pretend como usuario normal
usb - para poder acceder a los dispositivos USB
video - para acceder al hardware de captura de vídeo y a la aceleración por hardware
wheel - para poder utilizar su
Ya para finalizar debes eliminar los archivos stage3 y portage de la partición raíz; "rm /stage3-*.tar.bz2 portage-*.tar.bz2.
Con esto ya tienes instalado Gentoo, ahora toca configurar un escritorio totalmente funcional para trabajar en modo gráfico, pero............eso será otro cantar.
Trabajando con Portage.
Portage es la herramienta de software que utiliza gentoo. Todos los usuarios trabajarán con portage a través de la utilidad emerge.
Cuando se hablas de paquetes, se referiere normalmente a programas a los que puedes acceder a través del árbol de portage. Éste árbol es una estructura organizada de todo el software o programas de los que dispone cualquier usuario de gentoo.
Voy a explicar algunos ejemplos prácticos que puedes realizar con el herramienta emerge.
- emerge --sync - Sincronizas el árbol de portage a la última versión.
- emerge-webrsync - Haces lo mismo que emerge --sync, la única diferencia es que éste comprueba, descarga e instala la última versión de portage en el sistema. Es una buena opción si tienes problemas con --sync.
- emerge --search amarok - Buscas un paquete que se llama amarok.
- emerge amarok - Instalas un paquete o programa.
-av - A mi me gusta usar estos dos parámetros a la hora de instalar paquetes. Estas cláusulas sirven para (-v) mostrar toda la información de lo que va hacer y (-a) la confirmación si quiero hacerlo o no.
- emerge -pv xorg-drivers - Muestra la documentación de un paquete.
- emerge --update --deep world - Actualizas el sistema. Antes de nada hay que sincronizar el árbol de portage a la última versión.
- emerge --update --newuse --deep world - Siempre que modificas el archivo /etc/make.conf e incluyas una variable USE nueva, debes revisar el sistema para comprobar si se necesitan paquetes nuevos o recompilar y reinstalar algunos para la nueva configuración.
- emerge --unmerge amarok - Desinstalas un paquete o programa. Tienes que tener en cuenta que esta instrucción sólo elimina el paquete en cuestión, pero las dependencias de éste la deja instalada, es decir, es posible que ya no las utilice el sistema ni que la necesite otro paquete. A esto se le llama dependencias huérfanas.
- Eliminar dependencias huérfanas. Para eliminar estas dependencias debes tener actualizado el sistema para asegurarse de que no la necesita ningún otro paquete o programa.
- emerge --update --newuse --deep world - Actualizas sistema con la configuración de las nuevas variables USE.
- emerge --depclean - Eliminas las dependencias huérfanas.
- revdep-rebuild - Revisas y Actualizas la configuración de sistema. Esta utilidad forma parte del paquete "gentoolkit", no olvides instalarlo.
Paquetes enmascarados (Masked).
Cuando intentas instalar un paquete, es posible que no esté disponible para su sistema, esto es porque está enmascarado (marked). Un paquete está enmascarado porque no esté para tu arquitectura, que sea inestable o experimental. Veamos un ejemplo práctico, ejecuta "emerge ufw -av" y verás que pasa.
Analiza un poco lo que marco en la imagen. Dice que requiere un parámetro y necesita cambiar la variable "keyword" para el paquete siguiente: "=net-firewall/ufw-0.30.1-r4 ~amd64". Lo que está pasando es que va a cambiar la rama de estable a inestable para poder proceder.
- amd64. Rama estable.
- ~amd64. Rama inestable.
Este pequeño inconveniente se soluciona de 2 maneras:
- Debes editar un archivo "nano /etc/portage/package.accept_keywords" y añades el paquete que te interesa instalar;
=net-firewall/ufw-0.30.1-r4 ~amd64 - Si lo haces de esta forma solo afectará concretamente a este paquete y esta versión, es decir, las próximas versiones de este paquete solo aceptará la instalación de la rama estable.
net-firewall/ufw ~amd64 - Si lo usas de esta otra forma, aceptará la instalación de cualquier versión siguiente que puede salir de la rama inestable.
También puedes hacerlo de forma automática añadiendo la claúsula "--autounmask-write", quedaría de la siguiente forma; "emerge ufw -av --autounmask-write". Ésto automáticamente crearía el archivo "/etc/portage/package.accept_keywords" y añade el paquete en cuestión a la lista. Después debes actualizar los archivos de configuración con la siguiente instrucción;
- etc-update - Actualizas los archivos de configuración preguntando uno por uno. Se usa la opción (-3) para aceptar la nueva configuración.
- dispatch-conf. Realizas la misma tarea que "etc-update", la única diferencia es que ésta última hace copia de seguridad del archivo de configuración anterior y "etc-update" borra el archivo antiguo sin realizar copia alguna. Se utiliza la opción (u) para reemplazar la nueva configuración.
Puede ocurrirte también que intentes instalar un paquete y no puedas porque necesite alguna variable USE a la que debe de tener soporte. Ejecuta "emerge emesene -av" y verás que pasa;
Si observas un poco lo que marco en la imagen, te darás cuenta que pide un argumento. Necesita cambios en las variables USE para proceder o no podrás continuar.
Pasa lo mismo que en el caso anterior, se rige por las mismas reglas, sólo que lo guardamos en un archivo diferente.
- Editas un archivo "nano /etc/portage/package.use" y añades el paquete en cuestión y la variable USE a la que damos soporte, es decir, "=dev-lang/python-2.7.3-r1 sqlite"
- La otra opción es usando el parámetro "--autounmask-write" y actualizamos los archivos de configuración ejecutando "etc-update".
- Otra forma de hacerlo, usando variables USE temporalmente; USE="sqlite" emerge emesene. De esta manera indicas que usas la variable USE= "sqlite" temporalmente sólo cuando instales emesene. Si hubiese una nueva versión en el futuro, volvería a dar un aviso de que necesita soporte para la misma variable USE, ya que no está añadido en ningún archivo de configuración.
- Existe una cuarta forma, añadiendo la variable USE en cuestión al archivo de configuración /etc/make.conf.
En conclusión, para configuraciones especiales tenemos dos archivos en gentoo;
- El archivo "package.accept_keywords " para guardar uno o varios paquetes que tengan un rama diferente a la estable, para realizar posteriormente su instalación.
- El archivo "package.use", para guardar uno o varios paquetes que necesiten una o varias variables USE concretas, para instalarlo en el sistema.
Paquetes Binarios o Precompilados.
Portage soporta la instalación de paquetes binarios o precompilados. Desafortunadamente gentoo no proporciona paquetes precompilados o binarios para facilitarnos un poco la compilación e instalación del sistema. Hay paquetes que tienen compilaciones muy pesadas, como por ejemplo libreoffice, kde,. que perfectamente puedes esperar unas 3 horas mirando el ordenador para una compilación completa.
Exiten unos repositorios llamados GRP (Gentoo Reference Platform), éstos son una colección de paquetes binarios para ahorrarnos un poco de trabajo a la hora de instalar un sistema gentoo, pero la pega es que no suelen estar actualizados.
También puedes ir contruyendo tu mismo los paquetes binarios mientras que instalas un sistema gentoo y crear tu propio repositorio GRP para volver a instalar gentoo sin necesidad de compilar de nuevo todo el sistema:
- quickpkg. Es una instrucción que permite crear un binario de un paquete instalado en el sistema. Su utilización es muy sencilla, solo es ejercutar la instrucción quickpkg y el nombre del paquete. "quickpkg amarok". La única pega es que solo crea el binario del paquete principal no crea binarios de sus dependencias.
- También puedes usar la instrucción emerge con la opción --buildpkg o --buildpkgonly para crear un binario cuando compilas un paquete. La opción --buildpkgonly sirve para crear un binario sin necesidad de instalarlo en el sistema. Quedaría de la siguiente manera "emerge amarok --buildpkg".
- Puedes agregar algunas variables al archivo /etc/make.conf para la configuración de paquetes precompilados;
- Si deseas usar servidor donde están almacenados los paquetes binarios, se debe añadir una variable nueva en el archivo /etc/make.conf, PORTAGE_BINHOST="ftp://binhost/grp". A la hora de instalar un paquete precompilado con emerge quedaría así; "emerge --usepkg --getbinpkg amarok".
- Si quieres que cree un paquete binario de todo lo que compila portage, simplemente añade al archivo make.conf la siguiente linea; FEATURES="buildpkg". Los paquetes precompilados podemos guardarlos en donde quieras añadiendo la variable PKGDIR y el directorio donde guardar los paquetes. (PKGDIR="/pkg/").