Gentoo Linux hppa Handbook: Installing Gentoo
Introdução
Bem-vindo
Em primeiro lugar, bem-vindo ao Gentoo. Você está prestes a entrar em um mundo de opções e performance. O Gentoo é todo sobre opções. Quando você estiver instalando o Gentoo isso é deixado claro muitas vezes -- os usuários podem escolher quanto do sistema querem compilar eles mesmos, como instalar o Gentoo, qual sistema de log usar, etc.
Openness
Gentoo's premier tools are built from simple programming languages. Portage, Gentoo's package maintenance system, is written in Python. Ebuilds, which provide package definitions for Portage are written in bash. Our users are encouraged to review, modify, and enhance the source code for all parts of Gentoo.
By default, packages are only patched when necessary to fix bugs or provide interoperability within Gentoo. They are installed to the system by compiling source code provided by upstream projects into binary format (although support for precompiled binary packages is included too). Configuring Gentoo happens through text files.
For the above reasons and others: openness is built-in as a design principal.
Choice
O Gentoo é uma distribuição veloz e moderna com um projeto limpo e flexível. O Gentoo é construído em torno de um ecossistema de software livre e não esconde de seus usuários o que está "sob o capô do motor". O Portage, o sistema de gerenciamento de pacotes utilizado pelo Gentoo, é escrito em Python, o que significa que o usuário pode facilmente ver e modificar o código fonte. O sistema de pacotes do Gentoo usa código fonte (mas o suporte para pacotes pré-compilados também é incluído) e a configuração do Gentoo é feita através de arquivos texto comuns. Em outras palavras, tudo acontece de forma muito clara e aberta.
When installing Gentoo, choice is made clear throughout the Handbook. System administrators can choose two fully supported init systems (Gentoo's own OpenRC and Freedesktop.org's systemd), partition structure for storage disk(s), what file systems to use on the disk(s), a target system profile, remove or add features on a global (system-wide) or package specific level via USE flags, bootloader, network management utility, and much, much more.
As a development philosophy, Gentoo's authors try to avoid forcing users onto a specific system profile or desktop environment. If something is offered in the GNU/Linux ecosystem, it's likely available in Gentoo. If not, then we'd love to see it so. For new package requests please file a bug report or create your own ebuild repository.
Power
Being a source-based operating system allows Gentoo to be ported onto new computer instruction set architectures and also allows all installed packages to be tuned. This strength surfaces another Gentoo design principal: power.
A system administrator who has successfully installed and customized Gentoo has compiled a tailored operating system from source code. The entire operating system can be tuned at a binary level via the mechanisms included in Portage's make.conf file. If so desired, adjustments can be made on a per-package basis, or a package group basis. In fact, entire sets of functionality can be added or removed using USE flags.
É muito importante que todos entendam que são as escolhas que movem o Gentoo. Nós tentamos não forçar os usuários em nada que eles não gostam. Se alguém pensa ao contrário, por favor, reporte o bug.
Como a instalação é estruturada
A instalação do Gentoo pode ser vista como um procedimento de 10 passos, correspondendo ao conjunto dos próximos capítulos. Cada passo resulta em um certo estado:
Passo | Resultado |
---|---|
1 | O usuário está em um ambiente pronto para instalar o Gentoo |
2 | A conexão com a Internet está pronta para instalar o Gentoo |
3 | Os discos rígidos estão inicializados para receber a instalação do Gentoo |
4 | O ambiente de instalação está preparado e o usuário pronto para fazer chroot no novo ambiente |
5 | Os pacotes básicos, que são os mesmos em qualquer instalação do Gentoo, estão instalados |
6 | O kernel Linux está instalado |
7 | A maior parte dos arquivos de configuração do sistema Gentoo foram criados |
8 | As ferramentas necessárias do sistema estão instaladas |
9 | O gerenciador de boot adequado foi instalado e configurado |
10 | O recém instalado ambiente do Gentoo Linux está pronto para ser explorado. |
Sempre que é apresentada uma escolha a ser feita, o manual tentará explicar quais são os prós e contras de cada escolha, Apesar do texto continuar a partir de uma escolha default (identificada com "Default: " no título), as outras possibilidades serão também documentadas (marcadas como "Alternativa: " no título). Não pense que a escolha default é a recomendada pelo Gentoo. É apenas o que o Gentoo acredita que a maioria dos usuários irá usar.
Às vezes um passo opcional pode ser seguido. Tais passos são marcados com "Opcional: " e são, dessa forma, não necessários para instalar o Gentoo. Entretanto, alguns passos opcionais são dependentes de alguma escolha previamente feita. As instruções informarão ao leitor quando isso acontecer, tanto quando a decisão for feita e logo antes do passo opcional ser descrito.
Opções de Instalação do Gentoo
O Gentoo pode ser instalado de muitas maneiras. Ele pode ser baixado e instalado a partir de uma da mídias oficiais de instalação como as nossas imagens ISO inicializaveis. A mídia de instalação pode ser colocada em um pendrive ou acessada via boot pela rede. Como alternativa, o Gentoo pode ser instalado de uma mídia não oficial como uma distribuição já instalada ou um disco de boot não-Gentoo (como o Knoppix).
Este documento cobre a instalação usando a mídia de instalação oficial do Gentoo ou, em certos casos, netbooting.
Para ajuda com outras abordagens de instalação, incluindo o uso de mídias não-Gentoo, por favor leia o Guia de instalação alternativa.
Também provemos o documento Dicas & truques de instalação do Gentoo que pode ser de utilidade ler também.
Problemas
Se for encontrado um problema na instalação (ou na documentação de instalação), por favor visite nosso sistema de rastreamento de bugs e verifique se é um problema já conhecido. Se não for, por favor, crie um relatório do bug para o problema de modo que possamos resolvê-lo. Não tenha medo dos desenvolvedores para os quais os bugs são designados -- eles (geralmente) não comem pessoas.
Apesar deste documento ser específico para uma arquitetura, ele pode conter referências para outras arquiteturas também, pois grande parte do Manual do Gentoo usa um texto comum para todas as arquiteturas (a fim de evitar duplicação de esforços). Algumas referências foram mantidas ao mínimo, para evitar confusão.
Se houver alguma incerteza sobre um problema ser ou não um problema do usuário (algum erro cometido apesar de ter lido a documentação cuidadosamente) ou um problema do software (algum problema causado por nós, apesar de termos testado a instalação/documentação cuidadosamente) todos são bem-vindos ao canal #gentoo (webchat) no irc.libera.chat. É claro que todos são bem-vindos de qualquer forma uma vez que o canal de bate-papo abrange todo espectro do Gentoo.
Falando nisso, se houver qualquer questão adicional sobre o Gentoo, cheque o artigo Perguntas Frequentemente Feitas (FAQs). Também há FAQs nos Fóruns do Gentoo.
Requisitos de Hardware
Antes de começar, listamos os requisitos de hardware necessários para instalar o Gentoo em uma máquina hppa:
Uma lista do hardware suportado pode ser encontrada no site da equipe PA. Informações adicionais sobre o sistema podem ser procuradas no Banco de Dados de Hardware Parisc-Linux e na lista de processadores em www.openpa.net.
É importante saber se o sistema usa PA-RISC 1.1 ou 2.0. Cheque os links acima em caso de dúvida.
Memória | 64 MB |
---|---|
Espaço em disco | 1,5 GB (excluindo área de swap) |
Área de swap | Pelo menos 256 MB |
Mídia de instalação do Gentoo Linux
It is okay to use other, non-Gentoo installation media, although official media is recommended. Gentoo installation media ensures the necessary tools are included in the live operating system environment. When using non-Gentoo media, skip to Preparing the disks.
CD de instalação mínima
O CD de instalação mínima do Gentoo é uma imagem inicializavel: um ambiente Gentoo independente. Ele permite ao usuário dar boot no Linux a partir do CD ou outra mídia de instalação. Durante o processo de boot o hardware é detectado e os drivers apropriados são carregados. A imagem é mantida pelos desenvolvedores do Gentoo e permite a qualquer um instalar o Gentoo desde que uma conexão ativa com a Internet esteja disponível.
O CD de instalação mínima é chamado install-hppa-minimal-<release>.iso.
O LiveDVD ocasional do Gentoo
Ocasionalmente, uma imagem DVD especial é criada e pode ser utilizada para instalar o Gentoo. As instruções nesse capítulo tem como alvo o CD de Instalação Mínima, então elas podem ser um pouco diferentes quando iniciadas pelo LiveDVD. Entretanto, o LiveDVD (ou qualquer outro ambiente Linux inicializavel) suporta obter um prompt do root apenas executando sudo su - ou sudo -i em um terminal.
O que são os stages então?
Um arquivo tar stage3 é um arquivo contendo um perfil específico do ambiente mínimo do Gentoo. Os Stage3 tarballs são adequados para dar continuidade à instalação do Gentoo usando as instruções deste manual. Anteriormente, o Manual do Gentoo descrevia a instalação usando um dos três arquivos tar de stage. O Gentoo não oferece mais os tarballs do stage1 e stage2 para download já que estes são principalmente para uso interno e para inicializar o Gentoo em novas arquiteturas.
Arquivos tar do stage3 podem ser baixados de releases/hppa/autobuilds/ em qualquer um dos espelhos oficiais do Gentoo. Arquivos de stage são atualizados frequentemente e não são fornecidos nas imagens de instalação oficial.
Baixando
Obtendo a mídia
A mídia padrão de instalação que o Gentoo Linux usa são os "CDs mínimos de instalação", que contém um ambiente do Gentoo Linux inicializável e bem pequeno. Esse ambiente contém todas as ferramentas necessárias para instalar o Gentoo. As imagens de CD em si podem ser baixadas da página de downloads (método recomendado) ou manualmente selecionando a localização do arquivo ISO em um dos muitos espelhos disponíveis.
Se baixar de um dos espelhos, os CDs mínimos de instalação podem ser encontrados da seguinte forma:
- Vá para o diretório releases/
- Selecione o diretório da arquitetura destino relevante, tal como hppa/.
- Selecione o diretório autobuilds/
- Para as arquiteturas amd64 e x86, selecione ou o diretório current-install-amd64-minimal/ ou current-install-x86-minimal/ (respectivamente). Para todas as outras arquiteturas, selecione o diretório current-iso/.
Algumas arquiteturas tais como arm, mips e s390 não têm disponíveis CDs mínimos de instalação. No momento, o Projeto de Engenharia de Lançamentos do Gentoo não tem suporte para a criação de arquivos .iso para essas arquiteturas.
Dentro desse local, o arquivo da mídia de instalação é o arquivo com o sufixo .iso. Por exemplo, observe a listagem abaixo:
[DIR] hardened/ 05-Dec-2014 01:42 -
[ ] install-hppa-minimal-20141204.iso 04-Dec-2014 21:04 208M
[ ] install-hppa-minimal-20141204.iso.CONTENTS 04-Dec-2014 21:04 3.0K
[ ] install-hppa-minimal-20141204.iso.DIGESTS 04-Dec-2014 21:04 740
[TXT] install-hppa-minimal-20141204.iso.DIGESTS.asc 05-Dec-2014 01:42 1.6K
[ ] stage3-hppa-20141204.tar.bz2 04-Dec-2014 21:04 198M
[ ] stage3-hppa-20141204.tar.bz2.CONTENTS 04-Dec-2014 21:04 4.6M
[ ] stage3-hppa-20141204.tar.bz2.DIGESTS 04-Dec-2014 21:04 720
[TXT] stage3-hppa-20141204.tar.bz2.DIGESTS.asc 05-Dec-2014 01:42 1.5K
No exemplo acima, o arquivo install-hppa-minimal-20141204.iso é o CD de instalação mínima. Mas, como podemos ver, existem outros arquivos relacionados:
- Um arquivo .CONTENTS que é um arquivo texto com a lista de todos os arquivos contidas na mídia de instalação. Esse arquivo pode ser útil para verificar se um firmware ou driver em particular está disponível na mídia de instalação antes de baixá-lo.
- Um arquivo .DIGESTS que contém o hash do arquivo ISO em si, em vários formatos de hash/algorítmos. Esse arquivo pode ser usado para verificar se o ISO baixado foi corrompido ou não.
- Um arquivo .DIGESTS.asc que contém não apenas contém o hash do arquivo ISO (como o arquivo .DIGESTS), mas também uma assinatura criptográfica desse arquivo. Isso pode ser usado para tanto verificar se o arquivo baixado foi corrompido ou não, como também verificar se o ISO baixado é realmente fornecido pela equipe de Engenharia de Lançamentos do Gentoo e que não foi adulterado.
Ignore os outros arquivos disponíveis por enquanto - eles serão vistos quando a instalação avançar. Baixe o arquivo .iso e, se quiser verificar o download, baixe o arquivo .DIGESTS.asc do .iso também. O arquivo .CONTENTS não precisa ser baixado uma vez que as instruções de instalação não farão mais referência a esse arquivo, e o arquivo .DIGESTS deve conter as mesmas informações que o arquivo .DIGESTS.asc, exceto que esse último também contém uma assinatura no seu início.
Verificando os arquivos baixados
Este é um passo adicional e não é necessárioa para a instalação do Gentoo Linux. Entretanto, ele é recomendado uma vez que assegura que o arquivo baixado não foi corrompido e que realmente foi provido pela equipe de Infraestrutura do Gentoo.
- Primeiro a assinatura criptográfica é validade para se ter certeza que o arquivo de instalação é fornecido pela equipe de Engenharia de Lançamentos do Gentoo
- Se a assinatura criptográfica é válida, então o checksum é verificado para se comprovar que o arquivo baixado não foi corrompido
Verificando no Microsoft Windows
Para primeiro verificar a assinatura criptográfica, ferramentas tais como o GPG4Win podem ser usadas. Após a instalação, as chaves públicas da equipe de Engenharia de Lançamento do Gentoo precisam ser importadas. A lista das chaves está disponível na página de assinaturas. Uma vez importadas, o usuário pode então verificar a assinatura do arquivo .DIGESTS.asc.
Verificando no Linux
Em um sistema Linux, o método mais comum de verificar uma assinatura criptográfica é usando o software app-crypt/gnupg. Com esse pacote instalado, o seguinte comando pode ser usado para verificar a assinatura criptográfica do arquivo .DIGESTS.asc.
Primeiro, baixe o conjunto correto de chaves disponibilizadas na página de assinaturas:
user $
gpg --keyserver hkps://keys.gentoo.org --recv-keys 0xBB572E0E2D182910
gpg: requesting key 0xBB572E0E2D182910 from hkp server pool.sks-keyservers.net gpg: key 0xBB572E0E2D182910: "Gentoo Linux Release Engineering (Automated Weekly Release Key) <releng@gentoo.org>" 1 new signature gpg: 3 marginal(s) needed, 1 complete(s) needed, classic trust model gpg: depth: 0 valid: 3 signed: 20 trust: 0-, 0q, 0n, 0m, 0f, 3u gpg: depth: 1 valid: 20 signed: 12 trust: 9-, 0q, 0n, 9m, 2f, 0u gpg: next trustdb check due at 2018-09-15 gpg: Total number processed: 1 gpg: new signatures: 1
Como alternativa você pode usar no lugar o WKD para baixar a chave:
user $
wget -O- https://gentoo.org/.well-known/openpgpkey/hu/wtktzo4gyuhzu8a4z5fdj3fgmr1u6tob?l=releng | gpg --import
--2019-04-19 20:46:32-- https://gentoo.org/.well-known/openpgpkey/hu/wtktzo4gyuhzu8a4z5fdj3fgmr1u6tob?l=releng Resolving gentoo.org (gentoo.org)... 89.16.167.134 Connecting to gentoo.org (gentoo.org)|89.16.167.134|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 35444 (35K) [application/octet-stream] Saving to: 'STDOUT' 0K .......... .......... .......... .... 100% 11.9M=0.003s 2019-04-19 20:46:32 (11.9 MB/s) - written to stdout [35444/35444] gpg: key 9E6438C817072058: 84 signatures not checked due to missing keys gpg: /tmp/test2/trustdb.gpg: trustdb created gpg: key 9E6438C817072058: public key "Gentoo Linux Release Engineering (Gentoo Linux Release Signing Key) <releng@gentoo.org>" imported gpg: key BB572E0E2D182910: 12 signatures not checked due to missing keys gpg: key BB572E0E2D182910: 1 bad signature gpg: key BB572E0E2D182910: public key "Gentoo Linux Release Engineering (Automated Weekly Release Key) <releng@gentoo.org>" imported gpg: Total number processed: 2 gpg: imported: 2 gpg: no ultimately trusted keys found
Or if using official Gentoo release media, import the key from /usr/share/openpgp-keys/gentoo-release.asc (provided by sec-keys/openpgp-keys-gentoo-release):
user $
gpg --import /usr/share/openpgp-keys/gentoo-release.asc
gpg: directory '/home/larry/.gnupg' created gpg: keybox '/home/larry/.gnupg/pubring.kbx' created gpg: key DB6B8C1F96D8BF6D: 2 signatures not checked due to missing keys gpg: /home/larry/.gnupg/trustdb.gpg: trustdb created gpg: key DB6B8C1F96D8BF6D: public key "Gentoo ebuild repository signing key (Automated Signing Key) <infrastructure@gentoo.org>" imported gpg: key 9E6438C817072058: 3 signatures not checked due to missing keys gpg: key 9E6438C817072058: public key "Gentoo Linux Release Engineering (Gentoo Linux Release Signing Key) <releng@gentoo.org>" imported gpg: key BB572E0E2D182910: 1 signature not checked due to a missing key gpg: key BB572E0E2D182910: public key "Gentoo Linux Release Engineering (Automated Weekly Release Key) <releng@gentoo.org>" imported gpg: key A13D0EF1914E7A72: 1 signature not checked due to a missing key gpg: key A13D0EF1914E7A72: public key "Gentoo repository mirrors (automated git signing key) <repomirrorci@gentoo.org>" imported gpg: Total number processed: 4 gpg: imported: 4 gpg: no ultimately trusted keys found
A seguir verifique a assinatura criptográfica do arquivo .DIGESTS.asc:
user $
gpg --verify install-hppa-minimal-20141204.iso.DIGESTS.asc
gpg: Signature made Fri 05 Dec 2014 02:42:44 AM CET gpg: using RSA key 0xBB572E0E2D182910 gpg: Good signature from "Gentoo Linux Release Engineering (Automated Weekly Release Key) <releng@gentoo.org>" [unknown] gpg: WARNING: This key is not certified with a trusted signature! gpg: There is no indication that the signature belongs to the owner. Primary key fingerprint: 13EB BDBE DE7A 1277 5DFD B1BA BB57 2E0E 2D18 2910
Para estar absolutamente certo de que tudo é validado, verifique a impressão digital (fingerprint) mostrada com a impressão digital da página de assinaturas do Gentoo.
Gravando
Claro, apenas com o arquivo ISO baixado, a instalação do Gentoo Linux não pode ser iniciada. O arquivo ISO precisa ser gravado em um CD para boot, de forma que seu "conteúdo" é gravado no CD, não o arquivo em si. Abaixo são descritos alguns métodos mais comuns - um conjunto mais elaborado de instruções pode ser encontrado em nossa FAQ em como gravar um arquivo ISO.
Gravando com o Microsoft Windows 7 ou superior
Versões do Microsoft Windows 7 e superiores podem ser utilizadas para gravar e montar uma imagem ISO para uma mídia óptica sem precisar de programas de terceiros. Simplesmente insira um disco gravavél, navegue até o arquivo ISO baixado, clique com o botão direito no arquivo no Windows Explorer, e selecione "Gravar imagem no disco".
Gravando com o Linux
O cdrecord, que é um utilitário do pacote app-cdr/cdrtools pode gravar imagens ISO no Linux.
Para gravar o arquivo ISO no CD no dispositivo /dev/sr0 (esse é o primeiro dispositivo de CD do sistema - substitua pelo dispositivo correto se necessário):
user $
cdrecord dev=/dev/sr0 install-hppa-minimal-20141204.iso
Usuários que preferem uma interface gráfica podem usar o K3B, parte do pacote kde-apps/k3b. No K3B, vá para Tools e use Burn CD Image.
Inicializando
Inicializando pelo CD de instalação
Se ocorrerem problemas quando inicializando pelo CD de instalação ou qualquer outra mídia, por favor leia o PA-RISC Linux Boot HOWTO.
Dê boot no sistema HPPA. Durante o processo de boot, uma mensagem similar a seguinte deve aparecer:
'"`UNIQ--pre-00000006-QINU`"'
Quando essa mensagem aparecer, mantenha pressionada a tecla Esc até que apareça um menu com opções. Isso pode demorar algum tempo, tenha paciência. Por default, isso deve fazer entrar o console BOOT_ADMIN. Se um menu com opções é mostrado, escolha Enter Boot Administration mode para entrar no console BOOT_ADMIN. Isso deve resultar em um sinal de pronto '>'.
Insira o CD de instalação do Gentoo no CD-ROM. Se o SCSI ID do drive de CD-ROM não for conhecido, a estação PA-RISC irá procurar por ele se for usado o comando search
.
>
search
Searching for Devices with Bootable Media. To terminate search, please press and hold the ESCAPE key.
A estação PA-RISC irá mostrar todas as mídias de boot disponíveis. Este é um exemplo de resultado do comando:
'"`UNIQ--pre-0000000A-QINU`"'
Para dar boot de um CD-ROM, é necessário usar o Device Path correspondente. No caso, para dar boot pelo TOSHIBA CD-ROM do exemplo acima, digite o seguinte comando:
>
boot scsi.5.0 ipl
Trying scsi.5.0
O comando ipl ("Initial Program Loader") diz ao palo ("PA-RISC boot LOader") para entrar em modo interativo. Isso permite mudar, por exemplo, os parâmetros de boot do kernel.
Quando o boot for concluído com sucesso, o palo iniciará em modo interativo:
'"`UNIQ--pre-0000000E-QINU`"'
Esses parâmetros são adequados para a maioria dos casos.
Se forem necessários recursos adicionais, adicione as palavras-chave apropriadas no fim da linha de comando. Para adicionar uma palavra-chave edite o último campo, adicione um espaço e digite a palavra-chave. As únicas palavras-chave implementadas por enquanto são cdcache, que diz ao CD de instalação para se carregar na RAM, permitindo ejetar o CD, e noload=modulo1[,modulo[,...]] que permite desabilitar explicitamente módulos específicos.
(or 'b' to boot with this command line)?
9
console=ttyS0 hdb=scsi
Agora que os parâmetros de boot do kernel estão configurados, dê boot nele.
(or 'b' to boot with this command line)?
b
Isso deve resultar em um pronto de root ("#") no console atual. É possível alternar para outros consoles pressionando Alt+F2, Alt+F3 e Alt+F4. Retorne ao primeiro console pressionando Alt+F1.
Configuração extra de hardware
Quando a mídia de instalação inicia o sistema, ela tenta detectar todos os dispositivos de hardware e carrega os módulos do kernel apropriados para suportar o hardware. Na grande maioria dos casos, ele faz um ótimo trabalho. Entretanto, em alguns casos ele pode não carregar automaticamente os módulos do kernel que o sistema precisa. Se a auto-detecção PCI não encontrar algum hardware do sistema, os módulos apropriados do kernel precisam ser carregados manualmente.
No exemplo a seguir o módulo 8139too (que dá suporte a certos tipos de interfaces de rede) é carregado:
root #
modprobe 8139too
Opcional: Contas de usuários
Se outras pessoas precisarem de acesso ao ambiente de instalação, ou se houver necessidade de executar comandos como usuário não-root na mídia de instalação (tal como conversar usando o irssi (cliente IRC) sem privilégios de root), então uma conta de usuário adicional precisa ser criada e a senha do root trocada para uma senha forte.
Para trocar a senha do root, use o utilitário passwd:
root #
passwd
New password: (Digite a nova senha) Re-enter password: (Re-digite a nova senha)
Para criar uma conta, primeira entre com suas credenciais, seguida da senha da conta. Os comandos useradd e passwd são utilizados para essas tarefas.
No exemplo a seguir, um usuário chamado john é criado:
root #
useradd -m -G users john
root #
passwd john
New password: (Digite a senha de john) Re-enter password: (Re-digite a senha de john)
Para trocar do usuário atual (root) para a conta recém-criada, use o comando su:
root #
su - john
Opcional: Vendo a documentação enquanto instala
TTYs
Para ver o manual do Gentoo durante a instalação, primeiro crie uma conta de usuário conforme descrito acima. Então tecle Alt + F2 para ir a outro terminal.
Durante a instalação, o comando links pode ser usado para navegar pelo manual do Gentoo - logicamente apenas a partir do momento em que a conexão com a Internet estiver funcionando.
user $
links https://wiki.gentoo.org/wiki/Handbook:HPPA/pt-br
Para voltar ao terminal de origem, tecle Alt + F1.
When booted to the Gentoo minimal or Gentoo admin environments, seven TTYs will be available. They can be switched by pressing Alt then a function key between F1-F7. It can be useful to switch to a new terminal when waiting for job to complete, to open documentation, etc.
GNU Screen
O utilitário GNU Screen é instalado por default na mídia de instalação oficial do Gentoo. Pode ser mais eficiente para o usuário mais avançado usar o screen para ver as instruções de instalação usando painéis divididos do screen em vez do método de múltiplos TTYs mencionado acima.
Opcional: Iniciar o processo SSH
Para permitir que outros usuários acessem o sistema durante a instalação (talvez para ajudar na instalação, ou mesmo instalar remotamente), uma conta de usuário precisa ser criada (como documentado anteriormente) e o processo ssh precisa ser iniciado.
Para disparar o processo SSH em um sistema de inicialização OpenRC, execute o seguinte comando:
root #
rc-service sshd start
Se usuários se logarem ao sistema remotamente, eles verão uma mensagem dizendo que a chave do hospedeiro (host key) precisa ser confirmada (através do que é chamada impressão digital (fingerprint)). Esse comportamento é típico e é esperado na conexão inicial em um servidor SSH. Entretanto, mais tarde, quando o sistema estiver instalado e alguém acessa remotamente o sistema recém-instalado, o cliente SSH vai avisar que a chave do hospedeiro foi modificada. Isso acontece porque agora o usuário acessa - do ponto de vista do SSH - um servidor diferente (a saber, o sistema Gentoo recém-instalado em vez do ambiente de instalação sendo usado). Siga as instruções na tela para trocar a chave do hospedeiro n sistema cliente.
Para ser capaz de usar o sshd, a rede deve estar funcionando apropriadamente. Continue com a instalação em Configurando a rede.
Detecção automática de rede
Talvez já esteja funcionando?
Se o sistema estiver conectado a uma rede Ethernet com um servidor DHCP, é muito provável que a configuração de rede já tenha sido feita automaticamente. Se for o caso, então os muitos comandos incluidos na mídia de instalação que dependem da rede tais como ssh, scp, ping, irssi, wget e links, entre outros, funcionarão imediatamente.
Determine os nomes das interfaces
comando ifconfig
Se a rede já foi configurada, o comando ifconfig deve listar uma ou mais interfaces de rede (além da lo). No exemplo abaixo, é mostrada a interface eth0:
root #
ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:BA:8F:61:7A inet addr:192.168.0.2 Bcast:192.168.0.255 Mask:255.255.255.0 inet6 addr: fe80::50:ba8f:617a/10 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1498792 errors:0 dropped:0 overruns:0 frame:0 TX packets:1284980 errors:0 dropped:0 overruns:0 carrier:0 collisions:1984 txqueuelen:100 RX bytes:485691215 (463.1 Mb) TX bytes:123951388 (118.2 Mb) Interrupt:11 Base address:0xe800
Como resultado de mudanças em favor de nomes de interfaces de rede predizíveis, o nome da interface do sistema pode ser bem diferente do antigo nome eth0. Mídias recentes de instalação pode mostrar nomes de interface de rede como eno0, ens1 ou enp5s0. Procure o nome da interface na saída do comando ifconfig que tem um endereço IP relacionado à rede local.
Se não for mostrada nenhuma interface quando o comando padrão ifconfig for usado, tente usar o mesmo comando com a opção
-a
. Essa opção força o comando a mostrar todas as interfaces de rede detectadas pelo sistema independentemente de estarem em estado ativo ou inativo. Se o ifconfig -a não mostrar nenhum resultado então o hardware está com problema ou o driver da interface não foi carregado no kernel. Ambas as situações estão além do escopo deste manual. Contate o canal #gentoo (webchat) para suporte.Comando ip
Como alternativa ao ifconfig, o comando ip pode ser usado para se determinar nomes de interfaces. O exemplo a seguir mostra a saída de ip addr (de um outro sistema, assim a informação mostrada é diferente do exemplo anterior):
root #
ip addr
2: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether e8:40:f2:ac:25:7a brd ff:ff:ff:ff:ff:ff inet 10.0.20.77/22 brd 10.0.23.255 scope global eno1 valid_lft forever preferred_lft forever inet6 fe80::ea40:f2ff:feac:257a/64 scope link valid_lft forever preferred_lft forever
A saída acima pode ser um pouco mais complicada de ler que a alternativa. O nome da interface no exemplo acima segue imediatamente seu número; no caso, eno1.
No restante deste documento, o manual assumirá que a interface de rede é chamada eth0.
Opcional: Configuração de proxy
Se a Internet é acessada através de um proxy, então é necessário entrar com as informações do proxy durante a instalação. É muito fácil definir um proxy: apenas defina uma variável que contém as informações do servidor proxy.
Certain text-mode web browsers such as links can also make use of environment variables that define web proxy settings; in particular for the HTTPS access it also will require the https_proxy environment variable to be defined. While Portage will be influenced without passing extra run time parameters during invocation, links will require proxy settings to be set.
Na maioria dos casos, é suficiente definir as variáveis usando o nome do servidor. Como exemplo, vamos assumir que o proxy é chamado proxy.gentoo.org e a porta é 8080.
The
#
symbol in the following commands is a comment. It has een added for clarity only and does not need to be typed when entering the commands.Para configurar um proxy HTTP (para tráfego HTTP e HTTPS):
root #
export http_proxy="http://proxy.gentoo.org:8080"
Se o proxy requer um nome de usuário e senha, use a seguinte sintaxe para a variável:
http://usuário:senha@proxy.gentoo.org:8080
Start links using the following parameters for proxy support:
user $
links -http-proxy ${http_proxy} -https-proxy ${https_proxy}
Para configurar um proxy FTP:
root #
export ftp_proxy="ftp://proxy.gentoo.org:8080"
Start links using the following parameter for a FTP proxy:
user $
links -ftp-proxy ${ftp_proxy}
Para configurar um proxy rsync:
root #
export RSYNC_PROXY="proxy.gentoo.org:8080"
Testando a rede
Tente "pingar" o servidor DNS do seu provedor (encontrado em /etc/resolv.conf) e um site web de sua escolha. Isso certifica que a rede está funcionando adequadamente e que os pacotes de rede estão alcançando a rede, a resolução de nomes pelo DNS está funcionando corretamente etc.
root #
ping -c 3 www.gentoo.org
Se tudo funcionar, então o restante deste capítulo pode ser pulado para o próximo passo das instruções de instalação (Preparando os discos).
Configuração automática de rede
Se a rede não funcionar imediatamente, algumas mídias de instalação permitem ao usuário usar o net-setup (para redes regulares ou sem fio), pppoe-setup (para usuários de ADSL) ou pptp (para usuários de PPTP).
Se a mídia de instalação não incluir nenhuma dessas ferramentas, continue com a Configuração manual de rede.
- Usuários de Ethernet regular devem continuar Default: Usando o net-setup
- Usuários de ADSL devem continuar com Alternativa: Usando PPP
- Usuários de PPTP devem continuar com Alternativa: Usando PPTP
Default: Usando o net-setup
O modo mais simples de configurar a rede se ela não foi configurada automaticamente é executar o script net-setup:
root #
net-setup eth0
O net-setup irá fazer algumas perguntas sobre o ambiente de rede. Quando terminar, a conexão de rede deve funcionar. Teste a conexão de rede como descrito anteriormente. Se os testes derem certo, parabéns! Pule o resto desta seção e continue com Preparando os discos.
Se a rede ainda não funciona, continue com a Configuração manual de rede.
Alternativa: Usando PPP
Assumindo que é necessário o uso do PPPoE para se conectar à Internet, o CD de instalação (qualquer versão) tornou as coisas mais fáceis incluindo o ppp. Use o script pppoe-setup provido para configurar a conexão. Durante a configuração será perguntado o dispositivo que está conectado ao seu modem ADSL, o nome de usuário e senha, os IPs dos servidores DNS e se é necessário um firewall básico.
root #
pppoe-setup
root #
pppoe-start
Se alguma coisa der errado, verifique se o usuário e senha estão corretos olhando em etc/ppp/pap-secrets ou /etc/ppp/chap-secrets e certifique-se de estar usando o dispositivo Ethernet correto. Se o dispositivo Ethernet não existir, os módulos de rede apropriados precisam ser carregados. Nesse caso, continue em Configuração manual de rede pois lá é explicado como carregar os módulos de rede apropriados.
Se tudo estiver funcionando, prossiga com Preparando os discos.
Alternativa: Usando PPTP
Se for necessário suporte a PPTP, use pptpclient, que é provido pelos CDs de instalação. Mas primeiro certifique-se que a configuração está correta. Edite /etc/ppp/pap-secrets ou /etc/ppp/chap-secrets de modo que contenha a combinação correta de usuário e senha:
root #
nano -w /etc/ppp/chap-secrets
Depois ajuste o /etc/ppp/options.pptp se necessário:
root #
nano -w /etc/ppp/options.pptp
Quando tudo pronto, execute pptp (juntamente com as opções que não puderam ser incluídas em options.pptp) para conectar ao servidor:
root #
pptp <endereço ipv4 do servidor>
Agora continue com Preparando os discos.
Configuração manual de rede
Carregando os módulos de rede apropriados
Quando o CD de instalação inicializa, ele tenta detectar todos os dispositivos de hardware e carrega os módulos (drivers) do kernel necessários para suportar o hardware. Na vasta maioria dos casos, ele faz um ótimo trabalho. Em alguns casos, entretanto, ele pode não carregar os módulos necessários para se comunicar corretamente com o hardware de rede presente.
Se o net-setup ou o pppoe-setup falhou, então é possível que a placa de rede não foi encontrada imediatamente. Isso significa que o usuário pode precisar carregar os módulos do kernel manualmente.
Para saber quais módulos do kernel são providos para rede, use o comando ls:
root #
ls /lib/modules/`uname -r`/kernel/drivers/net
Se encontrar um driver para o dispositivo de rede, use modprobe para carregar o módulo do kernel. Por exemplo, para carregar o módulo pcnet32:
root #
modprobe pcnet32
Para checar se a placa de rede foi detectada, use ifconfig. Uma placa de rede quando detectada deve resultar em algo como (novamente, eth0 é apenas um exemplo):
root #
ifconfig eth0
eth0 Link encap:Ethernet HWaddr FE:FD:00:00:00:00 BROADCAST NOARP MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Se, entretanto, o seguinte erro for mostrado, a placa de rede não foi detectada:
root #
ifconfig eth0
eth0: error fetching interface information: Device not found
Os nomes das interfaces de rede disponíveis no sistema podem ser listados através do sistema de arquivos em /sys:
root #
ls /sys/class/net
dummy0 eth0 lo sit0 tap0 wlan0
No exemplo acima foram encontradas 6 interfaces. A eth0 é a mais provável de ser o adaptador Ethernet (com fio) enquanto o wlan0 é a interface sem fio.
Assumindo que a placa de rede foi detectada, tente novamente o net-setup ou pppoe-setup (que deve funcionar agora) mas, para o pessoal mais "hardcore", explicamos também como configurar a rede manualmente.
Selecione uma das seguintes seções baseado em sua configuração de rede:
- Usando DHCP para obtenção automática de IP
- Preparando para acesso sem fio sem for usada uma rede sem fio
- Entendendo a terminologia de rede explica o básico sobre uso de redes
- Usando ifconfig e route explica como configurar a rede manualmente
Usando DHCP
DHCP ("Dynamic Host Configuration Protocol" - Protocolo de Configuração Dinâmica de Host) torna possível obter informações de rede (endereço IP, máscara de rede, endereço de broadcast, servidores de nomes etc). Isso funciona apenas se houver um servidor DHCP na rede (ou se o provedor de Internet provê serviço DHCP). Para que uma interface de rede receba essa informação automaticamente, use dhcpcd:
root #
dhcpcd eth0
Alguns administradores de rede requerem que o nome de host e o nome de domínio providos pelo servidor DHCP sejam usados pelo sistema. Nesse caso, use:
root #
dhcpcd -HD eth0
Se isso funcionar (tente fazer ping para algum servidor da Internet, como o 8.8.8.8 do Google ou o 1.1.1.1 da Cloudflare), então tudo está configurado e pronto para continuar. Pule o resto desta seção e continue em Preparando os discos.
Preparando para acesso sem fio
O suporte ao comando iw pode ser específico da arquitetura. Se o comando não estiver disponível, verifique se o pacote net-wireless/iw está disponível para essa arquitetura. O comando iw estará indisponível até que o pacote net-wireless/iw esteja instalado.
Quando usar uma conexão sem fio (802.11), as configurações sem fio precisam ser feitas antes de qualquer coisa. Para ver as configurações atuais da placa usa-se o iw. Executando o iw deve aparecer algo como:
root #
iw dev wlp9s0 info
Interface wlp9s0 ifindex 3 wdev 0x1 addr 00:00:00:00:00:00 type managed wiphy 0 channel 11 (2462 MHz), width: 20 MHz (no HT), center1: 2462 MHz txpower 30.00 dBm
Para verificar a conexão atual:
root #
iw dev wlp9s0 link
Not connected.
ou
root #
iw dev wlp9s0 link
Connected to 00:00:00:00:00:00 (on wlp9s0) SSID: GentooNode freq: 2462 RX: 3279 bytes (25 packets) TX: 1049 bytes (7 packets) signal: -23 dBm tx bitrate: 1.0 MBit/s
Algumas interfaces sem fio podem ter o nome de interface tais como wlan0 ou ra0 em vez de eth0. Execute ip link para determinar o nome correto da interface.
Para a maioria dos usuários há apenas dois parâmetros necessários para a conexão, o ESSID (nome da rede sem fio) e, opcionalmente, a chave WEP.
- Primeiro, certifique-se que a interface está ativa:
root #
ip link set dev wlp9s0 up
- Para conexão com uma rede aberta de nome GentooNode:
root #
iw dev wlp9s0 connect -w GentooNode
- Para conexão usando uma chave WEP em hexadecimal, prefixe a chave com
d:
:
root #
iw dev wlp9s0 connect -w GentooNode key 0:d:1234123412341234abcd
- Para conexão usando uma chave WEP em ASCII:
root #
iw dev wlp9s0 connect -w GentooNode key 0:some-password
Se a rede sem fio estiver configurada com WPA ou WPA2, então é necessário usar o wpa_supplicant. Para mais informações sobre a configuração de rede sem fio no Gentoo Linux, por favor leia o capítulo sobre rede sem fio do Manual do Gentoo.
Verifique novamente a configuração da rede sem fio usando o iw dev wlp9s0 link. Uma vez que a rede sem fio estiver funcionando, prossiga com a configuração das opções de rede a nível de IP como descrita na próxima seção (Entendendo a terminologia de rede) ou use o comando net-setup como descrito anteriormente.
Entendendo a terminologia de rede
Se o endereço IP, endereço de broadcast, máscara de rede e servidores de nome forem conhecidos, pule esta subseção e prossiga com Usando o ifconfig e route.
Se tudo descrito acima falhar, a rede precisará ser configurada manualmente. Isso não é nada difícil. Entretanto, algum conhecimento de terminologia de redes e conceitos básicos podem ser necessários. Depois de ler esta seção, o usuário saberá o que é um gateway, para que serve a máscara de rede, como é formado um endereço de broadcast e porque os sistemas precisam de servidores de nomes.
Em uma rede, hosts são identificados pelo seu endereço IP (endereço de Protocolo Internet). Tal endereço é visto como uma combinação de quatro números entre 0 e 255. Bem, pelo menos quando usado o IPv4 (IP versão 4). Na realidade, um endereço IPv4 consiste de 32 bits (uns e zeros). Vejamos um exemplo:
Endereço IP (números): 192.168.0.2
Endereço IP (bits): 11000000 10101000 00000000 00000010
-------- -------- -------- --------
192 168 0 2
O sucessor do IPv4, o IPv6, usa 128 bits (uns e zeros). Nesta seção, o foco será em endereços IPv4.
Um endereço IP é único a um host no que se refere a todas as redes por ele acessíveis (isto é, cada host que alguém quiser alcançar deve ter um endereço IP único). De modo a distinguir entre hosts dentro e fora de uma rede, o endereço IP é dividido em duas partes: a parte de rede e a parte de host.
Essa separação é escrita usando a máscara de rede, uma sequência de uns seguida de uma sequência de zeros. A parte do endereço IP correspondente aos uns é a parte de rede, e a outra é a parte de host. Usualmente, a máscara de rede é escrita como um endereço IP.
Endereço IP: 192 168 0 2
11000000 10101000 00000000 00000010
Máscara de rede: 11111111 11111111 11111111 00000000
255 255 255 0
--------------------------+--------+
Rede Host
Ou seja, 192.168.0.14 é parte da mesma rede do exemplo, mas 192.168.1.2 não é.
O endereço de broadcast (difusão) é um endereço IP com a mesma parte de rede, mas apenas uns na parte de host. Todos os hosts na rede escutam por esse endereço IP. Ele é verdadeiramente destinado a difusão de pacotes.
Endereço IP: 192 168 0 2
11000000 10101000 00000000 00000010
Broadcast: 11000000 10101000 00000000 11111111
192 168 0 255
+--------------------------+--------+
Rede Host
Para ser capaz de navegar na Internet, cada computador na rede deve saber qual host compartilha a conexão com a Internet. Esse host é chamado gateway. Uma vez que ele é um host normal, ele tem um endereço IP normal (por exemplo, 192.168.0.1).
Dissemos anteriormente que todos os hosts tem seu próprio endereço IP. Para ser capaz de alcançar esse host usando um nome (em vez de um endereço IP), precisamos de um serviço que traduza um nome (tal como dev.gentoo.org) para um endereço IP (tal como 64.5.62.82). Tal serviço é chamado de "serviço de nomes". Para usar esse serviço, é necessário que os servidores de nomes (nameservers) sejam definidos em /etc/resolv.conf.
Em alguns casos, o gateway também serve como servidor de nomes. Senão, os servidores de nomes do provedor precisam ser inseridos nesse arquivo.
Resumindo, as seguintes informações são necessárias antes de continuar:
Item da rede | Exemplo |
---|---|
O endereço IP do sistema | 192.168.0.2 |
Máscara de rede | 255.255.255.0 |
Broadcast | 192.168.0.255 |
Gateway | 192.168.0.1 |
Servidor(es) de nomes | 195.130.130.5, 195.130.130.133 |
Usando o ifconfig e route
Usando as ferramentas do pacote sys-apps/net-tools, configurar manualmente a rede geralmente consiste em três passos:
- Atribua um endereço IP usando o comando ifconfig.
- Configure o roteamento e o gateway usando o comando route.
- Termine inserindo os servidores de nome validos no arquivo /etc/resolv.conf.
Para atribuir um endereço IP, são necessários o endereço IP, o endereço de broadcast e a máscara de rede. Depois execute o seguinte comando, substituindo ${IP_ADDR} pelo endereço IP correto, ${BROADCAST} com o endereço de broadcast correto e ${NETMASK} com a máscara de rede correta.
root #
ifconfig eth0 ${IP_ADDR} broadcast ${BROADCAST} netmask ${NETMASK} up
Para configurar o roteamento usando o comando route, substitua o valor dd${GATEWAY} pelo endereço de IP correto do gateway:
root #
route add default gw ${GATEWAY}
Agora abra o arquivo /etc/resolv.conf com um editor de texto:
root #
nano -w /etc/resolv.conf
Insira o(s) servidor(es) de nomes usando o padrão abaixo. Certifique-se de substituir ${NAMESERVER1} e ${NAMESERVER2} com os endereços de nomes apropriados. Mais de um endereço de nome pode ser adicionado:
/etc/resolv.conf
Modelo de /etc/resolv.confnameserver ${NAMESERVER1}
nameserver ${NAMESERVER2}
É isso. Agora teste a rede fazendo ping para algum servidor da Internet (como o 8.8.8.8 do Google ou o 1.1.1.1 da Cloudflare). Se funcionar, parabéns. Continue com Preparando os discos.
Introdução aos dispositivos de bloco
Dispositivos de bloco
Vamos dar uma boa olhada nos aspectos relacionados a discos do Gentoo Linux e do Linux em geral, incluindo dispositivos de bloco, partições e sistemas de arquivos Linux. Uma vez que os meandros dos discos forem compreendidos, serão configurados as partições e sistemas de arquivos para a instalação do Gentoo Linux.
Para começar, vamos dar uma olhada nos dispositivos de bloco. As unidades SCSI e Serial ATA são rotuladas pelo sistema como: /dev/sda, /dev/sdb, /dev/sdc, etc. Em maquinas modernas, os discos rígidos NVMe baseados em PCI Express são identificados como /dev/nvme0n1, /dev/nvme0n2, etc.
A tabela abaixo ajudará os leitores a determinar onde encontrar um certo tipo de dispositivo de bloco no sistema:
Tipos de dispositivo | Identificador de dispositivo padrão | Notas do editor e considerações |
---|---|---|
SATA, SAS, SCSI, ou USB flash | /dev/sda | Encontrados em hardware por volta de 2007 até os dias atuais, esses dispositivos são geralmente identificados no Linux dessa forma. Esses tipos de dispositivos podem ser conectados pelas entradas SATA, SCSI, USB como armazenamento em bloco. Por exemplo, a primeira partição do primeiro dispositivo SATA device é chamada de /dev/sda1. |
NVM Express (NVMe) | /dev/nvme0n1 | A mais recente tecnologia de disco rigido, NVMe drives são conectados via PCI Express bus e possuem a velocidade de transferência de blocos mais rápida do mercado. Sistemas por volta de 2014 e recentes possuem suporte para NVMe no hardware. A primeira partição no primeiro dispositivo NVMe é chamada de /dev/nvme0n1p1. |
MMC, eMMC, e SD | /dev/mmcblk0 | Dispositivos embutidos MMC, cartões SD, e outros tipos de cartões de memória podem ser uteis para armazenar dados. Dito isso, muitos sistemas talvez não permitam iniciar a partir desses tipos de dispositivo. É sugerido que não se use esses dispositivos para iniciar uma instalação do Linux; em vez disso, considere usá-los com o objetivo de transferir arquivos, no qual eles foram projetados. Alternativamente, eles podem ser úteis para backups de curto prazo. |
Os dispositivos de bloco acima representam uma interface abstrata para o disco. Programas de usuários podem usar esses dispositivos de bloco para interagir com o disco sem se preocupar se são SATA, SCSI, ou de outro tipo. O programa pode simplesmente endereçar o armazenamento do disco como um grupo de blocos de 4096-bytes (4K) contínuos e acessíveis aleatoriamente.
Partições e fatias (slices)
Embora seja possível em teoria usar o disco todo para abrigar um sistema Linux, isso, na prática, quase nunca é feito. Em vez disso, os dispositivos de blocos são divididos em dispositivos de blocos menores, mais gerenciáveis. Na maioria dos sistemas são chamados de partições. Outras arquiteturas usam uma técnica similar chamada "slices" (fatias).
Criando um esquema de particionamento
Quantas partições e de que tamanho?
O design do layout de partições é altamente dependente das demandas do sistema e do(s) sistema(s) de arquivos aplicados ao dispositivo. Caso exista muitos usuários, é aconselhável ter o /home/ em uma partição separada pois isso traz segurança e torna o backup e outros tipos de manutenção mais fáceis. Se o Gentoo estiver sendo instalado para ser um pequeno servidor de email, então o diretório /var/ deve ficar separado em uma outra partição pois todos os emails armazenados ficam no /var/. Servidores de jogos podem ter o /opt/ separado em uma outra partição, já que a maioria dos softwares do servidor são instalados lá. A razão dessas recomendações são similares à do diretório /home/: segurança, backups e manutenções.
In most situations on Gentoo, /usr and /var should be kept relatively large in size. /usr hosts the majority of applications available on the system and the Linux kernel sources (under /usr/src). By default, /var hosts the Gentoo ebuild repository (located at /var/db/repos/gentoo) which, depending on the file system, generally consumes around 650 MiB of disk space. This space estimate excludes the /var/cache/distfiles and /var/cache/binpkgs directories, which will gradually fill with source files and (optionally) binary packages respectively as they are added to the system.
A quantidade de partições e os seus tamanhos dependem muito de vários fatores que devem ser considerados para escolher a melhor opção para a circunstância. Separar as partições em volumes têm a seguinte vantagens:
- Escolha o sistema de arquivos de maior desempenho para cada partição ou volume.
- O sistema todo não ficará sem espaço se uma aplicação problemática encher todo o espaço de uma partição ou volume.
- Se necessário, a checagem do sistema de arquivos fica com o tempo reduzido, pois várias checagens podem ser feitas em paralelo (embora essa vantagem é mais percebida com múltiplos discos do que com múltiplas partições).
- A segurança pode ser aumentada montando algumas partições ou volumes como somente leitura,
nosuid
(bits setuid são ignorados),noexec
(bits de execução são ignorados), etc.
Contudo, múltiplas partições têm algumas desvantagens:
Há também o limite de 15 partições para SCSI e SATA, a menos que sejam utilizadas etiquetas GPT.
Installations that intend to use systemd as the service and init system must have the /usr directory available at boot, either as part of the root filesystem or mounted via an initramfs.
E o espaço de swap?
Não existe um valor perfeito para o espaço de swap. O propósito da partição de swap é prover armazenamento em disco ao kernel quando a memória interna (RAM) estiver acabando. Um espaço de swap permite ao kernel mover páginas de memória que provavelmente não serão necessárias tão logo para o disco (swap ou page-out), liberando memória na RAM para a tarefa atual. É claro que, se de repente essas páginas forem necessárias, elas serão trazidas de volta para a memória (page-in) o que irá demorar bem mais do que se fossem lidas direto na memória RAM (pois discos são muito lentos comparados com a memória interna).
Se o sistema não for executar aplicações que necessitem de muita memória ou se o sistema tiver uma grande quantidade de memória disponível, então provavelmente ele não vai precisar de muito espaço de swap. Porém, o espaço de swap é também usado para armazenar a memória inteira no caso de hibernação. Se o sistema for precisar de hibernação, então um espaço de swap maior será necessário, pelo menos do tamanho da memória RAM instalada no sistema.
Usando o fdisk no HPPA
Use o fdisk para criar as partições necessárias:
root #
fdisk /dev/sda
Máquinas HPPA usam tabelas de partição DOS padrão do PC. Para criar uma nova tabela de partições DOS use a tecla o.
Command (m for help):
o
Building a new DOS disklabel.
PALO (o carregador de boot do HPPA) precisa de uma partição especial para funcionar. Uma partição de pelo menos 16MB no início do disco precisa ser criada para ele. O tipo da partição deve ser f0 (Linux/PA-RISC boot).
Se isso não for feito e a instalação continuar sem uma partição especial PALO, o sistema eventualmente falhará ao reiniciar. E, também, se o disco for maior que 2GB, certifique-se que a partição de boot está nos primeiros 2GB do disco. O PALO não é capaz de ler um kernel além do limite de 2GB.
/etc/fstab
Um esquema simples de particionamento default'"`UNIQ--pre-0000002B-QINU`"'
No fdisk, esse layout de particionamento se parece com:
Command (m for help):
p
Disk /dev/sda: 4294 MB, 4294816768 bytes 133 heads, 62 sectors/track, 1017 cylinders Units = cylinders of 8246 * 512 = 4221952 bytes Device Boot Start End Blocks Id System /dev/sda1 1 8 32953 f0 Linux/PA-RISC boot /dev/sda2 9 20 49476 83 Linux /dev/sda3 21 70 206150 82 Linux swap /dev/sda4 71 1017 3904481 83 Linux
Criando sistemas de arquivos
If using an SSD or NVMe drive, please check if it needs a firmware upgrade. Some Intel SSDs in particular (600p and 6000p) require a firmware upgrade for critical bug fixes avoid data corruption induced by XFS I/O usage patterns (though not through any fault of the filesystem). smartctl can help check the model and firmware version.
Introdução
Agora que as partições foram corretamente criadas, é hora de criar um sistema de arquivos nelas. Na próxima seção os diversos sistemas de arquivos suportados pelo Linux são descritos. Leitores que já souberem qual sistema de arquivos irão usar podem continuar em Criando um sistema de arquivos em uma partição.
Sistemas de arquivos
Linux suporta dezenas de sistemas de arquivos. Alguns deles são só aconselháveis usar para fins específicos. Alguns são considerados mais estáveis na arquitetura hppa - é recomendado se informar sobre os sistemas de arquivos e o estado do suporte de cada um antes de selecionar algum mais experimental para partições importantes. Ext4 é o sistema de arquivo recomendado para todos os propósitos e para todas as plataformas. Abaixo está uma lista não exaustiva
- btrfs
- Um sistema de arquivos de próxima geração que provê vários recursos avançados como instantâneos (snapshots), autocorreção através de checksums, compressão transparente, subvolumes e RAID integrado. Kernels com versão anterior à 5.4.y não garantem segurança ao serem utilizados junto com btrfs em produção porque as correções de sérios problemas só estão presentes em versões mais recentes do branch LTS do kernel. Corrupção de sistema de arquivos são comuns em branches mais antigas do kernel, em qualquer outra versão anterior à 4.4.y é especialmente inseguro e propenso a corrupção. Corrupção de sistemas de arquivo são mais comuns em kernels mais antigos (anteriores à 5.4.y) quando a compressão de arquivos está habilitada. Funcionalidades como RAID 5/6 e quota groups são inseguros em todas as versões do btrfs. Além disso, o btrfs pode falhar contra intuitivamente nas operações de sistema de arquivos retornando ENOSPC quando o comando df reporta espaço livre devido a uma fragmentação interna (espaço livre fixado pelos chunks de DATA + SYSTEM, mas necessário em chunks de METADATA). Além disso, desde uma única referência de 4K até uma extensão de 128M dentro de um btrfs podem causar espaço livre indisponível para alocação. Isso também pode fazer com que o btrfs retorne ENOSPC quando o espaço livre é informado pelo comando df. Instalando o pacote sys-fs/btrfsmaintenance e configurando um script para executar periodicamente pode ajudar a reduzir a possibilidade do erro ENOSPC por rebalancear o btrfs, mas isso não elimina o risco de ENOSPC acontecer quando há espaço livre. Algumas workloads talvez nunca irão se deparar com o erro ENOSPC enquanto outras talvez irão. Se o risco de ENOSPC acontecer em produção for inaceitável, você deve usar algo diferente. Se estiver usando btrfs, certifique-se de evitar configurações conhecidas por terem problemas. Com exceção do ENOSPC, informações sobre os problemas presentes no btrfs nas branches mais recentes do kernel estão disponíveis em btrfs wiki status page.
- ext4
- Inicialmente criado como uma derivação do ext3, o ext4 traz novos recursos, melhorias de desempenho e remoção de limites de tamanhos com mudanças moderadas no formato em disco. Ele pode cobrir volumes de até 1 EB com limite de tamanho de arquivo de 16TB. Em vez da alocação em bloco de mapa de bits clássico do ext2/3 o ext4 usa extensões, o que melhora o desempenho com arquivos grandes e reduz a fragmentação. O ext4 também provê algoritmos de alocação de blocos mais sofisticados (alocação atrasada e alocação múltipla de blocos), dando ao driver do sistema de arquivos mais formas de otimizar o layout dos dados no disco. O ext4 é o sistema de arquivos recomendado para propósitos gerais e plataformas em geral.
- f2fs
- O Sistema de Arquivos "Amigável a Flash" (Flash-Friendly File System) foi originalmente criado pela Samsung para uso com memória flash NAND. Ainda hoje (segundo trimestre de 2016), esse sistema de arquivos é considerado imaturo, mas é uma escolha decente quando o Gentoo estiver sendo instalado em cartões microSD, pendrives ou outro tipo de dispositivos baseados em flash.
- JFS
- Sistema de arquivos com journaling de alto desempenho da IBM. O JFS é um sistema de arquivos baseado em árvore B+ confiável e rápido, com bom desempenho em várias situações.
- XFS
- Um sistema de arquivos com metadados de journaling que vem com um robusto conjunto de recursos e é otimizado para escalabilidade. O XFS parece ser menos tolerante a vários problemas de hardware, mas foi continuamente atualizado incluindo funcionalidades modernas.
- VFAT
- Também conhecido como FAT32, é suportado pelo Linux, mas não tem suporte para configurações de permissões padrão UNIX. É mais utilizado para interoperabilidade/intercâmbio com outros sistemas operacionais (como Windows ou macOS) mas é também uma necessidade para alguns sistemas de firmware (como o UEFI). Usuários de sistemas UEFI vão precisar de uma EFI System Partition formatada em VFAT para inicializar o sistema.
- NTFS
- Este sistema de arquivos com "Nova Tecnologia" ("New Technology Filesystem") é o principal sistema de arquivos do Microsoft Windows desde o Windows NT 3.1. Assim como o vfat, ele não armazena permissões ou atributos estendidos necessários para correto funcionamento de um BSD ou Linux, por isso não deve ser usado como sistema de arquivos na maioria dos casos. Deve ser usado apenas para interoperabilidade/intercâmbio com sistemas Microsoft Windows (note a ênfase no apenas).
More extensive information on filesystems can be found in the community maintained Filesystem article.
Criando um sistema de arquivos em uma partição
Please make sure to emerge the relevant package for the chosen filesystem later on in the handbook, before rebooting at the end of the install process.
Para criar um sistema de arquivos em uma partição ou volume, há utilitários disponíveis para o usuário para cada possível sistema de arquivos. Clique no nome do sistema de arquivo na tabela abaixo para informações adicionais para cada sistema de arquivo:
Sistema de arquivo | Comando para criação | Disponível no CD mínimo? | Pacote |
---|---|---|---|
btrfs | mkfs.btrfs | Sim | sys-fs/btrfs-progs |
ext4 | mkfs.ext4 | Sim | sys-fs/e2fsprogs |
f2fs | mkfs.f2fs | Sim | sys-fs/f2fs-tools |
jfs | mkfs.jfs | Sim | sys-fs/jfsutils |
reiserfs | mkfs.reiserfs | Sim | sys-fs/reiserfsprogs |
xfs | mkfs.xfs | Sim | sys-fs/xfsprogs |
vfat | mkfs.vfat | Sim | sys-fs/dosfstools |
NTFS | mkfs.ntfs | Sim | sys-fs/ntfs3g |
Por exemplo, para ter a partição de sistema EFI (/dev/sda2) em FAT32 e a partição root (/dev/sda4) em ext4 como usado no exemplo de estrutura de partições, o seguintes comandos seriam usados:
root #
mkfs.vfat -F 32 /dev/sda2
root #
mkfs.ext4 /dev/sda4
Se usar o ext4 em uma partição pequena (menor que 8GB), então o sistema de arquivos deve ser criado com opções adequadas para reservar inodes suficientes. Isso pode ser resolvido usando um dos comandos a seguir, respectivamente:
root #
mkfs.ext4 -T small /dev/<dispositivo>
Isso normalmente irá quadruplicar o número de inodes de um dado sistema de arquivos já que o número de "bytes por inode" é reduzido de um para cada 16kB para um para cada 4kB.
Agora crie os sistemas de arquivos nas partições recém criadas (ou volumes lógicos):
Ativando a partição de swap
mkswap é o comando que é utilizado para inicializar as partições de swap:
root #
mkswap /dev/sda3
Para ativar a partição de swap, use swapon:
root #
swapon /dev/sda3
Crie e ative o swap com os comandos mostrados acima.
Montando a partição root
Usuários que estiverem usando uma media de instalação não-Gentoo vão precisar criar os pontos de montagem com o comando:
root #
mkdir --parents /mnt/gentoo
Agora que as partições foram inicializadas e contém um sistema de arquivos, é hora de montar essas partições. Use o comando mount, mas não se esqueça de criar os diretórios de montagem necessários para cada partição criada. Como exemplo montaremos as partições root e boot:
root #
mount /dev/sda4 /mnt/gentoo
Se o /tmp/ precisar ficar em uma partição separada, certifique-se de alterar suas permissões depois de montar:
root #
chmod 1777 /mnt/gentoo/tmp
Mais tarde nestas instruções o sistema de arquivos proc (uma interface virtual com o kernel) e também outros pseudo sistemas de arquivos serão montados. Mas antes nós instalamos os arquivos de instalação do Gentoo.
Instalando um arquivo tar de stage
Ajustando a data e a hora
Antes de instalar o Gentoo, é uma boa ideia ter certeza que a data e hora estão configuradas corretamente. Um relógio mal configurado pode levar a resultados estranhos: sistemas de arquivos básicos devem se extraídos com datas precisas. De fato, devido a vários sites e serviços usando comunicações encriptadas (SSL/TLS), pode ser impossível fazer download dos arquivos de instalação se o relógio do sistema estiver muito atrasado!
Verifique a data e a hora atual executando o seguinte comando date:
root #
date
Mon Oct 3 13:16:22 PDT 2016
Se a data/hora mostrada estiver errada, atualize-a usando um dos métodos abaixo.
Automático
Most readers will desire to have their system update the time automatically using a time server.
Placas-mãe que não incluem um Relógio de tempo real (RTC) devem ser configuradas para automaticamente sincronizar o relógio do sistema com um servidor de tempo. Isto também vale para sistemas que "também" incluem um RTC, mas tem uma bateria com problema.
Mídias de instalação oficiais Gentoo incluem o comando ntpd (disponível através do pacote net-misc/ntp). Mídias oficiais incluem um arquivo de configuração apontando para servidores de horário ntp.org. Eles podem ser usados para sincronizar automaticamente o relógio do sistema para a hora UTC. Usar este método requer uma configuração de rede e pode não estar disponível em todas as arquiteturas.
Sincronização automática de horário tem um preço. Ela irá revelar o endereço IP do sistema e informações relacionadas a rede para o servidor de horário (no caso do exemplo abaixo ntp.org). Usuários com preocupações de privacidade devem estar cientes disto "antes" de configurar o relógio do sistema usando o método abaixo.
root #
ntpd -q -g
Manual
O comando date pode fazer também uma configuração manual do relógio do sistema. Use a sintaxe MMDDhhmmYYYY
(Mês, Dia, hora, minuteo e Ano).
Hora UTC é recomendada para todos os sistemas Linux. Mais tarde durante a instalação um fuso horário irá ser definido. Isto irá modificar a exibição do relógio para o horário local.
Por exemplo, para ajustar a data para 3 de outubro de 2016, 13:16:
root #
date 100313162016
Escolhendo um arquivo tar de stage
Not every architecture has a multilib option. Many only run with native code. Multilib is most commonly applied to amd64.
Multilib (32 e 64 bits)
Escolher um arquivo tar base para o sistema pode economizar uma considerável quantidade de tempo mais tarde no processo de instalação, especificamente quando for o momento de escolher o perfil do sistema. A seleção de um arquivo tar de stage irá impactar a futura configuração do sistema e pode evitar uma dor de cabeça ou duas mais tarde. O arquivo tar multilib usa bibliotecas de 64 bits quando possível e apenas as versões de 32 bits quando necessário para compatibilidade. Essa é uma excelente opção para a maioria das instalações pois provê grande flexibilidade para personalizações no futuro. Quem desejar que seu sistema seja capaz de trocar facilmente de perfil deve baixar o arquivo tar multilib para sua respectiva arquitetura de processador.
A maioria dos usuários não deve usar as opções de arquivos tar 'advanced'; elas são específicas para alguma configuração de software ou hardware.
No-multilib (64 bits puro)
Selecionar um arquivo tar no-multilib como base do sistema provê um completo ambiente de sistema operacional de 64 bits. Isso torna efetivamente a habilidade de se trocar para perfis multilib improvável, mas possível. Aqueles que estão iniciando com o Gentoo não devem escolher um arquivo tar no-multilib a menos que seja absolutamente necessário.
Tome cuidado, migrar de um sistema não-multilib (no-multilib) para um multilib requer um excelente conhecimento do Gentoo e de suas ferramentas de baixo nível (isso pode fazer até nossos Desenvolvedores de ferramentas estremecerem um pouco). Não é uma tarefa para cardíacos e está além do escopo deste manual.
OpenRC
OpenRC é um sistema de inicialização baseado em dependências (responsável por iniciar o sistema uma vez que o kernel foi inicializado) que mantém compatibilidade com o programa init providenciado pelo sistema, normalmente encontrado em /sbin/init. É o sistema de inicialização nativo e original do Gentoo, mas também já foi implementado por algumas distribuições Linux e sistemas BSD.
OpenRC não tem a função de substituir o arquivo /sbin/init por padrão e é 100% compatível com os scripts de init do Gentoo. Isso significa uma solução que pode ser encontrada para rodar as dezenas de daemons do repositório de ebuilds do Gentoo
systemd
systemd é um substituto moderno para os init estilo SysV e dos rc para sistemas Linux. Por enquanto é usado na maioria das distribuições Linux. Systemd é suportado no Gentoo e funciona perfeitamente; é amplamente configurável. Infelizmente, grande parte das seções correspondentes do manual de instalação ainda precisam ser escritas ou estão em andamento.
É possível trocar uma instalação do Gentoo em execução usando OpenRC para systemd e voltar. Porém, isso requer um certo esforço e isso está fora do escopo desse manual. Dependendo do que você quer na sua instalação, por favor tenha certeza de que você escolheu o stage tarball correto.
Baixando o arquivo tar do stage
Vá para o ponto de montagem do Gentoo onde o sistema de arquivos raiz está montado (provavelmente /mnt/gentoo):
root #
cd /mnt/gentoo
Usuários usando ambientes com navegadores web gráficos não terão problema em copiar a URL do arquivo de stage da seção de download do site web principal. Apenas selecione a aba apropriada, clique com o botão da direita no link do arquivo de stage e então Copie o link para copiar o link para a área de transferência, então cole o link para a o utilitário de linha de comando wget para baixar o arquivo tar de stage:
root #
wget <PASTED_STAGE_URL>
Usuários mais tradicionais ou 'das antigas', trabalhando exclusivamente com a linha de comando podem preferir o links, um navegador não gráfico baseado em menus. Para baixar o arquivo de stage, navegue até a lista de espelhos do Gentoo como abaixo:
root #
links https://www.gentoo.org/downloads/mirrors/
Para usar um proxy HTTP com o links
, passe a URL com a opção -http-proxy
:
root #
links -http-proxy servidor.proxy.com:8080 https://www.gentoo.org/download/mirrors/
Próximo ao links há também o navegador lynx. Assim como o links ele é um navegador não gráfico mas não baseado em menus.
root #
lynx https://www.gentoo.org/downloads/mirrors/
Se for necessário definir um proxy, exporte as variáveis http_proxy e/ou ftp_proxy:
root #
export http_proxy{{=}}"http://servidor.proxy.com:porta"
root #
export ftp_proxy="http://servidor.proxy.com:porta"
Na lista de espelhos, selecione um espelho próximo. Normalmente os espelhos HTTP são suficientes, mas outros protocolos estão também disponíveis. Mova para o diretório releases/hppa/autobuilds/. Lá todos os arquivos de stage são mostrados (eles podem estar localizados dentro de subdiretórios nomeados segundo as sub-arquiteturas individuais). Selecione um e pressione d para baixar.
Depois que o download do arquivo de stage completar, é possível verificar a integridade e validar o conteúdo do arquivo tar de stage. Aqueles interessados em fazê-lo devem proceder à próxima seção.
Aqueles não interessados em verificar e validar o arquivo de stage podem fechar o navegador de linha de comando pressionando q e podem avançar diretamente para a seção Descompactando o arquivo tar de stage.
Verificando e validando
Most stages are now explicitly suffixed with the init system type (openrc or systemd), although some architectures may still be missing these for now.
Assim como nos CDs mínimos de instalação, estão disponíveis arquivos adicionais para verificar e validar o arquivo de stage. Apesar desses passos poderem ser pulados, esses arquivos são providos para os usuários que se preocupam com a legitimidade dos arquivos baixados.
root #
wget https://distfiles.gentoo.org/releases/
- Um arquivo .CONTENTS que contém a lista de todos os arquivos contidos no arquivo tar do stage.
- Um arquivo .DIGESTS que contém as somas de checagem do arquivo de stage em diferentes algoritmos.
- Um arquivo .DIGESTS.asc que, como o arquivo .DIGESTS, contém somas de checagem do arquivo de stage em diferentes algoritmos, mas também assinadas criptograficamente para validar que é provido pelo Projeto Gentoo.
Use o comando openssl e compare a saída com as somas de checagem providas pelos arquivos .DIGESTS ou .DIGESTS.asc.
Por exemplo, para validar a soma de checagem SHA512:
root #
openssl dgst -r -sha512 stage3-hppa-<release>.tar.?(bz2|xz)
dgst
instructs the openssl command to use the Message Digest sub-command, -r
prints the digest output in coreutils format, and -sha512
selects the SHA512 digest.
Para validar a soma de checagem Whirlpool:
root #
openssl dgst -r -whirlpool stage3-hppa-<release>.tar.?(bz2|xz)
Compare a saída desses comandos com o valor registrado nos arquivos .DIGESTS(.asc). Os valores devem bater, senão o arquivo baixado pode estar corrompido (ou o arquivo .DIGESTS está).
Outra forma é usar o comando sha512sum:
root #
sha512sum stage3-hppa-<release>.tar.?(bz2|xz)
The --check
option instructs sha256sum to read a list of expected files and associated hashes, and then print an associated "OK" for each file that calculates correctly or a "FAILED" for files that do not.
Assim como com o arquivo ISO, é possível também verificar a assinatura criptográfica do arquivo .DIGESTS.asc usando o gpg para verificar que as somas de checagem não foram adulteradas.
For official Gentoo live images, the sec-keys/openpgp-keys-gentoo-release package provides PGP signing keys for automated releases. The keys must first be imported into the user's session in order to be used for verification:
root #
gpg --import /usr/share/openpgp-keys/gentoo-release.asc
For all non-official live images which offer gpg and wget in the live environment, a bundle containing Gentoo keys can be fetched and imported:
root #
wget -O - https://qa-reports.gentoo.org/output/service-keys.gpg | gpg --import
Verify the signature of the tarball and, optionally, associated checksum files:
root #
gpg --verify stage3-hppa-<release>.tar.?(bz2|xz){.DIGESTS.asc,}
If verification succeeds, "Good signature from" will be in the output of the previous command(s).
As impressões digitais das chaves do OpenGPG usadas para assinar os lançamentos das mídias podem ser encontradas na página de assinaturas de lançamentos de mídias do servidor web Gentoo.
Desempacotando o arquivo tar de stage
Agora desempacote o stage baixado no sistema. Usamos o tar para isso:
root #
tar xpvf stage3-*.tar.xz --xattrs-include='*.*' --numeric-owner
Certifique-se que as mesmas opções (xpf
e --xattrs-include='*.*'
) são usadas. O x
significa Extrair, o p
para "preservar" permissões e o f
para indicar que queremos extrair um arquivo ("file"), não da entrada padrão. --xattrs-include='*.*'
é para incluir a preservação dos atributos estendidos de todos os arquivos armazenados. Finalmente, --numeric-owner
é usado para assegurar que os IDs de usuário e grupo dos arquivos sendo extraídos do arquivo tar permanecerão os mesmos que os pretendidos pela equipe de engenharia de lançamentos do Gentoo (mesmo que usuários aventureiros não estiverem usando a mídia de instalação oficial do Gentoo).
The options starting with the double dash (--
) do not have a short parameters. --xattrs-include='*.*'
is to include preservation of the the extended attributes in all namespaces stored in the archive. Finally, --numeric-owner
is used to ensure that the user and group IDs of the files being extracted from the tarball will remain the same as Gentoo's release engineering team intended (even if adventurous users are not using official Gentoo live environments for the installation process).
Agora que o arquivo de stage está descompactado, proceda com Configurando as opções de compilação.
Configurando as opções de compilação
Introdução
Para otimizar o Gentoo, é possível ajustar algumas variáveis que impactam o comportamento do Portage, o oficialmente suportado gerenciador de pacotes do Gentoo. Todas essas variáveis podem ser ajustadas como variáveis de ambiente (usando export) mas isso não é permanente. Para manter os ajustes, o Portage lê o arquivo /etc/portage/make.conf, que é um arquivo de configuração do Portage.
Technically variables can be exported via the shell's profile or rc files, however that is not best practice for basic system administration.
Portage reads in the make.conf file when it runs, which will change runtime behavior depending on the values saved in the file. make.conf can be considered the primary configuration file for Portage, so treat its content carefully.
Uma listagem com comentários de todas as possíveis variáveis pode ser encontrada em /mnt/gentoo/usr/share/portage/config/make.conf.example. Para uma instalação com sucesso do Gentoo, apenas as variáveis mencionadas abaixo precisam ser ajustadas.
For a successful Gentoo installation only the variables that are mentioned below need to be set.}}
Use um editor (neste guia usamos o nano) para alterar as variáveis de otimização que iremos discutir a partir daqui.
root #
nano -w /mnt/gentoo/etc/portage/make.conf
Olhando o arquivo make.conf.example fica óbvio como o arquivo deve ser estruturado: linhas de comentário iniciam com "#", outras linhas definem variáveis usando sintaxe VARIAVEL="conteúdo". Diversas dessas variáveis são discutidas a seguir.
CFLAGS e CXXFLAGS
As variáveis CFLAGS e CXXFLAGS definem as flags de otimização para os compiladores C e C++ GCC, respectivamente. Apesar de serem definidas globalmente aqui, para máximo desempenho seria necessário otimizar essas flags para cada programa separadamente. A razão disso é que cada programa é diferente. Entretanto, isso não é viável, por isso a definição dessas flags no arquivo make.conf.
No arquivo make.conf deve-se definir as flags de otimização que fariam o sistema mais responsivo de modo geral. Não coloque ajustes experimentais nessa variável; otimização demais pode fazer com que os programas comportem-se mal (abortem, ou ainda pior, funcionem mal).
Não iremos explicar todas as possíveis opções de otimização. Para compreender todas elas, leia o Manual Online do GCC ou as páginas info do gcc (info gcc -- funciona apenas em um sistema Linux já instalado). O arquivo make.conf.example em si também contém muitos exemplos e informação; não se esqueça de lê-lo também.
Um primeiro ajuste é a flag -march=
ou -mtune=
, que especifica o nome da arquitetura alvo. As possíveis opções estão descritas no arquivo make.conf.example (como comentários). Um valor comumente usado é "native", que diz ao compilador para selecionar a arquitetura do sistema atual (aquele no qual o Gentoo está sendo instalado).
Em segundo vem a flag -O
(um O maiúsculo, não um zero), que especifica a flag da classe de otimização. Valores possíveis são "s" (para otimização por tamanho), 0 (zero - para nenhuma otimização), 1, 2 ou até 3 para flags de otimização para velocidade (cada classe tem as mesmas flags da anterior, mais algumas extras). -O2
é o padrão recomendado. Sabe-se que -O3
causa problemas se usada pelo sistema como um todo, então recomendamos ficar com -O2
.
Uma flag de otimização popular é a -pipe
(usa pipes em vez de arquivos temporários para comunicação entre os vários estágios da compilação). Ela não tem impacto no código gerado, mas usa mais memória. Em sistemas com pouca memória, o gcc pode ser morto. Nesse caso, não use essa flag.
Usar o -fomit-frame-pointer
(que não mantém o ponteiro de frame em um registrador para funções que não precisam de um) pode ter sérias repercussões para depurar aplicações.
Se as variáveis CFLAGS e CXXFLAGS são definidas, combine as várias flags de otimização em uma string. Os valores default contidos no arquivo stage3 que é desempacotado devem ser adequados. Abaixo é apenas um exemplo:
# Flags do compilador para todas linguagens
COMMON_FLAGS="-march=2.0 -O2 -pipe"
# Use os mesmos valores para ambas variáveis
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
Apesar do artigo Guia de otimização do GCC conter mais informação sobre como as várias opções de compilação podem afetar um sistema, o artigo Safe CFLAGS pode ser uma opção mais prática para iniciantes começarem a otimizar seus sistemas.
MAKEOPTS
A variável MAKEOPTS define quantas compilações paralelas podem ocorrer quando um pacote estiver sendo instalado. Uma boa escolha é o número de CPUs (ou núcleos de CPU) em um sistema mais um, porém essa regra nem sempre é perfeita.
A good choice is the smaller of: the number of threads the CPU has, or the total amount of system RAM divided by 2 GiB.
Usar muitos jobs pode impactar significantemente o consumo de memória. Uma boa recomendação é ter pelo menos 2 GiB de RAM para cada job em especifico (então, por exemplo.
-j6
requer pelo menos 12 GiB). Para evitar ficar sem memória, reduza o número de trabalhos para caber na memória disponível.When using parallel emerges (
--jobs
), the effective number of jobs run can grow exponentially (up to make jobs multiplied by emerge jobs). This can be worked around by running a localhost-only distcc configuration that will limit the number of compiler instances per host.MAKEOPTS="-j2"
Search for MAKEOPTS in man 5 make.conf for more details.
Pronto, preparar, vai!
Atualize o arquivo /mnt/gentoo/etc/portage/make.conf de acordo com suas preferências pessoais e grave (usuários do nano podem usar Ctrl+x).
Depois continue em Instalando o sistema básico do Gentoo.
References
Fazendo chroot
Opcional: Selecionando espelhos
Arquivos de distribuição
It is safe to skip this step when using non-Gentoo installation media. The app-portage/mirrorselect package can be emerged later within the stage3 (after Entering the new environment) and the actions defined in this section can be performed at that point.
Para baixar o código fonte rapidamente é recomendado selecionar um espelho rápido. O portage procura no arquivo make.conf pela variável GENTOO_MIRRORS e usa os espelhos configurados lá. É possível navegar pela lista de espelhos do Gentoo e procurar um espelho (ou espelhos) que está perto da sua localização física (pois esses frequentemente são os mais rápidos). Entretanto, nós fornecemos uma boa ferramenta chamada mirrorselect que provê ao usuário uma boa interface para selecionar os espelhos necessários. Simplesmente navegue até os espelhos escolhidos e tecle Espaço para selecionar um ou mais espelhos.
root #
mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf
Repositório ebuild do Gentoo
Um segundo passo importante na seleção de espelhos é configurar o repositório ebuild do Gentoo através o arquivo /etc/portage/repos.conf/gentoo.conf. Esse arquivo contém as informações para sincronização necessárias para atualizar a árvore do Portage (a coleção de ebuilds e arquivos relacionados contendo toda a informação que o Portage precisa para baixar e instalar pacotes de software).
A configuração do repositório pode ser feita em alguns passos simples. Primeiro, se ele não existir, crie o diretório repos.conf:
root #
mkdir --parents /mnt/gentoo/etc/portage/repos.conf
Depois, copie o arquivo de configuração do repositório fornecido pelo Portage para o recém-criado diretório repos.conf:
root #
cp /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portage/repos.conf/gentoo.conf
Dê uma olhada com um editor de textos ou usando o comando cat. O arquivo deve estar no formato .ini e se parecer com:
/mnt/gentoo/etc/portage/repos.conf/gentoo.conf
[DEFAULT]
main-repo = gentoo
[gentoo]
location = /var/db/repos/gentoo
sync-type = rsync
sync-uri = rsync://rsync.gentoo.org/gentoo-portage
auto-sync = yes
sync-rsync-verify-jobs = 1
sync-rsync-verify-metamanifest = yes
sync-rsync-verify-max-age = 24
sync-openpgp-key-path = /usr/share/openpgp-keys/gentoo-release.asc
sync-openpgp-key-refresh-retry-count = 40
sync-openpgp-key-refresh-retry-overall-timeout = 1200
sync-openpgp-key-refresh-retry-delay-exp-base = 2
sync-openpgp-key-refresh-retry-delay-max = 60
sync-openpgp-key-refresh-retry-delay-mult = 4
O valor da variável default sync-uri listada acima irá determinar a localização do espelho baseado em um esquema de rotação. Isso irá ajudar a diminuir o impacto do uso da infraestrutura do Gentoo e prover uma segurança no caso de um espelho específico ficar indisponível. É recomendável que a URI default seja mantida a menos que um espelho local privado do Portage seja usado.
Para os interessados, a especificação oficial da API de sincronização do plugin do Portage pode ser encontrada no Artigo sobre sincronização do projeto do Portage.
Copie as informações de DNS
Resta ainda uma coisa a ser feita antes de entrar no novo ambiente que é copiar sobre a informação de DNS em /etc/resolv.conf. Isso precisa ser feito para assegurar que a rede ainda funciona mesmo após entrar no novo ambiente. O /etc/resolv.conf contém os servidores de nomes da rede.
Para copiar essa informação, é recomendado passar a opção --dereference
do comando cp. Isso assegura que, se o /etc/resolv.conf for um link simbólico, que o arquivo alvo é copiado em vez do link simbólico em si. De outra forma, no novo ambiente o link simbólico apontaria para um arquivo não existente (pois é muito provável que o alvo do link não estará disponível dentro do novo ambiente).
root #
cp --dereference /etc/resolv.conf /mnt/gentoo/etc/
Montando os sistemas de arquivos necessários
Em alguns momentos, a raiz do Linux será alterada para a nova localidade. Para garantir que o novo ambiente funciona corretamente, alguns sistemas de arquivos precisam estar disponíveis lá também.
Os sistemas de arquivos que precisam estar disponíveis são:
- /proc/ que é um pseudo sistema de arquivos (ele se parece com arquivos normais, mas na verdade é gerado "no voo") do qual o kernel do Linux expõe informação para o ambiente
- /sys/ que é um pseudo sistema de arquivos, como o /proc/ o qual era para substituir, sendo mais estruturado que o /proc/
- /dev/ é um sistema de arquivos normal, parcialmente gerenciado pelo gerenciador de dispositivos do Linux (normalmente o
udev
), que contém todos os arquivos de dispositivos
A localidade /proc/ será montada em /mnt/gentoo/proc/ enquanto as outras duas são montadas como "bind". Isso significa que, por exemplo, /mnt/gentoo/sys/ será, na verdade, /sys/ (sendo na verdade apenas um segundo ponto de entrada para o mesmo sistema de arquivos) enquanto /mnt/gentoo/proc/ é uma nova montagem ("instância", para usar o termo) do sistema de arquivo.
If using Gentoo's install media, this step can be replaced with simply: arch-chroot /mnt/gentoo.
root #
mount --types proc /proc /mnt/gentoo/proc
root #
mount --rbind /sys /mnt/gentoo/sys
root #
mount --make-rslave /mnt/gentoo/sys
root #
mount --rbind /dev /mnt/gentoo/dev
root #
mount --make-rslave /mnt/gentoo/dev
root #
mount --bind /run /mnt/gentoo/run
root #
mount --make-slave /mnt/gentoo/run
As operações
--make-rslave
são necessárias para o suporte ao systemd mais tarde na instalação.Se usar uma mídia de instalação que não seja do Gentoo, os passos anteriores podem não ser suficientes. Algumas distribuições criam o /dev/shm como um link simbólico para o /run/shm/ que, após o chroot, torna-se inválido. Fazer do /dev/shm/ uma montagem tmpfs apropriada desde já pode corrigir isso:
root #
test -L /dev/shm && rm /dev/shm && mkdir /dev/shm
root #
mount --types tmpfs --options nosuid,nodev,noexec shm /dev/shm
Assegure-se também de usar o modo 1777:
root #
chmod 1777 /dev/shm
Entrando no novo ambiente
Agora que todas as partições estão inicializadas e o ambiente base está instalado, é hora de entrar no novo ambiente de instalação fazendo chroot nele. Isso significa que a sessão irá alterar sua "raiz" (o diretório mais alto que pode ser acessado) do ambiente atual de instalação (CD de instalação ou outra mídia) para o sistema de instalação (as partições inicializadas). Por isso o nome "change root" (trocar a "raiz") ou "chroot".
O chroot é feito em três passos:
- A localização raiz é trocada de / (na mídia de instalação) para /mnt/gentoo/ (nas partições) usando o comando chroot
- Algumas configurações (aquelas em /etc/profile) são carregadas na memória usando o comando source
- O sinal de pronto é trocado para nos ajudar a lembrar que aquela sessão está dentro do ambiente chroot
root #
chroot /mnt/gentoo /bin/bash
root #
source /etc/profile
root #
export PS1="(chroot) ${PS1}"
A partir deste ponto, todas as ações feitas afetam imediatamente o novo ambiente de instalação do Gentoo Linux. É claro que a instalação ainda está longe de ser concluída, sendo por isso que ainda temos algumas seções restantes!
Se a instalação do Gentoo for interrompida a partir deste ponto, deve ser possível 'retomar' a instalação neste ponto. Não há necessidade de reparticionar os discos novamente! Apenas monte a partição root e execute os passos acima iniciando em Copie as informações de DNS para reentrar no ambiente funcional. Isso também é útil para corrigir problemas com o gerenciador de boot. Maiores informações podem ser encontradas no artigo chroot.
Montando a partição de boot
Agora que foi entrado no novo ambiente, é necessário criar e montar a partição /boot. Isso será importante para quando for o momento de compilar o kernel e instalar o gerenciador de boot:
root #
mount /dev/sda2 /boot
Configurando o Portage
Instalando um instantâneo do repositório ebuild da web
O próximo passo é instalar um instantâneo do repositório principal do ebuild. O instantâneo contém uma coleção de arquivos que informa ao Portage sobre quais softwares estão disponíveis para instalação, quais perfis o administrador do sistema pode selecionar, ítens de notícias específicas de um pacote ou perfil etc.
O uso do comando emerge-webrsync é recomendado para os usuários que estão atrás de firewalls restritivos (porque ele usa os protocolos HTTP/FTP para baixar o instantâneo) e economiza banda de rede. Leitores que não tiverem restrições de rede ou de banda podem tranquilamente pular para a próxima seção.
Isso irá baixar o último instantâneo (que é liberado diariamente) de um dos espelhos do Gentoo e instalá-lo no sistema:
root #
emerge-webrsync
Durante essa operação, o emerge-webrsync pode reclamar que o diretório /var/db/repos/gentoo/ não existe. Isso já é esperado e não é motivo para preocupação - a ferramenta irá criar o diretório.
A partir deste ponto, o Portage pode avisar que sejam executadas algumas atualizações recomendadas. Isso é porque alguns pacotes do sistema instalados através do arquivo stage podem ter novas versões disponíveis; o Portage fica sabendo dos novos pacotes através do instantâneo do repositório. As atualizações de pacotes podem ser ignoradas de forma segura por enquanto; as atualizações podem ser postergadas até que a instalação do Gentoo estiver finalizada.
Opcional: Atualizando o repositório ebuild
É possível atualizar o repositório ebuild do Gentoo para a última versão. O comando emerge-webrsync anterior instalou um instantâneo do Portage bem recente (normalmente tão recente quanto 24 horas) de modo que este passo é totalmente opcional.
Supondo que há necessidade da última atualização dos pacotes (menos de 1 hora), use emerge --sync. Esse comando irá usar o protocolo rsync para atualizar o repositório ebuild do Gentoo (que foi baixada anteriormente através do emerge-webrsync) ao seu estado mais recente.
root #
emerge --sync
Em terminais lentos, tais como alguns "framebuffers" ou consoles seriais, é recomendado usar a opção --quiet
para agilizar o processo:
root #
emerge --sync --quiet
Lendo itens de notícias
Quando o repositório ebuild do Gentoo é sincronizada com o sistema, o Portage pode mostrar ao usuário mensagens similares a seguinte:
* IMPORTANT: 2 news items need reading for repository 'gentoo'.
* Use eselect news to read news items.
Ítens de notícias foram criados para prover um meio de comunicação para enviar mensagens aos usuários através da árvore do portage. Para gerenciá-las, use eselect news. A aplicação eselect é uma aplicação do Gentoo que provê uma interface de gerenciamento comum voltada para alterações e operações. Nesse caso, o eselect é acionado para usar seu módulo news
.
Para o módulo news
, três operações são mais utilizadas:
- Com
list
, é mostrada uma lista dos itens de notícias disponíveis - Com
read
, os itens de notícias podem ser lidos - Com
purge
, itens de notícias podem ser removidos depois de lidos e não forem ser mais relidos
root #
eselect news list
root #
eselect news read
Mais informações sobre o leitor de notícias estão disponíveis através de sua página de manual:
root #
man news.eselect
Escolhendo o perfil correto
Desktop profiles are not exclusively for desktop environments. They are still suitable for minimal window managers like i3 or sway.
Um perfil (profile) é uma peça fundamental para qualquer sistema Gentoo. Não apenas ele especifica valores padrões para o USE, CFLAGS e outras variáveis importantes, ele também trava o sistema em um dado conjunto de versões de pacotes. Essas configurações são mantidas pelos desenvolvedores do Portage do Gentoo.
Você pode ver qual perfil o sistema está usando com o eselect, agora usando com o módulo profile
:
root #
eselect profile list
Available profile symlink targets: [1] default/linux/hppa/ * [2] default/linux/hppa//desktop [3] default/linux/hppa//desktop/gnome [4] default/linux/hppa//desktop/kde
A saída do comando é apenas um exemplo e evolui com o tempo.
Como pode ser visto, há também subperfis de desktops disponíveis para algumas arquiteturas.
Atualizações de perfis não devem ser empreendidas levianamente. Ao selecionar o perfil inicial, certifique-se de usar perfil correspondente a mesma versão que a inicialmente usado pelo stage3 (por ex. 17.0). Cada nova versão de perfil é anunciada através de um novo item de notícia contendo instruções para migração. Tenha certeza de ler e seguir as instruções antes de mudar para um novo perfil.
Depois de visualizar os perfis disponíveis para a arquitetura hppa, os usuários podem selecionar um perfil diferente para o sistema:
root #
eselect profile set 2
O subperfil
developer
(desenvolvedor) é específico para o desenvolvimento do Gentoo Linux e não é destinado para uso por usuários casuais.Atualizando o conjunto @world
Neste ponto é interessante atualizar o conjunto @world de modo a estabelecer uma base.
O passo seguinte é necessário de modo ao sistema poder aplicar atualizações ou mudanças de USE flag que apareceram desde que o stage3 foi criado e de qualquer seleção de perfil:
root #
emerge --ask --verbose --update --deep --newuse @world
Se um perfil de ambiente completo de desktop foi selecionado, o tempo necessário para o processo de instalação pode ser bastante longo. Aqueles sem muito tempo para a instalação podem seguir a seguinte 'regra geral': quanto menor o nome do perfil, menos específico o conjunto @world; quanto menos específico o conjunto @world, menos pacotes o sistema irá requerer. Em outras palavras:
- selecionar
default/linux/amd64/13.0
irá requerer bem poucos pacotes para atualizar, enquanto - selecionar
default/linux/amd64/13.0/desktop/gnome/systemd
irá requerer muitos pacotes para a instalação uma vez que o sistema de inicialização será trocado do OpenRC para systemd e o ambiente de trabalho GNOME será instalado.
Configurando as variáveis USE
A USE é uma das mais poderosas variáveis que o Gentoo provê aos seus usuários. Muitos programas podem ser compilados com ou sem suporte para certos itens. Por exemplo, alguns programas podem ser compilados com suporte ao GTK+ ou ao QT. Outros podem ser compilados com ou sem suporte ao SSL. Alguns programas podem até ser compilados com suporte a framebuffer (svgalib) em vez de suporte ao X11 (X-server).
A maioria das distribuições compilam seus pacotes com o máximo possível de suporte, aumentando o tamanho dos programas e o tempo de carga, sem contar o enorme número de dependências. Com o Gentoo, os usuários podem definir com quais opções um pacote deve ser compilado. É aqui que a USE entra em cena.
Na variável USE os usuários definem palavras-chave que serão mapeadas em opções de compilação. Por exemplo, ssl
irá compilar suporte ao SSL em programas que o suportam. -X
irá remover suporte ao servidor X (note o sinal de menos na frente). gnome gtk -kde -qt5
irá compilar programas com suporte ao GNOME (e GTK+) mas não ao KDE (e Qt), fazendo o sistema ajustado para o GNOME (se a arquitetura o suportar).
Os padrões para as configurações USE estão armazenados nos arquivos make.defaults do perfil do Gentoo usado pelo sistema. O Gentoo usa um (complexo) sistema de herança para seus perfis, no qual ainda não nos aprofundamos neste estágio. O modo mais fácil de checar as configurações USE ativas é executar emerge --info e selecionar a linha que começa com USE:
root #
emerge --info | grep ^USE
USE="X acl alsa amd64 berkdb bindist bzip2 cli cracklib crypt cxx dri ..."
O exemplo acima está truncado, a lista real das variáveis USE é muito, muito maior.
Uma descrição completa das flags USE disponíveis pode ser encontrada no sistema em /var/db/repos/gentoo/profiles/use.desc.
root #
less /var/db/repos/gentoo/profiles/use.desc
Dentro do comando less, a rolagem pode ser feita usando as teclas ↑ e ↓, e sair pressionando q.
Como exemplo, mostramos uma configuração USE para um sistema baseado no KDE com suporte a DVD, ALSA e gravação de CD:
root #
nano -w /etc/portage/make.conf
/etc/portage/make.conf
Habilitando USE para um sistema baseado em KDE com suporte a DVD, ALSA e gravação de CDUSE="-gtk -gnome qt5 kde dvd alsa cdr"
Quando a USE é definida em /etc/portage/make.conf ela é "adicionada" (ou "removida" se a flag iniciar com o sinal -) da lista padrão. Usuários que quiserem ignorar toda a configuração padrão USE e gerenciá-la completamente por conta devem iniciar a definição USE com -*
:
/etc/portage/make.conf
Ignorando as flags USE padrãoUSE="-* X acl alsa"
Mesmo sendo possível, definir
-*
(como no exemplo acima) é desencorajado pois USE flags default cuidadosamente escolhidas podem ter sido configuradas em alguns ebuild para evitar conflitos e outros erros.CPU_FLAGS_*
Some architectures (including AMD64/X86, ARM, PPC) have a USE_EXPAND variable called CPU_FLAGS_<ARCH>, where <ARCH> is replaced with the relevant system architecture name.
Do not be confused! AMD64 and X86 systems share some common architecture, so the proper variable name for AMD64 systems is CPU_FLAGS_X86.
This is used to configure the build to compile in specific assembly code or other intrinsics, usually hand-written or otherwise extra,
and is not the same as asking the compiler to output optimized code for a certain CPU feature (e.g. -march=
).
Users should set this variable in addition to configuring their COMMON_FLAGS as desired.
A few steps are needed to set this up:
root #
emerge --ask app-portage/cpuid2cpuflags
Inspect the output manually if curious:
root #
cpuid2cpuflags
Then copy the output into package.use:
root #
echo "*/* $(cpuid2cpuflags)" > /etc/portage/package.use/00cpu-flags
VIDEO_CARDS
The VIDEO_CARDS USE_EXPAND variable should be configured appropriately depending on the available GPU(s). The Xorg guide covers how to do this. Setting VIDEO_CARDS is not required for a console only install.
Opcional: Configurando a variável ACCEPT_LICENSE
Todos os pacotes do Gentoo são identificados com sua(s) licença(s). Isso permite que o usuário selecione o software baseado em licenças específicas ou grupos de licenças antes de instalá-lo.
- System wide in the selected profile.
- System wide in the /etc/portage/make.conf file.
- Per-package in a /etc/portage/package.license file.
- Per-package in a /etc/portage/package.license/ directory of files.
O Gentoo vem com um valor predefinido nos perfis, por exemplo:
user $
portageq envvar ACCEPT_LICENSE
@FREE
Isso pode ser customizado para todo o sistema alterando o arquivo /etc/portage/make.conf. O valor default irá aceitar licenças aprovadas explicitamente pela Fundação Software Livre (FSF - Free Software Foundation), pela Iniciativa de de Código Aberto (OSI - Open Source Initiative) ou que seguem a Definição de Software Livre (Free Software Definition):
/etc/portage/make.conf
Customizing ACCEPT_LICENSEACCEPT_LICENSE="-* @FREE"
Configurações por pacote podem ser adicionadas se necessárias ou desejadas, por exemplo:
/etc/portage/package.license/kernel
Exemplo de aceitação de licençaapp-arch/unrar unRAR
sys-kernel/linux-firmware @BINARY-REDISTRIBUTABLE
sys-firmware/intel-microcode intel-ucode
root #
mkdir /etc/portage/package.license
/etc/portage/package.license/kernel
Example how to accept licenses per-packageapp-arch/unrar unRAR
sys-kernel/linux-firmware @BINARY-REDISTRIBUTABLE
sys-firmware/intel-microcode intel-ucode
A variável LICENSE em uma ebuild é apenas uma indicação para os desenvolvedores e usuários do Gentoo. Ela não tem valor legal e não há garantias de que reflita a realidade. Desse modo, não confie cegamente nela, mas cheque o pacote em si cuidadosamente, incluindo todos os arquivos que usar.
Os grupos de licenças definidos no repositório Gentoo, gerenciados pelo Projeto de Licenças do , são:
Nome do Grupo | Descrição |
---|---|
@GPL-COMPATIBLE | Licenças compatíveis com a GPL aprovadas pela Fundação Software Livre (FSF - Free Software Foundation) [a_license 1] |
@FSF-APPROVED | Licenças de software livre aprovadas pela FSF (inclui @GPL-COMPATIBLE) |
@OSI-APPROVED | Licenças aprovadas pela Iniciativa do Software Aberto (OSI - Open Source Initiative) [a_license 2] |
@MISC-FREE | Miscelânea de licenças que são provavelmente software livre, isto é, seguem a Definição de Software Livre (Free Software Definition) [a_license 3] mas que não são aprovadas pela FSF ou OSI |
@FREE-SOFTWARE | Combina @FSF-APPROVED, @OSI-APPROVED e @MISC-FREE |
@FSF-APPROVED-OTHER | Licenças aprovadas pela FSF para "documentação livre" e "trabalhos de uso prático além de software e documentação" (incluindo fontes) |
@MISC-FREE-DOCS | Miscelânea de licenças para documentos livres e outros trabalhos (incluindo fontes) que seguem a definição de livre [a_license 4] mas NÃO são listadas em @FSF-APPROVED-OTHER |
@FREE-DOCUMENTS | Combina @FSF-APPROVED-OTHER e @MISC-FREE-DOCS |
@FREE | Combina @FREE-SOFTWARE e @FREE-DOCUMENTS |
@BINARY-REDISTRIBUTABLE | Inclui @FREE e outros softwares livremente distribuíveis de código fechado que não tem um Acordo de Licença para o Usuário Final (EULA - End-User License Agreement) |
@EULA | Acordos de Licença que tentam tirar seus direitos. São mais restritivas do que "todos os direitos reservados" ou requerem aprovação explícita |
Fuso horário
This step does not apply to users of the musl libc. Users who do not know what that means should perform this step.
Selecione o fuso horário para o sistema. Veja os fusos horários disponíveis em /usr/share/zoneinfo/, e então escreva-o no arquivo /etc/timezone.
root #
ls /usr/share/zoneinfo
Suppose the timezone of choice is Europe/Brussels.
OpenRC
We write the timezone name into the /etc/timezone file.
root #
echo "Brazil/East" > /etc/timezone
Por favor evite os fusos horários /usr/share/zoneinfo/Etc/GMT* pois seus nomes não correspondem aos fusos esperados. Por exemplo, GMT-8 é na verdade GMT+8.
A seguir, reconfigure o pacote sys-libs/timezone-data, o que irá atualizar o arquivo /etc/localtime para nós, baseado no /etc/timezone. O arquivo /etc/localtime é usado pela biblioteca C do sistema para saber em qual fuso horário o sistema está.
root #
emerge --config sys-libs/timezone-data
systemd
A slightly different approach is employed when using systemd. A symbolic link is generated:
root #
ln -sf ../usr/share/zoneinfo/Europe/Brussels /etc/localtime
Later, when systemd is running, the timezone and related settings can be configured with the timedatectl command.
Configurando locais
This step does not apply to users of the musl libc. Users who do not know what that means should perform this step.
Locale generation
A maioria dos usuários irá querer usar apenas um ou dois locais em seus sistemas.
Locais especificam não apenas a língua que o sistema deve usar para interagir com o usuário, mas também as regras para ordenar strings, mostrar data e hora etc.
Os locais que um sistema deve suportar devem ser entrados em /etc/locale.gen.
root #
nano -w /etc/locale.gen
Os seguintes locais são um exemplo para se obter inglês (Estados Unidos) e alemão (Alemanha) com os correspondentes formatos de caracteres (como o UTF-8).
/etc/locale.gen
Habilitando os locais US e DE com os formatos de caracteres apropriadosen_US ISO-8859-1
en_US.UTF-8 UTF-8
de_DE ISO-8859-1
de_DE.UTF-8 UTF-8
Sugerimos fortemente usar pelo menos um local UTF-8 pois algumas aplicações podem requerê-lo.
O próximo passo é executar locale-gen. Isso irá regerar todos os locais especificados no arquivo /etc/locale.gen.
root #
locale-gen
Para verificar que os locais selecionados estão agora disponíveis, execute locale -a.
On systemd installs, localectl can be used, e.g. localectl set-locale ... or localectl list-locales.
Locale selection
Uma vez feito, é agora hora de ajustar a configuração geral de local do sistema. Novamente usamos o eselect para isso, agora com o módulo locale
.
Com o eselect locale list, os alvos disponíveis são mostrados.
root #
eselect locale list
Available targets for the LANG variable: [1] C [2] POSIX [3] en_US [4] en_US.iso88591 [5] en_US.utf8 [6] de_DE [7] de_DE.iso88591 [8] de_DE.iso885915 [9] de_DE.utf8 [ ] (free form)
Com eselect locale set VALOR o local correto pode ser ajustado:
root #
eselect locale set 9
Manualmente, isso pode ser conseguido através do arquivo /etc/env.d/02locale:
/etc/env.d/02locale
Ajustando manualmente as definições de locais do sistemaLANG="de_DE.UTF-8"
LC_COLLATE="C"
Certifique-se que um local foi configurado, ou o sistema irá mostrar mensagens de aviso e erro durante a construção do kernel e outras implantações de software mais tarde na instalação.
Agora recarregue o ambiente:
root #
env-update && source /etc/profile && export PS1="(chroot) ${PS1}"
Nós fizemos um Guia de localização completo para ajudar o usuário através do processo. Outro artigo interessante é o guia UTF-8 com informações muito específicas para habilitar o UTF-8 no sistema.
Opcional: Instalando firmware
Firmware
Alguns drivers requerem que firmware adicionais sejam instalados no sistema antes para funcionarem. Isso ocorre normalmente com interfaces de rede, especialmente as interfaces de rede sem fio. Também placas de vídeo modernas de fabricantes como AMD, NVidia e Intel, quando usando drivers open source, frequentemente precisam de arquivos de firmware externos. A maioria dos firmwares estão empacotados em sys-kernel/linux-firmware:
It is recommended to have the sys-kernel/linux-firmware package installed before the initial system reboot in order to have the firmware available in the event that it is necessary:
root #
emerge --ask sys-kernel/linux-firmware
Installing certain firmware packages often requires accepting the associated firmware licenses. If necessary, visit the license handling section of the Handbook for help on accepting licenses.
It is important to note that kernel symbols that are built as modules (M) will load their associated firmware files from the filesystem when they are loaded by the kernel. It is not necessary to include the device's firmware files into the kernel's binary image for symbols loaded as modules.
Microcode
In addition to discrete graphics hardware and network interfaces, CPUs also can require firmware updates. Typically this kind of firmware is referred to as microcode. Newer revisions of microcode are sometimes necessary to patch instability, security concerns, or other miscellaneous bugs in CPU hardware.
Microcode updates for AMD CPUs are distributed within the aforementioned sys-kernel/linux-firmware package. Microcode for Intel CPUs can be found within the sys-firmware/intel-microcode package, which will need to be installed separately. See the Microcode article for more information on how to apply microcode updates.
Kernel configuration and compilation
É chegada a hora de configurar e compilar os fontes do kernel. Há duas formas de se fazer isso:
Ranked from least involved to most involved:
- O kernel é manualmente configurado e compilado, ou
- é usada uma ferramenta chamada
genkernel
para automaticamente compilar e instalar o kernel Linux
O núcleo em torno do qual todas as distribuições são criadas é o kernel Linux. Ele é a camada entre os programas de usuários e o hardware do sistema. O Gentoo provê aos seus usuários diversos possíveis fontes do kernel. Uma listagem completa está disponível na Página de visão geral do kernel.
Instalando os fontes
This section is only relevant when using the following genkernel (hybrid) or manual kernel management approach.
When installing and compiling the kernel for hppa-based systems, Gentoo recommends the sys-kernel/gentoo-sources package.
Choose an appropriate kernel source and install it using emerge:
root #
emerge --ask sys-kernel/gentoo-sources
Isso irá instalar os fontes do kernel Linux em /usr/src/ no qual um link simbólico chamado linux estará apontando para o fonte do kernel instalado:
It is conventional for a /usr/src/linux symlink to be maintained, such that it refers to whichever sources correspond with the currently running kernel. However, this symbolic link will not be created by default. An easy way to create the symbolic link is to utilize eselect's kernel module.
For further information regarding the purpose of the symlink, and how to manage it, please refer to Kernel/Upgrade.
First, list all installed kernels:
root #
eselect kernel list
Available kernel symlink targets: [1] linux-3.16.5-gentoo
In order to create a symbolic link called linux, use:
root #
eselect kernel set 1
root #
ls -l /usr/src/linux
lrwxrwxrwx 1 root root 12 Oct 13 11:04 /usr/src/linux -> linux-3.16.5-gentoo
Alternativa: Usando o genkernel
Se a configuração manual parecer muito difícil, então é recomendado o uso do genkernel. Ele irá configurar e construir o kernel automaticamente.
Genkernel provides a generic kernel configuration file and will compile the kernel and initramfs, then install the resulting binaries to the appropriate locations. This results in minimal and generic hardware support for the system's first boot, and allows for additional update control and customization of the kernel's configuration in the future.
Be informed: while using genkernel to maintain the kernel provides system administrators with more update control over the system's kernel, initramfs, and other options, it will require a time and effort commitment to perform future kernel updates as new sources are released. Those looking for a hands-off approach to kernel maintenance should use a distribution kernel.
For additional clarity, it is a misconception to believe genkernel automatically generates a custom kernel configuration for the hardware on which it is run; it uses a predetermined kernel configuration that supports most generic hardware and automatically handles the make commands necessary to assemble and install the kernel, the associate modules, and the initramfs file.
Binary redistributable software license group
If the linux-firmware package has been previously installed, then skip onward to the to the installation section.
As a prerequisite, due to the firwmare
USE flag being enabled by default for the sys-kernel/genkernel package, the package manager will also attempt to pull in the sys-kernel/linux-firmware package. The binary redistributable software licenses are required to be accepted before the linux-firmware will install.
This license group can be accepted system-wide for any package by adding the @BINARY-REDISTRIBUTABLE
as an ACCEPT_LICENSE value in the /etc/portage/make.conf file. It can be exclusively accepted for the linux-firmware package by adding a specific inclusion via a /etc/portage/package.license/linux-firmware file.
If necessary, review the methods of accepting software licenses available in the Installing the base system chapter of the handbook, then make some changes for acceptable software licenses.
If in analysis paralysis, the following will do the trick:
root #
mkdir /etc/portage/package.license
/etc/portage/package.license/linux-firmware
Accept binary redistributable licenses for the linux-firmware packagesys-kernel/linux-firmware @BINARY-REDISTRIBUTABLE
Installation
Agora vamos ver como usar o genkernel. Primeiro faça emerge do pacote sys-kernel/genkernel:
root #
emerge --ask sys-kernel/genkernel
Generation
Agora, compile os fontes do kernel executando genkernel all. Note que, como genkernel all compila um kernel com suporte para quase todo tipo de hardware, a compilação pode demorar para terminar!
Se a partição de boot não usa ext2 ou ext3 como sistema de arquivos, pode ser necessário configurar manualmente o kernel usando genkernel --menuconfig all e adicionar suporte para esse sistema de arquivo em particular no kernel (não como módulo). Usuários de LVM2 provavelmente irão querer adicionar
--lvm
como argumento também.Users of LVM2 should add
--lvm
as an argument to the genkernel command below.root #
genkernel all
Quando o genkernel terminar, estarão criados um kernel, um conjunto completo de módulos e um ramdisk inicial (initrd). Usaremos o kernel e o initrd quando configurarmos o gerenciador de boot mais tarde neste documento. Anote os nomes do kernel e do initrd pois essas informações são utilizadas quando o arquivo de configuração do gerenciador de boot for editado. O initrd será executado imediatamente após o boot para fazer a autodetecção de hardware (como no CD de instalação) antes do sistema "real" inicializar.
root #
ls /boot/kernel* /boot/initramfs*
Padrão: Configuração manual
Introdução
Configurar manualmente um kernel é geralmente visto como o procedimento mais difícil que um usuário Linux pode fazer. Nada mais falso -- depois de configurar algumas vezes o kernel ninguém irá se lembrar que era difícil.
Porém, uma coisa é verdade: é vital conhecer o sistema quando um kernel é configurado manualmente. A maioria das informações pode ser coletada fazendo emerge no sys-apps/pciutils que contém o comando lspci:
root #
emerge --ask sys-apps/pciutils
Dentro do chroot, é seguro ignorar qualquer aviso da pcilib (como pcilib: cannot open /sys/bus/pci/devices) que o lspci possa emitir.
Uma outra fonte de informação do sistema é executar o lsmod para ver quais módulos do kernel o CD de instalação usa pois isso pode dar dicas sobre o que habilitar.
Agora vá para o diretório dos fontes do kernel e execute make menuconfig. Isso irá mostrar uma tela de configuração baseada em menus.
root #
cd /usr/src/linux
root #
make menuconfig
A configuração do kernel do Linux tem muitas, muitas seções. Vamos primeiro mostrar algumas opções que devem ser ativadas (ou senão o Gentoo não irá funcionar, ou não funcionar adequadamente sem alguns ajustes). Existe também o Guia de configuração do kernel do Gentoo no wiki do Gentoo que poderá também ajudar.
Ativando as opções necessárias
When using sys-kernel/gentoo-sources, it is strongly recommend the Gentoo-specific configuration options be enabled. These ensure that a minimum of kernel features required for proper functioning is available:
Gentoo Linux --->
Generic Driver Options --->
[*] Gentoo Linux support
[*] Linux dynamic and persistent device naming (userspace devfs) support
[*] Select options required by Portage features
Support for init systems, system and service managers --->
[*] OpenRC, runit and other script based systems and managers
[*] systemd
Naturally the choice in the last two lines depends on the selected init system (OpenRC vs. systemd). It does not hurt to have support for both init systems enabled.
When using sys-kernel/vanilla-sources, the additional selections for init systems will be unavailable. Enabling support is possible, but goes beyond the scope of the handbook.
Enabling support for typical system components
Certifique-se de que todos os drivers que forem vitais para a inicialização do sistema (tais como controladores SCSI etc) são compilados no kernel e não como módulos, ou senão o sistema não será capaz de inicializar completamente.
Em seguida selecione o tipo exato do processador. É também recomendado habilitar os recursos MCE (se disponíveis) de modo que os usuários possam ser notificados sobre quaisquer problemas de hardware. Em algumas arquiteturas (tais como a x86_64), esses erros não são impressos pelo dmesg, mas em /dev/mcelog. Isso requer o pacote app-admin/mcelog.
Selecione também Maintain a devtmpfs file system to mount at /dev assim os arquivos de dispositivos críticos estarão disponíveis logo durante o processo de inicialização (CONFIG_DEVTMPFS and CONFIG_DEVTMPFS_MOUNT):
Device Drivers --->
Generic Driver Options --->
[*] Maintain a devtmpfs filesystem to mount at /dev
[ ] Automount devtmpfs at /dev, after the kernel mounted the rootfs
Verifique se o suporte a discos SCSI foi ativado (CONFIG_BLK_DEV_SD):
Device Drivers --->
SCSI device support --->
<*> SCSI disk support
Device Drivers --->
<*> Serial ATA and Parallel ATA drivers (libata) --->
[*] ATA ACPI Support
[*] SATA Port Multiplier support
<*> AHCI SATA support (ahci)
[*] ATA BMDMA support
[*] ATA SFF support (for legacy IDE and PATA)
<*> Intel ESB, ICH, PIIX3, PIIX4 PATA/SATA support (ata_piix)
Verify basic NVMe support has been enabled:
Device Drivers --->
<*> NVM Express block device
Device Drivers --->
NVME Support --->
<*> NVM Express block device
It does not hurt to enable the following additional NVMe support:
[*] NVMe multipath support
[*] NVMe hardware monitoring
<M> NVM Express over Fabrics FC host driver
<M> NVM Express over Fabrics TCP host driver
<M> NVMe Target support
[*] NVMe Target Passthrough support
<M> NVMe loopback device support
<M> NVMe over Fabrics FC target driver
< > NVMe over Fabrics FC Transport Loopback Test driver (NEW)
<M> NVMe over Fabrics TCP target support
Vá agora para File Systems (Sistemas de Arquivos) e selecione suporte para os sistemas de arquivos que você usa. Não compile o sistema de arquivo que é usado como sistema de arquivo raiz como módulo, ou senão o sistema Gentoo não será capaz de montar a partição. Selecione também "Virtual memory" (Memória virtual) e "/proc file system" (sistema de arquivo /proc). Selecione uma ou mais das seguintes opções segundo as necessidades do sistema: (CONFIG_EXT2_FS, CONFIG_EXT3_FS, CONFIG_EXT4_FS, CONFIG_MSDOS_FS, CONFIG_VFAT_FS, CONFIG_PROC_FS, and CONFIG_TMPFS):
File systems --->
<*> Second extended fs support
<*> The Extended 3 (ext3) filesystem
<*> The Extended 4 (ext4) filesystem
<*> Reiserfs support
<*> JFS filesystem support
<*> XFS filesystem support
<*> Btrfs filesystem support
DOS/FAT/NT Filesystems --->
<*> MSDOS fs support
<*> VFAT (Windows-95) fs support
Pseudo Filesystems --->
[*] /proc file system support
[*] Tmpfs virtual memory file system support (former shm fs)
Se for usado PPPoE para conectar à Internet, ou um modem com discagem foi usado, então habilite as seguintes opções (CONFIG_PPP, CONFIG_PPP_ASYNC, e CONFIG_PPP_SYNC_TTY):
Device Drivers --->
Network device support --->
<*> PPP (point-to-point protocol) support
<*> PPP support for async serial ports
<*> PPP support for sync tty ports
As duas opções de compactação não vão atrapalhar mas definitivamente não são necessárias, assim como a opção de PPP sobre Ethernet (PPP over Ethernet), que pode apenas ser usada pelo ppp quando configurado para usar PPPoE em modo kernel.
Não se esqueça de incluir suporte no kernel para as placas de rede (ethernet ou sem fio).
A maioria dos sistemas tem múltiplos núcleos à disposição, então é importante ativar a opção "Symmetric multi-processing support" (suporte a multi-processamento simétrico) (CONFIG_SMP):
Processor type and features --->
[*] Symmetric multi-processing support
Em sistemas com vários núcleos, cada núcleo conta como um processador.
Se forem usados dispositivos de entrada USB (como teclado ou mouse) ou outros dispositivos USB, não se esqueça de habilitá-los também (CONFIG_HID_GENERIC and CONFIG_USB_HID, CONFIG_USB_SUPPORT, CONFIG_USB_XHCI_HCD, CONFIG_USB_EHCI_HCD, CONFIG_USB_OHCI_HCD):
Device Drivers --->
HID support --->
-*- HID bus support
<*> Generic HID driver
[*] Battery level reporting for HID devices
USB HID support --->
<*> USB HID transport layer
[*] USB support --->
<*> xHCI HCD (USB 3.0) support
<*> EHCI HCD (USB 2.0) support
<*> OHCI HCD (USB 1.1) support
Compilando e instalando
Para compilar um kernel 64 bits, primeiro faça emerge do kgcc64. Porém, rodar um kernel 64 bits é desencorajado. Apenas rode um kernel 64 bits se o sistema tiver mais de 4GB de RAM ou se o servidor requerer (A500, por exemplo).
Agora que o kernel está configurado, é hora de compilá-lo e instalá-lo. Saia da configuração e inicie o processo de compilação:
root #
make && make modules_install
If building a 64-bit kernel, do this instead (it's necessary even for native builds, see here):
root #
CROSS_COMPILE=hppa64-unknown-linux-gnu- make && CROSS_COMPILE=hppa64-unknown-linux-gnu- make modules_install
É possível habilitar a compilação paralela usando
make -jX
com X sendo o número de tarefas em paralelo que o processo de compilação é permitido disparar. Isso é similar às instruções sobre o /etc/portage/make.conf vistas anteriormente, com a variável MAKEOPTS
.Quando a compilação do kernel terminar, copie a imagem do kernel para /boot/. Use qualquer nome que achar apropriado para o kernel escolhido e lembre-se que ele será necessário mais tarde quando for configurado o carregador de boot. Lembre-se de substituir kernel-3.16.5-gentoo pelo nome e versão do kernel instalado.
root #
cp vmlinux /boot/kernel-3.16.5-gentoo
Opcional: Criando um initramfs
Em certos casos, é necessário construir um initramfs - um sistema inicial de arquivos em RAM. A razão mais comum é quando os locais importantes do sistema de arquivos (como /usr/ ou /var/) estão em partições separadas. Com um initramfs, essas partições podem ser montadas usando as ferramentas disponíveis dentro do initramfs.
Sem um initramfs, há um enorme risco de o sistema não inicializar correctamente porque as ferramentas que são responsáveis pela montagem dos sistemas de arquivos precisam de informação que reside nesses sistemas de arquivos. Um initramfs irá puxar os arquivos necessários em um arquivo que é usado logo após o kernel inicializa, mas antes que o controle é entregue para a ferramenta de init. Os scripts do initramfs, então, certificam-se de que as partições estejam devidamente montadas antes do sistema continuar a inicialização.
If using genkernel, it should be used for both building the kernel and the initramfs. When using genkernel only for generating an initramfs, it is crucial to pass
--kernel-config=/path/to/kernel.config
to genkernel or the generated initramfs may not work with a manually built kernel. Note that manually built kernels go beyond the scope of support for the handbook. See the kernel configuration article for more information.Para instalar um initramfs, primeiramente instale o pacote sys-kernel/genkernel, e em seguida, use-o para gerar um initramfs:
root #
emerge --ask sys-kernel/genkernel
root #
genkernel --install initramfs
O initramfs será armazenado em /boot/. O arquivo resultante pode ser encontrado listando os arquivos iniciando com "initramfs":
root #
ls /boot/initramfs*
Continue agora com os Módulos do kernel
Módulos do kernel
Configurando os módulos
É opcional listar manualmente os módulos de hardware. udev irá normalmente carregar todos os módulos de hardware que forem detectados ou conectados na maioria dos casos. Entretanto, não causa problema que módulos carregados automaticamente sejam listados. As vezes, algum hardware mais exótico requer alguma ajuda para carregar seus drivers.
Liste os módulos que precisem ser carregados no arquivo /etc/modules-load.d/*.conf, um módulo por linha. Opções extra para os módulos, se necessárias, devem ser configuradas nos arquivos /etc/modprobe.d/*.conf.
Para visualizar todos os módulos disponíveis, execute o seguinte comando find. Não se esqueça de substituir "<kernel version>" pela versão do kernel recém compilada:
root #
find /lib/modules/<kernel version>/ -type f -iname '*.o' -or -iname '*.ko' | less
Force loading particular kernel modules
Por exemplo, para carregar automaticamente o módulo 3c59x.ko (que é o driver para uma placa de rede específica da família 3Com), edite o arquivo /etc/modules-load.d/network.conf e entre com o nome do módulo nele. O nome real do arquivo não é significativo para o carregador.
root #
mkdir -p /etc/modules-load.d
root #
nano -w /etc/modules-load.d/network.conf
Note that the module's .ko file suffix is insignificant to the loading mechanism and left out of the configuration file:
/etc/modules-load.d/network.conf
Forçar o carregamento do módulo 3c59x3c59x
Continue a instalação em Configurando o sistema.
Informação do sistema de arquivos
Sobre o fstab
No Linux todas as partições usadas pelo sistema devem ser listadas em /etc/fstab. Esse arquivo contém os pontos de montagem das partições (onde elas se encontram na estrutura do sistema de arquivos), como elas devem ser montadas, quais opções especiais (automáticas ou não, se os usuários podem montá-las ou não, etc.)
Criando o arquivo fstab
O arquivo /etc/fstab usa uma sintaxe do tipo tabela. Cada linha consiste de seis campos separados por espaço (espaço, tabulação ou ambos). Cada campo tem seu próprio significado:
- O primeiro campo mostra o dispositivo especial de bloco ou sistema de arquivo remoto a ser montado. Diversos tipos de identificadores de dispositivos para nós de dispositivos especiais de bloco, incluindo o caminho para os arquivos de dispositivos, nomes e UUIDs de sistemas de arquivos, nomes de partição e UUIDs.
- O segundo campo mostra o ponto de montagem no qual a partição deve ser montada;
- O terceiro campo mostra o tipo de sistema de arquivo usado pela partição;
- O quarto campo mostra as opções de montagem usadas pelo mount quando ele montar a partição. Como cada tipo de sistema de arquivos tem suas opções de montagem próprias, os usuários são encorajados a ler a página de manual do mount (man mount) para uma listagem completa. Opções múltiplas são separadas por vírgulas;
- O quinto campo é usado pelo
dump
para determinar se ele deve checar a necessidade de backup. É normalmente deixado como 0 (zero); - O sexto campo é usado pelo fsck para determinar a ordem na qual os sistemas de arquivos devem ser checados se o sistema de arquivo foi desativado adequadamente. O sistema de arquivo raiz deve conter 1 enquanto os demais devem conter 2 (ou 0 se a checagem não for necessária).
O arquivo /etc/fstab default fornecido pelo Gentoo não é um arquivo fstab válido mas apenas um modelo.
root #
nano -w /etc/fstab
No restante deste texto, usamos os arquivos de dispositivo de bloco /dev/sd* padrão como partição.
Nomes de sistemas de arquivos e UUIDs
Tanto o MBR (BIOS) quanto o GPT incluem suporte para nomes e UUIDs do tipo "sistema de arquivo". Esses atributos podem ser definidos em /etc/fstab como alternativa para o comando mount usar quanto tentar encontrar e montar dispositivos de blocos. Nomes de sistemas de arquivos e UUIDs são identificados pelos prefixos LABEL e UUID e podem ser vistos com o comando blkid.
root #
blkid
Se o sistema de arquivo em uma partição é eliminado, o nome do sistema de arquivos os valores UUID serão alterados ou removidos.
Por sua unicidade, leitores usando tabelas de partição do tipo MBR são recomendados usar UUIDs em vez de nomes para definir os volumes a serem montados em /etc/fstab.
UUIDs of the filesystem on a LVM volume and its LVM snapshots are identical, therefore using UUIDs to mount LVM volumes should be avoided.
Nomes de partição e UUIDs
Usuários que tomaram a rota GPT tem algumas opções mais 'robustas' disponíveis para definir as partições em /etc/fstab. Nomes de partições e UUIDs podem ser usados em dispositivos formatados com GPT para identificar de forma única as partições dos dispositivos de bloco, independentemente de qual sistema de arquivos foi escolhida para a partição em si. Nomes e UUIDs são identificados pelos prefixos PARTLABEL e PARTUUID respectivamete e podem ser facilmente visualizados no terminal executando o comando blkid:
root #
blkid
Enquanto nem sempre seja verdade para nomes de partições, usar uma UUID para identificar uma partição em fstab provê uma garantia que o carregador de boot não irá se confundir quando procurar um dado volume, mesmo se o dispositivo de arquivo de bloco mudar no futuro. Usar os velhos padrões de arquivos de dispositivos de bloco (/dev/sd*N) para definir partições no fstab é arriscado para sistemas que são reiniciados frequentemente e tem dispositivos de blocos SATA adicionados e removidos regularmente.
A nomeação de dispositivos de arquivo de bloco depende de um número de fatores incluindo como e em qual ordem os discos estão conectados ao sistema. Eles podem também aparecer em ordem diferente dependendo de quais dispositivos são detectados pelo kernel durante os estágios iniciais de boot. Com isto em mente, a não ser que alguém tenha intenção de constantemente ajustar a ordem dos discos, usar os dispositivos de arquivos de bloco padrão é uma abordagem simples e direta.
Vamos dar uma olhada em como criar as opções para a partição /boot/. Isto é apenas um exemplo, e deve ser modificado de acordo com as decisões de particionamento feitas anteriormente na instalação. Em nosso exemplo de particionamento para hppa, o /boot/ é normalmente a partição /dev/sda2, com um sistema de arquivos ext2. Ela precisa ser checada durante o boot, então poderíamos escrever:
/etc/fstab
Uma linha /boot de exemplo para /etc/fstab/dev/sda2 /boot ext2 defaults 0 2
Alguns usuários podem não querer sua partição /boot/ montada automaticamente para aumentar a segurança do sistema. Essas pessoas devem substituir defaults por noauto. Isso significa que esses usuários precisarão montar manualmente essa partição toda vez que precisarem usá-la.
Adicione regras que correspondam ao esquema de particionamento decidido anteriormente e acrescente regras para dispositivos como drives de CD-ROM e, é claro, se forem usadas outras partições ou drives, para esses também.
Abaixo é mostrado um exemplo mais elaborado de um arquivo /etc/fstab:
/etc/fstab
Um exemplo de /etc/fstab completo/dev/sda2 /boot ext2 defaults,noatime 0 2
/dev/sda3 none swap sw 0 0
/dev/sda4 / ext4 noatime 0 1
/dev/cdrom /mnt/cdrom auto noauto,user 0 0
Quando auto
é usado no terceiro campo, ele faz com que o comando mount tente reconhecer o tipo de sistema de arquivo. Isso é recomendado para mídias removíveis uma vez que podem ser formatadas com algum sistema de arquivo qualquer. A opção user
no quarto campo faz possível a montagem do CD para usuários não root.
To improve performance, most users would want to add the noatime
mount option, which results in a faster system since access times are not registered (those are not needed generally anyway). This is also recommended for systems with solid state drives (SSDs). Users may wish to consider lazytime
instead.
Due to degradation in performance, defining the
discard
mount option in /etc/fstab is not recommended. It is generally better to schedule block discards on a periodic basis using a job scheduler such as cron or a timer (systemd). See Periodic fstrim jobs for more information.Certifique-se que o arquivo /etc/fstab está correto, salve-o e saia do editor para continuar.
Informação de rede
It is important to note the following sections are provided to help the reader quickly setup their system to partake in a local area network.
For systems running OpenRC, a more detailed reference for network setup is available in the advanced network configuration section, which is covered near the end of the handbook. Systems with more specific network needs may need to skip ahead, then return here to continue with the rest of the installation.
For more specific systemd network setup, please review see the networking portion of the systemd article.
Informação de host e domínio
Uma das escolhas que o usuário deve fazer é dar nome ao seu PC. Isso parece bem fácil, mas muitos usuários têm dificuldades em encontrar um nome apropriado para seu PC com Linux. Para acelerar as coisas, saiba que essa decisão não é definitiva - ela pode ser alterada mais tarde. Nos exemplos abaixo, é usado o nome de host "tux" dentro do domínio "homenetwork".
Set the hostname (OpenRC or systemd)
root #
echo tux > /etc/hostname
systemd
To set the system hostname for a system currently running systemd, the hostnamectl utility may be used. During the installation process however, systemd-firstboot command must be used instead (see later on in handbook).
For setting the hostname to "tux", one would run:
root #
hostnamectl hostname tux
View help by running hostnamectl --help or man 1 hostnamectl.
Network
There are many options available for configuring network interfaces. This section covers a only a few methods. Choose the one which seems best suited to the setup needed.
DHCP via dhcpcd (any init system)
Most LAN networks operate a DHCP server. If this is the case, then using the dhcpcd program to obtain an IP address is recommended.
To install:
root #
emerge --ask net-misc/dhcpcd
To enable and then start the service on OpenRC systems:
root #
rc-update add dhcpcd default
root #
rc-service dhcpcd start
To enable and start the service on systemd systems:
root #
systemctl enable --now dhcpcd
With these steps completed, next time the system boots, dhcpcd should obtain an IP address from the DHCP server. See the Dhcpcd article for more details.
netifrc (OpenRC)
Configurando a rede
Durante a instalação do Gentoo Linux, a rede já foi configurada. Porém, a configuração foi para o CD de instalação e não para o ambiente instalado. Agora a configuração de rede será feita para o sistema Gentoo Linux instalado.
Informações mais detalhadas sobre configuração de rede, incluindo tópicos avançados como bonding, bridging, 802.1Q VLANs e redes sem fio são cobertas na seção de Configuração de Rede no Gentoo.
Toda a configuração de rede está reunida no arquivo /etc/conf.d/net. Ele usa uma sintaxe direta mas talvez não muito intuitiva. Mas não tema, tudo está explicado abaixo. Um exemplo completamente comentado que cobre muitas configurações diferentes está disponível em /usr/share/doc/netifrc-*/net.example.bz2.
Primeiro instale o pacote net-misc/netifrc:
root #
emerge --ask --noreplace net-misc/netifrc
O DHCP é usado por default. Para o DHCP funcionar, é necessário instalar um cliente DHCP. Isso é descrito adiante em Ferramentas do Sistema Necessárias.
Se a conexão de rede precisa ser configurada por causa de opções específicas do DHCP ou porque o DHCP não é utilizado, então edite /etc/conf.d/net:
root #
nano -w /etc/conf.d/net
Configure ambas as variáveis config_eth0 e routes_eth0 para entrar com a informação de endereço IP e de roteamente:
É assumido que a interface de rede é chamada eth0. Isso, porém, é muito dependente do sistema. É recomendado assumir que a interface é nomeada da mesma forma que quando o sistema foi inicializado pela mídia de instalação se a mídia de instalação for razoavelmente recente. Mais informações podem ser encontradas em Nomes de Interface de Rede.
/etc/conf.d/net
Static IP definitionconfig_eth0="192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255"
routes_eth0="default via 192.168.0.1"
Para usar DHCP, defina config_eth0:
/etc/conf.d/net
Definindo DHCPconfig_eth0="dhcp"
Por favor veja os arquivos /usr/share/doc/netifrc-*/net.example.bz2 para uma lista de todas as opções disponíveis. Certifique-se de também ler a página de manual (man page) se opções específicas do DHCP precisarem ser configuradas.
Se o sistema tem várias interfaces de rede, então repita os passos acima para config_eth1, config_eth2, etc.
Agora salve a configuração e saia para continuar.
Iniciando automaticamente a rede durante o boot
Para que as interfaces de rede sejam ativadas durante o boot, elas precisam ser adicionadas no runlevel default.
root #
cd /etc/init.d
root #
ln -s net.lo net.eth0
root #
rc-update add net.eth0 default
Se o sistema tem várias interfaces de rede, então os arquivos net.* precisam ser criados assim como fizemos com o net.eth0.
Se após a inicialização do sistema descobrirmos que o nome que usamos para a interface de rede (que está atualmente documentada como eth0) está errado, então execute os seguintes passos para corrigir isso:
- Corrija o arquivo /etc/conf.d/net com o nome correto da interface de rede (tal como
enp3s0
em vez deeth0
). - Crie um novo link simbólico (como /etc/init.d/net.enp3s0).
- Remova o link simbólico antigo (rm /etc/init.d/net.eth0).
- Adicione o novo ao runlevel default.
- Remova o antigo usando rc-update del net.eth0 default.
O arquivo hosts
Agora informe ao Linux sobre seu ambiente de rede. Isso é definido no arquivo /etc/hosts e é utilizado na resolução de nomes de hosts em endereços IP para os hosts que não são resolvidos pelo servidor de nomes.
root #
nano -w /etc/hosts
/etc/hosts
Preenchendo as informações de rede# This defines the current system and must be set
127.0.0.1 tux.homenetwork tux localhost
# Optional definition of extra systems on the network
192.168.0.5 jenny.homenetwork jenny
192.168.0.6 benny.homenetwork benny
Salve e saia do editor para continuar.
Informações do sistema
Senha do root
Configure a senha do root usando o comando passwd.
root #
passwd
A conta de root é uma toda poderosa, então escolha uma senha forte. Depois uma conta de usuário comum será criada para operações diárias.
Configuração de início e boot
OpenRC
Gentoo (ao menos quando usa OpenRC) usa /etc/rc.conf para configurar os serviços, início, desligamento do sistema. Abra /etc/rc.conf e aproveite todos os comentários no arquivo. Reveja as configurações e mude onde for necessário.
root #
nano -w /etc/rc.conf
Em seguida, abra /etc/conf.d/keymaps para manipular a configuração de teclado. Edite-o para configurar e escolher o teclado correto.
root #
nano -w /etc/conf.d/keymaps
Tenha um cuidado especial com a variável keymap. Se o mapa de teclado errado for selecionado, resultados estranhos aparecerão durante a digitação.
Finalmente, edite /etc/conf.d/hwclock para definir as opções de relógio. Edite-o de acordo com suas preferências.
root #
nano -w /etc/conf.d/hwclock
Se o relógio de hardware não estiver usando UTC é necessário incluir clock="local"
no arquivo. Senão o sistema pode apresentar comportamento errático do relógio.
systemd
First, it is recommended to run systemd-firstboot which will prepare various components of the system are set correctly for the first boot into the new systemd environment. The passing the following options will include a prompt for the user to set a locale, timezone, hostname, root password, and root shell values. It will also assign a random machine ID to the installation:
root #
systemd-firstboot --prompt --setup-machine-id
Next users should run systemctl to reset all installed unit files to the preset policy values:
root #
systemctl preset-all --preset-mode=enable-only
It's possible to run the full preset changes but this may reset any services which were already configured during the process:
root #
systemctl preset-all
These two steps will help ensure a smooth transition from the live environment to the installation's first boot.
Sistema de log
OpenRC
Algumas ferramentas estão ausentes do arquivo stage3 porque diversos outros pacotes fornecem a mesma funcionalidade. Agora depende do usuário escolher quais instalar.
A primeira ferramente sobre a qual precisamos nos decidir é a que provê serviço de log para o sistema. Unix e Linux tem uma história excelente de capacidade de serviço de log - se necessário, tudo o que acontece no sistema pode ser logado nos arquivos de log. Isso acontece através do serviço de log.
O Gentoo oferece vários utilitários de logs do sistema. Entre eles estão incluídos:
- app-admin/sysklogd - Oferece o conjunto tradicional de serviços de log do sistema. É o sistema de log default e funciona bem sem precisar de configuração, o que faz deste pacote uma boa opção para iniciantes.
- app-admin/syslog-ng - Um sistema de log avançado. Requer configurações adicionais para qualquer coisa além de gerar log para um arquivo. Usuários mais avançados podem escolher este pacote baseados no seu potencial de registro de logs; entretanto, configurações adicionais são necessárias para qualquer tipo de registro inteligente de log.
- app-admin/metalog - Um sistema de log altamente configurável.
Outros também estão disponíveis através do Portage - o número de pacotes disponíveis aumenta diariamente.
Se for usado o sysklogd ou syslog-ng, é recomendado instalar e configurar o pacote logrotate em seguida uma vez que esses sistemas de log não oferece nenhum mecanismo de rotação dos arquivos de log.
Para instalar o sistema de log de sua escolha, faça emerge dele e o adicione ao runlevel default usando rc-update. O exemplo a seguir instala o pacote app-admin/sysklogd.
root #
emerge --ask app-admin/sysklogd
root #
rc-update add sysklogd default
systemd
While a selection of logging mechanisms are presented for OpenRC-based systems, systemd includes a built-in logger called the systemd-journald service. The systemd-journald service is capable of handling most of the logging functionality outlined in the previous system logger section. That is to say, the majority of installations that will run systemd as the system and service manager can safely skip adding a additional syslog utilities.
See man journalctl for more details on using journalctl to query and review the systems logs.
For a number of reasons, such as the case of forwarding logs to a central host, it may be important to include redundant system logging mechanisms on a systemd-based system. This is a irregular occurrence for the handbook's typical audience and considered an advanced use case. It is therefore not covered by the handbook.
Opcional: Cron daemon
OpenRC
Em seguida o cron daemon. Embora ele seja opcional e não requerido em todo sistema, é prudente instalar um.
Um cron daemon executa comandos agendados. É muito útil se algum comando necessita ser executado regularmente (por exemplo, diária, semanal ou mensalmente).
All cron daemons support high levels of granularity for scheduled tasks, and generally include the ability to send an email or other form of notification if a scheduled task does not complete as expected.
O Gentoo oferece diversos crons daemons possíveis, incluindo o sys-process/bcron, o sys-process/dcron, o sys-process/fcron e o sys-process/cronie. Instalar um desses é similar a instalar o sistema de log. O exemplo abaixo usa o pacote sys-process/cronie:
- sys-process/cronie - cronie is based on the original cron and has security and configuration enhancements like the ability to use PAM and SELinux.
- sys-process/dcron - This lightweight cron daemon aims to be simple and secure, with just enough features to stay useful.
- sys-process/fcron - A command scheduler with extended capabilities over cron and anacron.
- sys-process/bcron - A younger cron system designed with secure operations in mind. To do this, the system is divided into several separate programs, each responsible for a separate task, with strictly controlled communications between parts.
cronie
The following example uses sys-process/cronie:
root #
emerge --ask sys-process/cronie
root #
rc-update add cronie default
root #
rc-update add cronie default
Alternative: dcron
root #
emerge --ask sys-process/dcron
Se o dcron ou o fcron for usado, um comando adicional de inicialização precisa ser executado:
root #
crontab /etc/crontab
Alternative: fcron
root #
emerge --ask sys-process/fcron
If fcron is the selected scheduled task handler, an additional emerge step is required:
root #
emerge --config sys-process/fcron
Alternative: bcron
bcron is a younger cron agent with built-in privilege separation.
root #
emerge --ask sys-process/bcron
systemd
Similar to system logging, systemd-based systems include support for scheduled tasks out-of-the-box in the form of timers. systemd timers can run at a system-level or a user-level and include the same functionality that a traditional cron daemon would provide. Unless redundant capabilities are necessary, installing an additional task scheduler such as a cron daemon is generally unnecessary and can be safely skipped.
Opcional: Indexação de arquivos
De modo a indexar o sistema de arquivos para obter a capacidade de localizar arquivos rapidamente, instale o pacote sys-apps/mlocate.
root #
emerge --ask sys-apps/mlocate
Opcional: Acesso remoto
opensshd's default configuration does not allow root to login as a remote user. Please create a non-root user and configure it appropriately to allow access post-installation if required, or adjust /etc/ssh/sshd_config to allow root.
Para ser capaz de acessar o sistema remotamente após a instalação, adicione o script de inicialização sshd o runlevel default:
OpenRC
root #
rc-update add sshd default
Se for necessário acesso ao console serial (o que é possível em caso de servidores remotos), descomente a seção de console serial em /etc/inittab:
Uncomment the serial console section in /etc/inittab:
root #
nano -w /etc/inittab
# SERIAL CONSOLES s0:12345:respawn:/sbin/agetty 9600 ttyS0 vt100 s1:12345:respawn:/sbin/agetty 9600 ttyS1 vt100
systemd
To enable the SSH server, run:
root #
systemctl enable sshd
To enable serial console support, run:
root #
systemctl enable getty@tty1.service
Optional: Shell completion
Bash
Bash is the default shell for Gentoo systems, and therefore installing completion extensions can aid in efficiency and convenience to managing the system. The app-shells/bash-completion package will install completions available for Gentoo specific commands, as well as many other common commands and utilities:
root #
emerge --ask app-shells/bash-completion
Post installation, bash completion for specific commands can managed through eselect. See the Shell completion integrations section of the bash article for more details.
Time synchronization
It is important to use some method of synchronizing the system clock. This is usually done via the NTP protocol and software. Other implementations using the NTP protocol exist, like Chrony.
To set up Chrony, for example:
root #
emerge --ask net-misc/chrony
OpenRC
On OpenRC, run:
root #
rc-update add chronyd default
systemd
On systemd, run:
root #
systemctl enable chronyd.service
Alternatively, systemd users may wish to use the simpler systemd-timesyncd SNTP client which is installed by default.
root #
systemctl enable systemd-timesyncd.service
Ferramentas de sistemas de arquivos
Dependendo dos sistemas de arquivos usados, é necessário instalar os utilitários de sistemas de arquivos (para checagem da integridade do sistema de arquivos, criar sistemas de arquivos adicionais etc). Note que as ferramentas para gerenciar os sistemas de arquivos ext2, ext3 ou ext4 (sys-fs/e2fsprogs) já foram instaladas como parte conjunto @system.
A tabela seguinte lista as ferramentas para instalar se um dado sistema de arquivo for usado:
Sistema de arquivo | Pacote |
---|---|
Ext2, 3 e 4 | sys-fs/e2fsprogs |
XFS | sys-fs/xfsprogs |
ReiserFS | sys-fs/reiserfsprogs |
JFS | sys-fs/jfsutils |
VFAT (FAT32, ...) | sys-fs/dosfstools |
Btrfs | sys-fs/btrfs-progs |
It's recommended that sys-block/io-scheduler-udev-rules is installed for the correct scheduler behavior with e.g. nvme devices:
root #
emerge --ask sys-block/io-scheduler-udev-rules
Para mais informações sobre sistemas de arquivos no Gentoo, veja o artigo Sistemas de Arquivos.
Utilitários de rede
Se não houver necessidade de nenhum utilitário adicional de rede, continue imediatamente na seção Configurando um gerenciador de boot.
Instalando um cliente DHCP
Embora opcional, a maioria dos usuários irá precisar de um cliente DHCP para usar o servidor DHCP em suas redes. Aproveite esta oportunidade para instalar um cliente DHCP. Se este passo for esquecido, o sistema pode não ser capaz de usar a rede tornando impossível baixar o cliente DHCP mais tarde.
De modo ao sistema automaticamente obter um endereço IP para uma ou mais interfaces usando os scripts netifrc, é necessário instalar um cliente DHCP. Recomendamos o uso do net-misc/dhcpcd embora muitos outros clientes DHCP estejam disponíveis no repositório do Gentoo:
root #
emerge --ask net-misc/dhcpcd
Opcional: Instalando um cliente PPPoE
Se for usado PPP para conexão à Internet, instale o pacote net-dialup/ppp:
root #
emerge --ask net-dialup/ppp
Opcional: Instalar utilitários para a rede sem fio
Se o sistema for se conectar em redes sem fio, instale o pacote net-wireless/iw para redes abertas ou com WEP e/ou o pacote net-wireless/wpa_supplicant para redes WPA ou WPA2. O pacote iw também é uma ferramenta básica de diagnóstico para pesquisa de redes sem fio.
root #
emerge --ask net-wireless/iw net-wireless/wpa_supplicant
Agora continue em Configurando o gerenciador de boot.
Instalando o PALO
Na plataforma PA-RISC, o carregador de boot é chamado palo. Primeiramente instale esse gerenciador de boot no sistema:
root #
emerge --ask sys-boot/palo
O arquivo de configuração pode ser encontrado em /etc/palo.conf. Abaixo temos um exemplo de configuração:
This configuration must be changed after running palo for the first time! See below for after first setup.
/etc/palo.conf
Exemplo simples de configuração do PALO'"`UNIQ--pre-00000085-QINU`"'
A primeira linha diz ao palo a localização do kernel e quais parâmetros de boot usar. A string 2/kernel-3.16.5-gentoo
informa que o kernel chamado /kernel-3.16.5-gentoo reside na segunda partição. Atenção, o caminho para o kernel é relativo à partição de boot, não a de root.
A segunda linha indica qual kernel de recuperação usar. Se esta for a primeira instalação e não houver um kernel de recuperação (ainda), deixe essa linha em comentário. A terceira linha indica em qual disco o palo será instalado.
To format the disk, palo must be run with certain arguments. This example uses ext4 for the first partition.
root #
palo --format-as=4 --init-partitioned=/dev/sda
Quando a configuração estiver completa, simplesmente execute o comando palo:
root #
palo
The configuration must then be updated for post-first-install use:
/etc/palo.conf
Simple PALO configuration example'"`UNIQ--pre-00000088-QINU`"'
Reiniciando o sistema
Saia do ambiente chroot e desmonte todas as partições montadas. Então digite o comando mágico que dá início ao verdadeiro teste final: reboot.
root #
exit
cdimage ~#
cd
cdimage ~#
umount -l /mnt/gentoo/dev{/shm,/pts,}
cdimage ~#
umount /mnt/gentoo{/boot,/sys,/proc,}
cdimage ~#
reboot
Claro, não esqueça de remover o CD de boot ou o sistema irá reinicializar pelo CD em vez do novo sistema Gentoo.
Uma vez reiniciado o sistema no ambiente recém-instalado finalize com Finalizando a instalação do Gentoo.
Administração de usuários
Adicionando um usuário para uso do dia-a-dia
Trabalhar como usuário root em um sistema Unix/Linux é perigoso e deve ser evitado o máximo possível. Assim, é muito recomendado adicionar um usuário para uso no dia-a-dia.
Os grupos que o usuário é membro definem quais atividades o usuário pode fazer. A tabela seguinte lista um número de grupos importantes:
Grupo | Descrição |
---|---|
audio | Ser capaz de acessar dispositivos de audio. |
cdrom | Ser capaz de acessar diretamente dispositivos óticos. |
floppy | Ser capaz de acessar drives de disquetes. |
games | Ser capaz de jogar jogos. |
portage | Ser capaz de acessar os recursos restritos do Portage. |
usb | Ser capaz de acessar dispositivos USB. |
video | Ser capaz de acessar dispositivos de captura de video ou usar aceleração de hardware. |
wheel | Ser capaz de usar su. |
Por exemplo, para criar um usuário chamado larry que é membro dos grupos wheel, users, e audio, faça login como root (apenas o root pode criar usuários) e execute useradd:
Login:
root
Password: (Enter the root password)
root #
useradd -m -G users,wheel,audio -s /bin/bash larry
root #
passwd larry
Password: (Enter the password for larry) Re-enter password: (Re-enter the password to verify)
Se um usuário precisar realizar alguma tarefa como root, ele pode usar su - para ter temporariamente privilégios de root. Outra forma é usar o pacote sudo que é, se configurado corretamente, muito seguro.
Limpeza do disco
Removendo os arquivos tar
Com a instalação do sistema Gentoo terminada e o sistema reiniciado, se tudo deu certo, podemos agora remover do disco os arquivos tar stage3 baixados. Lembre-se que eles foram baixados no diretório /.
root #
rm /stage3-*.tar.*
Aonde ir a partir daqui
Para onde ir a partir daqui? Há muitos caminhos a explorar... O Gentoo provê a seus usuários muitas possibilidades e também muitos recursos documentados (e outros nem tanto) a explorar aqui no wiki e outros subdomínios relacionados ao Gentoo (veja a seção Gentoo online abaixo).
Documentação
It is important to note that, due to the number of choices available in Gentoo, the documentation provided by the handbook is limited in scope - it mainly focuses on the basics of getting a Gentoo system up and running and basic system management activities. The handbook intentionally excludes instructions on graphical environments, details on hardening, and other important administrative tasks. That being stated, there are more sections of the handbook to assist readers with more basic functions.
Leitores devem com certeza dar uma olhada na próxima parte do Manual do Gentoo entitulada Trabalhando com o Gentoo que explica como manter seu sistema atualizado, como instalar pacotes de software adicionais, detalhes sobre as USE flags, o sistema de inicialização OpenRC etc, e vários outros tópicos informativos relacionados ao gerenciamento de um sistema Gentoo após a instalação.
Além do manual, o leitor também é encorajado a explorar outros cantos do Gentoo wiki para encontrar documentação adicional provida pela comunidade. A equipe do wiki do Gentoo oferece também uma Visão geral da documentação que lista uma seleção de artigos do wiki por categoria. Por exemplo, ela faz referência ao Guia de localização para fazer um sistema sentir-se mais em casa (particularmente útil para usuários que falam Inglês como segunda língua).
The majority of users with desktop use cases will setup graphical environments in which to work natively. There are many community maintained 'meta' articles for supported desktop environments (DEs) and window managers (WMs). Readers should be aware that each DE will require slightly different setup steps, which will lengthen add complexity to bootstrapping.
Many other Meta articles exist to provide our readers with high level overviews of available software within Gentoo.
Gentoo online
Os leitores devem notar que todos os sites online do Gentoo são governados pelo código de conduta do Gentoo. Ser ativo na comunidade Gentoo é um privilégio, não um direito, e os usuários devem estar cientes que o código de conduta existe por uma razão.
Com a exceção da rede IRC (Internet Relay Chat) hospedada pelo Freenode a as listas de discussão, a maioria dos sites web requerem uma conta para cada site de modo a fazer perguntas, abrir uma discussão ou reportar um bug.
Fóruns e IRC
Todos usuários são bem-vindos em nossos Fóruns do Gentoo ou em um dos nossos canais IRC. É fácil pesquisar nos fóruns se problemas encontrados em uma nova instalação do Gentoo foram encontrados anteriormente e resolvidos. É muito grande a probabilidade de outros usuários iniciantes no Gentoo terem os mesmos problemas. É recomendado pesquisar nos fóruns e no wiki antes de pedir ajuda nos canais de suporte do Gentoo.
Listas de discussão
Diversas listas de discussão estão disponíveis aos membros da comunidade que preferem solicitar ajuda ou informações por email em vez de criar uma conta de usuário nos fóruns ou IRC. O usuário deve seguir as instruções de movo a se inscrever em uma lista específica.
Bugs
É possível que depois de algum tempo pesquisando no wiki, fóruns e solicitando suporte por IRC e listas de discussão, não se encontre a solução para algum problema. Normalmente isso é um sinal para abrir um bug no site do Bugzilla.
Guia de desenvolvimento
Usuários que desejarem aprender mais sobre como desenvolver o Gentoo podem ver o Guia de desenvolvimento. Esse guia provê instruções sobre escrever ebuilds, trabalhar com eclasses e fornece definições para diversos conceitos gerais por trás do desenvolvimento do Gentoo.
Considerações finais
O Gentoo é uma distribuição robusta, flexível e excelentemente mantida. A comunidade de desenvolvedores fica feliz em receber sugestões sobre como fazer do Gentoo uma distribuição ainda melhor.
Como lembrete, qualquer sugestão sobre este manual deve seguir as diretrizes detalhadas na seção Como posso ajudar a melhorar o Manual? no início do manual.
Estamos ansiosos para saber como nossos usuários utilizam o Gentoo!
Warning: Display title "Gentoo Linux hppa Handbook: Installing Gentoo" overrides earlier display title "Manual:HPPA/Completo/Instalação".