Gentoo Server · 11 min read · Feb 06, 2026

El Servidor Perfecto - Gentoo 2007.0 - Página 3

4 Actualizándose

Bienvenido de nuevo a aquellos que siguieron el Manual de Gentoo para instalar el sistema base.

4.1 Iniciando sesión en el nuevo sistema

ssh [email protected]

Probablemente estés viendo algo como esto:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    ADVERTENCIA: ¡LA IDENTIFICACIÓN DEL HOST REMOTO HA CAMBIADO!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
¡ES POSIBLE QUE ALGUIEN ESTÉ HACIENDO ALGO MALO!
¡Alguien podría estar escuchando tus comunicaciones ahora mismo (ataque de hombre en el medio)! 
También es posible que la clave RSA del host haya cambiado.
La huella digital de la clave RSA enviada por el host remoto es
13:13:39:99:9b:ea:81:72:2c:20:d2:f5:d2:0f:bd:ac.
Por favor, contacta a tu administrador del sistema.
Agrega la clave de host correcta en /home/rachel/.ssh/known_hosts para deshacerte de este mensaje.
Clave ofensiva en /home/rachel/.ssh/known_hosts:23
La clave RSA del host para server1.example.com ha cambiado y has solicitado una verificación estricta.
La verificación de la clave del host falló.

Eso es porque el sistema instalado ha generado sus propias claves de host que no son las mismas que las del sistema de instalación. Solo necesitas eliminar la clave de host de tu ssh local. Para prácticamente cualquier unix, esto debería funcionar:

vi ~/.ssh/known_hosts   
/server1.example.com   
dd:x

Ahora hemos iniciado sesión como root en nuestro nuevo sistema básico de Gentoo.

Verifica que tu nombre de host esté configurado correctamente:

hostname -f

Debería devolver tu nombre de dominio completamente calificado, por ejemplo, server1.example.com.

4.2 Opcional: Instalar todo el software de una vez

Por su naturaleza, Gentoo tarda relativamente mucho en instalar nuevo software, en comparación con las distribuciones binarias. Esto puede ser frustrante al seguir un tutorial como este, ya que te encuentras ingresando algunos comandos y luego teniendo que esperar mientras algo y sus dependencias se construyen desde cero; repetir ad nauseum. Ya has tenido que hacerlo si has seguido estas instrucciones para la instalación base.

Por esta razón, he recopilado los comandos para hacer la construcción inicial del software aquí de todo lo utilizado en la configuración de Configuración Perfecta, para que puedas hacer todo eso de una vez. A diferencia de algunas distribuciones, Gentoo no inicia automáticamente nuevos servicios, ni los instala en niveles de ejecución, ni realiza ninguna post-configuración que necesite la entrada del usuario, así que podemos iniciar la construcción de todo el software y luego volver más tarde y hacer la configuración en ellos.

Si deseas hacerlo de esta manera, simplemente ingresa el script a continuación ahora. (Puedes copiarlo y pegarlo en tu línea de comandos de bash). Luego, mientras sigues el resto del tutorial, omite los comandos que se dan en negrita.

