Gentoo Setup · 11 min read · Feb 06, 2026

O Servidor Perfeito - Gentoo 2007.0 - Página 3

4 Atualizando

Bem-vindo de volta àqueles que seguiram o Manual do Gentoo para instalar o sistema base.

4.1 Fazendo login no novo sistema

ssh [email protected]

Você provavelmente está vendo algo assim:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    AVISO: A IDENTIFICAÇÃO DO HOST REMOTO MUDOU!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
É POSSÍVEL QUE ALGUÉM ESTEJA FAZENDO ALGO MALICIOSO!
Alguém pode estar espionando você agora (ataque man-in-the-middle)!
É também possível que a chave do host RSA tenha acabado de ser alterada.
A impressão digital da chave RSA enviada pelo host remoto é
13:13:39:99:9b:ea:81:72:2c:20:d2:f5:d2:0f:bd:ac.
Por favor, entre em contato com o administrador do sistema.
Adicione a chave do host correta em /home/rachel/.ssh/known_hosts para se livrar desta mensagem.
Chave ofensiva em /home/rachel/.ssh/known_hosts:23
A chave do host RSA para server1.example.com mudou e você solicitou verificação rigorosa.
A verificação da chave do host falhou.

Isso acontece porque o sistema instalado gerou suas próprias chaves de host que não são as mesmas do sistema de instalação. Você só precisa remover a chave do host do seu ssh local. Para praticamente qualquer unix, isso deve funcionar:

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

Agora estamos logados como root em nosso novo sistema básico Gentoo.

Verifique se o seu nome de host está configurado corretamente:

hostname -f

Deve retornar seu nome de domínio totalmente qualificado, por exemplo, server1.example.com.

4.2 Opcional: Instalar todo o software de uma vez

Por sua natureza, o Gentoo leva um tempo relativamente longo para instalar novos softwares, em comparação com distribuições binárias. Isso pode ser frustrante ao seguir um tutorial como este, pois você se vê digitando alguns comandos e depois tendo que ficar esperando enquanto algo e suas dependências são construídas do zero; repetir ad nauseum. Você já teve que fazer isso se seguiu estas instruções para a instalação base.

Por essa razão, eu coletei os comandos para fazer a construção inicial do software aqui de tudo que foi usado na configuração Configuração Perfeita, para que você possa fazer tudo isso de uma vez. Ao contrário de algumas distribuições, o Gentoo não inicia automaticamente novos serviços, ou os instala em runlevels, ou faz qualquer pós-configuração que precise de entrada do usuário, então podemos iniciar a construção de todo o software e depois voltar mais tarde e fazer a configuração deles.

Se você quiser fazer dessa forma, basta inserir o script abaixo agora. (Você pode apenas copiar e colar na sua linha de comando bash). Então, enquanto você estiver passando pelo resto do tutorial, pule os comandos que são dados em negrito.

# Desinstalando ssmtp
emerge --unmerge ssmtp
# Definindo postfix como o MTA padrão
mkdir -p /etc/portage/profile
echo 'virtual/mta mail-mta/postfix' >> /etc/portage/profile/virtuals
# Definindo flags 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
# Desmascarando pacotes
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
# Adicionando pacotes ao arquivo 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

Cole isso também se você pretende rodar o 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

E cole isso se você precisar rodar algumas aplicações X remotamente (por exemplo: VMWare Tools vmware-toolbox dialogue, e fetchmailconf).

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

Atualize o portage agora, pois a nova versão do portage é a que suporta o comportamento que estamos explorando.

Na verdade, mesmo que você pule esta etapa, ele fará isso corretamente mais tarde quando fizermos a atualização completa, pois instalará o portage primeiro, depois parará e reiniciará com a nova versão. Mas você não obterá uma lista precisa do que vai acontecer se usar –ask como o exemplo posterior faz. Portanto, esta etapa é realmente para evitar confusão.

emerge --ask --verbose --newuse portage

Depois, ele avisará que alguns arquivos de configuração foram alterados e convidará você a aprovar essas alterações.

Portage atualizado

dispatch-conf
>> q sair, h ajuda, n próximo, e editar-novo, z zap-novo, u usar-novo
   m mesclar, t alternar-mescla, l olhar-mescla: 

