Esta thread foi colocada como inamovivel devido a qualidade do seu conteudo, periodicamente pequenas alterações/correcções seram feitas ao texto. Essas alterações/correcções podem partir de comentários dos utilizadores.
Será ainda periodicamente feita uma "limpeza" dos comentários/correcções para que a thread se mantenha facil de seguir
(4/2/2004) Dia das limpezas
Gustavo Felisberto AKA humpback
(/nota)
Este não é um guia oficial de instalação.
1.0 - Introdução
O processo de instalação do Gentoo é todo em modo texto, e é relativamente complicado para pessoas com pouca ou nenhuma experiência em Linux. A instalação consiste na execução de diversas etapas entre as quais podemos citar: obtenção de um stage particionamento, configuração/compilação do kernel, instalação de um boot loader, etc. Será necessário fazer o download de diversos pacotes, então caso você não tenha uma conexão banda larga, será necessário se "equipar" com uma boa dose de paciência.
Neste texto, irei cobrir apenas aspectos básicos da instalação. Portanto se vc tiver algum hardware "exótico", um sistema PowerPC ou Sparc, deverá obter as informações no guia oficial de instalação.
Obs.: leia a seção Dicas antes de começar.
2.0 - Obtendo o "Live CD"
Você pode obter o Live CD em http://www.las.ic.unicamp.br/pub/gentoo/releases/x86/current/installcd/. O pessoal de Portugal e outras partes do mundo, talvez queira olhar aqui a procura de um servidor mais próximo.
2.1 - Iniciando a Instalação
Depois de ter gravado em CD a imagem que você baixou, efetue o boot pelo CD. Após passar pelos processos de boot você estará automaticamente logado como "root".
Em alguns casos pode ser preciso carregar algum módulo do kernel. Caso esse seja o seu caso, visite
http://www.gentoo.org/doc/pt_br/handbook/handbook-x86.xml?part=1&chap=2#doc_chap4 para maiores informações.
3.0 - Configurando a Rede
Nesta parte iremos configurar seus dispositivos de rede, de modo que você possa obter acesso a internet. Caso você use pppoe para conectar a internet, você pode usar o comando adsl-setup para configurar sua conexão. Este comando irá lhe fazer uma série de perguntas com login, senha, servidores DNS, etc. Portanto é uma boa idéia ter essas informações antes de começar. Após responder essas perguntas, use
o comando adsl-start[\i].
Supondo que não seja necessário usar pppoe e você use algum outro meio de conexão você pode querer configurar seu dispositivo de rede através do comando net-setup <dispositivo>, por exemplo:
net-setup eth0. Você pode configurar um
cliente dhcp usando o comando dhcpcd eth0.
Será preciso, também, editar o arquivo /etc/resolv.conf, colocando o endereço de seus servidores DNS e, caso você tenha, o seu domínio. O editor do Gentoo Linux é o nano. Para editar o arquivo use:
nano /etc/resolv.conf
Então use Ctrl + X para sair do arquivo e na opção que segue selecione Y para salva-lo.
3.1 - Agora iremos testar as configurações de rede.
Use o comando /sbin/ifconfig -a para verificar se a sua placa de rede foi configurada corretamente. Eu obtenho as seguintes informações (você deverá obter algo semelhante):
Code: Select all
eth0 Encapsulamento do Link: Ethernet Endereço de HW 00:02:55:C0:FE:77
inet end.: 10.0.0.3 Bcast:10.0.0.255 Masc:255.255.255.0
UP BROADCASTRUNNING MULTICAST MTU:1500 Métrica:1
RX packets:84454 errors:0 dropped:0 overruns:0 frame:0
TX packets:88948 errors:0 dropped:0 overruns:0 carrier:0
colisões:0 txqueuelen:100
RX bytes:41596173 (39.6 Mb) TX bytes:7928918 (7.5 Mb)
IRQ:10 Endereço de E/S:0x2000Execute: o comando: ping www.meu_site_preferido.com.br
Obs.: alguns sites podem não responder ao ping, portanto teste o comando em algum site que você sabe que irá responder.
4 - Particionamento
O particionamento do HD é uma das partes mais importantes na instalação de qualquer sistema operacional. Na instalação do gentoo temos disponíveis o fdisk e o cfdisk para particionarmos o HD. Eu recomendo o cfdisk, pois é mais amigável que o fdisk.
4.1 - Se estiver em dúvida quanto ao esquema de particionamento do disco, eu recomendo o seguinte:
Code: Select all
Partição Tamanho Tipo
/boot 75mb ext3
/ 2Gb ou mais ext3
swap 2 vezes a sua Linux Swap
quantidade de
memória RAM
/home Espaço restante ext34.2 Formatando as partições:
Para formatar uma partição ext2 use: mke2fs <partição>
aonde <partição> deve ser substituída pela sua partição, exemplo: mke2fs /dev/hda1
Para formatar uma partição ext3 use:
mke2fs -j <partição>
Para formatar uma partição como ReiserFS:
mkreiserfs <partição>
Faça isso para todas as partições Linux (exceto as swap) que você deseja usar com o gentoo.
Para criar a partição swap use o comando:
mkswap <partição>
E para ativar a partição swap use:
swapon <partição>
Obs.: eu recomendo fortemente o uso de partições ext3. Elas são muito mais confiáveis que as partições ext2. Partições ReiserFS também são recomendadas, mas por uma questão de comodidade só cobrirei aspectos relativos a partições ext3 neste artigo.
4.3 - Montando as partições:
Primeiro criamos um ponto de montagem e montamos a partição raiz nele:
mkdir /mnt/gentoo
mount /dev/hda2 /mnt/gentoo
Obs.: a partir de agora, irei considerar /dev/hda2 como partição raiz (/) /dev/hda1 como partição boot (/boot) e /dev/hda5 como partição swap. Se o seu esquema é diferente, apenas substitua de acordo com o que você configurou no passo anterior.
Agora a partição de boot:
mkidr /mnt/gentoo/boot
mount /dev/hda1 /mnt/gentoo/boot
Caso você tenha outras partições que deseja usar, repita os passos acima, criando os pontos e logo em seguida montando-os.[/b]
5.0 - Trabalhando com os "stages"
Cada stage é referente a quanto do sistema já foi "construído" para você. Use o stage1 para construir cada bit do sistema ou pegue um stage2 ou stage3 que já foi devidamente otimizado e deverá atender as suas necessidades. Nós usaremos aqui o stage3, que já oferece um sistema Gentoo Linux básico.
O stage3 do Gentoo pode ser obtido no seguinte endereço:
http://www.las.ic.unicamp.br/pub/gentoo ... .0.tar.bz2. Este é um stage sem otimizações específicas para qualquer arquitetura.
Use o wget para fazer o download do stage:
wget http://www.las.ic.unicamp.br/pub/gentoo ... .0.tar.bz2
Obs.: na seção dicas encontram-se algumas dicas MUITO úteis sobre essa parte da instalação. Após ter feito o download da stage3 iremos extrair o arquivo usando os comandos:
cd /mnt/gentoo
tar -xvjpf stage3-<arquitetura>-<versão>.tbz2
Agora iremos apontar /proc e /dev para seus respectivos pares dentro de
/mnt/gentoo.
mount -o bind /proc /mnt/gentoo/proc
mount -o bind /dev/ mnt/gentoo/dev
Agora copiamos o resolv.conf configurado no início da instalação para /mnt/gentoo/etc
cp /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
6.0 - Criando o ambiente chroot
Após termos extraido o stage3 é possível notar que já temos uma estrutura básica e funcional de um sistema Linux. O que iremos fazer neste momento, é alterar a localização do nosso ambiente raiz (/) para a partição que tinhamos definido como raiz no começo da instalação (e aonde extraimos os arquivos do stage3). Primeiro mudamos a ambiente raiz:
chroot /mnt/gentoo /bin/bash
depois atualizamos as configurações do ambiente:
env-update
source /etc/profile
7.0 - Atualizando o sistema e configurando otimizações e configurações "USE"
Inicialmente atualizaremos a "Portage Tree", de modo a certificarmos que temos a cópia mais atual. Efetuamos isto usando o comando:
emerge sync
Configurações "USE" são palavras-chave que se referem ao uso de componentes opcionais na instalação de novos programas. De início vamos nos contentar com as fornecidas por padrão. Caso queira, desde já, ir conhecendo elas você pode visitar http://www.gentoo.org/doc/pt_br/handboo ... t=2&chap=2. Para uma descrição mais detalhada sobre as use flags você pode verificar os arquivos /usr/portage/profiles/use.desc e /usr/portage/profiles/use.local.desc.
Agora vamos nos divertir um pouco
citar todas elas, portanto, neste primeiro momento irei citar apenas algumas. Note, porém, que o uso excessivo de otimizações pode resultar em um sistema instável.
Obs.: as descrições das otimizações foram retiradas da man page do comando gcc. Para maiores informações use o comando:
man gcc.
-mcpu=cpu
Esta opção irá otimizar o código para um determinado tipo de CPU (veja a lista dos tipos possíveis abaixo) sem quebrar a compatibidade com outros tipos de CPUs.
-march=cpu
Esta opção tira total proveito das possibilidades de otimização da CPU quebrando a compatibilidade com CPUs diferentes das do tipo especificado. Nada melhor do que citar o próprio texto do Gentoo:
Tipos de CPU suportados pelo gcc 3.2 e superiores: athlon-xp, athlon-mp, athlon-4, athlon-tbird, athlon, k6, k6-2, k6-3, i386, i486, i586 (Pentium), i686 (PentiumPro), pentium, pentium-mmx, pentiumpro, pentium2," ... CPU; this will break compatibility with older CPUs
(for # example, -march=athlon-xp code will not run on a regular Athlon and -march=i686 will not run on a Pentium Classic"
pentium3 e pentium4. Esses valores podem tanto ser usados com a opção mcpu quanto com a opção march.
Obs.: embora eu não tenha encontrado nada sobre Celerons e Durons eu tive algumas experiências que me passaram o seguinte:
a) se o seu Celeron é baseado em um pentium 2, use as otimizações referentes ao pentium 2. Se for um Duron baseado em um Athlon-tbird, use a otimização referente ao mesmo, e assim por diante.
Iremos agora adicionar as opções desejadas no arquivo /etc/make.conf. Iremos configurar somente opções relacionadas a otimização. Usamos o editor nano para editar o arquivo.-O1
Nível básico de otimização. O compilador efetuará otimizações que não gastem muito tempo de compilação.
-O2
Segundo nível de otimização. Otimizará ainda mais que o primeiro nível, porém o compilador não efetuará otimizações cujos resultados sejam um aumento significativo no tamanho do código gerado.
-O3
Terceiro nível de otimização. Habilita todas as opções especificadas pela "flag" -O2 e adiciona mais algumas otimizações específicas. Pode resultar em instabilidade.
-Os
Otimiza para tamanho. Efetua as otimizações específicadas por -O2 que não aumentam o tamanho do código e também efetua algumas otimizações específicas para redução do tamanho do código.
nano -w /etc/make.conf
A opção que editaremos chama-se CFLAGS e é lá que devem ser inseridas essas opções de otimização. Segue abaixo um exemplo:
CFLAGS="-march=pentium3 -02 -pipe"
Após isso salve o arquivo e volte para a linha de comando. Agora é hora de atualizarmos o todo o sistema para a sua versão mais atual. Para isto use o comando:
emerge -u world
A demora desse processo depende da quantidade de pacotes que será
necessário atualizar e da sua máquina. Geralmente este processo dura aproximadamente 3 horas em meu Pentium 3 866Mhz 192Mb RAM.
8.0 - Atualizando arquivos de configuração
No Gentoo Linux dispomos da ferramente etc-update para fazermos a atualização dos arquivos de configuração. Para executa-la use o comando:
etc-update
Após executar o comando você receberá uma tela com uma lista com diversos arquivos que precisam ser atualizados. O arquivos estão identificados por números. Selecione o número do arquivo e tecle enter. Na tela que segue aparecem algumas opções relacionadas ao arquivo. Eu costumo sempre usar a opção 1 (ainda não tive necessidade de usar as outras opções). Após selecionar a opção 1, use y para confirmar. Faça isso para todos os arquivos que forem precisos. Se você chegou até aqui então já pode começar a sorrir. A maior e mais dificil parte do trabalho já foi feita. Mas ainda resta alguns passos finais (entre eles compilar um
kernel e instalar um boot loader).
9.0 - Configurando o fuso horário.
No diretório /usr/share/zoneinfo/Brazil/ temos uma lista dos fusos horários disponíveis. Após escolher qual se aplica ao seu caso use o comando:
ln -sf /usr/share/zoneinfo/Brazil/<seu_fuso> /etc/localtime
10.0 - Compilando um Kernel
Agora é preciso compilar um kernel para usarmos com nosso novo sistema Gentoo Linux. Você tem a disposição diversas opções de kernel. Podemos citar:
gentoo-sources -> kernel modificado (para otimização, etc) pela gentoo.org.
vanilla-sources -> kernel oficial. O mesmo disponível em www.kernel.org.
O kernel official (vanilla-source) tende a ser mais estável, então será este o escolhido:
emerge vanilla-sources
Não irei entrar em maiores detalhes sobre a compilação do kernel, é uma tarefa relativamente complicada e fora do escopo do artigo, portanto se você não sabe compilar um kernel, ou não tem experiência nesta tarefa poderá obter informações sobre isso em vários sites na internet. O projeto oferece, também, uma ferramenta para auxiliar na compilação do kernel, chamada genkernel, entretanto não irei aborda-la neste tópico.
11.0 - Instalando Ferramentas do Sistema
Nosso sistema Gentoo Linux está quase pronto. Precisamos somente instalar um software responsável pelos logs do sistema e um boot loader, será preciso também efetuar algumas pequenas configurações, após isso o sistema estará instalado.
11.1 - Instalando um "system logger"
Da mesma maneira que o kernel, o Gentoo Linux oferece-nos diversas opções de "system logger". Metalog, sysklogd e syslog-ng são algumas das opções. Eu uso o metalog, e é o que eu irei usar no exemplo aqui.
emerge syslog-ng
Após a instalação do metalog, usamos o rc-update para adicionarmos ele a inicialização do sistema.
rc-update add syslog-ng default
11.2 - Instalado um "Cron Daemon"
O gentoo oferece diversos cron daemons, entretanto neste tópico usaremos o vixie-cron:
emerge sys-apps/vixie-cron
Adicionamos a inicialização do sistema: rc-update add vixie-cron default
11.3 - Instalando o rp-pppoe
Algumas pessoas podem precisar do rp-pppoe para conectar a internet, então caso você seja uma delas, agora é hora de instala-lo.
USE="-X" emerge rp-ppoe
Usar USE="-X" evita que seja instalado a interface gráfica opcional deste pacote, o que neste momento consumiria tempo desnecessário.
12.0 - Arquivos de configuração
Agora é hora de editarmos alguns arquivos. Nada muito complicado, exceto pelo /etc/fstab, para o qual usaremos algumas opções diferentes das fornecidas por padrão pelo gentoo.
12.1 - Configurando o /etc/fstab
O fstab contém informações sobre os sistemas de arquivos, partições, pontos de montagem, etc. É preciso MUITA ATENÇÃO ao editar esse arquivo, embora seja possível reverter possíveis erros não é isso que queremos, certo? Vamos utilizar o nano para editar o arquivo.
nano -w /etc/fstab
Após algumas linhas de comentários você encontrará o seguinte:
Code: Select all
/dev/BOOT /boot ext2 noauto,noatime 1 2
/dev/ROOT / xfs noatime 0 1
/dev/SWAP none swap sw 0 0
/dev/cdroms/cdrom0 /mnt/cdrom iso9660 noauto,ro 0 0
proc /proc proc defaults 0 0a) Primeira linha:
Substitua /dev/BOOT pela sua partição de boot, no meu caso: /dev/hda1. O ponto de montagem permanece o mesmo. Como formatei minha partição como ext3, mudei a terceira coluna para ext3. As demais opções permanecem do jeito que estão. A minha linha ficou a seguinte:
Code: Select all
/dev/hda1 /boot ext3 noauto,noatime 1 2Substitua /dev/ROOT pela sua partição raiz, a segunda coluna permanece igual. Editamos a terceira coluna, substituindo xfs por ext3. As outras colunas seguem como estão. Resultado:
[code
/dev/hda2 / ext3 noatime 0 1[/code]
c) Terceira linha:
Substitua /dev/SWAP pela sua partição Swap. O resto segue como está. Resultado:
Code: Select all
/dev/hda3 none swap sw 0 0Susbstitua /dev/cdroms/cdrom0 por /dev/cdrom. O resto segue como está. Resultado:
Code: Select all
/dev/cdrom /mnt/cdrom iso9660 noauto 0 0A linha referente ao sistema de arquivo proc não precisa ser editada.
Salve o arquivo, para que possamos seguir adiante.
12.2 - Mudando a senha do root
Simples, apenas digite:
passwd
12.3 - Configurando a rede
Será preciso editar alguns arquivos para finalizarmos a configuração da rede.
a) /etc/conf.d/hostname
Abra este arquivo e configure a variável HOSTNAME de acordo com o hostname da sua máquina.
b) /etc/hosts
Este arquivo associa hostnames a endereços IPs. Segue como exemplo meu arquivo:
Code: Select all
127.0.0.1 localhost localhost.localdomain localhost
10.0.0.2 venus venus.solar venus
10.0.0.3 phobos phobos.solar phobos
10.0.0.4 netuno netuno.solar netunoAqui inserimos informações referentes a endereço IP, máscara de sub-rede, gateway, etc. Existem 2 linhas que nos importam aqui, a primeira:
iface_eth0="192.168.0.2 broadcast 192.168.0.255 netmask 255.255.255.0"
192.168.0.2 -> Endereço IP do dispostivo eth0
192.168.0.255 -> Broadcast
255.255.255.0 -> Máscara de sub-rede
Substitua estes valores pelos referentes a sua configuração de rede. Caso use DHCP apenas coloque:
iface_eth0="dhcp"
Na ultima linha do arquivo temos:
#gateway="eth0/192.168.0.1"
192.168.0.1 -> Endeço IP do gateway padrão.
Caso seja necessário configurar um gateway, descomente esta linha e substitua o endereço IP pelo endereço do seu gateway. Agora adicionamos o dispositivo a inicialização do sistema:
rc-update add net.eth0 default
12.4 - Outras configurações
Este arquivo guarda algumas configurações de ambiente do sistema. Entre elas mapa de teclado e fonte do console. Vamos ajustar algumas configurações.
a) /etc/conf.d/keymaps.
A variável que você precisa editar é KEYMAP.
Esta opção é referente ao mapa de teclado. Você pode obter uma lista de mapas de teclado em: /usr/share/keymaps/
O meu teclado é um desses teclados US-Acentos (sem cedilha). A minha configuraçao ficou assim:
KEYMAP="br-latin1-us"
b) /etc/conf.d/clock
A variável que precisa ser editada é CLOCK.
Esta opção refere-se ao relógio do sistema, se ele está configurado para usar UTC ou horá local. Meu relógio de sistema está configurando para hora local, então a opção ficou assim:
CLOCK="local"
13.0 - Instalando o carregador do sistema (boot loader)
O Gentoo linux nos oferece 2 opções de boot loaders: lilo e grub. Ambos tem as suas vantagens e desvantagens, porém neste artigo iremos utilizar o grub. Para instalar o carregador do sistema digite:
emerge grub
13.1 - Colocando o carregador do sistema no setor de inicialização.
Agora que o que o Grub já se encontra instalado precisamos coloca-lo no setor de inicialização. Por motivos práticos colocaremos o Grub na MBR (Master Boot Record). Para entrar no prompt do grub apenas digite "grub" e você será apresentado com o seguinte prompt:
grub>
Obs.: se a sua partição de boot corresponde a /dev/hda1 então o grub identifica esta partição como (hd0,0). Caso corresponda a /dev/hdb1 será (hd1,0). A o hdx (onde x é um número) antes da virgula identifica o disco e o numero após a virgula identifica a partição, sendo que 0 identifica a primeira, 1 a segunda e assim por diante. Neste prompt digitamos:
root (hd0,0)
Com isso dizemos ao grub que a primeira partição do primeiro disco é a que contem os arquivos necessários ao boot do sistema.
setup (hd0)
Este comando informa ao grub para que se instale na MBR do primeiro disco. Está pronto, para sair digite:
quit
13.2 - Editando o arquivo /boot/grub/grub.conf
Por fim vamos editar um ultimo arquivo. É um arquivo relativamente simples de configurar. Este arquivo é responsável, entre outras coisas, pelo menu de boot do sistema e por passar opções ao kernel. Este arquivo era anteriormente conhecido como /boot/grub/menu.lst. Para editar o arquivo use o comando nano /boot/grub/grub.conf
Coloque o seguinte no arquivo. Não se esqueça de substituir as informações referentes as minhas partições pelas que forem referentes as suas! O caminho para o kernel do sistema também precisará ser substituído pelo caminho/localização do seu kernel. Se você estiver usando Dual boot, por favor, verifique a seção dicas.
Code: Select all
default 0
timeout 30
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
title=Gentoo
root (hd0,0)
kernel /boot/vmlinuz-2.4.20 ro root=/dev/hda2Uma pequena explicação sobre as opções que inserimos no arquivo.
a) Default 0
Esta opção informa ao grub que a opção padrão é a primeira opção do menu.
b) timeout 30
Quanto tempo, em segundos, o menu ficará disponível até que o sistema inicie automaticamente na opção padrão.
c) splashimage=(hd0,0)/boot/grub/splash.xpm.gz
Indica a localização da imagem de fundo do menu.
Obs.: observe que a partir deste ponto já estamos colocando a primeira opção do menu.
d) title=Gentoo
Título da opção.
e) root (hd0,0)
Fixa hd0,0 como dispositivo raiz (Note que hd0,0 NÃO É nossa partição raiz).
f) kernel /boot/vmlinuz-2.4.20 ro root=/dev/hda2
Aqui indicamos a localização do kernel (/boot/vmlinuz-2.4.20) passamos a opção "ro" para o kernel do sistema e indicamos que /dev/hda2 é a partição raiz.
Salve o arquivo e reinicie o sistema.
C - Dicas
1.0 - Caso você tenha um outro sistema (Linux, Windows, OS/2, etc) neste computador não se esqueça de fazer um backup dos seus arquivos mais importantes.
1.2 - Se a instalação falhar, você pode reiniciar a máquina, montar novamente as partições, efetuar o "chroot" e recomeçar da onde parou.
1.3 - Embora o guia oficial de instalação (http://www.gentoo.org/doc/en/gentoo-x86-install.xml) informe que é preciso carregar o módulo AIC7xxx para que algumas placas SCSI da Adaptec funcionem corretamente, eu não precisei fazer isso para que a minha placa 29160LP funcionasse corretamente. Idem para o HD.
1.4 - O kernel vanilla-sources é considerado mais estável que o gentoo-sources, porém é mais lento.
1.5 - Caso você venha a ter problemas com o grub, visite:
http://www.linuxclube.com/tutoriais/dow ... ?tut_id=72
1.6 - Você pode obter ajuda sobre o Gentoo nos canais: #gentoo (em inglês) e #gentoo-pt (português) na rede irc.freenode.net.
1.7 - No caso da partição raiz (/) convém mencionar que 2Gb é uma quantidade espaço extremamente pequena. O Gentoo é uma distro para a
qual os pacotes são compilados antes de instalar, e isso consome bastante espaço em disco.
1.8 - Utilizar uma partição em separado para o home (/home) não é obrigatório, mas extremamente recomendado, devido a maior segurança, possibilidade de compartilhar o mesmo home com outras instalações do Linux no mesmo micro, etc.
1.9 - Se você quer configurar o seu sistema para trabalhar em dual boot (windows), você pode criar uma entrada semelhante a essa, grub.conf, substituindo aqui, pela respectiva configuração de seu computador.
Code: Select all
title=Gentoo
root (hd1,0)
kernel (hd1,0)/boot/vmlinuz-2.4.20 ro root=/dev/hdb2
title=Microsoft Windows
unhide (hd0,0)
rootnoverify (hd0,0)
chainloader +1
makeactive
boot





