Gentoo Installation · 10 min read · Feb 06, 2026

O Servidor Perfeito - Gentoo 2007.0 - Página 2

3 O Sistema Base

3.1 Inicializando o disco de instalação

Insira seu CD de Instalação Mínima do Gentoo em seu sistema e inicialize a partir dele. Você pode definir algumas opções no carregador de inicialização, mas se você apenas deixá-lo, ele continuará e inicializará o Linux por conta própria.

Carregador de Inicialização do Gentoo

(Ele usará por padrão um console framebuffer, mas no interesse de capturas de tela menores, eu mudei a opção para usar VGA pressionando F1 e escolhendo o kernel gentoo-nofb.)

Uma carga de texto será exibida na tela enquanto o kernel inicializa e o CD de instalação detecta seu hardware. Em seguida, você será apresentado a uma escolha de mapa de teclas.

Seleção de Mapa de Teclas do Gentoo

Se você estiver usando um teclado dos EUA, pode apenas deixá-lo, ou pressionar Enter e este prompt irá expirar com essa escolha. Eu moro na Grã-Bretanha, então quero o mapa de teclas do Reino Unido.

Mais texto é exibido…

Instalador do Gentoo ainda inicializando

Até que você fique em um prompt de root.

Instalador do Gentoo no prompt de root

As chances são de que ele encontrou um servidor DHCP durante a detecção e você já está conectado à internet. No entanto, queremos especificar nosso próprio endereço IP imediatamente, então digitamos,

net-setup eth0

E passamos pelas opções conforme apropriado:

net-setup 1

net-setup 2

net-setup 3

net-setup 4

net-setup 5

net-setup 6

net-setup 7

net-setup 8

net-setup 9

Agora você está de volta ao prompt de root, como sugerido, você pode querer apenas verificar se sua rede subiu corretamente.

ifconfig

net-setup completo

E quaisquer outros comandos que você queira fazer para se certificar de que você tem uma conexão com a internet. Por exemplo (do Manual do Gentoo):

ping -c 3 www.gentoo.org

Agora defina seu hostname temporariamente. Vamos ler isso mais tarde para automatizar algumas etapas posteriores da instalação.

hostname server1.example.com

3.2 Fazendo login no ambiente de instalação remotamente

Defina a senha de root. Isso é apenas para o sistema de instalação, não para o sistema final instalado:

passwd

E inicie o sshd:

/etc/init.d/sshd start

As chaves do host serão criadas e o daemon sshd será iniciado. Agora você pode fazer login no sistema de instalação do conforto do seu programa de terminal habitual em seu próprio computador. Obviamente, se você preferir, ou tiver que, pode omitir esta etapa e continuar usando o console.

ssh [email protected]

Obviamente, isso só funcionará se server1.example.com resolver em seu sistema.

Primeiro login remoto

3.3 Configurando o disco do sistema

Esta parte provavelmente será muito diferente em outras arquiteturas. Consulte o Manual do Gentoo se você não estiver em x86 ou amd64, ou se quiser fazer algo diferente do layout padrão sugerido no manual x86.

Para particionar o disco, use parted. Vamos direto ao ponto e configurar o esquema de partição sugerido do Gentoo, e o parted nos permite fazer isso de uma maneira que pode ser mostrada concisamente em texto:

parted /dev/hda

Você receberá um prompt (parted). Neste prompt, insira os seguintes comandos:

mklabel msdos  
mkpartfs primary ext2 0 32  
mkpartfs primary linux-swap 32 545  
mkpart primary 545 -0  
set 1 boot on  
print

Você deve ver algo como:

Disco /dev/hda: 5906MB
Tamanho do setor (lógico/físico): 512B/512B
Tabela de Partições: msdos
Número  Início   Fim     Tamanho  Tipo     Sistema de arquivos  Flags
 1      32.3kB  32.9MB  32.9MB  primary  ext2         boot 
 2      32.9MB  545MB   512MB   primary  linux-swap        
 3      545MB   5906MB  5361MB  primary                    
(parted) 

Digite quit para sair e salvar as alterações.

Já criamos os sistemas de arquivos ext2 e swap nas partições 1 e 2, então só queremos criar o sistema de arquivos ext3 na partição 3.