Como tudo o que fizemos aqui foi atualizar o próprio portage, você deve ser capaz de apenas aceitar todas as alterações selecionando u para cada arquivo que ele oferece.

4.3 A primeira atualização

Fizemos um emerge –sync durante a instalação, então provavelmente não precisamos fazer outro imediatamente, então vamos imediatamente para a atualização.

Queremos definir algumas flags USE globais. Na maior parte, tentei evitar isso em favor de flags específicas de pacotes, mas precisamos de algumas globais. Ou torna as coisas mais simples de qualquer forma. Lembre-se, se você realizou a etapa opcional 4.2 acima, não precisa inserir os comandos que seguem que são mostrados em negrito. Apenas considere-os como explicativos.

grep USE /etc/make.conf

Se já houver uma variável USE configurada neste arquivo, você precisa editar o arquivo e garantir que as seguintes flags sejam adicionadas a ele. Se não houver, basta executar este comando:

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

E agora podemos realmente realizar a atualização.

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

O –ask –verbose listará quais pacotes ele vai instalar ou atualizar, com suas flags USE selecionadas. Eles são completamente opcionais, são apenas para deixar você ver o que está prestes a fazer antes de fazê-lo. O –newuse –deep diz para reconstruir qualquer coisa cuja flags USE tenham mudado, assim como qualquer coisa que esteja desatualizada. ( –deep indica que você deseja atualizar tudo, incluindo dependências, em vez de apenas seus pacotes principais.)

Quando você pressionar Return (ou digitar Sim), ele atualizará seu sistema. Isso provavelmente levará algum tempo.

Se você seguiu a etapa 4.2, para configurar a construção completa do software Configuração Perfeita com antecedência, todo o software Configuração Perfeita e suas dependências agora serão baixados, compilados e instalados, assim como as devidas atualizações para o sistema básico; entre 150 e 190 pacotes no total serão construídos do zero ou reconstruídos. O Portage reclamará que você alterou seu arquivo world manualmente, mas ele continuará e fará o sistema da maneira que o arquivo world especifica; ou seja: instalando o novo software. Saia para jantar ou assista a um filme; ou vá para a cama. Isso vai levar um tempo.

Quando isso finalmente terminar, você verá algo assim:

Atualização grande concluída

dispatch-conf

Para cada arquivo de configuração que foi alterado, você verá as diferenças e terá estas opções:

>> q sair, h ajuda, n próximo, e editar-novo, z zap-novo, u usar-novo
   m mesclar, t alternar-mescla, l olhar-mescla: 