# Desinstalando ssmtp
emerge --unmerge ssmtp
# Estableciendo postfix como el MTA predeterminado
mkdir -p /etc/portage/profile
echo 'virtual/mta mail-mta/postfix' >> /etc/portage/profile/virtuals
# Estableciendo las banderas USE
echo 'USE="apache2 bzip2 idn jpeg png tiff tk truetype xml"' >> /etc/make.conf
echo 'LINGUAS="en"' >> /etc/make.conf
echo 'net-dns/bind resolvconf' >> /etc/portage/package.use
echo 'mail-mta/postfix sasl' >> /etc/portage/package.use
echo 'dev-libs/cyrus-sasl authdaemond urandom' >> /etc/portage/package.use
echo 'net-mail/courier-imap fam' >> /etc/portage/package.use
echo 'www-servers/apache doc mpm-prefork' >> /etc/portage/package.use
echo 'dev-lang/php bcmath bzip2 calendar ctype curl exif filter ftp gd hash imap json mhash mysql mysqli pcntl pdo posix sharedmem simplexml snmp soap sockets spell sqlite tidy tokenizer wddx xmlreader xmlrpc xmlwriter xsl zip' >> /etc/portage/package.use
echo 'net-ftp/proftpd -ipv6' >> /etc/portage/package.use
# Desenmascarando paquetes
echo 'dev-php5/pecl-imagick ~*' >> /etc/portage/package.keywords
echo 'dev-php5/pecl-memcache ~*' >> /etc/portage/package.keywords
echo 'dev-libs/pslib ~*' >> /etc/portage/package.keywords
echo 'dev-php5/pecl-ps ~*' >> /etc/portage/package.keywords
# Agregando paquetes al archivo world
echo 'app-admin/sudo' >> /var/lib/portage/world
echo 'app-admin/webalizer' >> /var/lib/portage/world
echo 'app-arch/unzip' >> /var/lib/portage/world
echo 'app-arch/zip' >> /var/lib/portage/world
echo 'app-editors/vim' >> /var/lib/portage/world
echo 'app-portage/gentoolkit' >> /var/lib/portage/world
echo 'dev-db/mysql' >> /var/lib/portage/world
echo 'dev-lang/php' >> /var/lib/portage/world
echo 'dev-php/PEAR-PEAR' >> /var/lib/portage/world
echo 'dev-php5/pecl-imagick' >> /var/lib/portage/world
echo 'dev-php5/pecl-memcache' >> /var/lib/portage/world
echo 'dev-php5/pecl-ps' >> /var/lib/portage/world
echo 'dev-tcltk/expect' >> /var/lib/portage/world
echo 'mail-filter/procmail' >> /var/lib/portage/world
echo 'mail-mta/postfix' >> /var/lib/portage/world
echo 'net-dns/bind' >> /var/lib/portage/world
echo 'net-ftp/ncftp' >> /var/lib/portage/world
echo 'net-ftp/proftpd' >> /var/lib/portage/world
echo 'net-mail/courier-imap' >> /var/lib/portage/world
echo 'net-mail/fetchmail' >> /var/lib/portage/world
echo 'net-misc/netkit-telnetd' >> /var/lib/portage/world
echo 'net-misc/ntp' >> /var/lib/portage/world
echo 'sys-fs/quota' >> /var/lib/portage/world
echo 'www-servers/apache' >> /var/lib/portage/world

Pega esto también si tienes la intención de ejecutar ISPConfig:

echo 'dev-db/mysql latin1' >> /etc/portage/package.use
echo 'app-shells/smrsh' >> /var/lib/portage/world
echo 'dev-perl/HTML-Parser' >> /var/lib/portage/world
echo 'dev-perl/Net-DNS' >> /var/lib/portage/world
echo 'net-firewall/iptables' >> /var/lib/portage/world
echo 'virtual/perl-DB_File' >> /var/lib/portage/world

Y pega esto si necesitas ejecutar algunas aplicaciones X de forma remota (por ejemplo: diálogo de vmware-toolbox de VMWare Tools, y fetchmailconf).

echo 'x11-apps/xauth' >> /var/lib/portage/world
echo 'x11-libs/libXi' >> /var/lib/portage/world

Actualiza portage ahora, ya que la nueva versión de portage es la que soporta el comportamiento que estamos aprovechando.

De hecho, incluso si omites este paso, lo hará correctamente más tarde cuando hagamos la actualización completa, ya que instalará portage primero, luego se detendrá y se reiniciará con la nueva versión. Pero no obtendrás una lista precisa de lo que va a suceder si usas –ask como lo hace el ejemplo posterior. Así que este paso es realmente para evitar confusiones.

emerge --ask --verbose --newuse portage

Después te advertirá que algunos archivos de configuración han cambiado, y te invitará a aprobar esos cambios.

Portage recién actualizado

dispatch-conf
>> q salir, h ayuda, n siguiente, e editar-nuevo, z eliminar-nuevo, u usar-nuevo
   m fusionar, t alternar-fusión, l ver-fusión: 

Como todo lo que hemos hecho aquí es actualizar el propio portage, deberías poder aceptar todos los cambios seleccionando u para cada archivo que te ofrezca.

4.3 La primera actualización

Hicimos un emerge –sync durante la instalación, así que probablemente no necesitamos hacer otro de inmediato, así que vamos directamente a la actualización.

Queremos establecer algunas banderas USE globales. En su mayor parte he tratado de evitar esto en favor de banderas específicas de paquetes, pero necesitamos algunas globales. O hace las cosas más simples de todos modos. Recuerda, si realizaste el paso opcional 4.2 anterior, no necesitas ingresar los comandos que siguen que se muestran en negrita. Solo tómalo como explicativo.