mke2fs -j /dev/hda3

E vamos ativar o swap para nosso ambiente de instalação:

swapon /dev/hda2

E montar o sistema de arquivos no qual estamos prestes a instalar.

mount /dev/hda3 /mnt/gentoo  
mkdir /mnt/gentoo/boot  
mount /dev/hda1 /mnt/gentoo/boot

3.4 Preparando o caminho para o Stage 3

Confirme que a data e a hora estão corretas para seu sistema. Se não estiverem, as coisas podem ficar confusas mais tarde.

date
Qui Ago 30 13:58:36 UTC 2007

O que de fato, na época em que fiz isso, estava um pouco errado, então corrija algo assim:

date 083013542007

Agora precisamos baixar o Tarball do Stage 3 e o snapshot do Portage. Em vez de brincar com links ou lynx, vamos apenas usar alguns comandos:

mirrorselect --interactive --output > /tmp/mirror

mirrorselect - download mirrors

Selecione os espelhos que forem apropriados para você e selecione OK. Quando você sair, uma linha será escrita em /tmp/mirror com suas seleções. Nós só queremos o primeiro, então:

source /tmp/mirror   
MIRRORS=($GENTOO_MIRRORS)   
MIRROR=${MIRRORS[0]}   
cd /mnt/gentoo   
wget ${MIRROR}releases/x86/current/stages/stage3-$(arch)-2007.0.tar.bz2 \   
|| wget ${MIRROR}releases/x86/current/stages/stage3-x86-2007.0.tar.bz2   
wget ${MIRROR}snapshots/portage-latest.tar.bz2

Na verdade, não há uma maneira segura de determinar as partes específicas da arquitetura da URL do stage3 acima, então se você não estiver em x86, consulte o Manual do Gentoo.

Descompacte o tarball do stage.

tar --extract --verbose --bzip2 --preserve-permissions --file stage3-*.tar.bz2

Descompacte o snapshot do portage.

tar --extract --verbose --bzip2 --file portage-latest.tar.bz2 --directory /mnt/gentoo/usr

Você pode excluir esses downloads agora, se estiver com pouco espaço.

rm portage* stage*

Agora, vou fazer algo quase herético para a comunidade Gentoo e deixar o etc/make.conf em paz! Esse é o arquivo onde coisas como os CFLAGS são configurados, e onde você pode configurá-lo para ser o mais otimizado possível. Eu não vou tocá-lo. Você deve pelo menos verificá-lo para sanidade. Se estiver insano, você pode ter baixado o arquivo de stage errado. Em particular, em x86, a flag -mtune=i686 é definida por padrão mesmo no arquivo stage3 x86 simples, o que pode ser inadequado se você estiver instalando em hardware antigo. Mas ao usar $(arch) estamos esperando evitar quaisquer problemas desse tipo.

vi /mnt/gentoo/etc/make.conf

Vamos apenas adicionar algumas informações que precisamos. Primeiro, os espelhos dos quais o Gentoo vai se baixar. Já buscamos os espelhos de download uma vez, então para economizar a escolha deles novamente, vamos pegar essa seleção e adicionar uma seleção para o espelho rsync.

cat /tmp/mirror >> /mnt/gentoo/etc/make.conf   
mirrorselect --interactive --rsync --output >> /mnt/gentoo/etc/make.conf

mirrorselect - rsync mirrors

Agora vamos copiar algumas coisas para /mnt/gentoo a fim de chrootar nele e continuar a instalação. Também vamos copiar a configuração de rede atual para que o sistema instalado tenha a mesma coisa. Este pequeno script escreverá a configuração atual do eth0 no novo formato /etc/conf.d/net.