Como este é um sistema completamente novo, você provavelmente desejará apenas aceitar as alterações para a maioria deles (pressionando u para “usar novo”. Aqueles que você deseja manter como estão, pressione z para “zap novo”. Estes são provavelmente, porque os editamos anteriormente:

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

Quando você usar –deep em uma atualização do Gentoo, é uma boa prática fazer isso depois:

revdep-rebuild

Você provavelmente não precisa fazer isso neste estágio, ou na verdade na maioria das instâncias, mas vale a pena ser apresentado a isso. O que ele faz é garantir que o software que está instalado em seu sistema ainda seja binariamente compatível com as bibliotecas das quais depende, e se não for, reinstala (o que, naturalmente, o recompila contra a nova versão da biblioteca). Você geralmente só precisa fazer isso quando uma biblioteca importante sobe um número de versão principal. Às vezes o portage solicitará que você faça isso de qualquer maneira para uma biblioteca específica. Você pode dar a este comando um identificador de pacote e ele, se necessário, reconstruirá tudo que depende dele; daí seu nome, que é uma abreviação de “reconstrução de dependência reversa”. Por conta própria, ele apenas verificará tudo. (Provavelmente não há equivalente a isso em distribuições binárias, pois as atualizações para uma determinada versão tendem a não abranger bibliotecas que são atualizadas para uma versão que quebra a compatibilidade binária com seus dependentes. Em vez disso, versões mais antigas são corrigidas conforme necessário e as novas versões que quebrariam a compatibilidade binária são retidas até a próxima grande versão.)

Como esta é uma atualização bastante grande, vou reiniciar agora apenas para ter certeza de que tudo ainda está OK. Isso é basicamente opcional. Se você não estiver reiniciando, digite,

source /etc/profile

Isso é para levar em conta quaisquer alterações de ambiente. Entre essas, quase certamente há uma atualização do gcc.

E como o openssh foi atualizado,

/etc/init.d/sshd restart

Para o resto de vocês, até mais tarde após a reinicialização.

4.4 VMWare Tools

Fora do tópico, mas provavelmente necessário, e não óbvio

Para instalar o VMWare Tools no Gentoo, você agora precisa recompilar o kernel (já que o instalador do VMWare Tools reclamará se o kernel atual foi construído em uma versão anterior do gcc do que o sistema agora tem, e o gcc acabou de ser atualizado).

As opções do genkernel garantirão que tudo seja recompilado, mas a configuração do kernel anterior é mantida, caso você tenha feito outras alterações anteriormente.

genkernel --clean --no-mrproper all   
reboot

Quando ele voltar, faça o seguinte se você estiver usando o VMWare Workstation:

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

Isso solicitará mais informações. Se você estiver executando outra versão do VMWare, como VMWare Server ou VMWare Fusion, basta fazer o seguinte:

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

Neste último caso, quando solicitado, seus scripts de inicialização estão em /etc/init.d e seus diretórios rc0.d a rc6.d também estão em /etc/init.d. O instalador do VMWare Tools detectará e oferecerá isso como os padrões. Os diretórios rc n.d não farão nada, eles estão apenas lá porque o instalador do VMWare os deseja. Você pode removê-los depois.

Selecione Instalar VMWare Tools no próprio VMWare.

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

Você precisa executar o instalador do VMWare Tools no console do sistema da máquina virtual, não remotamente. O instalador em si lembrará você disso se você me ignorar. :-)

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

E siga as instruções. É sabido que, no momento, os módulos vmhgfs e vmxnet não serão construídos, mas todo o resto deve estar bem.

E configure para que ele inicie automaticamente na próxima reinicialização.

rc-update add vmware-tools default

Para usar o VMWare Toolbox, você precisará construir algumas de suas dependências. É uma aplicação X11, então ou você precisa de um ambiente de desktop na própria máquina (o que para Configuração Perfeita provavelmente não temos) ou você deseja fazer o seguinte:

vi /etc/ssh/sshd_config

Encontre a linha contendo “ X11Forwarding “ e certifique-se de que está descomentada e definida como “sim”.

/etc/init.d/sshd restart

E instale as dependências mínimas do X11 necessárias.

emerge --ask --verbose libXi xauth

Faça login com o encaminhamento X11 da sua máquina remota, execute-o e configure o que você precisa configurar. Realmente não há outra maneira de fazer coisas necessárias como sincronizar com o RTC do host (muito necessário no VMWare Server, especialmente em hosts AMD) e permitir coisas como snapshots.

ssh -X [email protected]   
vmware-toolbox

Você pode querer reiniciar para ter certeza de que tudo funciona.

update-modules force   
reboot

4.5 Atualizações futuras e rotineiras

O fluxo de trabalho típico é,

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

Se as atualizações listadas parecerem sensatas, pressione return para deixá-las prosseguir. Você pode ser solicitado no final que arquivos de configuração foram atualizados, como acima; nesse caso, execute,

dispatch-conf

E se solicitado, ou se estiver em dúvida,

revdep-rebuild

Não há mal além do tempo que leva em fazer isso quando não é necessário. Ele apenas pensará por um tempo e dirá que não há nada que precise ser reinstalado.

Lembre-se de reiniciar os serviços atualizados depois. (Ao contrário do Ubuntu e presumivelmente do Debian, ele não fará isso por você.)

É sensato fazer isso cerca de uma vez por semana, então as mudanças vêm de forma incremental e em pedaços e geralmente são completas em alguns minutos. Por outro lado, fazer uma atualização muito atrasada em um sistema Gentoo pode ser muito doloroso. Acabamos de fazer o equivalente a isso acima, ao atualizar a máquina para a versão mais recente do stage3, que, na primeira redação, foi há algum tempo. E isso foi de um sistema completamente novo e vazio. Imagine quando você tem vários serviços e usuários em execução.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.