grep USE /etc/make.conf

Si ya hay una variable USE configurada en este archivo, necesitas editar el archivo y asegurarte de que se agreguen las siguientes banderas. Si no hay, simplemente ejecuta este comando:

echo 'USE="apache2 bzip2 idn jpeg png tiff tk truetype xml"' >> /etc/make.conf

Y ahora podemos realizar la actualización.

emerge --ask --verbose --newuse --deep world

El –ask –verbose listará qué paquetes va a instalar o actualizar, con sus banderas USE seleccionadas. Son completamente opcionales, solo están para que veas lo que estás a punto de hacer antes de hacerlo. El –newuse –deep dice que reconstruya cualquier cosa cuyas banderas USE hayan cambiado, así como cualquier cosa que esté desactualizada. ( –deep indica que deseas actualizar todo, incluidas las dependencias, en lugar de solo tus paquetes principales.)

Cuando presiones Return (o escribas Yes) llevará tu sistema a la última versión. Esto probablemente tomará un tiempo.

Si seguiste el paso 4.2, para configurar la construcción completa del software de Configuración Perfecta por adelantado, todo el software de Configuración Perfecta y sus dependencias ahora serán descargados, compilados e instalados, así como las actualizaciones debidas al sistema básico; entre 150 y 190 paquetes en total serán construidos desde cero o reconstruidos. Portage se quejará de que cambiaste su archivo world manualmente, pero seguirá adelante y hará que el sistema sea como lo especifica el archivo world; es decir: instalando el nuevo software. Sal a cenar o ve a una película; o ve a dormir. Esto tomará un tiempo.

Cuando eso finalmente termine, verás algo como esto:

Actualización grande completada

dispatch-conf

Para cada archivo de configuración que cambie, se te mostrarán las diferencias y se te darán estas opciones:

>> q salir, h ayuda, n siguiente, e editar-nuevo, z eliminar-nuevo, u usar-nuevo
   m fusionar, t alternar-fusión, l ver-fusión: 

Como este es un sistema completamente nuevo, probablemente quieras aceptar los cambios para la mayoría de ellos (presionando u para “usar nuevo”. Aquellos que quieras mantener como están, presiona z para “eliminar nuevo”. Estos probablemente sean, porque los editamos anteriormente:

  • /etc/conf.d/clock
  • /etc/conf.d/hostname
  • /etc/conf.d/keymaps

Cuando usas –deep en una actualización de Gentoo, es una buena práctica hacer esto después:

revdep-rebuild

Probablemente no necesites hacerlo en esta etapa, o de hecho en la mayoría de los casos, pero vale la pena ser introducido a ello. Lo que hace es asegurarse de que el software que está instalado en tu sistema siga siendo binariamente compatible con las bibliotecas de las que depende, y si no lo es, lo reinstala (lo que, naturalmente, lo reconstruye contra la nueva versión de la biblioteca). Generalmente solo necesitas hacer esto cuando una biblioteca importante sube un número de versión mayor. A veces portage te pedirá que lo hagas de todos modos para una biblioteca específica. Puedes darle este comando a un identificador de paquete y, si es necesario, reconstruirá todo lo que dependa de él; de ahí su nombre, que es una abreviatura de “reconstrucción de dependencia inversa”. Por sí solo, solo verificará todo. (Probablemente no hay equivalente a esto en distribuciones binarias, ya que las actualizaciones para una versión dada tienden a no abarcar ninguna biblioteca que se actualice a una versión que rompa la compatibilidad binaria con sus dependientes. En su lugar, las versiones anteriores se parchean según sea necesario y las nuevas versiones que romperían la compatibilidad binaria se retienen hasta la próxima versión importante.)

Como esta es una actualización bastante grande, voy a reiniciar ahora solo para asegurarme de que todo esté bien. Esto es básicamente opcional. Si no estás reiniciando, escribe,

source /etc/profile

Esto es para tener en cuenta cualquier cambio en el entorno. Entre estos, casi seguramente hay una actualización de gcc.

Y como openssh se actualizó,

/etc/init.d/sshd restart

Para el resto de ustedes, nos vemos después del reinicio.

4.4 Herramientas de VMWare

Fuera de tema, pero probablemente necesario, y no obvio

Para instalar las Herramientas de VMWare en Gentoo, ahora necesitas recompilar el kernel (ya que el instalador de las Herramientas de VMWare se quejará si el kernel actual fue construido en una versión anterior de gcc que el sistema ahora tiene, y gcc acaba de ser actualizado).

Las opciones de genkernel asegurarán que todo se recompila, pero la configuración del kernel anterior se retiene, en caso de que hayas hecho otros cambios anteriormente.

genkernel --clean --no-mrproper all   
reboot

Cuando vuelva a encenderse, haz lo siguiente si estás usando VMWare Workstation:

emerge --ask --verbose vmware-workstation-tools

Esto te pedirá más. Si estás ejecutando otra versión de VMWare, como VMWare Server o VMWare Fusion, simplemente haz lo siguiente:

mkdir /etc/init.d/rc{0,1,2,3,4,5,6}.d

En este último caso, cuando se te pregunte, tus scripts de inicio están en /etc/init.d y tus directorios rc0.d a rc6.d también están en /etc/init.d. El instalador de las Herramientas de VMWare detectará y ofrecerá estos como los predeterminados. Los directorios rc n.d no harán nada, solo están ahí porque el instalador de VMWare los quiere. Puedes eliminarlos después.

Selecciona Instalar Herramientas de VMWare en VMWare mismo.

mount /dev/cdrom /mnt/cdrom   
cd ~   
tar --extract --verbose --gzip --file /mnt/cdrom/VM*.tar.gz

Necesitas ejecutar el instalador de las Herramientas de VMWare en la consola del sistema de la máquina virtual, no de forma remota. El instalador mismo te recordará esto si me ignoras. :-)

  
cd vmware-tools-distrib   
./vmware-install.pl