#!/bin/bash
cat /etc/resolv.conf > /mnt/gentoo/etc/resolv.conf
echo "HOSTNAME=\"$(hostname -f)\"" > /mnt/gentoo/etc/conf.d/hostname
eth0=$(ifconfig eth0 | grep "inet addr")
ip=$(echo $eth0 | cut -f2 -d' ' | cut -f2 -d:)
broadcast=$(echo $eth0 | cut -f3 -d' ' | cut -f2 -d:)
netmask=$(echo $eth0 | cut -f 4 -d' ' | cut -f2 -d:)
gw=$(route -n | grep -e '^0.0.0.0' | unexpand -a | cut -f3)
nservers=$(grep -e '^nameserver' /etc/resolv.conf | cut -f2 -d' ')
sdomains=$(grep -e '^search' /etc/resolv.conf | cut -f2- -d' ')
echo 'modules=( "ifconfig" )' > /mnt/gentoo/etc/conf.d/net
echo "config_eth0=( \"${ip} netmask ${netmask} broadcast ${broadcast}\" )" >> /mnt/gentoo/etc/conf.d/net
echo "routes_eth0=( \"default via ${gw}\" )" >> /mnt/gentoo/etc/conf.d/net
echo "dns_domain_eth0=\"$(hostname -d)\"" >> /mnt/gentoo/etc/conf.d/net
echo "dns_servers_eth0=\"${nservers}\"" >> /mnt/gentoo/etc/conf.d/net
if [ -n "$sdomains" ] ; then echo "dns_search_eth0=\"${sdomains}\"" ; fi >> /mnt/gentoo/etc/conf.d/net

Depois, /mnt/gentoo/etc/conf.d/net deve parecer assim, com os valores corretos, é claro.

modules=( "ifconfig" )
config_eth0=( "192.168.1.5 netmask 255.255.255.0 broadcast 192.168.1.255" )
routes_eth0=( "default via 192.168.1.1" )
dns_domain_eth0="example.com"
dns_servers_eth0="192.168.1.1"

Usar este formato fará com que o script de inicialização da rede do Gentoo use os dados contidos nele para escrever um novo /etc/resolv.conf, além de configurar a rede em si, para que no futuro haja apenas um arquivo a manter correto. (Copiamos o /etc/resolv.conf do sistema de instalação puramente para uso dentro do ambiente chroot até inicializarmos o sistema instalado.)

Tendo feito isso, podemos completar os preparativos para chroot e entrar.

3.5 Opcional: Instalando temporariamente o vim no ambiente Stage3

O sistema Stage 3 do Gentoo não tem vi. Em vez disso, a prática padrão é usar o editor incluído nano. Se você realmente preferir ter vi, faça o seguinte agora:

VIM=$(which vim)   
VIMDIR=$(dirname ${VIM})   
cp --dereference ${VIM} /mnt/gentoo${VIM}   
ln --symbolic ${VIM} /mnt/gentoo$(dirname ${VIM})/vi

(As bibliotecas das quais depende já estão no lugar.)

No entanto, as instruções a seguir presumirão que você não fez isso. Se você fez, você é inteligente o suficiente para substituir o comando que deseja.

3.6 Entrando no ambiente chroot Stage3

mount -t proc none /mnt/gentoo/proc   
mount -o bind /dev /mnt/gentoo/dev   
chroot /mnt/gentoo /bin/bash   
env-update   
source /etc/profile   
export PS1="(chroot) $PS1"

Agora que estamos no ambiente chroot, vamos atualizar o portage para o estado atual.

emerge --sync

Se você se preocupa em usar o console da máquina, pode querer definir o mapa de teclas em /etc/conf.d/keymaps. Caso contrário, você pode deixá-lo.

nano --nowrap /etc/conf.d/keymaps

Agora definimos nosso fuso horário. Confira o conteúdo de /usr/share/zoneinfo para ver qual fuso horário usar. (Não vamos alterar USE ou o make.profile padrão.) Por exemplo,

cp /usr/share/zoneinfo/Europe/London /etc/localtime

Defina o fuso horário em /etc/conf.d/clock. Basta definir a variável TIMEZONE para o arquivo que você copiou para /etc/localtime anteriormente. Por exemplo,

nano --nowrap /etc/conf.d/clock
TIMEZONE="Europe/London"

(Não se esqueça de descomentar a linha.)

Você pode precisar definir CLOCK como local. Geralmente não se faz isso, mas é geralmente necessário se você estiver instalando no VMWare e possivelmente em outros ambientes virtuais.

3.7 Instalar o kernel

emerge gentoo-sources

Vamos apenas fazer uma instalação genkernel, para instalar o kernel padrão do Gentoo. Isso é parcialmente para simplicidade deste howto. Se você estiver confortável em construir seus próprios kernels, faça isso seguindo as notas do Manual do Gentoo no Capítulo 7.

emerge genkernel   
zcat /proc/config.gz > /usr/share/genkernel/x86/kernel-config-2.6

O segundo comando copia a configuração do kernel do disco de instalação para ser nosso kernel atual. Se chegamos até aqui, é uma boa aposta que essa configuração de kernel funciona para nós.

Aqui podemos encurtar algo e nos poupar um passo mais complicado mais tarde. Queremos adicionar suporte a quota à configuração do kernel. O que faremos aqui é adicioná-lo ao arquivo de modelo de configuração que o genkernel usa, para que não percamos a alteração quando atualizarmos o kernel.

nano --nowrap /usr/share/genkernel/x86/kernel-config-2.6

Procure por # CONFIG QUOTA is not set e mude para o seguinte (adicionando as duas linhas subsequentes):

CONFIG_QUOTA=y 
# CONFIG_QFMT_V1 is not set 
CONFIG_QFMT_V2=y 

Então podemos continuar:

genkernel all

Isso pode levar algum tempo. Está construindo suporte para tudo. Eu disse que isso seria uma construção Gentoo genérica.

Nota: se você estiver instalando em um disco SCSI ou SATA, é melhor nesta fase fazer,

genkernel --menuconfig all

e selecionar o driver de baixo nível apropriado para a interface SCSI ou SATA à qual seu disco do sistema está conectado, para ser compilado no kernel monolítico em vez de como um módulo. Acredito que deve funcionar se você não fizer isso (carregando o módulo do driver do initrd assim como o disco de instalação), mas atualmente parece que não funciona.

3.8 Configurar sistemas de arquivos

nano --nowrap /etc/fstab

Assumindo que você está no mesmo esquema de partição que eu, ou seja: seguindo este guia, substitua /dev/BOOT por /dev/hda1; /dev/ROOT por /dev/hda3; e /dev/SWAP por /dev/hda2. O arquivo alterado deve parecer assim:

[...]
#                                           
# NOTA: Se sua partição BOOT for ReiserFS, adicione a opção notail a opts.
/dev/hda1               /boot           ext2            noauto,noatime  1 2
/dev/hda3               /               ext3            noatime         0 1
/dev/hda2               none            swap            sw              0 0
/dev/cdrom              /mnt/cdrom      audo            noauto,ro       0 0
#/dev/fd0               /mnt/floppy     auto            noauto          0 0
[...]

3.9 Iniciar rede na inicialização.

rc-update add net.eth0 default   
rc-update add hostname default

3.10 Instalar serviços do sistema

emerge syslog-ng vixie-cron   
rc-update add syslog-ng default   
rc-update add vixie-cron default

3.11 Carregador de inicialização

emerge bootloader

Isso instalará o carregador de inicialização padrão para sua arquitetura. O seguinte presume que você está em x86 ou amd64 e que este carregador de inicialização é o grub. Como esta é uma instalação ultra-genérica de PC, vamos enganar e apenas escrevê-lo. Se o resto deste guia se encaixa no seu sistema, assim deve ser; caso contrário, consulte o Manual do Gentoo, capítulo 10.

echo -e "default 0\ntimeout 5\n\ntitle=GentooLinux\nroot (hd0,0)" > /boot/grub/grub.conf   
echo "kernel `ls /boot/kernel*` root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda3 udev" >> /boot/grub/grub.conf   
echo "initrd `ls /boot/initramfs*`" >> /boot/grub/grub.conf   
grep --invert-match rootfs /proc/mounts > /etc/mtab   
grub-install --no-floppy /dev/hda

3.12 Finalização e reinicialização

rc-update add sshd default   
passwd

E dê uma senha ao root. Assim, podemos fazer login depois sem ter que ir ao console. Supondo que tudo tenha funcionado.

Saia do chroot e reinicie.

exit   
cd   
umount /mnt/gentoo/boot /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo   
reboot

Claro, você pode precisar remover o CD da unidade. Isso dependerá de qual é a sua ordem de inicialização; mas você pode muito bem se livrar dele; não é mais necessário.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.