Y sigue las indicaciones. Se sabe que en la actualidad, los módulos vmhgfs y vmxnet no se construirán, pero todo lo demás debería estar bien.

Y configúralo para que se inicie automáticamente en el próximo reinicio.

rc-update add vmware-tools default

Para usar la Caja de Herramientas de VMWare, necesitarás construir algunas de sus dependencias. Es una aplicación X11, así que o necesitas un entorno de escritorio en la caja misma (que para Configuración Perfecta probablemente no tengamos) o quieres hacer lo siguiente:

vi /etc/ssh/sshd_config

Encuentra la línea que contiene “ X11Forwarding “ y asegúrate de que esté descomentada y configurada en “yes”.

/etc/init.d/sshd restart

Y instala las dependencias mínimas de X11 necesarias.

emerge --ask --verbose libXi xauth

Inicia sesión con el reenvío de X11 desde tu máquina remota, y ejecútalo, y configura lo que necesites configurar. Realmente no hay otra manera de hacer cosas necesarias como sincronizar con el RTC del host (muy necesario en VMWare Server, especialmente en hosts AMD) y permitir cosas como instantáneas.

ssh -X [email protected]   
vmware-toolbox

Puede que quieras reiniciar para asegurarte de que todo funcione.

update-modules force   
reboot

4.5 Actualizaciones rutinarias futuras

El flujo de trabajo típico es,

emerge --sync   
emerge -avND world   
# (forma corta de emerge --ask --verbose --newuse --deep world)

Si las actualizaciones listadas parecen sensatas, presiona return para dejar que continúe. Puede que se te pida al final que los archivos de configuración se han actualizado, como arriba; en cuyo caso ejecuta,

dispatch-conf

Y si se te pide, o si tienes dudas,

revdep-rebuild

No hay ningún daño más allá del tiempo que lleva hacerlo cuando no es necesario. Solo pensará un rato y te dirá que no hay nada que necesite reinstalar.

Recuerda reiniciar los servicios actualizados después. (A diferencia de Ubuntu y presumiblemente Debian, no lo hará por ti.)

Es sensato hacer esto aproximadamente una vez a la semana, luego los cambios llegan de forma incremental y en porciones pequeñas y generalmente se completan en unos minutos. Por el contrario, hacer una actualización muy retrasada en un sistema Gentoo puede ser muy doloroso. Acabamos de hacer el equivalente de esto arriba, al llevar la máquina a la última versión desde la más reciente versión stage3, que al momento de escribir esto fue hace algún tiempo. Y esto fue desde un sistema completamente nuevo y vacío. Imagínalo cuando tienes varios servicios y usuarios en funcionamiento.

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.