                Perguntas frequ:entes para o FreeBSD 11.X e 12.X

  Projeto de Documentac,ao do FreeBSD

   Revisao: 7506d83e94

   Copyright (c) 1995-2020 Projeto de Documentac,ao do FreeBSD

   Copyright

   Redistribution and use in source (XML DocBook) and 'compiled' forms (XML,
   HTML, PDF, PostScript, RTF and so forth) with or without modification, are
   permitted provided that the following conditions are met:

    1. Redistributions of source code (XML DocBook) must retain the above
       copyright notice, this list of conditions and the following disclaimer
       as the first lines of this file unmodified.

    2. Redistributions in compiled form (transformed to other DTDs, converted
       to PDF, PostScript, RTF and other formats) must reproduce the above
       copyright notice, this list of conditions and the following disclaimer
       in the documentation and/or other materials provided with the
       distribution.

  Importante:

   THIS DOCUMENTATION IS PROVIDED BY THE FREEBSD DOCUMENTATION PROJECT "AS
   IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
   THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
   PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FREEBSD DOCUMENTATION
   PROJECT BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
   EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
   PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
   PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
   LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
   NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
   DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

   FreeBSD is a registered trademark of the FreeBSD Foundation.

   Adobe, Acrobat, Acrobat Reader, Flash and PostScript are either registered
   trademarks or trademarks of Adobe Systems Incorporated in the United
   States and/or other countries.

   IBM, AIX, OS/2, PowerPC, PS/2, S/390, and ThinkPad are trademarks of
   International Business Machines Corporation in the United States, other
   countries, or both.

   IEEE, POSIX, and 802 are registered trademarks of Institute of Electrical
   and Electronics Engineers, Inc. in the United States.

   Intel, Celeron, Centrino, Core, EtherExpress, i386, i486, Itanium,
   Pentium, and Xeon are trademarks or registered trademarks of Intel
   Corporation or its subsidiaries in the United States and other countries.

   Linux is a registered trademark of Linus Torvalds.

   Microsoft, IntelliMouse, MS-DOS, Outlook, Windows, Windows Media and
   Windows NT are either registered trademarks or trademarks of Microsoft
   Corporation in the United States and/or other countries.

   NetBSD is a registered trademark of the NetBSD Foundation.

   Motif, OSF/1, and UNIX are registered trademarks and IT DialTone and The
   Open Group are trademarks of The Open Group in the United States and other
   countries.

   Silicon Graphics, SGI, and OpenGL are registered trademarks of Silicon
   Graphics, Inc., in the United States and/or other countries worldwide.

   Sun, Sun Microsystems, Java, Java Virtual Machine, JDK, JRE, JSP, JVM,
   Netra, OpenJDK, Solaris, StarOffice, SunOS and VirtualBox are trademarks
   or registered trademarks of Sun Microsystems, Inc. in the United States
   and other countries.

   Many of the designations used by manufacturers and sellers to distinguish
   their products are claimed as trademarks. Where those designations appear
   in this document, and the FreeBSD Project was aware of the trademark
   claim, the designations have been followed by the "(TM)" or the "(R)"
   symbol.

   Resumo

   Estas sao as Perguntas Mais Frequentes (FAQ) para as versoes do FreeBSD
   12.X e 11.X. Todos os esforc,os foram feitos para tornar este FAQ o mais
   informativo possivel; Se voce tiver alguma sugestao de como ele pode ser
   melhorado, envie-a para a lista de discussao do projeto de documentac,ao
   do FreeBSD.

   A versao mais recente deste documento esta sempre disponivel no website do
   FreeBSD. Ela tambem pode ser baixada como um grande arquivo HTML por HTTP
   ou em uma grande variedade de outros formatos a partir do servidor de FTP
   do projeto FreeBSD.

   [ Documento HTML em partes / Documento HTML completo ]

     ----------------------------------------------------------------------

   Indice

   1. Introduc,ao

   2. Documentac,ao e Suporte

   3. Instalac,ao

   4. Compatibilidade de Hardware

                4.1. Geral

                4.2. Arquiteturas e Processadores

                4.3. Perifericos

                4.4. Teclados e Mouses

                4.5. Outro hardware

   5. Soluc,ao de problemas

   6. Aplicativos do Usuario

   7. Configurac,ao do Kernel

   8. Discos, sistemas de arquivos e boot loaders

   9. ZFS

   10. Administrac,ao do Sistema

   11. O sistema X Window e consoles virtuais

   12. Networking

   13. Seguranc,a

   14. Comunicac,oes Seriais

   15. Perguntas Diversas

   16. Coisas legais do FreeBSD

   17. Topicos Avanc,ados

   18. Agradecimentos

                            Capitulo 1. Introduc,ao

   1.1. O que e o FreeBSD?

   1.2. Qual e o objetivo do projeto FreeBSD?

   1.3. A licenc,a do FreeBSD tem alguma restric,ao?

   1.4. O FreeBSD pode substituir meu sistema operacional atual?

   1.5. Por que ele e chamado de FreeBSD?

   1.6. Quais sao as diferenc,as entre o FreeBSD, o NetBSD, o OpenBSD e os
   outros sistemas operacionais BSD de codigo aberto?

   1.7. Qual e a ultima versao do FreeBSD?

   1.8. O que e o FreeBSD-CURRENT?

   1.9. Qual e o conceito do FreeBSD-STABLE?

   1.10. Quando sao realizados os lanc,amentos de novas versoes do FreeBSD?

   1.11. Quando sao feitos os snapshots do FreeBSD?

   1.12. Quem e responsavel pelo FreeBSD?

   1.13. Onde posso obter o FreeBSD?

   1.14. Como acesso o banco de dados dos Relatorios de Problemas?

   1.1.  O que e o FreeBSD?                                                   
         O FreeBSD e um sistema operacional moderno para desktops, laptops,   
         servidores e sistemas embarcados, com suporte para um grande numero  
         de plataformas.                                                      
                                                                              
         Ele e baseado no sistema "4.4BSD-Lite" da U.C. de Berkeley, com      
         algumas melhorias oriundas do "4.4BSD-Lite2". Ele tambem se baseia   
         indiretamente no port para i386(TM) feito por William Jolitz do      
         sistema "Net/2" da U.C. Berkeley, conhecido como "386BSD", embora    
         muito pouco do codigo original do 386BSD ainda esteja presente.      
                                                                              
         O FreeBSD e usado por empresas, provedores de servic,os de Internet, 
         pesquisadores, profissionais da computac,ao, estudantes e usuarios   
         domesticos em todo o mundo em seu trabalho, educac,ao e recreac,ao.  
                                                                              
         Para informac,oes mais detalhadas sobre o FreeBSD, consulte o Manual 
         do FreeBSD.                                                          
   1.2.  Qual e o objetivo do projeto FreeBSD?                                
         O objetivo do Projeto FreeBSD e fornecer um sistema operacional de   
         proposito geral estavel e rapido que possa ser usado para qualquer   
         proposito sem restric,oes.                                           
   1.3.  A licenc,a do FreeBSD tem alguma restric,ao?                         
         Sim. Essas restric,oes nao controlam como o codigo e usado, mas como 
         tratar o proprio projeto FreeBSD. A licenc,a em si esta disponivel   
         em licenc,a e pode ser resumida da seguinte forma:                   
                                                                              
           * Nao reivindique que voce escreveu o sistema.                     
                                                                              
           * Nao nos processe se ele quebrar.                                 
                                                                              
           * Nao remova ou modifique a licenc,a.                              
                                                                              
         Muitos de nos tem um investimento significativo no projeto e         
         certamente nao nos importariamos com uma pequena compensac,ao        
         financeira de vez em quando, mas nos definitivamente nao insistimos  
         nisso. Acreditamos que a nossa primeira e principal "missao" e       
         fornecer codigo a todos os participantes, e para qualquer            
         finalidade, para que o codigo obtenha o maior uso possivel e         
         fornec,a o maior beneficio possivel. Este, acreditamos, e um dos     
         objetivos mais fundamentais do Software Livre e um dos que apoiamos  
         entusiasticamente.                                                   
                                                                              
         O codigo em nosso repositorio de codigo-fonte que se enquadra na     
         Licenc,a Publica Geral GNU (GPL) ou na Licenc,a Publica Geral da     
         Biblioteca GNU (LGPL) vem com algumas restric,oes adicionais, ainda  
         que sejam no sentido de forc,ar o acesso, em vez do habitual oposto. 
         Devido `as complexidades adicionais que podem surgir no uso          
         comercial de um software GPL, nos nos esforc,amos para substituir    
         tais softwares por outros sob a Licenc,a FreeBSD que e menos         
         restritiva, sempre que possivel.                                     
   1.4.  O FreeBSD pode substituir meu sistema operacional atual?             
         Para a maioria das pessoas, sim. Mas esta questao nao e assim tao    
         simples.                                                             
                                                                              
         A maioria das pessoas nao usa um sistema operacional. Elas usam      
         aplicativos. Sao os aplicativos que realmente usam o sistema         
         operacional. O FreeBSD e projetado para fornecer um ambiente robusto 
         e completo para aplicativos. Ele suporta uma grande variedade de     
         navegadores da web, pacotes de escritorio, leitores de e-mail,       
         programas graficos, ambientes de programac,ao, servidores de rede e  
         muito mais. A maioria destes aplicativos pode ser gerenciada atraves 
         da Colec,ao de Ports.                                                
                                                                              
         Se um aplicativo estiver disponivel apenas para um determinado       
         sistema operacional, esse sistema operacional nao podera ser         
         substituido. No entanto e provavel que exista um aplicativo muito    
         semelhante no FreeBSD. Seja como um solido servidor corporativo, um  
         servidor de Internet ou ainda uma confiavel estac,ao de trabalho, o  
         FreeBSD quase certamente fara tudo o que voce precisa. Muitos        
         usuarios de computador ao redor do mundo, incluindo novatos e        
         experientes administradores UNIX(R), usam o FreeBSD como seu unico   
         sistema operacional de desktop.                                      
                                                                              
         Os usuarios que migrarem para o FreeBSD vindos de outro ambiente     
         UNIX(R)-like irao achar o FreeBSD bastante similar. Os usuarios de   
         Windows(R) e do Mac OS(R) podem se interessar em usar o FuryBSD,     
         GhostBSD ou MidnightBSD, tres distribuic,oes desktop baseadas no     
         FreeBSD. Os usuarios que nao estao habituados ao uso de sistemas     
         UNIX(R) devem investir algum tempo adicional aprendendo a maneira de 
         fazer as coisas no UNIX(R). Este FAQ e o Manual do FreeBSD sao       
         excelentes lugares para iniciar.                                     
   1.5.  Por que ele e chamado de FreeBSD?                                    
           * Pode ser usado gratuitamente, ate mesmo por usuarios comerciais. 
                                                                              
           * O codigo fonte completo do sistema operacional esta disponivel   
             gratuitamente, e foram colocadas restric,oes minimas sobre seu   
             uso, distribuic,ao e incorporac,ao em outro trabalho (comercial  
             ou nao comercial).                                               
                                                                              
           * Qualquer pessoa que tenha uma melhoria ou correc,ao de bug esta  
             livre para enviar seu codigo e para adiciona-lo ao repositorio   
             de codigo-fonte (sujeito a uma ou duas provisoes obvias).        
                                                                              
         Vale ressaltar que a palavra "free" esta sendo usada de duas formas  
         aqui: uma que significa "sem custo" (gratis) e a outra que significa 
         "fac,a o que quiser" (Livre). Fora uma ou duas coisas que voce nao   
         pode fazer com o codigo do FreeBSD, por exemplo, fingir que voce o   
         escreveu, voce pode realmente fazer o que quiser com ele.            
   1.6.  Quais sao as diferenc,as entre o FreeBSD, o NetBSD, o OpenBSD e os   
         outros sistemas operacionais BSD de codigo aberto?                   
         O James Howard escreveu uma boa explicac,ao da historia e das        
         diferenc,as entre os varios projetos BSD, chamada A arvore           
         genealogica do BSD, a qual e uma boa forma de responder a esta       
         pergunta. Algumas das informac,oes estao desatualizadas, mas a parte 
         da historia em particular permanece precisa.                         
                                                                              
         A maioria dos BSDs compartilha patches e codigos, ate hoje. Todos os 
         BSDs descendem dos mesmos ancestrais.                                
                                                                              
         Os objetivos de design do FreeBSD estao descritos em P: 1.2, acima.  
         Os objetivos de design dos outros BSDs mais populares podem ser      
         resumidos da seguinte forma:                                         
                                                                              
           * O OpenBSD visa a seguranc,a do sistema operacional acima de      
             tudo. A equipe do OpenBSD escreveu o ssh(1) e o pf(4), os quais  
             foram portados para o FreeBSD.                                   
                                                                              
           * O NetBSD pretende ser facilmente portado para outras plataformas 
             de hardware.                                                     
                                                                              
           * O DragonFly BSD e um fork do FreeBSD 4.8 o qual desenvolveu      
             muitas caracteristicas interessantes ao longo dos anos,          
             incluindo o sistema de arquivos HAMMER e o suporte para          
             "vkernels" no modo de usuario.                                   
   1.7.  Qual e a ultima versao do FreeBSD?                                   
         A qualquer momento no desenvolvimento do FreeBSD, podem existir      
         varios branches paralelos. As releases 12.X sao geradas a partir da  
         branch 12-STABLE e as releases 11.X sao geradas a partir do branch   
         11-STABLE.                                                           
                                                                              
         Ate o lanc,amento da versao 12.0, a serie 11.X era a conhecida como  
         -STABLE. No entanto, a partir da 13.X, a branch 11.X sera designada  
         para um status de "suporte estendido" e passara a receber apenas     
         correc,oes para problemas maiores, como as correc,oes relacionadas   
         `a seguranc,a.                                                       
                                                                              
         As releases sao liberadas a cada poucos meses. Embora muitas pessoas 
         se mantenham mais que isso por meio do codigo fonte do FreeBSD (veja 
         as perguntas em FreeBSD-CURRENT e FreeBSD-STABLE ), esta             
         periodicidade esta mais para um compromisso, ja que o codigo fonte e 
         um alvo em movimento.                                                
                                                                              
         Mais informac,oes sobre as releases do FreeBSD podem ser encontradas 
         na pagina de Engenharia de Releases e em release(7).                 
   1.8.  O que e o FreeBSD-CURRENT?                                           
         O FreeBSD-CURRENT e a versao de desenvolvimento do sistema           
         operacional, que no devido tempo se tornara o novo branch            
         FreeBSD-STABLE. Como tal, ele e recomendado apenas para os           
         desenvolvedores que trabalham no sistema e usuarios amadores         
         obstinados. Consulte a sec,ao relevante no Handbook para detalhes    
         sobre como executar o -CURRENT.                                      
                                                                              
         Usuarios nao familiarizados com o FreeBSD nao devem usar o           
         FreeBSD-CURRENT. Este branch `as vezes evolui muito rapidamente e,   
         devido a um erro, pode ser dificil de compila-lo `as vezes.          
         Espera-se que as pessoas que usam o FreeBSD-CURRENT possam analisar, 
         depurar e reportar problemas.                                        
   1.9.  Qual e o conceito do FreeBSD-STABLE?                                 
         O FreeBSD-STABLE e o branch de desenvolvimento a partir do qual os   
         releases principais sao feitos. Mudanc,as entram nesta branch em um  
         ritmo mais lento e com a suposic,ao geral de que eles foram testados 
         primeiro no FreeBSD-CURRENT. No entanto, a qualquer momento, o       
         codigo fonte para o FreeBSD-STABLE pode ou nao ser adequado para uso 
         geral, devido a descoberta de bugs e/ou outros casos especificos que 
         ainda nao foram encontrados no FreeBSD-CURRENT. Usuarios que nao     
         possuem recursos para realizar testes devem, ao inves dessa,         
         executar a release mais recente do FreeBSD. O FreeBSD-CURRENT, por   
         outro lado, tem sido uma linha ininterrupta desde que o 2.0 foi      
         lanc,ado.                                                            
                                                                              
         Para obter informac,oes mais detalhadas sobre as branches, consulte  
         "Engenharia de Releases do FreeBSD: Criando uma Release Branch", o   
         status dos branches e o cronograma para releases futuros podem ser   
         encontrados na pagina Release Engineering Information.               
                                                                              
         A versao 12.1 e a ultima release da branch 12-STABLE; ela foi        
         lanc,ada em Novembro de 2019. A versao 11.3 e a release mais recente 
         da branch 11-STABLE; e foi lanc,ada em Julho de 2019.                
   1.10. Quando sao realizados os lanc,amentos de novas versoes do FreeBSD?   
         A Equipe de Engenharia de Releases (Release Engineering Team)        
         <re@FreeBSD.org> lanc,a uma nova versao principal do FreeBSD a cada  
         18 meses e uma nova versao secundaria a cada 8 meses, em media. As   
         datas de lanc,amento sao anunciadas com bastante antecedencia, para  
         que as pessoas que trabalham no sistema saibam quando seus projetos  
         precisam ser finalizados e testados. Um periodo de teste precede     
         cada lanc,amento, para garantir que a adic,ao de novos recursos nao  
         comprometa a estabilidade do lanc,amento. Muitos usuarios consideram 
         este cuidado como uma das melhores coisas do FreeBSD, apesar de que  
         a espera para que todas as novidades mais recentes sejam             
         disponibilizadas no -STABLE possa ser um pouco frustrante.           
                                                                              
         Maiores informac,oes sobre o processo de engenharia de releases      
         (incluindo a programac,ao das releases futuros) podem ser            
         encontradas na pagina engenharia de release no site do FreeBSD.      
                                                                              
         Para aquelas pessoas que precisam ou querem um pouco mais de         
         emoc,ao, os snapshots binarios sao disponibilizados semanalmente,    
         como discutido acima.                                                
   1.11. Quando sao feitos os snapshots do FreeBSD?                           
         As snapshot releases do FreeBSD sao disponibilizadas com base no     
         estado atual das branchs -CURRENT e -STABLE. Os objetivos por tras   
         de cada release de snapshot sao:                                     
                                                                              
           * Testar a versao mais recente do software de instalac,ao.         
                                                                              
           * Para que as pessoas que gostariam de executar o -CURRENT ou o    
             -STABLE mas que nao tem tempo ou largura de banda para           
             acompanha-lo no dia-a-dia tenham uma maneira facil de            
             instala-las em seus sistemas.                                    
                                                                              
           * Para preservar um ponto de referencia fixo para o codigo em      
             questao, apenas no caso de quebrarmos algo de forma muito seria  
             depois. (Embora o Subversion normalmente previna que uma coisa   
             horrivel como esta ocorra.)                                      
                                                                              
           * Para garantir que todos os novos recursos e correc,oes que       
             precisam de testes tenham contato o maior numero possivel de     
             testadores em potencial.                                         
                                                                              
         Nao temos a pretensao de que qualquer snapshot -CURRENT possa ser    
         considerado com "qualidade de produc,ao" para qualquer finalidade.   
         Se voce necessita de um sistema estavel e totalmente testado,        
         limite-se ao uso das releases completas.                             
                                                                              
         As snapshots releases estao disponiveis em snapshot.                 
                                                                              
         Os snapshots oficiais sao gerados regularmente para todas as branchs 
         ativamente desenvolvidas.                                            
   1.12. Quem e responsavel pelo FreeBSD?                                     
         As principais decisoes relativas ao projeto FreeBSD, tais como a     
         direc,ao geral do projeto e quem tem permissao para adicionar codigo 
         ao repositorio de codigo fonte, sao feitas por meio de um core team  
         de 9 pessoas. Existe uma equipe muito maior, com mais de 350         
         committers que estao autorizados a fazer alterac,oes diretamente na  
         arvore de fontes do FreeBSD.                                         
                                                                              
         No entanto, a maioria das alterac,oes nao-triviais e discutida com   
         antecedencia nas listas de discussao, e nao ha restric,oes sobre     
         quem pode participar da discussao.                                   
   1.13. Onde posso obter o FreeBSD?                                          
         Todas releases importantes do FreeBSD estao disponiveis via FTP      
         anonimo no site FTP do FreeBSD:                                      
                                                                              
           * O ultimo release da serie 12-STABLE, o 12.1-RELEASE, pode ser    
             encontrado no diretorio 12.1-RELEASE.                            
                                                                              
           * Mensalmente sao produzidos snapshot releases para as branchs     
             -CURRENT e -STABLE, as quais destinam-se primariamente ao uso    
             por parte dos desenvolvedores e testadores.                      
                                                                              
           * O ultimo release da serie 11-STABLE, o 11.3-RELEASE, pode ser    
             encontrado no diretorio 11.3-RELEASE.                            
                                                                              
         Informac,oes sobre como obter o FreeBSD em CD, DVD e outras midias   
         podem ser encontradas no Handbook.                                   
   1.14. Como acesso o banco de dados dos Relatorios de Problemas?            
         O banco de dados com os Relatorios de Problemas contendo todas as    
         solicitac,oes de mudanc,a enviadas pelos nossos usuarios pode ser    
         consultado usando nossa interface web de consulta de PRs.            
                                                                              
         A interface web de envio de relatorios de problemas pode ser usada   
         para enviar relatorios de problemas atraves de um navegador.         
                                                                              
         Antes de enviar um relatorio de problema, leia Escrevendo Relatorios 
         de Problemas do FreeBSD, um artigo sobre como escrever bons          
         relatorios de problemas.                                             

                      Capitulo 2. Documentac,ao e Suporte

   2.1. Quais os livros existentes sobre o FreeBSD?

   2.2. A documentac,ao esta disponivel em outros formatos, tais como texto
   simples (ASCII) ou PDF?

   2.3. Onde encontro informac,oes sobre as listas de discussao do FreeBSD?
   Quais grupos de noticias do FreeBSD estao disponiveis?

   2.4. Existem canais de IRC (Internet Relay Chat) sobre o FreeBSD?

   2.5. Existem foruns na web para discutir o FreeBSD?

   2.6. Onde posso obter treinamento e suporte comercial para o FreeBSD?

2.1. Quais os livros existentes sobre o FreeBSD?                                                    
     O projeto produz uma ampla gama de documentac,ao, disponivel on-line a partir deste link:      
     https://www.FreeBSD.org/docs.html.                                                             
2.2. A documentac,ao esta disponivel em outros formatos, tais como texto simples (ASCII) ou PDF?    
     Sim. A documentac,ao esta disponivel em varios formatos diferentes e esquemas de compressao no 
     site FTP do FreeBSD, no diretorio /ftp/doc/.                                                   
                                                                                                    
     A documentac,ao e categorizada de varias maneiras diferentes. Que incluem:                     
                                                                                                    
       * O nome do documento, tais como como faq ou handbook.                                       
                                                                                                    
       * A linguagem e codificac,ao do documento. Estes sao baseados nos nomes de local encontrados 
         sob o diretorio /usr/share/locale em um sistema FreeBSD. Os idiomas e codificac,oes atuais 
         sao os seguintes:                                                                          
                                                                                                    
                     Nome                                      Significado                          
         en_US.ISO8859-1               Ingles (Estados Unidos)                                      
         bn_BD.ISO10646-1              Bengali ou Bangla (Bangladesh)                               
         da_DK.ISO8859-1               Dinamarques (Dinamarca)                                      
         de_DE.ISO8859-1               Alemao (Alemanha)                                            
         el_GR.ISO8859-7               Grego (Grecia)                                               
         es_ES.ISO8859-1               Espanhol (Espanha)                                           
         fr_FR.ISO8859-1               Frances (Franc,a)                                            
         hu_HU.ISO8859-2               Hungaro (Hungria)                                            
         it_IT.ISO8859-15              Italiano (Italia)                                            
         ja_JP.eucJP                   Japones (Japao, codificac,ao EUC)                            
         ko_KR.UTF-8                   Coreano (Coreia, codificac,ao UTF-8)                         
         mn_MN.UTF-8                   Mongol (Mongolia, codificac,ao UTF-8)                        
         nl_NL.ISO8859-1               Holandes (Holanda)                                           
         pl_PL.ISO8859-2               Polones (Polonia)                                            
         pt_BR.ISO8859-1               Portugues (Brasil)                                           
         ru_RU.KOI8-R                  Russo (Russia, codificac,ao KOI8-R)                          
         tr_TR.ISO8859-9               Turco (Turquia)                                              
         zh_CN.UTF-8                   Chines Simplificado (China, codificac,ao UTF-8)              
         zh_TW.UTF-8                   Chines Tradicional (Taiwan, codificac,ao UTF-8)              
                                                                                                    
       Nota:                                                                                        
                                                                                                    
         Alguns documentos podem nao estar disponiveis em todos os idiomas.                         
                                                                                                    
       * O formato do documento. Produzimos a documentac,ao em varios formatos de saida diferentes. 
         Cada formato tem suas proprias vantagens e desvantagens. Alguns formatos sao mais          
         adequados para leitura on-line, enquanto outros estao formatados para serem esteticamente  
         agradaveis quando impressos em papel. A disponibilizac,ao da documentac,ao em diversos     
         formatos garante que os nossos leitores possam ler as partes nas quais estao interessados, 
         seja em seu monitor ou em papel apos imprimi-los documentos. Os formatos disponiveis       
         atualmente sao:                                                                            
                                                                                                    
                 Formato                                     Significado                            
         html-split               Uma colec,ao de pequenos arquivos HTML vinculados.                
         html                     Um grande arquivo HTML contendo o documento inteiro               
         pdf                      Formato de documento portatil da Adobe                            
         txt                      Texto simples                                                     
                                                                                                    
       * O esquema de compactac,ao e empacotamento.                                                 
                                                                                                    
           1. Onde o formato e html-split, os arquivos sao agrupados usando tar(1). O arquivo       
              resultante .tar e entao compactado usando os esquemas de compactac,ao detalhados no   
              proximo passo.                                                                        
                                                                                                    
           2. Todos os outros formatos geram um unico arquivo. Por exemplo, article.pdf, book.html  
              e assim por diante.                                                                   
                                                                                                    
              Esses arquivos sao entao compactados usando os esquemas de compactac,ao zip ou bz2. O 
              comando tar(1) pode ser usado para descompactar esses arquivos.                       
                                                                                                    
              Portanto, a versao PDF do Handbook, compactada usando bzip2 sera armazenada em um     
              arquivo chamado book.pdf.bz2 no diretorio handbook/.                                  
                                                                                                    
     Depois de escolher o formato e o mecanismo de compactac,ao, baixe os arquivos compactados,     
     descompacte-os e copie os documentos para um lugar apropriado.                                 
                                                                                                    
     Por exemplo, a versao split HTML do FAQ, compactada usando bzip2(1), pode ser encontrada em    
     doc/en_US.ISO8859-1/books/faq/book.html-split.tar.bz2 Para baixar e descompactar esse arquivo, 
     digite:                                                                                        
                                                                                                    
     # fetch https://download.freebsd.org/ftp/doc/en_US.ISO8859-1/books/faq/book.html-split.tar.bz2 
     # tar xvf book.html-split.tar.bz2                                                              
                                                                                                    
     Se o arquivo estiver compactado, o tar detectara automaticamente o formato apropriado e o      
     descompactara corretamente, resultando em uma colec,ao de arquivos .html. O principal deles e  
     chamado index.html, que contera o sumario, o material introdutorio e os links para as outras   
     partes do documento.                                                                           
2.3. Onde encontro informac,oes sobre as listas de discussao do FreeBSD? Quais grupos de noticias   
     do FreeBSD estao disponiveis?                                                                  
     Consulte as sec,oes do Handbook sobre as listas de discussao e sobre os grupos de noticias.    
2.4. Existem canais de IRC (Internet Relay Chat) sobre o FreeBSD?                                   
     Sim, a maioria das redes de IRC hospedam um canal de chat do FreeBSD:                          
                                                                                                    
       * Canal #FreeBSDhelp na EFNet e um canal dedicado a ajudar usuarios do FreeBSD.              
                                                                                                    
       * Canal #FreeBSD na Freenode e um canal de ajuda geral com muitos usuarios a qualquer        
         horario. E de conhecimento que conversas off-topic acontecem em alguns momentos, mas a     
         prioridade e dada aos usuarios com perguntas sobre o FreeBSD. Outros usuarios podem ajudar 
         com o basico, consultando o Handbook sempre que possivel e fornecendo links para ajuda-lo  
         a aprender mais sobre um determinado topico. Este e um canal em que a comunicac,ao ocorre  
         primariamente em ingles, embora seja frequentado por usuarios de todo o mundo. As pessoas  
         que nao sao falantes nativas do ingles devem tentar fazer as suas perguntas primeiro em    
         ingles e, em seguida, tentar nos canais ## freebsd-lang conforme apropriado.               
                                                                                                    
       * Canal #FreeBSD na DALNET esta disponivel em irc.dal.net nos EUA e irc.eu.dal.net na        
         Europa.                                                                                    
                                                                                                    
       * O canal #FreeBSD na UNDERNET esta disponivel em us.undernet.org nos EUA e eu.undernet.org  
         na Europa. Como e um canal de ajuda, prepare-se para ler os documentos aos quais voce for  
         direcionado.                                                                               
                                                                                                    
       * O canal #FreeBSD na RUSNET e um canal de lingua russa dedicado a ajudar os usuarios do     
         FreeBSD. Este tambem e um bom lugar para discussoes nao tecnicas.                          
                                                                                                    
       * O canal #bsdchat na Freenode e um canal de idioma chines tradicional (codificac,ao UTF-8)  
         dedicado a ajudar os usuarios do FreeBSD. Este tambem e um bom lugar para discussoes nao   
         tecnicas.                                                                                  
                                                                                                    
     A wiki do FreeBSD tem uma boa lista dos canais de IRC.                                         
                                                                                                    
     Cada um destes canais sao distintos e nao estao conectados entre si. Como os estilos de        
     bate-papo diferem, experimente cada um deles para encontrar um adequado ao seu estilo de       
     bate-papo.                                                                                     
2.5. Existem foruns na web para discutir o FreeBSD?                                                 
     Os foruns oficiais do FreeBSD estao localizados em https://forums.FreeBSD.org/.                
2.6. Onde posso obter treinamento e suporte comercial para o FreeBSD?                               
     A iXsystems, Inc. , empresa controladora do FreeBSD Mall, fornece supporte comercial para o    
     FreeBSD e TrueOS, e tambem soluc,oes de desenvolvimento e customizac,ao para o FreeBSD.        
                                                                                                    
     A BSD Certification Group, Inc. fornece certificac,oes de administrac,ao do sistema para o     
     DragonFly BSD, FreeBSD, NetBSD e OpenBSD. Consulte seu site para maiores informac,oes.         
                                                                                                    
     Quaisquer outras organizac,oes que fornec,am treinamento e suporte devem entrar em contato com 
     o Projeto FreeBSD para serem listadas aqui.                                                    

                            Capitulo 3. Instalac,ao

   Nik Clayton

   3.1. Qual plataforma devo baixar? Eu tenho uma CPU compativel com 64 bits
   Intel(R), mas eu so encontro amd64.

   3.2. Qual arquivo eu baixo para ter o FreeBSD?

   3.3. O que eu fac,o se a imagem de instalac,ao nao inicializar?

   3.4. Onde estao as instruc,oes para instalar o FreeBSD?

   3.5. Como posso criar minha propria versao personalizada ou disco de
   instalac,ao?

   3.6. O Windows(R) pode coexistir com o FreeBSD? (especifico de x86)

   3.7. Outro sistema operacional destruiu meu Gerenciador de Inicializac,ao.
   Como fac,o para recupera-lo? (especifico de x86)

   3.8. Preciso instalar o codigo fonte?

   3.9. Eu preciso compilar um kernel?

   3.10. Devo usar senhas DES, Blowfish ou MD5 e como eu especifico qual tipo
   meus usuarios irao receber?

   3.11. Quais sao os limites para sistemas de arquivos FFS?

   3.12. Por que recebo uma mensagem de erro, readin failed depois de
   compilar e inicializar um novo kernel?

   3.13. Existe uma ferramenta para realizar tarefas de configurac,ao
   pos-instalac,ao?

   3.1.  Qual plataforma devo baixar? Eu tenho uma CPU compativel com 64 bits 
         Intel(R), mas eu so encontro amd64.                                  
         amd64 e o termo que o FreeBSD usa para arquiteturas x86 compativeis  
         com 64 bits (tambem conhecidas como "x86-64" ou "x64"). Para a       
         maioria dos computadores modernos voce deve usar a opc,ao amd64.     
         Para hardware mais antigo voce deve usar o i386. Ao instalar em uma  
         arquitetura nao compativel com x86, selecione a plataforma que       
         melhor corresponda ao hardware.                                      
   3.2.  Qual arquivo eu baixo para ter o FreeBSD?                            
         Na pagina Como obter o FreeBSD, selecione [iso] ao lado da           
         arquitetura que corresponde ao seu hardware.                         
                                                                              
         Qualquer um dos itens a seguir pode ser usado:                       
                                                                              
           arquivo                          descric,ao                        
         disc1.iso    Contem o suficiente para instalar o FreeBSD e um        
                      conjunto minimo de pacotes.                             
         dvd1.iso     Semelhante ao disc1.iso, mas com pacotes adicionais.    
         memstick.img Uma imagem inicializavel para se gravar em um pendrive. 
                      Uma imagem minima e que requer acesso `a rede durante a 
         bootonly.iso instalac,ao para que possa instalar completamente o     
                      FreeBSD.                                                
                                                                              
         Instruc,oes completas sobre este procedimento e um pouco mais sobre  
         problemas de instalac,ao em geral podem ser encontradas na sec,ao do 
         Handbook sobre instalac,ao do FreeBSD.                               
   3.3.  O que eu fac,o se a imagem de instalac,ao nao inicializar?           
         Isso pode ocorrer caso voce nao tenha baixado a imagem no modo       
         binario ao usar o FTP.                                               
                                                                              
         Alguns clientes FTP padronizam seu modo de transferencia para ascii  
         e tentam alterar quaisquer caracteres de end-of-line recebidos para  
         corresponder `as convenc,oes usadas pelo sistema do cliente. Isso    
         quase invariavelmente corrompera a imagem de inicializac,ao.         
         Verifique checksum SHA-256 da imagem de inicializac,ao baixada: se   
         nao estiverexatamente como no servidor, o processo de download pode  
         ter corrompido o arquivo.                                            
                                                                              
         Ao usar um cliente FTP de linha de comando, digite binary no prompt  
         de comando FTP depois de se conectar ao servidor e antes de iniciar  
         o download da imagem.                                                
   3.4.  Onde estao as instruc,oes para instalar o FreeBSD?                   
         As instruc,oes para instalac,ao podem ser encontradas na sec,ao do   
         Handbook sobre instalac,ao do FreeBSD.                               
   3.5.  Como posso criar minha propria versao personalizada ou disco de      
         instalac,ao?                                                         
         Uma midia customizada de instalac,ao do FreeBSD pode ser criada      
         atraves da construc,ao de uma release personalizada. Siga as         
         instruc,oes do artigo Release Engineering.                           
   3.6.  O Windows(R) pode coexistir com o FreeBSD? (especifico de x86)       
         Se o Windows(R) for instalado primeiro, entao sim. O gerenciador de  
         boot do FreeBSD ira entao inicializar o Windows(R) e o FreeBSD. Se o 
         Windows(R) for instalado posteriormente, ela sobrescrevera o         
         gerenciador de inicializac,ao. Se isso acontecer, veja a proxima     
         sec,ao.                                                              
   3.7.  Outro sistema operacional destruiu meu Gerenciador de                
         Inicializac,ao. Como fac,o para recupera-lo? (especifico de x86)     
         Isso depende do gerenciador de inicializac,ao. O menu de selec,ao de 
         inicializac,ao do FreeBSD pode ser reinstalado usando boot0cfg(8).   
         Por exemplo, para restaurar o menu de inicializac,ao no disco ada0:  
                                                                              
         # boot0cfg -B ada0                                                   
                                                                              
         O gerenciador de inicializac,ao MBR nao interativo pode ser          
         instalado usando gpart(8):                                           
                                                                              
         # gpart bootcode -b /boot/mbr ada0                                   
                                                                              
         Para situac,oes mais complexas, incluindo discos GPT, consulte       
         gpart(8).                                                            
   3.8.  Preciso instalar o codigo fonte?                                     
         Em geral, nao. Nao ha nada no sistema base que exija a presenc,a do  
         codigo fonte para operar. Alguns ports, como o sysutils/lsof, nao    
         serao compilados a menos que o codigo fonte esteja instalado. Em     
         particular, se o port compila um modulo de kernel ou opera           
         diretamente em estruturas de kernel, o codigo fonte deve ser         
         instalado.                                                           
   3.9.  Eu preciso compilar um kernel?                                       
         Geralmente nao. O kernel GENERIC fornecido contem todos os drivers   
         que um computador comum precisara. O freebsd-update(8), a ferramenta 
         de atualizac,ao binaria do FreeBSD, nao pode atualizar kernels       
         customizados, o que e uma outra razao para se manter com o kernel    
         GENERIC sempre que possivel. Para computadores com uma quantidade de 
         memoria RAM muito limitada, como sistemas embarcados, pode valer a   
         pena compilar um kernel customizado menor contendo apenas os drivers 
         necessarios.                                                         
   3.10. Devo usar senhas DES, Blowfish ou MD5 e como eu especifico qual tipo 
         meus usuarios irao receber?                                          
         O FreeBSD usa SHA512 por padrao. Senhas DES ainda estao disponiveis  
         para compatibilidade com sistemas operacionais que ainda usam um     
         formato de senha menos seguro. O FreeBSD tambem suporta os formatos  
         de senha Blowfish e MD5. O formato de senha que sera usado para      
         novas senhas e controlado pelo recurso de login passwd_format no     
         arquivo /etc/login.conf, que recebe valores de des, blf (se          
         estiverem disponiveis) ou md5. Veja a pagina de manual login.conf(5) 
         para maiores informac,oes sobre as capacidades de login.             
   3.11. Quais sao os limites para sistemas de arquivos FFS?                  
         Para os sistemas de arquivos FFS, o tamanho maximo e praticamente    
         limitado pela quantidade de memoria necessaria para executar o       
         fsck(8) no sistema de arquivo. O fsck(8) requer um bit por           
         fragmento, que com o tamanho de fragmento padrao de 4 KB equivale a  
         32 MB de memoria por TB de disco. Isso significa que nas             
         arquiteturas que limitam os processos userland a 2 GB (por exemplo,  
         i386(TM)), o tamanho maximo do sistema de arquivos que o fsck(8)     
         permite operar e de ~ 60 TB.                                         
                                                                              
         Se nao houvesse um limite de memoria para o fsck(8), o tamanho       
         maximo do sistema de arquivos seria 2 ^ 64 (blocks) * 32 KB => 16    
         Exa * 32 KB => 512 ZettaBytes.                                       
                                                                              
         O tamanho maximo de um unico arquivo FFS e de aproximadamente 2 PB   
         com o tamanho de bloco padrao de 32 KB. Cada bloco de 32 KB pode     
         apontar para 4096 blocos. Com blocos triplo indiretos, o calculo e   
         32 KB * 12 + 32 KB * 4096 + 32 KB * 4096 ^ 2 + 32 KB * 4096 ^ 3.     
         Aumentar o tamanho do bloco para 64 KB aumentara o tamanho maximo do 
         arquivo por um fator de 16.                                          
   3.12. Por que recebo uma mensagem de erro, readin failed depois de         
         compilar e inicializar um novo kernel?                               
         O world (aplicativos e bicliotecas do userland)e o kernel estao fora 
         de sincronia. Isso nao e suportado. Certifique-se de usar make       
         buildworld e make build-kernel para atualizar o kernel.              
                                                                              
         Inicialize o sistema especificando o kernel diretamente no segundo   
         estagio, pressionando qualquer tecla quando o | aparecer antes que o 
         utilitario de carga (loader) seja iniciado.                          
   3.13. Existe uma ferramenta para realizar tarefas de configurac,ao         
         pos-instalac,ao?                                                     
         Sim. O bsdconfig fornece uma boa interface para configurar o FreeBSD 
         na pos-instalac,ao.                                                  

                    Capitulo 4. Compatibilidade de Hardware

   Indice

   4.1. Geral

   4.2. Arquiteturas e Processadores

   4.3. Perifericos

   4.4. Teclados e Mouses

   4.5. Outro hardware

4.1. Geral

   4.1.1. Eu quero obter um componente de hardware para o meu sistema
   FreeBSD. Qual modelo/marca/tipo e o melhor?

   4.1.2. Quais sao os limites para a memoria?

   4.1.3. Por que o FreeBSD reporta menos de 4 GB de memoria quando instalado
   em uma maquina i386(TM)?

   4.1.1. Eu quero obter um componente de hardware para o meu sistema         
          FreeBSD. Qual modelo/marca/tipo e o melhor?                         
          Isso e discutido continuamente nas listas de discussao do FreeBSD,  
          mas isto e de se esperar, ja que o hardware muda tao rapidamente.   
          Leia as Notas de Hardware do FreeBSD 12.1 ou 11.3 e pesquise os     
          arquivos da lista de discussao antes de perguntar sobre o hardware  
          mais recente e melhor. As chances sao de que uma discussao sobre    
          esse tipo de hardware tenha acontecido na semana passada.           
                                                                              
          Antes de comprar um laptop, verifique os arquivos da lista de       
          discussao de questoes gerais do FreeBSD, ou possivelmente uma lista 
          de discussao especifica para um tipo especifico de hardware.        
   4.1.2. Quais sao os limites para a memoria?                                
          O FreeBSD como sistema operacional geralmente suporta tanta memoria 
          fisica (RAM) quanto a disponivel na plataforma em que esta rodando. 
          Tenha em mente que plataformas diferentes tem limites diferentes    
          para a memoria; por exemplo i386(TM) sem PAE suporta no maximo 4 GB 
          de memoria (e geralmente menos que isso por causa do espac,o de     
          enderec,amento PCI) e i386(TM) com PAE suporta no maximo 64 GB de   
          memoria. A partir do FreeBSD 10, as plataformas AMD64 suportam ate  
          4 TB de memoria fisica.                                             
   4.1.3. Por que o FreeBSD reporta menos de 4 GB de memoria quando instalado 
          em uma maquina i386(TM)?                                            
          O espac,o total de enderec,os nas maquinas i386(TM) e de 32 bits, o 
          que significa que no maximo 4 GB de memoria sao enderec,aveis       
          (podem ser acessados). Alem disso, alguns enderec,os nesse          
          intervalo sao reservados por hardware para diferentes finalidades,  
          por exemplo, para usar e controlar dispositivos PCI, para acessar a 
          memoria de video e assim por diante. Portanto, a quantidade total   
          de memoria utilizavel pelo sistema operacional para o seu kernel e  
          aplicativos e limitada a significativamente menos de 4 GB.          
          Normalmente, temos de 3,2 GB a 3,7 GB de memoria fisica maxima      
          utilizavel nessa configurac,ao.                                     
                                                                              
          Para acessar mais de 3,2 GB a 3,7 GB de memoria instalada (ou seja, 
          ate 4 GB, mas tambem mais de 4 GB), um ajuste especial chamado PAE  
          deve ser usado. PAE significa Physical Address Extension e e uma    
          maneira das CPUs x86 de 32 bits enderec,arem mais de 4 GB de        
          memoria. Ele remapeia a memoria que de outra forma seria sobreposta 
          pelas reservas de enderec,o para dispositivos de hardware acima do  
          intervalo de 4 GB e a usa como memoria fisica adicional (veja       
          pae(4)). Usar o PAE tem alguns inconvenientes; este modo de acesso  
          `a memoria e um pouco mais lento que o modo normal (sem PAE) e      
          modulos carregaveis (veja kld(4)) nao sao suportados. Isso          
          significa que todos os drivers devem ser compilados estaticamente   
          no kernel.                                                          
                                                                              
          A maneira mais comum de ativar o PAE e compilar um novo kernel com  
          o arquivo especial de configurac,ao do kernel, chamado PAE, que ja  
          esta configurado para compilar um kernel seguro. Observe que        
          algumas entradas neste arquivo de configurac,ao do kernel sao muito 
          conservadoras e alguns drivers marcados como nao prontos para serem 
          usados com o PAE na verdade sao possiveis de serem utilizados. Uma  
          regra basica e que, se o driver for utilizavel em arquiteturas de   
          64 bits (como o AMD64), ele tambem podera ser usado com o PAE. Ao   
          criar um arquivo de configurac,ao de kernel personalizado, o        
          suporte ao PAE pode ser ativada adicionando a seguinte linha:       
                                                                              
          options       PAE                                                   
                                                                              
          O PAE nao e muito usado atualmente porque a maioria dos novos       
          hardwares x86 tambem suporta a execuc,ao no modo de 64 bits,        
          conhecido como AMD64 ou Intel(R)64. Ele tem um espac,o de           
          enderec,amento muito maior e nao precisa tais ajustes. O FreeBSD    
          suporta o AMD64 e e recomendado que esta versao do FreeBSD seja     
          usada no lugar da versao i386(TM) se forem necessarios 4 GB ou mais 
          de memoria.                                                         

4.2. Arquiteturas e Processadores

   4.2.1. O FreeBSD suporta arquiteturas diferentes do x86?

   4.2.2. O FreeBSD suporta o Multiprocessamento Simetrico (SMP)?

   4.2.3. O que e microcodigo? Como eu instalo as atualizac,oes de
   microcodigo da Intel(R)?

   4.2.1. O FreeBSD suporta arquiteturas diferentes do x86?                   
          Sim. O FreeBSD divide o suporte em varios niveis. Arquiteturas de   
          Tier 1, como i386 ou amd64; sao totalmente suportados. Tiers 2 e 3  
          sao suportados com base no melhor esforc,o. Uma explicac,ao         
          completa do sistema de tiers esta disponivel no Guia dos            
          Committers.                                                         
                                                                              
          Uma lista completa de arquiteturas suportadas pode ser encontrada   
          na paginas de plataformas.                                          
   4.2.2. O FreeBSD suporta o Multiprocessamento Simetrico (SMP)?             
          O FreeBSD suporta multiprocessadores simetricos (SMP) em todas as   
          plataformas nao-embarcadas (por exemplo, i386, amd64, etc.). O SMP  
          tambem e suportado em kernels arm e MIPS, embora algumas CPUs       
          possam nao suportar isso. A implementac,ao do SMP do FreeBSD usa o  
          bloqueio refinado, e o desempenho escala quase linearmente com o    
          numero de CPUs.                                                     
                                                                              
          A pagina de manual do smp(4) tem maiores detalhes.                  
   4.2.3. O que e microcodigo? Como eu instalo as atualizac,oes de            
          microcodigo da Intel(R)?                                            
          Microcodigo e um metodo de implementar programaticamente            
          instruc,oes de nivel de hardware. Isso permite que os bugs da CPU   
          sejam corrigidos sem a necessidade de substituir fisicamente o      
          chip.                                                               
                                                                              
          Instale o sysutils/devcpu-data e adicione:                          
                                                                              
          microcode_update_enable="YES"                                       
                                                                              
          no /etc/rc.conf                                                     

4.3. Perifericos

   4.3.1. Que tipo de perifericos o FreeBSD suporta?

   4.3.1. Que tipo de perifericos o FreeBSD suporta?                          
          Veja a lista completa nas Notas de Hardware para o FreeBSD 12.1 ou  
          11.3.                                                               

4.4. Teclados e Mouses

   4.4.1. E possivel usar um mouse fora do sistema X Window?

   4.4.2. Como fac,o para cortar e colar texto com um mouse no console de
   texto?

   4.4.3. Meu mouse tem uma roda e botoes extravagantes. Posso usa-los no
   FreeBSD?

   4.4.4. Como eu uso a minha tecla de delete no sh e csh?

   4.4.1. E possivel usar um mouse fora do sistema X Window?                  
          O driver de console padrao, vt(4), fornece a capacidade de usar um  
          ponteiro de mouse em consoles de texto para cortar & colar o texto. 
          Execute o daemon do mouse, moused(8) e ative o ponteiro do mouse no 
          console virtual:                                                    
                                                                              
          # moused -p /dev/xxxx -t yyyy                                       
          # vidcontrol -m on                                                  
                                                                              
          No qual xxxx e o nome do dispositivo de mouse e yyyy e o tipo de    
          protocolo para o mouse. O daemon do mouse pode determinar           
          automaticamente o tipo de protocolo da maioria dos mouses, exceto   
          antigos mouses seriais. Especifique o protocolo auto para invocar a 
          detecc,ao automatica. Se a detecc,ao automatica nao funcionar,      
          consulte a pagina de manual moused(8) para obter uma lista dos      
          tipos de protocolos suportados.                                     
                                                                              
          Para um mouse PS/2, adicione moused_enable="YES" ao arquivo         
          /etc/rc.conf para iniciar o daemon do mouse no momento da           
          inicializac,ao. Alem disso, para usar o daemon do mouse em todos os 
          terminais virtuais em vez de apenas no console, adicione            
          allscreens_flags="-m on" ao arquivo /etc/rc.conf.                   
                                                                              
          Quando o daemon do mouse esta em execuc,ao, o acesso ao mouse deve  
          ser coordenado entre o daemon do mouse e outros programas, tais     
          como o X Windows. Consulte o FAQ Por que meu mouse nao funciona com 
          o X? para obter mais detalhes sobre esse problema.                  
   4.4.2. Como fac,o para cortar e colar texto com um mouse no console de     
          texto?                                                              
          Nao e possivel remover (cortar) dados usando o mouse. No entanto, e 
          possivel copiar e colar. Quando o daemon do mouse estiver em        
          execuc,ao, conforme descrito na pergunta anterior, mantenha         
          pressionado o botao 1 (botao esquerdo) e mova o mouse para          
          selecionar uma regiao do texto. Em seguida, pressione o botao 2     
          (botao do meio) para colar no cursor de texto. Pressionar o botao 3 
          (botao direito) ira " estender " a regiao selecionada do texto.     
                                                                              
          Se o mouse nao tiver um botao do meio, e possivel emular um ou      
          remapear os botoes usando as opc,oes do daemon do mouse. Consulte a 
          pagina de manual moused(8) para obter detalhes.                     
   4.4.3. Meu mouse tem uma roda e botoes extravagantes. Posso usa-los no     
          FreeBSD?                                                            
          A resposta e, infelizmente, "Depende". Esses mouses com recursos    
          adicionais exigem um driver especializado na maioria dos casos. A   
          menos que o driver do dispositivo do mouse ou o programa do usuario 
          tenha suporte especifico para o mouse, ele funcionara exatamente    
          como um mouse padrao de dois ou tres botoes.                        
                                                                              
          Para o possivel uso de rodas do mouse no ambiente X Window,         
          consulte essa sec,ao.                                               
   4.4.4. Como eu uso a minha tecla de delete no sh e csh?                    
          Para o Bourne Shell, inclua as seguintes linhas no arquivo ~/.shrc. 
          Veja sh(1) e editrc(5).                                             
                                                                              
          bind ^[[3~ ed-delete-next-char # para o xterm                       
                                                                              
          Para o C Shell, adicione as seguintes linhas ao ~/.cshrc. Veja      
          csh(1).                                                             
                                                                              
          bindkey ^[[3~ delete-char # para o xterm                            

4.5. Outro hardware

   4.5.1. Algum workaround para o problema de nao sair nenhum som da minha
   placa de som pcm(4)?

   4.5.2. O FreeBSD suporta o gerenciamento de energia no meu laptop?

   4.5.1. Algum workaround para o problema de nao sair nenhum som da minha    
          placa de som pcm(4)?                                                
          Algumas placas de som definem seu volume de saida como 0 em cada    
          inicializac,ao. Execute o seguinte comando toda vez que a maquina   
          inicializar:                                                        
                                                                              
          # mixer pcm 100 vol 100 cd 100                                      
   4.5.2. O FreeBSD suporta o gerenciamento de energia no meu laptop?         
          O FreeBSD suporta os recursos ACPI encontrados em componentes       
          modernos de hardware. Maiores informac,oes podem ser encontradas em 
          acpi(4).                                                            

                       Capitulo 5. Soluc,ao de problemas

   5.1. Por que o FreeBSD esta encontrando a quantidade errada de memoria no
   hardware i386(TM)?

   5.2. Por que meus programas morrem ocasionalmente com erros Signal 11 ?

   5.3. Meu sistema trava com Fatal trap 12: page fault in kernel mode ou
   panic:, e mostra um monte de informac,oes. O que devo fazer?

   5.4. Qual e o significado do erro maxproc limit exceeded by uid %i, please
   see tuning(7) and login.conf(5)?

   5.5. Por que aplicativos de tela cheia em maquinas remotas se comportam de
   forma erratica?

   5.6. Por que demora tanto para conectar ao meu computador via ssh ou
   telnet?

   5.7. Por que a mensagem file: table is full aparece repetidamente no
   dmesg(8)?

   5.8. Por que o relogio do meu computador mantem-se com o horario
   incorreto?

   5.9. O que significa o erro swap_pager: indefinite wait buffer:?

   5.10. O que e um lock order reversal (inversao de ordem de bloqueio)?

   5.11. O que significa o erro Called ... with the following non-sleepable
   locks held?

   5.12. Por que o buildworld / installworld morre com a mensagem touch: not
   found?

   5.1.  Por que o FreeBSD esta encontrando a quantidade errada de memoria no 
         hardware i386(TM)?                                                   
         O motivo mais provavel e a diferenc,a entre enderec,os de memoria    
         fisica e enderec,os virtuais.                                        
                                                                              
         A convenc,ao para a maioria dos hardwares de PC e usar a area de     
         memoria entre 3,5 GB e 4 GB para uma finalidade especial (geralmente 
         para PCI). Este espac,o de enderec,o e usado para acessar o hardware 
         PCI. Como resultado real, a memoria fisica nao pode ser acessada por 
         esse espac,o de enderec,o.                                           
                                                                              
         O que acontece com a memoria que deveria aparecer nesse local        
         depende do hardware. Infelizmente, alguns hardwares nao fazem nada e 
         a capacidade de usar estes ultimos 500 MB de RAM e totalmente        
         perdida.                                                             
                                                                              
         Felizmente, a maioria dos hardwares faz o remapeamento da memoria    
         para um local mais alto, para que ela ainda possa ser usada. No      
         entanto, isso pode causar alguma confusao ao observar as mensagens   
         de inicializac,ao.                                                   
                                                                              
         Em uma versao de 32 bits do FreeBSD, a memoria parece perdida, uma   
         vez que ela sera remapeada acima de 4 GB, uma area a qual um kernel  
         de 32 bits nao consegue acessar. Neste caso, a soluc,ao e construir  
         um kernel habilitado para PAE. Veja a sec,ao sobre os limites de     
         memoria para mais informac,oes.                                      
                                                                              
         Em uma versao de 64 bits do FreeBSD, ou quando o kernel estiver      
         habilitado para PAE, o FreeBSD ira corretamente detectar e remapear  
         a memoria para que ela seja utilizavel. Durante a inicializac,ao, no 
         entanto, pode parecer que o FreeBSD esta detectando mais memoria do  
         que o sistema realmente possui, devido ao remapeamento descrito.     
         Isso e normal e a memoria disponivel sera corrigida conforme o       
         processo de inicializac,ao for concluido.                            
   5.2.  Por que meus programas morrem ocasionalmente com erros Signal 11 ?   
         Os erros de sinal 11 sao causados quando um processo tentou acessar  
         a memoria `a qual o sistema operacional nao concedeu acesso. Se algo 
         assim esta acontecendo em intervalos aparentemente aleatorios,       
         comece a investigar a causa.                                         
                                                                              
         Esses problemas geralmente podem ser atribuidos a:                   
                                                                              
          1. Se o problema esta ocorrendo apenas em um aplicativo customizado 
             especifico, e provavelmente um bug no codigo.                    
                                                                              
          2. Se e um problema com parte do sistema base do FreeBSD, tambem    
             pode ser resultado de um codigo com bugs, mas na maioria das     
             vezes esses problemas sao encontrados e corrigidos muito antes   
             que o publico em geral e que normalmente le o FAQ usem essas     
             partes do codigo (e para isso que -CURRENT existe).              
                                                                              
         Provavelmente nao e um erro do FreeBSD se o problema ocorrer na      
         compilac,ao de um programa, mas sim da atividade que o compilador    
         esta realizando e que muda a cada vez.                               
                                                                              
         Por exemplo, se make buildworld falhar ao tentar compilar ls.c para  
         ls.o e, quando executado novamente, ele falhar no mesmo lugar,       
         significa que o codigo esta quebrado. Tente atualizar o codigo fonte 
         e tente compilar novamente. Se a compilac,ao falhar em outro lugar,  
         e quase certo que a causa e um problema de hardware.                 
                                                                              
         No primeiro caso, use um depurador como o gdb(1) para localizar o    
         ponto no programa que esta tentando acessar um enderec,o falso e     
         corrija-o.                                                           
                                                                              
         No segundo caso, verifique qual pec,a de hardware esta com defeito.  
                                                                              
         As causas comuns disso incluem:                                      
                                                                              
          1. Os discos rigidos podem estar superaquecidos: Verifique se os    
             ventiladores ainda estao funcionando, pois o disco e outros      
             componentes de hardware podem estar superaquecendo.              
                                                                              
          2. O processador esta superaquecendo: pode ser porque o processador 
             sofreu overclock ou o ventilador do processador pode ter parado  
             de funcionar. Em ambos os casos, certifique-se de que o hardware 
             esteja sendo utilizado de acordo com as condic,oes especificadas 
             pelo fabricante, pelo menos ao tentar resolver esse problema. Se 
             nao estiver, volte o clock para as configurac,oes padrao.)       
                                                                              
             Em relac,ao ao overclocking, e muito mais barato ter um sistema  
             lento do que um sistema frito que precisa ser substituido! Alem  
             disso, a comunidade nao e simpatica a problemas em sistemas com  
             overclock.                                                       
                                                                              
          3. Memoria Erratica: se varios modulos de memorias SIMMS/DIMMS      
             estiverem instalados, retire-os e tente executar a maquina       
             instalando cada SIMM ou DIMM individualmente para encontrar o    
             modulo DIMM/SIMM problematico ou ate mesmo encontrar uma         
             combinac,ao de modulos com problema.                             
                                                                              
          4. Configurac,oes over-otimizadas da placa-mae: as configurac,oes   
             da BIOS e alguns jumpers da placa-mae oferecem opc,oes para      
             definir varios intervalos de tempo. Os valores padroes           
             geralmente sao suficientes, mas, `as vezes, a configurac,ao dos  
             estados de espera na RAM para valores muito baixos, ou a         
             configurac,ao da opc,ao "RAM Speed: Turbo" causara um            
             comportamento estranho. Uma ideia valida e restaurar a           
             configurac,ao padrao da BIOS, depois e claro de anotar as        
             configurac,oes atuais.                                           
                                                                              
          5. Fonte com potencia insuficiente para energizar a placa-mae:      
             Remova qualquer placa de I/O nao utilizada, discos rigidos ou    
             CD-ROMs, desconectando o cabo de alimentac,ao deles para ver se  
             a fonte de alimentac,ao pode gerenciar uma carga menor. Ou       
             utilize outra fonte de alimentac,ao, de preferencia uma com um   
             pouco mais de potencia. Por exemplo, se a fonte de alimentac,ao  
             atual e recomendada para uma carga de 250 Watts, tente uma que   
             seja recomendada para uma carga de 300 Watts.                    
                                                                              
         Leia a sec,ao sobre o Signal 11 para obter maiores explicac,oes e a  
         discussao sobre como um software ou hardware de teste de memoria     
         ainda pode deixar passar uma memoria defeituosa. Existe uma extensa  
         FAQ sobre o problema do SIG11 disponivel neste link.                 
                                                                              
         Por fim, se nada disso ajudou, trata-se possivelmente de um bug no   
         FreeBSD. Siga estas instruc,oes para enviar um relatorio de          
         problemas.                                                           
   5.3.  Meu sistema trava com Fatal trap 12: page fault in kernel mode ou    
         panic:, e mostra um monte de informac,oes. O que devo fazer?         
         Os desenvolvedores do FreeBSD estao interessados                     
         &#8203;&#8203;nesses erros, mas precisam de mais informac,oes do que 
         apenas a mensagem de erro. Copie a mensagem completa da falha. Em    
         seguida, consulte a sec,ao FAQ em kernel panics, compile um kernel   
         de depurac,ao e obtenha um backtrace. Isso pode parecer dificil, mas 
         nao requer nenhuma habilidade de programac,ao. Apenas siga as        
         instruc,oes.                                                         
   5.4.  Qual e o significado do erro maxproc limit exceeded by uid %i,       
         please see tuning(7) and login.conf(5)?                              
         O kernel do FreeBSD permitira que apenas um certo numero de          
         processos exista ao mesmo tempo. O numero e baseado na variavel      
         kern.maxusers do sysctl(8). O valor da variavel kern.maxusers tambem 
         afeta varios outros limites dentro do kernel, como por exemplo os    
         buffers de rede. Se a maquina estiver muito carregada, aumente o     
         kern.maxusers. Isso aumentara esses outros limites do sistema alem   
         do numero maximo de processos.                                       
                                                                              
         Para ajustar o valor da variavel kern.maxusers , consulte a sec,ao   
         Limites de Arquivos / Processos do Handbook. Apesar desta sec,ao se  
         referir a arquivos abertos, os mesmos limites se aplicam aos         
         processos.                                                           
                                                                              
         Se a maquina estiver levemente carregada, mas executando um numero   
         muito grande de processos, ajuste o valor do kern.maxproc            
         definindo-o no arquivo /boot/loader.conf. O ajuste nao tera efeito   
         ate que o sistema seja reinicializado. Para mais informac,oes sobre  
         o tuning de variaveis, consulte o manual do loader.conf(5). Se esses 
         processos estiverem sendo executados por um unico usuario, ajuste o  
         kern.maxprocperuid para que fique menor em 1 unidade do novo valor   
         do kern.maxproc. Ele deve ser pelo menos uma unidade menor porque o  
         programa do sistema, init(8), deve estar sempre em execuc,ao.        
   5.5.  Por que aplicativos de tela cheia em maquinas remotas se comportam   
         de forma erratica?                                                   
         A maquina remota pode estar configurando o tipo de terminal para     
         algo diferente de xterm , que e o tipo requerido pelo console do     
         FreeBSD. Alternativamente, o kernel pode ter valores errados para a  
         largura e a altura do terminal.                                      
                                                                              
         Verifique se o valor da variavel de ambiente TERM e xterm. Se a      
         maquina remota nao suportar isso, tentevt100.                        
                                                                              
         Execute o stty -a para verificar o que o kernel acha que sao as      
         dimensoes do terminal. Se estiverem incorretos, eles podem ser       
         alterados executando stty rowsRRcolsCC.                              
                                                                              
         Alternativamente, se a maquina do cliente tiver o x11/xterm          
         instalado, a execuc,ao do resize consultara o terminal para as       
         dimensoes corretas e as definira.                                    
   5.6.  Por que demora tanto para conectar ao meu computador via ssh ou      
         telnet?                                                              
         O sintoma: ha um longo atraso entre o momento em que a conexao TCP e 
         estabelecida e a hora em que o software cliente solicita uma senha   
         (ou, no caso do telnet(1), quando um prompt de login aparece).       
                                                                              
         O problema: mais provavel do que nao, o atraso e causado pelo        
         software do servidor tentando resolver o enderec,o IP do cliente em  
         um nome de host. Muitos servidores, incluindo os servidores Telnet e 
         SSH que vem com o FreeBSD, fazem isso para armazenar o nome do host  
         em um arquivo de log para referencia futura pelo administrador.      
                                                                              
         A soluc,ao: se o problema ocorrer sempre, independente do servidor   
         ao que o computador cliente se conecta, o problema esta no cliente.  
         Se o problema ocorrer apenas quando o computador cliente se conecta  
         a um determinado servidor, o problema esta no servidor.              
                                                                              
         Se o problema for com o cliente, a unica soluc,ao e corrigir o DNS   
         para que o servidor possa resolve-lo. Se isso estiver ocorrendo em   
         uma rede local, considere um problema no servidor e continue lendo.  
         Se isso estiver ocorrendo na Internet, entre em contato com seu ISP. 
                                                                              
         Se o problema for com um servidor em uma rede local, configure o     
         servidor para resolver as consultas de enderec,o para nome de host   
         para o intervalo de enderec,os da rede local. Veja as paginas de     
         manual para o hosts(5) e o named(8) para maiores informac,oes. Se o  
         problema for com um servidor na Internet, o problema pode ser que o  
         resolver local do servidor nao esta funcionando corretamente. Para   
         verificar se e isto, tente procurar outro host, como www.yahoo.com.  
         Se isso nao funcionar, este e o problema.                            
                                                                              
         Apos uma nova instalac,ao do FreeBSD, tambem e possivel que as       
         informac,oes do dominio e do servidor de nomes estejam faltando no   
         /etc/resolv.conf. Isso geralmente causara um atraso no SSH, ja que a 
         opc,ao UseDNS e definida como yes por padrao no                      
         /etc/ssh/sshd_config. Se isso estiver causando o problema, preencha  
         as informac,oes ausentes no arquivo /etc/resolv.conf ou configure a  
         opc,ao UseDNS para no no arquivo sshd_config como uma soluc,ao       
         temporaria.                                                          
   5.7.  Por que a mensagem file: table is full aparece repetidamente no      
         dmesg(8)?                                                            
         Essa mensagem de erro indica que o numero de file descriptors        
         disponiveis no sistema esgotaram. Consulte a informac,ao sobre a     
         variavel kern.maxfiles na sec,ao Ajustando os Limites do Kernel do   
         Handbook para uma discussao e soluc,ao.                              
   5.8.  Por que o relogio do meu computador mantem-se com o horario          
         incorreto?                                                           
         O computador tem dois ou mais relogios e o FreeBSD escolheu usar o   
         errado.                                                              
                                                                              
         Execute o comando dmesg(8) e verifique as linhas que contem a        
         palavra Timecounter. Aquele com o maior valor de quality e o que o   
         FreeBSD escolheu.                                                    
                                                                              
         # dmesg | grep Timecounter                                           
         Timecounter "i8254" frequency 1193182 Hz quality 0                   
         Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000            
         Timecounter "TSC" frequency 2998570050 Hz quality 800                
         Timecounters tick every 1.000 msec                                   
                                                                              
         Confirme isso verificando o valor da variavel                        
         kern.timecounter.hardware no sysctl(3).                              
                                                                              
         # sysctl kern.timecounter.hardware                                   
         kern.timecounter.hardware: ACPI-fast                                 
                                                                              
         Pode ser um timer ACPI quebrado. A soluc,ao mais simples e           
         desabilitar o timer ACPI no arquivo /boot/loader.conf:               
                                                                              
         debug.acpi.disabled="timer"                                          
                                                                              
         Ou a BIOS podera modificar o relogio TSC - talvez para mudar a       
         velocidade do processador quando estiver funcionando a partir de     
         baterias, ou quando estiver entrando em modo de economia de energia, 
         mas o FreeBSD nao tem conhecimento desses ajustes e parece ganhar ou 
         perder tempo.                                                        
                                                                              
         Neste exemplo, o relogio i8254 tambem esta disponivel e pode ser     
         selecionado alterando-se a variavel kern.timecounter.hardware do     
         sysctl(3).                                                           
                                                                              
         # sysctl kern.timecounter.hardware=i8254                             
         kern.timecounter.hardware: TSC -> i8254                              
                                                                              
         O computador agora deve comec,ar a manter seu relogio mais preciso.  
                                                                              
         Para que essa mudanc,a seja executada automaticamente no momento da  
         inicializac,ao, adicione a seguinte linha ao arquivo                 
         /etc/sysctl.conf:                                                    
                                                                              
         kern.timecounter.hardware=i8254                                      
   5.9.  O que significa o erro swap_pager: indefinite wait buffer:?          
         Isso significa que um processo esta tentando armazenar em memoria    
         RAM a memoria do disco (swap), e que o processo foi interrompido     
         depois de tentar sem sucesso acessar o disco por mais de 20          
         segundos. Isso pode ser causado por blocos defeituosos na unidade de 
         disco, fiac,ao de disco defeituosa, cabos ou qualquer outro hardware 
         relacionado a I/O de disco. Se a propria unidade estiver com         
         problemas, erros de disco aparecerao em /var/log/messages e na saida 
         do comando dmesg. Caso contrario, verifique os cabos e conexoes.     
   5.10. O que e um lock order reversal (inversao de ordem de bloqueio)?      
         O kernel do FreeBSD usa varios locks de recursos para arbitrar a     
         contenc,ao de certos recursos. Quando varias threads do kernel       
         tentam obter varios locks de recursos, ha sempre o potencial para um 
         impasse (deadlock), em que duas threads obtiveram cada uma um dos    
         locks e trava para sempre esperando que a outra thread libere um dos 
         outros locks. Esse tipo de problema de locking pode ser evitado se   
         todas as threads obtiverem os locks na mesma ordem.                  
                                                                              
         Um sistema de diagnostico lock em tempo de execuc,ao chamado         
         witness(4), ativado no FreeBSD-CURRENT e desabilitado por padrao     
         para a branch stable e releases, detecta o potencial para deadlocks  
         devido a erros de locking, incluindo erros causados                  
         &#8203;&#8203;pela obtenc,ao de varios locks de recursos com uma     
         ordem diferente de partes diferentes do kernel. O framework          
         witness(4) tenta detectar esse problema quando ele ocorre e relata   
         isso imprimindo uma mensagem no console do sistema sobre um lock     
         order reversal (geralmente tambem chamado de LOR).                   
                                                                              
         E possivel obter falsos positivos, uma vez que o witness(4) e        
         conservador. Um relatorio positivo verdadeiro nao significa que um   
         sistema esta travado; em vez disso, deve ser entendido como um aviso 
         de que um deadlock poderia ter acontecido.                           
                                                                              
           Nota:                                                              
                                                                              
         Os problemas de LOR tendem a ser consertados rapidamente, entao      
         verifique a lista de discussao do FreeBSD-CURRENT antes de postar    
         sobre um.                                                            
   5.11. O que significa o erro Called ... with the following non-sleepable   
         locks held?                                                          
         Isso significa que uma func,ao que pode dormir foi chamada enquanto  
         um lock mutex (ou outro unsleepable) era mantido.                    
                                                                              
         A razao pela qual isso e um erro e porque os mutexes nao devem ser   
         mantidos por longos periodos de tempo; eles deveriam existir apenas  
         para manter curtos periodos de sincronizac,ao. Este contrato de      
         programac,ao permite que os drivers de dispositivos usem mutexes     
         para sincronizar com o resto do kernel durante as interrupc,oes. As  
         interrupc,oes (no FreeBSD) podem nao dormir. Por isso, e imperativo  
         que nenhum subsistema bloqueie o kernel por um longo periodo         
         mantendo um mutex ativo.                                             
                                                                              
         Para capturar tais erros, asserc,oes podem ser adicionadas ao kernel 
         que interage com o subsistema witness(4) para emitir um aviso ou     
         erro fatal (dependendo a configurac,ao do sistema) quando uma        
         chamada potencialmente de bloqueio e feita enquanto um mutex estiver 
         sendo mantido.                                                       
                                                                              
         Em resumo, tais avisos nao sao fatais, no entanto, com um timing     
         infeliz, podem causar efeitos indesejaveis, desde um pequeno erro na 
         capacidade de resposta do sistema ate o seu travamento completo.     
                                                                              
         Para obter informac,oes adicionais sobre locking no FreeBSD,         
         consulte locking(9).                                                 
   5.12. Por que o buildworld / installworld morre com a mensagem touch: not  
         found?                                                               
         Este erro nao significa que o utilitario touch(1) esteja ausente. O  
         erro e provavelmente devido `as datas dos arquivos que estao sendo   
         definidos em algum momento no futuro. Se o relogio do CMOS estiver   
         configurado para a hora local, execute adjkerntz -i para ajustar o   
         relogio do kernel ao inicializar no modo de usuario unico.           

                       Capitulo 6. Aplicativos do Usuario

   6.1. Onde estao todas as aplicac,oes de usuario?

   6.2. Como fac,o para baixar a colec,ao de ports? Eu deveria estar usando o
   Subversion?

   6.3. Por que nao posso compilar esse port na minha maquina 11.X - ou 12.X
   -STABLE?

   6.4. Acabei de tentar compilar o INDEX usando o comando make index, e ele
   falhou. Por que?

   6.5. Eu atualizei os fontes, agora como fac,o para atualizar meus ports
   instalados?

   6.6. Preciso recompilar todos os ports sempre que realizo uma atualizac,ao
   de versao principal?

   6.7. Preciso recompilar cada port toda vez que fac,o uma atualizac,ao de
   versao secundaria?

   6.8. Por que o /bin/sh e tao pequeno? Por que o FreeBSD nao usa o bash ou
   outro shell?

   6.1. Onde estao todas as aplicac,oes de usuario?                           
        Consulte a pagina dos ports para informac,oes sobre pacotes de        
        software portados para o FreeBSD.                                     
                                                                              
        A maioria dos ports deve funcionar em todas as versoes suportadas do  
        FreeBSD. Aqueles que nao funcionam, estao especificamente sinalizados 
        como tal. Cada vez que uma release do FreeBSD e construida, um        
        snapshot da colec,ao de ports no momento da construc,ao tambem e      
        incluida no diretorio ports/.                                         
                                                                              
        O FreeBSD suporta pacotes binarios compactados para facilitar a       
        instalac,ao e desinstalac,ao dos ports. Use o comando pkg(7) para     
        controlar a instalac,ao de pacotes.                                   
   6.2. Como fac,o para baixar a colec,ao de ports? Eu deveria estar usando o 
        Subversion?                                                           
        Qualquer um dos metodos listados aqui funciona:                       
                                                                              
          * Use o portsnap para a maioria dos casos de uso. Consulte a sec,ao 
            Usando a colec,ao de ports para obter instruc,oes sobre como usar 
            essa ferramenta .                                                 
                                                                              
          * Use o Subversion se for necessario a aplicac,ao de patches        
            customizados na arvore de ports ou se estiver rodando             
            FreeBSD-CURRENT. Consulte a sec,ao Usando o Subversion para obter 
            detalhes.                                                         
   6.3. Por que nao posso compilar esse port na minha maquina 11.X - ou 12.X  
        -STABLE?                                                              
        Se a versao do FreeBSD instalada estiver significativamente atras do  
        -CURRENT ou do -STABLE, atualize a colec,ao de ports usando as        
        instruc,oes disponiveis na sec,ao Usando a colec,ao de ports. Se o    
        sistema estiver atualizado, alguem pode ter feito uma alterac,ao no   
        port que funciona para -CURRENT mas que quebrou o port para o         
        -STABLE. Envie um relatorio de bug, ja que a Colec,ao de Ports deve   
        funcionar tanto para o branch -CURRENT e quanto o -STABLE.            
   6.4. Acabei de tentar compilar o INDEX usando o comando make index, e ele  
        falhou. Por que?                                                      
        Primeiro, certifique-se de que a Colec,ao de Ports esteja atualizada. 
        Erros que afetam a compilac,ao do INDEX a partir de uma copia         
        atualizada da colec,ao de ports sao de alta visibilidade e, portanto, 
        quase sempre sao corrigidos imediatamente.                            
                                                                              
        Existem casos raros em que o INDEX nao sera compilado devido a casos  
        estranhos envolvendo a variavel OPTIONS_SET sendo definida em         
        make.conf. Se voce suspeitar que este e o caso, tente fazer o INDEX   
        com estas variaveis desativadas antes de reportar o erro para a Lista 
        de discussao de ports do FreeBSD.                                     
   6.5. Eu atualizei os fontes, agora como fac,o para atualizar meus ports    
        instalados?                                                           
        O FreeBSD nao inclui uma ferramenta de atualizac,ao de ports, mas     
        possui algumas ferramentas para facilitar o processo de atualizac,ao. 
        Ferramentas adicionais estao disponiveis para simplificar o manuseio  
        dos ports e sao descritas na sec,ao Atualizando Ports no Handbook do  
        FreeBSD .                                                             
   6.6. Preciso recompilar todos os ports sempre que realizo uma atualizac,ao 
        de versao principal?                                                  
        Sim! Apesar de um sistema recente ser capaz de executar os softwares  
        compilados em uma versao mais antiga, as coisas irao falhar           
        aleatoriamente e deixar de funcionar quando outros ports forem        
        instalados ou atualizados.                                            
                                                                              
        Quando o sistema e atualizado, varias bibliotecas compartilhadas,     
        modulos carregaveis &#8203;&#8203;e outras partes do sistema serao    
        substituidas por versoes mais recentes. Os aplicativos vinculados `as 
        versoes mais antigas podem nao iniciar ou, em outros casos, nao       
        funcionar corretamente.                                               
                                                                              
        Para obter maiores informac,oes, consulte a sec,ao sobre              
        atualizac,oes no Handbook do FreeBSD.                                 
   6.7. Preciso recompilar cada port toda vez que fac,o uma atualizac,ao de   
        versao secundaria?                                                    
        Em geral, nao. Os desenvolvedores do FreeBSD fazem o maximo para      
        garantir compatibilidade binaria em todos os releases com o mesmo     
        numero de versao principal. Quaisquer excec,oes serao documentadas    
        nas Release Notes, e os conselhos dados la devem ser seguidos.        
   6.8. Por que o /bin/sh e tao pequeno? Por que o FreeBSD nao usa o bash ou  
        outro shell?                                                          
        Muitas pessoas precisam escrever shell scripts que serao portados     
        para muitos sistemas. E por isso que o POSIX(R) especifica os         
        comandos shell e utilitarios em grande detalhe. A maioria dos scripts 
        sao escritos em Bourne shell (sh(1)) e porque varias interfaces de    
        programac,ao importantes (make(1), system(3), popen(3) e analogos em  
        linguagens de script de alto nivel como Perl e Tcl) sao especificados 
        para usar o Bourne shell para interpretar comandos. Como o Bourne     
        shell e usado com tanta frequencia e em larga escala, e importante    
        que ele seja iniciado rapidamente, que seja deterministico em seu     
        comportamento e que ocupe o menor espac,o possivel na memoria.        
                                                                              
        A implementac,ao existente e resultado do nosso melhor esforc,o para  
        atender simultaneamente o quanto pudermos desses requisitos. Para     
        manter o /bin/sh pequeno, nao fornecemos muitos dos recursos de       
        conveniencia que os outros shells possuem. E por isso que outras      
        shells com mais recursos, como o bash, o scsh, o tcsh(1), e o zsh     
        estao disponiveis. Compare a utilizac,ao de memoria desses shells     
        observando as colunas " VSZ " e " RSS " em uma listagem gerada com o  
        comando ps -u.                                                        

                      Capitulo 7. Configurac,ao do Kernel

   7.1. Eu gostaria de customizar meu kernel. E dificil?

   7.2. Por que meu kernel e tao grande?

   7.3. Por que todo kernel que eu tento construir falha ao compilar, ate
   mesmo o GENERIC?

   7.4. Qual agendador esta em uso em um sistema em execuc,ao?

   7.5. O que e o kern.sched.quantum?

   7.1. Eu gostaria de customizar meu kernel. E dificil?                      
        De modo nenhum! Confira a sec,ao configurac,ao do kernel do Handbook. 
                                                                              
          Nota:                                                               
                                                                              
        O novo kernel sera instalado no diretorio /boot/kernel junto com os   
        seus modulos, enquanto o kernel antigo e seus modulos serao movidos   
        para o diretorio /boot/kernel.old. Se um erro for cometido na         
        configurac,ao, basta inicializar utilizando a versao anterior do      
        kernel.                                                               
   7.2. Por que meu kernel e tao grande?                                      
        Os kernels GENERIC enviados com o FreeBSD sao compilados com o modo   
        de depurac,ao habilitado. Kernels compilados no modo de depurac,ao    
        contem dados de depurac,ao em arquivos separados que sao usados       
        &#8203;&#8203;para depurac,ao. Versoes do FreeBSD anteriores a 11.0   
        armazenam esses arquivos de depurac,ao no mesmo diretorio que o       
        proprio kernel, /boot/kernel/. No FreeBSD 11.0 e posterior, os        
        arquivos de depurac,ao sao armazenados em                             
        /usr/lib/debug/boot/kernel/. Observe que havera pouca ou nenhuma      
        perda de desempenho ao executar um kernel com o modo de depurac,ao    
        habilitado, e e util manter um por perto em caso de panic no sistema. 
                                                                              
        Quando estiver com pouco espac,o em disco, existem diferentes opc,oes 
        para reduzir o tamanho de /boot/kernel/ e /usr/lib/debug/.            
                                                                              
        Para nao instalar os arquivos de simbolos, certifique-se que a        
        seguinte linha existe em /etc/src.conf:                               
                                                                              
        WITHOUT_KERNEL_SYMBOLS=yes                                            
                                                                              
        Para mais informac,oes veja src.conf(5).                              
                                                                              
        Se voce quiser evitar completamente a criac,ao de arquivos de         
        depurac,ao, certifique-se de que ambos os itens a seguir sejam        
        verdadeiros:                                                          
                                                                              
          * Esta linha nao existe no arquivo de configurac,ao do kernel:      
                                                                              
         makeoptions DEBUG=-g                                                 
                                                                              
          * Nao execute o comando config(8) com a opc,ao -g.                  
                                                                              
        Qualquer uma das configurac,oes acima fara com que o kernel seja      
        construido com suporte ao modo de depurac,ao.                         
                                                                              
        Para construir e instalar somente os modulos desejados, liste-os em   
        /etc/make.conf:                                                       
                                                                              
        MODULES_OVERRIDE= accf_http ipfw                                      
                                                                              
        Substitua accf_httpd ipfw com a lista dos modulos que precisa. Apenas 
        os modulos listados serao compilados. Isso reduz o tamanho do         
        diretorio do kernel e diminui o tempo necessario para compilar o      
        kernel. Para mais informac,oes, leia                                  
        /usr/share/examples/etc/make.conf.                                    
                                                                              
        Dispositivos desnecessarios podem ser removidos do kernel para        
        reduzir ainda mais o tamanho. Veja P: 7.1 para mais informac,oes.     
                                                                              
        Para colocar qualquer uma dessas opc,oes em vigor, siga as            
        instruc,oes para compilar e instalar um novo kernel.                  
                                                                              
        Para referencia, o kernel amd64 do FreeBSD 11 (/boot/kernel/kernel) e 
        de aproximadamente 25 MB.                                             
   7.3. Por que todo kernel que eu tento construir falha ao compilar, ate     
        mesmo o GENERIC?                                                      
        Ha varias causas possiveis para esse problema:                        
                                                                              
          * A o codigo fonte de origem e diferente do usado para construir o  
            sistema atualmente em execuc,ao. Ao tentar uma atualizac,ao, leia 
            o arquivo /usr/src/UPDATING, prestando atenc,ao especial `a       
            sec,ao "ITENS COMUNS" no final.                                   
                                                                              
          * O comando make buildkernel nao foi concluido com sucesso. O       
            comando make buildkernel depende dos arquivos gerados pelo        
            comando make buildworld para concluir seu trabalho corretamente.  
                                                                              
          * Mesmo quando estiver compilando o FreeBSD-STABLE, e possivel que  
            o codigo fonte tenha sido obtido em um momento em que estava      
            sendo modificado ou em que estava quebrado. Somente os releases   
            possuem a garantia de que podem ser compilados, apesar do         
            FreeBSD-STABLE compilar corretamente na maioria das vezes. Tente  
            atualizar novamente o codigo fonte e veja se o problema           
            desaparece. Tente usar um servidor de distribuic,ao diferente,    
            caso o anterior esteja com problemas.                             
   7.4. Qual agendador esta em uso em um sistema em execuc,ao?                
        O nome do agendador que atualmente sendo usado esta diretamente       
        disponivel como o valor da variavel kern.sched.name do sysctl:        
                                                                              
        % sysctl kern.sched.name                                              
        kern.sched.name: ULE                                                  
   7.5. O que e o kern.sched.quantum?                                         
        A variavel kern.sched.quantum define o numero maximo de pulsos que um 
        processo pode executar sem ser "preempted" no scheduler 4BSD.         

            Capitulo 8. Discos, sistemas de arquivos e boot loaders

   8.1. Como posso adicionar o meu novo disco rigido ao meu sistema FreeBSD?

   8.2. Como fac,o para mover meu sistema para o meu novo disco enorme?

   8.3. Quais partic,oes podem usar com seguranc,a o Soft Updates? Ouvi dizer
   que o uso de Soft Updates no / pode causar problemas. E quanto ao
   Journaled Soft Updates?

   8.4. Posso acessar outros sistemas de arquivos nao-nativos do FreeBSD?

   8.5. Como fac,o para montar uma partic,ao secundaria do DOS?

   8.6. Existe um sistema de arquivos criptograficos para o FreeBSD?

   8.7. Como inicializo o FreeBSD e o Linux (R) utilizando o GRUB?

   8.8. Como inicializo o FreeBSD e o Linux(R) usando o BootEasy?

   8.9. Como fac,o para alterar o prompt de inicializac,ao de ??? para algo
   mais significativo?

   8.10. Como fac,o para usar uma nova unidade removivel?

   8.11. Por que recebo o erro Incorrect super block ao montar um CD?

   8.12. Por que recebo o erro Device not configured ao montar um CD?

   8.13. Por que todos os caracteres nao-ingleses em nomes de arquivos
   aparecem como "?" em meus CDs quando montados no FreeBSD?

   8.14. Um CD gravado no FreeBSD nao pode ser lido sob nenhum outro sistema
   operacional. Por que?

   8.15. Como posso criar uma imagem de um CD de dados?

   8.16. Por que nao consigo usar o comando mount com um CD de audio?

   8.17. Como eu fac,o para usar o comando mount com um CD multi-sessao?

   8.18. Como posso permitir que usuarios nao privilegiados montem CD-ROMs,
   DVDs, unidades USB e outras midias removiveis?

   8.19. Os comandos du e df mostram informac,oes diferentes sobre a quantia
   disponivel de espac,o em disco. O que esta acontecendo?

   8.20. Como posso adicionar mais espac,o de swap?

   8.21. Por que o FreeBSD ve meu disco como sendo menor do que o fabricante
   diz que ele e?

   8.22. Como e possivel que uma partic,ao esteja com mais de 100% de
   ocupac,ao?

   8.1.  Como posso adicionar o meu novo disco rigido ao meu sistema FreeBSD? 
         Veja a sec,ao Adicionando Discos no Handbook do FreeBSD.             
   8.2.  Como fac,o para mover meu sistema para o meu novo disco enorme?      
         A melhor maneira e reinstalar o sistema operacional no novo disco e  
         depois passar os dados do usuario. Isto e altamente recomendado ao   
         seguir o -STABLE por mais de uma release ou ao atualizar uma release 
         ao inves de instalar uma nova. Instale o booteasy em ambos os discos 
         com boot0cfg(8) e use a opc,ao de dual boot ate que esteja           
         satisfeito com a nova configurac,ao. Pule o proximo paragrafo para   
         descobrir como mover os dados depois de fazer isso.                  
                                                                              
         Alternativamente, particione e rotule o novo disco utilizando o      
         sade(8) ou o gpart(8). Se os discos forem formatados com MBR, o      
         booteasy pode ser instalado em ambos os discos utilizando-se o       
         boot0cfg(8) para que o computador possa inicializar dualmente com o  
         antigo ou novo sistema apos a conclusao da copia.                    
                                                                              
         Depois que o novo disco estiver configurado, os dados nao podem ser  
         simplesmente copiados. Em vez disso, use ferramentas que entendam    
         device files e system flags, tais como o dump(8). Embora seja        
         recomendado que voce mova os dados com o sistema em modo single      
         user, isto nao e necessario.                                         
                                                                              
         Quando os discos estiverem formatados com UFS, nunca use nada alem   
         do dump(8) e do restore(8) para mover o sistema de arquivos raiz.    
         Esses comandos tambem devem ser usados para mover uma unica          
         partic,ao para uma outra partic,ao vazia. A sequ:encia de etapas     
         para usar o comando dump para mover os dados de uma partic,ao UFS    
         para uma nova partic,ao e:                                           
                                                                              
          1. Execute o newfs na nova partic,ao.                               
                                                                              
          2. Utilize o mount para disponibiliza-la em um ponto de montagem    
             temporario.                                                      
                                                                              
          3. Va para o diretorio desejado utilizando o comando cd .           
                                                                              
          4. Fac,a o dump da partic,ao antiga e redirecione a saida para a    
             nova.                                                            
                                                                              
         Por exemplo, para mover /dev/ada1s1a tendo /mnt como o ponto de      
         montagem temporario, digite:                                         
                                                                              
         # newfs /dev/ada1s1a                                                 
         # mount /dev/ada1s1a /mnt                                            
         # cd /mnt                                                            
         # dump 0af - / | restore rf -                                        
                                                                              
         Reorganizar as partic,oes com o comando dump requer um pouco mais de 
         trabalho. Para mesclar uma partic,ao como /var com a partic,ao pai,  
         crie uma nova partic,ao grande o suficiente para conter ambas, mova  
         a partic,ao pai conforme descrito acima e mova a partic,ao filha     
         para o diretorio vazio criado pela primeira movimentac,ao:           
                                                                              
         # newfs /dev/ada1s1a                                                 
         # mount /dev/ada1s1a /mnt                                            
         # cd /mnt                                                            
         # dump 0af - / | restore rf -                                        
         # cd var                                                             
         # dump 0af - /var | restore rf -                                     
                                                                              
         Para separar um diretorio do seu pai, digamos colocar /var em sua    
         propria partic,ao quando nao era antes, crie as duas partic,oes,     
         monte a partic,ao filho no diretorio apropriado no ponto de montagem 
         temporario e mova a antiga partic,ao unica:                          
                                                                              
         # newfs /dev/ada1s1a                                                 
         # newfs /dev/ada1s1d                                                 
         # mount /dev/ada1s1a /mnt                                            
         # mkdir /mnt/var                                                     
         # mount /dev/ada1s1d /mnt/var                                        
         # cd /mnt                                                            
         # dump 0af - / | restore rf -                                        
                                                                              
         Os utilitarios cpio(1) e pax(1) tambem estao disponiveis para mover  
         dados do usuario. Estes comandos sao conhecidos por perder as flags  
         com as informac,oes dos arquivo, portanto, use-os com cuidado.       
   8.3.  Quais partic,oes podem usar com seguranc,a o Soft Updates? Ouvi      
         dizer que o uso de Soft Updates no / pode causar problemas. E quanto 
         ao Journaled Soft Updates?                                           
         Resposta curta: Soft Updates geralmente podem ser usados             
         &#8203;&#8203;com seguranc,a em todas as partic,oes.                 
                                                                              
         Resposta longa: o Soft Updates possui duas caracteristicas que podem 
         ser indesejaveis &#8203;&#8203;em determinadas partic,oes. Primeiro, 
         uma partic,ao com Soft Updates tem uma pequena chance de perder      
         dados durante uma falha do sistema. A partic,ao nao sera corrompida, 
         pois os dados serao simplesmente perdidos. Em segundo lugar, o uso   
         de Soft Updates pode causar escassez temporaria de espac,o.          
                                                                              
         Ao usar o Soft Updates, o kernel pode levar ate trinta segundos para 
         gravar alterac,oes no disco fisico. Quando um arquivo grande e       
         excluido, o arquivo ainda reside no disco ate que o kernel execute a 
         exclusao. Isso pode causar uma "race condition" muito simples.       
         Suponha que um arquivo grande seja excluido e outro arquivo grande   
         seja criado imediatamente. O primeiro arquivo grande ainda nao foi   
         removido do disco fisico, portanto, o disco pode nao ter espac,o     
         suficiente para o segundo arquivo grande. Isso produzira um erro de  
         que a partic,ao nao tem espac,o suficiente, mesmo que um grande      
         espac,o tenha acabado de ser liberado. Alguns segundos depois, a     
         criac,ao do arquivo funciona conforme o esperado.                    
                                                                              
         Se um sistema travar depois que o kernel tiver aceito um bloco de    
         dados para gravar no disco, mas antes que os dados sejam realmente   
         gravados, os dados poderao ser perdidos. Esse risco e extremamente   
         pequeno, e geralmente gerenciavel.                                   
                                                                              
         Esses problemas afetam todas as partic,oes usando as Soft Updates.   
         Entao, o que isso significa para a partic,ao raiz?                   
                                                                              
         Informac,oes vitais sobre a partic,ao raiz mudam muito raramente. Se 
         o sistema travar dentro da janela de 30 segundos depois de uma       
         alterac,ao ter sido feita, e possivel que os dados possam ser        
         perdidos. Esse risco e insignificante para a maioria dos             
         aplicativos, mas esteja ciente de que existe. Se o seu sistema nao   
         puder tolerar este risco, nao use as Soft Updates no sistema de      
         arquivos raiz!                                                       
                                                                              
         O / e tradicionalmente uma das menores partic,oes. Se o /tmp estiver 
         localizado dentro do /, pode haver problemas intermitentes de falta  
         de espac,o. A criac,ao de um link simbolico apontando o /tmp para    
         /var/tmp resolvera esse problema.                                    
                                                                              
         Por fim, o dump(8) nao funciona no modo live (-L) em um sistema de   
         arquivos, com Journaled Soft Updates (SU + J).                       
   8.4.  Posso acessar outros sistemas de arquivos nao-nativos do FreeBSD?    
         O FreeBSD suporta uma variedade de outros sistemas de arquivos.      
                                                                              
         UFS                                                                  
                                                                              
            Os CD-ROMs UFS podem ser montados diretamente no FreeBSD. Montar  
            partic,oes de disco do Digital UNIX e de outros sistemas que      
            suportam o UFS pode ser mais complexo, dependendo dos detalhes do 
            particionamento do disco para o sistema operacional em questao.   
                                                                              
         ext2/ext3                                                            
                                                                              
            O FreeBSD suporta partic,oes ext2fs e ext3fs. Veja ext2fs(5) para 
            mais informac,oes.                                                
                                                                              
         NTFS                                                                 
                                                                              
            O suporte ao NTFS baseia-se no FUSE esta disponivel como um port  
            (sysutils/fusefs-ntfs). Para mais informac,oes, consulte ntfs-3g. 
                                                                              
         FAT                                                                  
                                                                              
            O FreeBSD inclui um driver FAT de leitura-gravac,ao. Para obter   
            mais informac,oes, consulte mount_msdosfs(8).                     
                                                                              
         ZFS                                                                  
                                                                              
            O FreeBSD inclui um port do driver ZFS da Sun(TM). A              
            recomendac,ao atual e usa-lo apenas em plataformas amd64 com      
            memoria suficiente. Para obter mais informac,oes, consulte        
            zfs(8).                                                           
                                                                              
         O FreeBSD inclui o sistema de arquivos de rede NFS e a Colec,ao de   
         Ports do FreeBSD fornece varios aplicativos FUSE para suportar       
         muitos outros sistemas de arquivos.                                  
   8.5.  Como fac,o para montar uma partic,ao secundaria do DOS?              
         As partic,oes secundarias do DOS sao encontradas depois de todas as  
         partic,oes primarias. Por exemplo, se E for a segunda partic,ao DOS  
         na segunda unidade SCSI, havera um arquivo de dispositivo para a     
         "slice 5" em /dev. Para monta-lo:                                    
                                                                              
         # mount -t msdosfs /dev/da1s5 /dos/e                                 
   8.6.  Existe um sistema de arquivos criptograficos para o FreeBSD?         
         Sim, o gbde(8) e o geli(8). Consulte a sec,ao Partic,oes de Disco    
         com Criptografia do Handbook do FreeBSD.                             
   8.7.  Como inicializo o FreeBSD e o Linux (R) utilizando o GRUB?           
         Para inicializar o FreeBSD usando o GRUB, adicione o seguinte ao     
         /boot/grub/menu.lst ou ao /boot/grub/grub.conf, dependendo de qual e 
         usado pela sua distribuic,ao Linux (R).                              
                                                                              
         title FreeBSD 9.1                                                    
                 root (hd0,a)                                                 
                 kernel /boot/loader                                          
                                                                              
         No qual hd0,a aponta para a partic,ao raiz no primeiro disco. Para   
         especificar o numero da slice, use algo como isto (hd0,2,a). Por     
         padrao, se o numero da slice for omitido, o GRUB pesquisara a        
         primeira slice que tiver a partic,ao a.                              
   8.8.  Como inicializo o FreeBSD e o Linux(R) usando o BootEasy?            
         Instale o LILO no inicio da partic,ao de inicializac,ao Linux(R) em  
         vez de no Master Boot Record. Em seguida, inicialize o LILO a partir 
         do BootEasy.                                                         
                                                                              
         Isto e recomendado ao executar o Windows(R) e o Linux(R), pois torna 
         mais facil fazer o Linux(R) inicializar novamente se o Windows(R)    
         for reinstalado.                                                     
   8.9.  Como fac,o para alterar o prompt de inicializac,ao de ??? para algo  
         mais significativo?                                                  
         Isso nao pode ser feito com o gerenciador de inicializac,ao padrao   
         sem reescreve-lo. Ha varios outros gerenciadores de inicializac,ao   
         na categoria sysutils da colec,ao de ports.                          
   8.10. Como fac,o para usar uma nova unidade removivel?                     
         Se a unidade ja tiver um sistema de arquivos, use um comando como    
         este:                                                                
                                                                              
         # mount -t msdosfs /dev/da0s1 /mnt                                   
                                                                              
         Se a unidade so for usada com sistemas FreeBSD, particione-a com UFS 
         ou ZFS. Isso fornecera suporte a nomes longos de arquivo, melhoria   
         no desempenho e na estabilidade. Se a unidade for usada por outros   
         sistemas operacionais, uma escolha mais portatil, como por exemplo o 
         msdosfs, sera mais apropriada.                                       
                                                                              
         # dd if=/dev/zero of=/dev/da0 count=2                                
         # gpart create -s GPT /dev/da0                                       
         # gpart add -t freebsd-ufs /dev/da0                                  
                                                                              
         Finalmente, crie um novo sistema de arquivos:                        
                                                                              
         # newfs /dev/da0p1                                                   
                                                                              
         e monte-o:                                                           
                                                                              
         # mount /dev/da0s1 /mnt                                              
                                                                              
         E uma boa ideia adicionar uma linha ao /etc/fstab (veja fstab(5))    
         para que voce possa digitar apenas mount /mntno futuro:              
                                                                              
         /dev/da0p1 /mnt ufs rw,noauto 0 0                                    
   8.11. Por que recebo o erro Incorrect super block ao montar um CD?         
         O tipo de dispositivo a ser montado deve ser especificado. Isso esta 
         descrito no Handbook na sec,ao Usando CDs de Dados.                  
   8.12. Por que recebo o erro Device not configured ao montar um CD?         
         Isso geralmente significa que nao ha CD na unidade ou a unidade nao  
         esta visivel no barramento. Consulte a sec,ao Usando CDs de Dados do 
         Handbook para uma discussao detalhada desta questao.                 
   8.13. Por que todos os caracteres nao-ingleses em nomes de arquivos        
         aparecem como "?" em meus CDs quando montados no FreeBSD?            
         O CD provavelmente usa a extensao "Joliet" para armazenar            
         informac,oes sobre arquivos e diretorios. Isso e discutido na sec,ao 
         Usando CD-ROMs de Dados do Handbook.                                 
   8.14. Um CD gravado no FreeBSD nao pode ser lido sob nenhum outro sistema  
         operacional. Por que?                                                
         Isso significa que um raw file foi gravado no CD, em vez de criar um 
         sistema de arquivos ISO 9660. De uma olhada na sec,ao Usando CDs de  
         Dados.                                                               
   8.15. Como posso criar uma imagem de um CD de dados?                       
         Isso e discutido na sec,ao Handbook sobre como gravar dados em um    
         sistema de arquivos ISO . Para mais informac,oes sobre como          
         trabalhar com CD-ROMs, consulte a Sec,ao Criando CDs no capitulo     
         sobre Armazenamento do Handbook.                                     
   8.16. Por que nao consigo usar o comando mount com um CD de audio?         
         Tentar montar um CD de audio produzira um erro do tipo cd9660:       
         /dev/cd0: Invalid argument. Isso ocorre porque o comando mount so    
         funciona em sistemas de arquivos. CDs de audio nao possuem sistemas  
         de arquivos; eles tem apenas dados. Em vez disso, use um programa    
         que leia CDs de audio, como o pacote ou port audio/xmcd.             
   8.17. Como eu fac,o para usar o comando mount com um CD multi-sessao?      
         Por padrao, o mount(8) tentara montar a ultima trilha de dados       
         (sessao) de um CD. Para carregar uma sessao anterior, use o          
         argumento de linha de comando -s. Consulte mount_cd9660(8) para      
         exemplos especificos.                                                
   8.18. Como posso permitir que usuarios nao privilegiados montem CD-ROMs,   
         DVDs, unidades USB e outras midias removiveis?                       
         Como root, defina a variavel vfs.usermount do sysctl como 1.         
                                                                              
         # sysctl vfs.usermount=1                                             
                                                                              
         Para tornar o ajuste permanente, adicione a linha vfs.usermount=1 ao 
         arquivo /etc/sysctl.conf para que a variavel seja redefinids no      
         momento da inicializac,ao do sistema.                                
                                                                              
         Os usuarios so podem montar dispositivos para os quais tenham        
         permissoes de leitura. Para permitir que os usuarios montem um       
         dispositivo, as permissoes devem ser definidas em /etc/devfs.conf.   
                                                                              
         Por exemplo, para permitir que os usuarios montem a primeira unidade 
         USB, adicione:                                                       
                                                                              
         # Allow all users to mount a USB drive.                              
                     own       /dev/da0       root:operator                   
                     perm      /dev/da0       0666                            
                                                                              
         Todos os usuarios agora podem montar dispositivos que eles podem ler 
         em um diretorio que eles possuem:                                    
                                                                              
         % mkdir ~/my-mount-point                                             
         % mount -t msdosfs /dev/da0 ~/my-mount-point                         
                                                                              
         Desmontar o dispositivo e simples:                                   
                                                                              
         % umount ~/my-mount-point                                            
                                                                              
         Ativar a variavel vfs.usermount, no entanto, tem implicac,oes        
         negativas de seguranc,a. Uma maneira melhor de acessar uma midia     
         formatada para o MS-DOS(R) e usar o pacote emulators/mtools da       
         Colec,ao de Ports.                                                   
                                                                              
           Nota:                                                              
                                                                              
         O nome do dispositivo usado nos exemplos anteriores deve ser         
         alterado de acordo com a configurac,ao.                              
   8.19. Os comandos du e df mostram informac,oes diferentes sobre a quantia  
         disponivel de espac,o em disco. O que esta acontecendo?              
         Isso se deve ao modo como esses comandos realmente funcionam. O du   
         passa pela arvore de diretorios, ele mede o tamanho de cada arquivo  
         e apresenta os totais. O df apenas pergunta ao sistema de arquivos   
         quanto espac,o ainda resta. Eles parecem ser a mesma coisa, mas um   
         arquivo sem uma entrada de diretorio afetara df mas nao du.          
                                                                              
         Quando um programa esta usando um arquivo e o arquivo e excluido, o  
         arquivo nao e realmente removido do sistema de arquivos ate que o    
         programa pare de usa-lo. O arquivo e imediatamente excluido da       
         listagem do diretorio, no entanto. Como exemplo, considere um        
         arquivo grande o suficiente para afetar a saida de du e df. Um       
         arquivo sendo visualizado com more pode ser excluido sem causar um   
         erro. A entrada e removida do diretorio para que nenhum outro        
         programa ou usuario possa acessa-la. No entanto, o du mostra que ele 
         desapareceu, ja que percorreu a arvore de diretorios e o arquivo nao 
         esta mais listado. Ja o df mostra que ele ainda esta la, pois o      
         sistema de arquivos sabe que o comando more ainda esta usando esse   
         espac,o. Quando a sessao do more terminar, o du e df apresentarao o  
         mesmo resultado.                                                     
                                                                              
         Essa situac,ao e comum em servidores web. Muitas pessoas configuram  
         um servidor web no FreeBSD e esquecem de rotacionar os arquivos de   
         log. O log de acesso enche o /var. O administrador novato exclui o   
         arquivo, mas o sistema ainda reclama que a partic,ao esta cheia.     
         Parar e reiniciar o programa do servidor Web liberaria o arquivo,    
         permitindo que o sistema liberasse o espac,o em disco. Para evitar   
         que isso acontec,a, configure o newsyslog(8).                        
                                                                              
         Observe que o Soft Updates pode atrasar a liberac,ao de espac,o em   
         disco e pode levar ate 30 segundos para que a alterac,ao fique       
         visivel.                                                             
   8.20. Como posso adicionar mais espac,o de swap?                           
         Esta sec,ao do Handbook descreve como fazer isso.                    
   8.21. Por que o FreeBSD ve meu disco como sendo menor do que o fabricante  
         diz que ele e?                                                       
         Os fabricantes de discos calculam gigabytes como um bilhao de bytes  
         cada, enquanto o FreeBSD os calcula como 1.073.741.824 bytes cada.   
         Isso explica por que, por exemplo, as mensagens de boot do FreeBSD   
         reportarao um disco que supostamente tem 80 GB como contendo 76.319  
         MB.                                                                  
                                                                              
         Observe tambem que o FreeBSD ira (por padrao) reservar cerca de 8%   
         do espac,o em disco.                                                 
   8.22. Como e possivel que uma partic,ao esteja com mais de 100% de         
         ocupac,ao?                                                           
         Uma parte de cada partic,ao UFS (8%, por padrao) e reservada para    
         uso pelo sistema operacional e pelo usuario root. O df(1) nao        
         contabiliza esse espac,o ao calcular a coluna Capacity, portanto,    
         ela pode exceder 100%. Observe que a coluna Blocks e sempre maior    
         que a soma das colunas Used e Avail, geralmente por um fator de 8%.  
                                                                              
         Para mais detalhes, procure prls opc,ao -m em tunefs(8).             

                                Capitulo 9. ZFS

   9.1. Qual e a quantidade minima de RAM que um usuario deve ter para
   utilizar o ZFS?

   9.2. O que e o ZIL e quando ele e usado?

   9.3. Preciso de um SSD para o ZIL?

   9.4. O que e o L2ARC?

   9.5. A ativac,ao da funcionalidade de desduplicac,ao e recomendavel?

   9.6. Nao consigo excluir ou criar arquivos no meu pool do ZFS. Como posso
   consertar isso?

   9.7. O ZFS suporta TRIM para unidades de estado solido?

   9.1. Qual e a quantidade minima de RAM que um usuario deve ter para        
        utilizar o ZFS?                                                       
        E necessario um minimo de 4 GB de RAM para uso confortavel, mas as    
        cargas de trabalho individuais podem variar muito.                    
   9.2. O que e o ZIL e quando ele e usado?                                   
        O ZIL (log de intenc,ao do ZFS ) e um log de gravac,ao usado para     
        implementar semanticas de compromisso de escrita posix entre          
        travamentos. Normalmente, as gravac,oes sao agrupadas em grupos de    
        transac,oes e gravadas no disco quando preenchidas ("Transaction      
        Group Commit "). No entanto, syscalls como fsync(2) requerem um       
        compromisso de que os dados sao gravados no armazenamento estavel     
        antes de retornar. O ZIL e necessario para gravac,oes que foram       
        reconhecidas como gravadas, mas que ainda nao estao no disco como     
        parte de uma transac,ao. Os grupos de transac,oes contam com registro 
        de data e hora. No caso de uma falha, o ultimo registro de data e     
        hora valido e encontrado e os dados ausentes sao mesclados a partir   
        do ZIL.                                                               
   9.3. Preciso de um SSD para o ZIL?                                         
        Por padrao, o ZFS armazena o ZIL no pool com todos os demais dados.   
        Se um aplicativo tiver uma carga de gravac,ao pesada, o armazenamento 
        do ZIL em um dispositivo separado e que tenha um desempenho de        
        gravac,ao sequencial sincrono muito rapido pode melhorar a            
        performance do sistema de uma forma geral. Para outras cargas de      
        trabalho, e improvavel que um SSD consiga uma melhoria significativa. 
   9.4. O que e o L2ARC?                                                      
        O L2ARC e um cache de leitura armazenado em um dispositivo rapido,    
        como um SSD. Esse cache nao e persistente nas reinicializac,oes.      
        Observe que a RAM e usada como a primeira camada de cache e o L2ARC   
        so e necessario se a quantidade de memoria RAM for insuficiente.      
                                                                              
        O L2ARC precisa de espac,o no ARC para indexa-lo. Entao,              
        perversamente, um conjunto de trabalho que se encaixa perfeitamente   
        no ARC nao se encaixara mais perfeitamente se um L2ARC for usado      
        porque parte do ARC estara mantendo o indice L2ARC, empurrando parte  
        do conjunto de trabalho para o L2ARC que e mais lento que a RAM.      
   9.5. A ativac,ao da funcionalidade de desduplicac,ao e recomendavel?       
        De um modo geral, nao.                                                
                                                                              
        A deduplicac,ao ocupa uma quantidade significativa de RAM e pode      
        tornar mais lento os tempos de acesso ao disco para leitura e         
        gravac,ao. A menos que um esteja armazenando dados muito duplicados,  
        como imagens de maquinas virtuais ou backups de usuarios, e possivel  
        que a deduplicac,ao fac,a mais mal do que bem. Outra considerac,ao e  
        a incapacidade de reverter o status da deduplicac,ao. Se os dados     
        forem gravados quando a deduplicac,ao estiver ativada, desabilitar a  
        deduplicac,ao nao fara com que os blocos deduplicados sejam           
        replicados ate que sejam modificados em novamente.                    
                                                                              
        A deduplicac,ao tambem pode levar ha algumas situac,oes inesperadas.  
        Em particular, a exclusao de arquivos pode se tornar muito mais       
        lenta.                                                                
   9.6. Nao consigo excluir ou criar arquivos no meu pool do ZFS. Como posso  
        consertar isso?                                                       
        Isso pode acontecer porque o pool esta 100% cheio. O ZFS requer       
        espac,o no disco para gravar metadados de transac,ao. Para restaurar  
        o pool para um estado utilizavel, primeiro fac,a o truncate do        
        arquivo que ira excluir:                                              
                                                                              
        % truncate -s 0 unimportant-file                                      
                                                                              
        O truncamento de arquivo funciona porque uma nova transac,ao nao e    
        iniciada, novos blocos de reserva sao criados.                        
                                                                              
          Nota:                                                               
                                                                              
        Em sistemas que utilizam o ZFS com um dataset customizado, por        
        exemplo com a funcionalidade de deduplicac,ao ativada, o espac,o pode 
        nao ficar disponivel imediatamente                                    
   9.7. O ZFS suporta TRIM para unidades de estado solido?                    
        O suporte ao ZFS TRIM foi adicionado ao FreeBSD 10-CURRENT com        
        revisao r240868. O suporte ao ZFS TRIM foi adicionado a todas as      
        branchs do FreeBSD-STABLE na revisao r252162 e r251419,               
        respectivamente.                                                      
                                                                              
        O ZFS TRIM e ativado por padrao e pode ser desativado adicionando-se  
        esta linha ao arquivo /etc/sysctl.conf:                               
                                                                              
        vfs.zfs.trim.enabled=0                                                
                                                                              
          Nota:                                                               
                                                                              
        O suporte ao ZFS TRIM foi adicionado ao GELI em r286444. Por favor,   
        veja geli(8) e a opc,ao -T.                                           

                     Capitulo 10. Administrac,ao do Sistema

   10.1. Onde estao os arquivos de configurac,ao de inicializac,ao do
   sistema?

   10.2. Como eu adiciono um usuario facilmente?

   10.3. Por que eu continuo recebendo mensagens como root: not found depois
   de editar o arquivo /etc/crontab?

   10.4. Por que eu recebo o erro, you are not in the correct group to su
   root quando tento executar o comando su para o usuario root ?

   10.5. Cometi um erro no rc.conf, ou outro arquivo de inicializac,ao, e
   agora nao posso edita-lo porque o sistema de arquivos esta montado somente
   leitura. O que devo fazer?

   10.6. Por que estou tendo problemas para configurar minha impressora?

   10.7. Como posso corrigir os mapeamentos de teclado para o meu sistema?

   10.8. Por que nao consigo colocar as quotas de usuarios para funcionar
   corretamente?

   10.9. O FreeBSD suporta System V IPC primitives?

   10.10. Qual outro software de servidor de correio posso usar em
   substituic,ao ao Sendmail?

   10.11. Esqueci a senha do root! O que eu fac,o?

   10.12. Como evito que a combinac,ao de teclas Control+Alt+Delete
   reinicialize o sistema?

   10.13. Como fac,o para converter arquivos de texto do DOS para UNIX(R)?

   10.14. Como fac,o para reler o arquivo /etc/rc.conf e reiniciar o /etc/rc
   sem dar boot?

   10.15. Tentei atualizar o meu sistema para a versao -STABLE mais recente,
   mas obtive a -BETAx, -RC ou -PRERELEASE! O que esta acontecendo?

   10.16. Tentei instalar um novo kernel, e o chflags(1) falhou. Como fac,o
   para contornar isso?

   10.17. Nao consigo alterar a hora no meu sistema em mais de um segundo!
   Como fac,o para contornar isso?

   10.18. Por que o rpc.statd esta usando 256 MB de memoria?

   10.19. Por que nao posso dar unset na flag schg de um arquivo?

   10.20. O que e vnlru?

   10.21. O que os varios estados de memoria exibidos pelo top significam?

   10.22. Quanta memoria livre esta disponivel?

   10.23. O que e o /var/empty?

   10.24. Acabei de alterar o /etc/newsyslog.conf . Como posso verificar se
   ele faz o que eu espero?

   10.25. Minha hora esta errada, como posso mudar o fuso horario?

   10.1.  Onde estao os arquivos de configurac,ao de inicializac,ao do        
          sistema?                                                            
          O arquivo de configurac,ao principal e o /etc/defaults/rc.conf, o   
          qual esta descrito em rc.conf(5). Os scripts de inicializac,ao do   
          sistema, tais como /etc/rc e /etc/rc.d, que sao descritos em rc(8), 
          incluem este arquivo. Nao edite este arquivo! Em vez disso, para    
          editar uma entrada do /etc/default/rc.conf, copie a linha para o    
          arquivo /etc/rc.conf e altere-a la.                                 
                                                                              
          Por exemplo, se para iniciar named(8), o servidor DNS incluido:     
                                                                              
          # echo 'named_enable="YES"' >> /etc/rc.conf                         
                                                                              
          Para iniciar servic,os locais, coloque seus shell scripts no        
          diretorio /usr/local/etc/rc.d. Estes shell scripts devem estar      
          definidos como executaveis, o modo de arquivo padrao e 555.         
   10.2.  Como eu adiciono um usuario facilmente?                             
          Use o comando adduser ( 8 ), para as situac,oes mais complexas      
          utilize o comando pw ( 8 ).                                         
                                                                              
          Para remover o usuario, use o comando rmuser(8) ou, se necessario,  
          o comando pw(8).                                                    
   10.3.  Por que eu continuo recebendo mensagens como root: not found depois 
          de editar o arquivo /etc/crontab?                                   
          Isto normalmente e causado pela edic,ao do crontab do sistema. Esta 
          nao e a maneira correta de fazer as coisas, pois o crontab do       
          sistema tem um formato diferente dos crontabs por usuario. O        
          crontab do sistema possui um campo extra, especificando qual        
          usuario ira executar o comando. O cron(8) assume que este usuario e 
          a primeira palavra do comando a ser executado. Como esse comando    
          nao existe, essa mensagem de erro e exibida.                        
                                                                              
          Para excluir o crontab extra incorreto:                             
                                                                              
          # crontab -r                                                        
   10.4.  Por que eu recebo o erro, you are not in the correct group to su    
          root quando tento executar o comando su para o usuario root ?       
          Este e um recurso de seguranc,a. Para executar su para root, ou     
          qualquer outra conta com privilegios de superusuario, a conta do    
          usuario deve ser um membro do grupo wheel. Se este recurso nao      
          estivesse la, qualquer pessoa com uma conta em um sistema e que     
          tambem descobrisse a senha do root seria capaz de obter acesso de   
          nivel de superusuario ao sistema.                                   
                                                                              
          Para permitir que alguem execute o comando su root , coloque-os no  
          grupo wheel usando o comando pw:                                    
                                                                              
          # pw groupmod wheel -m lisa                                         
                                                                              
          O exemplo acima adicionara o usuario lisa ao grupo wheel .          
   10.5.  Cometi um erro no rc.conf, ou outro arquivo de inicializac,ao, e    
          agora nao posso edita-lo porque o sistema de arquivos esta montado  
          somente leitura. O que devo fazer?                                  
          Reinicie o sistema usando boot -s no prompt do loader para entrar   
          no modo single user. Quando o sistema solicitar o caminho do shell, 
          apenas pressione Enter e execute mount -urw / para remontar         
          novamente o sistema de arquivos raiz no modo de leitura e           
          gravac,ao. Voce tambem pode precisar executar o comando mount -a -t 
          ufs para montar o sistema de arquivos no qual seu editor favorito e 
          mantido. Se esse editor estiver em um sistema de arquivos de rede,  
          configure a rede manualmente antes de montar os sistemas de         
          arquivos de rede ou use um editor que resida em um sistema de       
          arquivos local, tal como o ed(1).                                   
                                                                              
          Para usar um editor de tela inteira, tal como o vi(1) ou emacs(1),  
          execute export TERM=xterm para que esses editores possam carregar   
          os dados corretos do banco de dados do termcap(5).                  
                                                                              
          Depois de executar estas etapas, edite o arquivo /etc/rc.conf para  
          corrigir o erro de sintaxe. A mensagem de erro exibida              
          imediatamente apos as mensagens de inicializac,ao do kernel deve    
          indicar o numero da linha no arquivo que esta com erro.             
   10.6.  Por que estou tendo problemas para configurar minha impressora?     
          Consulte a sec,ao sobre impressao no Handbook do FreeBSD para dicas 
          de soluc,oes de problemas.                                          
   10.7.  Como posso corrigir os mapeamentos de teclado para o meu sistema?   
          Consulte a sec,ao usando localizac,ao do Handbook, mais             
          especificamente a sec,ao sobre a configurac,ao do console .         
   10.8.  Por que nao consigo colocar as quotas de usuarios para funcionar    
          corretamente?                                                       
           1. E possivel que o kernel nao esteja configurado para usar        
              quotas. Neste caso, adicione a seguinte linha ao arquivo de     
              configurac,ao do kernel e recompile o kernel:                   
                                                                              
           options QUOTA                                                      
                                                                              
              Consulte a sec,ao do Handbook sobre quotas para obter detalhes  
              completos.                                                      
                                                                              
           2. Nao ative o uso de quotas na partic,ao /.                       
                                                                              
           3. Coloque o arquivo de quotas no sistema de arquivos para o qual  
              quotas precisam ser aplicadas:                                  
                                                                              
                    Sistema de arquivo               Arquivo de quota         
              /usr                            /usr/admin/quotas               
              /home                           /home/admin/quotas              
              ...                             ...                             
   10.9.  O FreeBSD suporta System V IPC primitives?                          
          Sim, o FreeBSD suporta o IPC no estilo do System V, incluindo       
          memoria compartilhada, mensagens e semaforos, no kernel GENERIC. Em 
          um kernel personalizado, o suporte pode ser por meio do             
          carregamento dos modulos de kernel sysvshm.ko, sysvsem.ko e         
          sysvmsg.ko, ou habilitado de forma estatica no kernel personalizado 
          adicionando as seguintes linhas ao arquivo de configurac,ao do      
          mesmo:                                                              
                                                                              
          options    SYSVSHM          # enable shared memory                  
          options    SYSVSEM          # enable for semaphores                 
          options    SYSVMSG          # enable for messaging                  
                                                                              
          Recompile e instale o kernel.                                       
   10.10. Qual outro software de servidor de correio posso usar em            
          substituic,ao ao Sendmail?                                          
          O servidor Sendmail e o software de servidor de email padrao do     
          FreeBSD, mas pode ser substituido por outro MTA instalado a partir  
          da colec,ao de ports. Os ports disponiveis incluem o mail/exim, o   
          mail/postfix e o mail/qmail. Procure informac,oes nas listas de     
          discussao sobre as vantagens e desvantagens dos MTAs disponiveis.   
   10.11. Esqueci a senha do root! O que eu fac,o?                            
          Nao entre em panico! Reinicie o sistema, digite boot -s no prompt   
          Boot: para entrar no modo single user. Na pergunta sobre o shell a  
          ser usado, pressione Enter, que sera exibido um prompt #. Insira o  
          comando mount -urw / para remontar o sistema de arquivos raiz no    
          modo de leitura e gravac,ao e, em seguida, execute o comando mount  
          -a para remontar todos os sistemas de arquivos. Execute o comando   
          passwd root para alterar a senha do usuario root e entao execute o  
          comando exit(1) para continuar a inicializac,ao.                    
                                                                              
            Nota:                                                             
                                                                              
          Se voce ainda for solicitado a entrar com a senha do usuario root   
          ao entrar no modo single user unico, isso significa que o console   
          foi configurado como inseguro no arquivo /etc/ttys. Neste caso,     
          sera necessario inicializar a partir de um disco de instalac,ao do  
          FreeBSD, escolher o Live CD ou Shell no inicio do processo de       
          instalac,ao e executar os comandos mencionados acima. Monte a       
          partic,ao especifica neste caso e, em seguida, execute o chroot     
          para ela. Por exemplo, substitua mount -urw / por mount /dev/ada0p1 
          /mnt; chroot /mnt para um sistema em instalado em ada0p1.           
                                                                              
            Nota:                                                             
                                                                              
          Se a partic,ao raiz nao puder ser montada a partir do modo de       
          usuario unico, e possivel que as partic,oes estejam criptografadas  
          e sera impossivel monta-las sem as chaves de acesso. Para obter     
          mais informac,oes, consulte a sec,ao sobre discos criptografados no 
          Handbook do FreeBSD.                                                
   10.12. Como evito que a combinac,ao de teclas Control+Alt+Delete           
          reinicialize o sistema?                                             
          Ao usar vt(4), o driver de console padrao, isso pode ser feito      
          configurando o seguinte sysctl sysctl(8):                           
                                                                              
          # sysctl kern.vt.kbd_reboot=0                                       
   10.13. Como fac,o para converter arquivos de texto do DOS para UNIX(R)?    
          Use este comando perl(1):                                           
                                                                              
          % perl -i.bak -npe 's/\r\n/\n/g' file(s)                            
                                                                              
          no qual files(s) trata-se de um ou mais arquivos que desejamos      
          processar. A modificac,ao e feita in-place, o arquivo original e    
          preservado com uma extensao .bak.                                   
                                                                              
          Alternativamente, use o tr(1):                                      
                                                                              
          % tr -d '\r' < dos-text-file > unix-file                            
                                                                              
          O dos-text-file e o arquivo que contem o texto no formato DOS,      
          enquanto o unix-file contem a saida convertida. Esta opc,ao pode    
          ser um pouco mais rapida do que usar o perl.                        
                                                                              
          Uma outra maneira de reformatar arquivos de texto do DOS e usar o   
          port converters/dosunix da Colec,ao de Ports. Consulte a sua        
          documentac,ao para maiores detalhes.                                
   10.14. Como fac,o para reler o arquivo /etc/rc.conf e reiniciar o /etc/rc  
          sem dar boot?                                                       
          Entre no modo single user e retorne ao modo multi usuario:          
                                                                              
          # shutdown now                                                      
          # return                                                            
          # exit                                                              
   10.15. Tentei atualizar o meu sistema para a versao -STABLE mais recente,  
          mas obtive a -BETAx, -RC ou -PRERELEASE! O que esta acontecendo?    
          Resposta curta: e apenas um nome. RC significa "Release Candidate". 
          Isso significa que uma nova release e iminente. No FreeBSD,         
          -PRERELEASE e tipicamente sinonimo do congelamento de codigo antes  
          de uma release. (Para algumas versoes, o rotulo -BETA foi usado da  
          mesma forma que o -PRERELEASE.)                                     
                                                                              
          Resposta longa: o FreeBSD deriva suas releases de um de dois        
          lugares. Releases principais (major) ponto-zero, como a 9.0-RELEASE 
          sao derivadas a partir do branch principal de desenvolvimento,      
          comumente referida como -CURRENT. Releases secundarias (minor),     
          como a 6.3-RELEASE ou a 5.2-RELEASE, foram snapshots da branch      
          -STABLE ativa. A partir do 4.3-RELEASE, cada release tambem tem sua 
          propria branch, a qual pode ser seguida por pessoas que exigem uma  
          taxa extremamente conservadora de desenvolvimento (geralmente       
          apenas avisos de seguranc,a).                                       
                                                                              
          Quando um release esta prestes a ser feito, o branch do qual ele    
          sera derivado tem que passar por um determinado processo. Parte     
          desse processo e um congelamento de codigo. Quando um congelamento  
          de codigo e iniciado, o nome da branch e alterado para refletir que 
          esta prestes a se tornar uma release. Por exemplo, se a             
          ramificac,ao costumava ser chamada de 6.2-STABLE, seu nome sera     
          alterado para 6.3-PRERELEASE para indicar o congelamento de codigo  
          e indicar que testes extras de pre-release devem estar acontecendo. 
          Correc,oes de bugs ainda podem ser adicionadas ao repositorio de    
          codigo fonte para fazer parte da release. Quando o codigo-fonte     
          estiver estabilizado para a release, o nome sera alterado para      
          6.3-RC para indicar que uma release esta prestes a ser feita a      
          partir dele. Uma vez no estagio RC, somente os bugs mais criticos   
          que forem encontrados podem ser corrigidos. Uma vez que o release   
          (6.3-RELEASE neste exemplo) e o branch de release foram feitos, o   
          branch sera renomeado para 6.3-STABLE.                              
                                                                              
          Para mais informac,oes sobre numeros de versao e as varias branches 
          do Subversion, consulte o artigo Release Engineering.               
   10.16. Tentei instalar um novo kernel, e o chflags(1) falhou. Como fac,o   
          para contornar isso?                                                
          Resposta curta: o nivel de seguranc,a e maior que 0. Reinicialize   
          diretamente para o modo de single user para instalar o kernel.      
                                                                              
          Resposta longa: O FreeBSD nao permite alterar os flags do sistema   
          em niveis de seguranc,a superiores a 0. Para verificar o nivel de   
          seguranc,a atual:                                                   
                                                                              
          # sysctl kern.securelevel                                           
                                                                              
          O nivel de seguranc,a nao pode ser diminuido no modo multiusuario,  
          portanto, inicialize no modo single user para instalar o kernel ou  
          altere o nivel de seguranc,a em /etc/rc.conf e reinicialize. Veja a 
          pagina de manual init(8) para detalhes sobre o securelevel, e veja  
          /etc/defaults/rc .conf e a pagina de manual rc.conf(5) para mais    
          informac,oes sobre o rc.conf .                                      
   10.17. Nao consigo alterar a hora no meu sistema em mais de um segundo!    
          Como fac,o para contornar isso?                                     
          Resposta curta: o sistema esta em um nivel de seguranc,a maior que  
          1. Reinicialize diretamente para o modo de single user para alterar 
          a data.                                                             
                                                                              
          Resposta longa: O FreeBSD proibe a alterac,ao do tempo em mais de   
          um segundo em niveis de seguranc,a superiores a 1. Para verificar o 
          nivel de seguranc,a:                                                
                                                                              
          # sysctl kern.securelevel                                           
                                                                              
          O nivel de seguranc,a nao pode ser diminuido no modo multiusuario.  
          Inicialize no modo single user para alterar a data ou altere o      
          nivel de seguranc,a no arquivo /etc/rc.conf e reinicialize. Veja a  
          pagina de manual init(8) para detalhes sobre o securelevel, e veja  
          /etc/defaults/rc .conf e a pagina de manual rc.conf(5) para mais    
          informac,oes sobre o rc.conf .                                      
   10.18. Por que o rpc.statd esta usando 256 MB de memoria?                  
          Nao, nao ha vazamento de memoria e ele nao esta usando 256 MB de    
          memoria. Por conveniencia, o rpc.statd mapeia uma quantidade        
          obscena de memoria em seu espac,o de enderec,o. Nao ha nada         
          terrivelmente errado com isso do ponto de vista tecnico; mas isso   
          confunde o top(1) e o ps(1).                                        
                                                                              
          O rpc.statd(8) mapeia seu arquivo de status (residente no /var) em  
          seu espac,o de enderec,amento; para evitar se preocupar com o       
          remapeamento do arquivo de status mais tarde quando ele precisar    
          crescer, ele mapeia o arquivo de status com um tamanho generoso.    
          Isso e muito evidente no codigo-fonte, onde e possivel ver que o    
          argumento length para o mmap(2) e 0x10000000 , ou decima sexta      
          parte do espac,o de enderec,o em um IA32, ou seja, exatamente 256   
          MB.                                                                 
   10.19. Por que nao posso dar unset na flag schg de um arquivo?             
          O sistema esta sendo executado em um nivel de seguranc,a maior que  
          0. Reduza o nivel de seguranc,a e tente novamente. Para obter mais  
          informac,oes, consulte a entrada do FAQ referente ao securelevel e  
          a pagina de manual do init(8).                                      
   10.20. O que e vnlru?                                                      
          O vnlru descarrega e libera vnodes quando o sistema atinge o limite 
          de kern.maxvnodes. Essa thread do kernel fica ociosa na maior parte 
          do tempo e so e ativada quando existe uma quantidade enorme de RAM  
          e os usuarios estiverem acessando dezenas de milhares de arquivos   
          minusculos.                                                         
   10.21. O que os varios estados de memoria exibidos pelo top significam?    
            * Active: sao paginas usadas recentemente.                        
                                                                              
            * Inactive: sao paginas que nao foram utilizadas recentemente.    
                                                                              
            * Laundry: paginas recentemente nao utilizadas estatisticamente,  
              mas conhecidas por estarem sujas, ou seja, cujo conteudo        
              precisa ser paginado antes que possa ser reutilizado.           
                                                                              
            * Free: paginas sem conteudo, que podem ser reutilizadas          
              imediatamente.                                                  
                                                                              
            * Wired : sao paginas que estao fixadas na memoria, geralmente    
              para propositos do kernel, mas tambem para uso especial em      
              processos.                                                      
                                                                              
          As paginas geralmente sao gravadas em disco (um tipo de             
          sincronizac,ao de VM) quando elas estao no estado laundry, mas as   
          paginas ativas ou inativas tambem podem ser sincronizadas. Isso     
          depende do rastreamento da CPU do bit modificado estar disponivel   
          e, em determinadas situac,oes pode haver uma vantagem para um bloco 
          de paginas da VM serem sincronizadas, independentemente da fila a   
          que pertencem. Na maioria dos casos, e melhor pensar na fila        
          laundry como uma fila de paginas relativamente nao usadas que podem 
          ou nao estar no processo de serem gravadas no disco. A fila inativa 
          contem uma mistura de paginas limpas e sujas; as paginas limpas     
          proximas ao inicio da fila sao recuperadas imediatamente para       
          aliviar a falta de paginas livres e as paginas sujas sao movidas    
          para a fila laundry para processamento posterior.                   
                                                                              
          Existem alguns outros flags (por exemplo, flag de ocupado ou de     
          contagem ocupada) que podem modificar algumas das regras descritas. 
   10.22. Quanta memoria livre esta disponivel?                               
          Existem alguns tipos de "memoria livre". O mais comum e a           
          quantidade de memoria disponivel imediatamente, sem recuperar a     
          memoria ja em uso. Esse e o tamanho da fila de paginas livres mais  
          algumas outras paginas reservadas. Esse valor e exportado pelo      
          vm.stats.vm.v_free_count sysctl(8), mostrado, por exemplo, pelo     
          top(1). Outro tipo de "memoria livre" e a quantidade total de       
          memoria virtual disponivel para os processos da area de usuario,    
          que depende da soma do espac,o de swap e da memoria utilizavel.     
          Outros tipos de descric,oes de "memoria livre" tambem sao           
          possiveis, mas e relativamente inutil defini-las, mas e importante  
          garantir que a taxa de paginac,ao seja mantida baixa e evitar ficar 
          sem espac,o de swap.                                                
   10.23. O que e o /var/empty?                                               
          O /var/empty e um diretorio que o programa sshd(8) utiliza ao       
          executar a separac,ao de privilegios. O diretorio /var/empty esta   
          vazio, pertence ao usuario root e possui as flags schg definidas.   
          Este diretorio nao deve ser excluido.                               
   10.24. Acabei de alterar o /etc/newsyslog.conf . Como posso verificar se   
          ele faz o que eu espero?                                            
          Para ver o que newsyslog(8) vai fazer, use o seguinte:              
                                                                              
          % newsyslog -nrvv                                                   
   10.25. Minha hora esta errada, como posso mudar o fuso horario?            
          Use o tzsetup(8).                                                   

              Capitulo 11. O sistema X Window e consoles virtuais

   11.1. O que e o sistema X Window?

   11.2. Eu quero rodar o Xorg, como fac,o para isso?

   11.3. Eu tentei executar o X, mas eu recebo um erro No devices detected.
   quando eu digito startx. O que eu fac,o agora?

   11.4. Por que meu mouse nao funciona com o X?

   11.5. Meu mouse tem uma fancy wheel. Posso usa-lo no X?

   11.6. Meu laptop tem um touchpad Synaptics. Posso usa-lo no X?

   11.7. Como eu uso displays X remotos?

   11.8. O que e um console virtual e como fac,o outros?

   11.9. Como eu acesso os consoles virtuais a partir do X?

   11.10. Como fac,o para carregar o XDM na inicializac,ao?

   11.11. Por que eu obtenho o erro Couldn't open console quando executo o
   xconsole?

   11.12. Por que meu mouse PS/2 nao funciona direito no X?

   11.13. Como eu inverto os botoes do mouse?

   11.14. Como fac,o para instalar uma splash screen e onde posso
   encontra-las?

   11.15. Posso usar as teclas do Windows do meu teclado no X?

   11.16. Como posso obter acelerac,ao de hardware 3D para o OpenGL (R)?

   11.1.  O que e o sistema X Window?                                         
          O sistema de janelas X (comumente chamado de X11) e o sistema de    
          janelas mais amplamente disponivel capaz de executar em Sistemas    
          UNIX(R) e sistemas UNIX(R)-Like, incluindo o FreeBSD. A Fundac,ao   
          X.Org administra os padroes de protocolo X, sendo que a             
          implementac,ao de referencia atual e a versao 11 release 7.7, entao 
          as referencias sao frequentemente encurtadas para X11.              
                                                                              
          Muitas implementac,oes estao disponiveis para diferentes            
          arquiteturas e sistemas operacionais. Uma implementac,ao do codigo  
          do lado do servidor e conhecida como um Servidor X.                 
   11.2.  Eu quero rodar o Xorg, como fac,o para isso?                        
          Para instalar o Xorg, siga um destes procedimentos:                 
                                                                              
          Use o meta-port x11/xorg, que constroi e instala todos os           
          componentes do Xorg.                                                
                                                                              
          Use x11/xorg-minimal, que constroi e instala apenas os componentes  
          Xorg necessarios.                                                   
                                                                              
          Instale o Xorg a partir de pacotes do FreeBSD:                      
                                                                              
          # pkg install xorg                                                  
                                                                              
          Apos a instalac,ao do Xorg, siga as instruc,oes da sec,ao           
          Configurac,ao X11 do Handbook do FreeBSD.                           
   11.3.  Eu tentei executar o X, mas eu recebo um erro No devices detected.  
          quando eu digito startx. O que eu fac,o agora?                      
          O sistema provavelmente esta sendo executado em um securelevel      
          alto. Nao e possivel iniciar o X em securelevel alto porque o X     
          requer acesso de ao io(4). Para obter mais informac,oes, consulte a 
          pagina de manual do init(8).                                        
                                                                              
          Existem duas soluc,oes para o problema: definir o securelevel       
          novamente a zero ou executar xdm(1) (ou um gerenciador de exibic,ao 
          alternativo) no momento da inicializac,ao antes que o securelevel   
          seja elevado.                                                       
                                                                              
          Veja P: 11.10 para mais informac,oes sobre como executar o xdm(1)   
          no momento da inicializac,ao.                                       
   11.4.  Por que meu mouse nao funciona com o X?                             
          Ao usar vt(4), o driver de console padrao, o FreeBSD pode ser       
          configurado para suportar um ponteiro de mouse em cada tela         
          virtual. Para evitar conflito com o X, o vt(4) suporta um           
          dispositivo virtual chamado /dev/sysmouse. Todos os eventos de      
          mouse recebidos do dispositivo de mouse real sao gravados no        
          dispositivo via sysmouse(4) moused (8). Para usar o mouse em um ou  
          mais consoles virtuais, e usar X, veja P: 4.4.1 e configure o       
          moused(8).                                                          
                                                                              
          Em seguida, edite o arquivo /etc/X11/xorg.conf e verifique se as    
          seguintes linhas existem:                                           
                                                                              
          Section "InputDevice"                                               
             Option          "Protocol" "SysMouse"                            
             Option          "Device" "/dev/sysmouse"                         
          .....                                                               
                                                                              
          Comec,ando com a versao 7.4 do Xorg, as sec,oes InputDevice no      
          xorg.conf sao ignoradas em favor dos dispositivos autodetectados.   
          Para restaurar o comportamento antigo, adicione a seguinte linha `a 
          sec,ao ServerLayout ou ServerFlags:                                 
                                                                              
          Option "AutoAddDevices" "false"                                     
                                                                              
          Algumas pessoas preferem usar o /dev/mouse com o X. Para fazer esse 
          trabalho, /dev/mouse deve estar vinculado a /dev/sysmouse (veja     
          sysmouse(4)) adicionando a seguinte linha ao /etc/devfs.conf (veja  
          devfs.conf(5)):                                                     
                                                                              
          link    sysmouse    mouse                                           
                                                                              
          Este link pode ser criado reiniciando o devfs(5) com o seguinte     
          comando (executado como root ):                                     
                                                                              
          # service devfs restart                                             
   11.5.  Meu mouse tem uma fancy wheel. Posso usa-lo no X?                   
          Sim, se o X estiver configurado para um mouse de 5 botoes. Para     
          fazer isso, adicione as linhas Buttons 5 e ZAxisMapping 4 5 na      
          sec,ao "InputDevice" do arquivo /etc/X11/xorg.conf, como visto      
          neste exemplo:                                                      
                                                                              
          Section "InputDevice"                                               
             Identifier      "Mouse1"                                         
             Driver          "mouse"                                          
             Option          "Protocol" "auto"                                
             Option          "Device" "/dev/sysmouse"                         
             Option          "Buttons" "5"                                    
             Option          "ZAxisMapping" "4 5"                             
          EndSection                                                          
                                                                              
          O mouse pode ser habilitado no Emacs adicionando estas linhas ao    
          ~/.emacs:                                                           
                                                                              
          ;; wheel mouse                                                      
          (global-set-key [mouse-4] 'scroll-down)                             
          (global-set-key [mouse-5] 'scroll-up)                               
   11.6.  Meu laptop tem um touchpad Synaptics. Posso usa-lo no X?            
          Sim, depois de configurar algumas coisas para que funcione.         
                                                                              
          Para usar o driver synaptics do Xorg, primeiro remova moused_enable 
          do rc.conf .                                                        
                                                                              
          Para habilitar a synaptics, adicione a seguinte linha ao            
          /boot/loader.conf :                                                 
                                                                              
          hw.psm.synaptics_support="1"                                        
                                                                              
          Adicione o seguinte ao /etc/X11/xorg.conf :                         
                                                                              
          Section "InputDevice"                                               
          Identifier  "Touchpad0"                                             
          Driver      "synaptics"                                             
          Option      "Protocol" "psm"                                        
          Option      "Device" "/dev/psm0"                                    
          EndSection                                                          
                                                                              
          E nao se esquec,a de adicionar o seguinte na sec,ao " ServerLayout  
          ":                                                                  
                                                                              
          InputDevice    "Touchpad0" "SendCoreEvents"                         
   11.7.  Como eu uso displays X remotos?                                     
          Por motivos de seguranc,a, a configurac,ao padrao e nao permitir    
          que uma maquina abra remotamente uma janela.                        
                                                                              
          Para ativar esse recurso, inicie o X com o argumento opcional       
          -listen_tcp :                                                       
                                                                              
          % startx -listen_tcp                                                
   11.8.  O que e um console virtual e como fac,o outros?                     
          Os consoles virtuais fornecem varias sessoes simultaneas na mesma   
          maquina sem fazer nada complicado, como configurar uma rede ou      
          executar o X.                                                       
                                                                              
          Quando o sistema iniciar, ele exibira um prompt de login no monitor 
          depois de exibir todas as mensagens de inicializac,ao. Digite seu   
          nome de login e senha para comec,ar a trabalhar no primeiro console 
          virtual.                                                            
                                                                              
          Para iniciar outra sessao, talvez para examinar a documentac,ao de  
          um programa ou para ler mensagens enquanto aguarda a conclusao de   
          uma transferencia por FTP, pressione Alt e pressione F2. Isso       
          exibira o prompt de login do segundo console virtual. Para voltar   
          `a sessao original, pressione Alt+F1.                               
                                                                              
          A instalac,ao padrao do FreeBSD possui oito consoles virtuais       
          habilitados. A combinac,ao de teclas Alt + F1 , Alt + F2 , Alt + F3 
          , e assim por diante alternara entre esses consoles virtuais.       
                                                                              
          Para habilitar mais consoles virtuais, edite /etc/ttys (veja        
          ttys(5)) e adicione entradas do ttyv8 ate o ttyvc , apos os         
          comentarios na sec,ao "Virtual terminals":                          
                                                                              
          # Edit the existing entry for ttyv8 in /etc/ttys and change         
          # "off" to "on".                                                    
          ttyv8   "/usr/libexec/getty Pc"         xterm  on secure            
          ttyv9   "/usr/libexec/getty Pc"         xterm  on secure            
          ttyva   "/usr/libexec/getty Pc"         xterm  on secure            
          ttyvb   "/usr/libexec/getty Pc"         xterm  on secure            
                                                                              
          Quanto mais terminais virtuais estiverem ativos, mais recursos      
          serao usados. Isso pode ser um problema em sistemas com 8 MB de RAM 
          ou menos. Considere mudar a opc,ao secure para insecure.            
                                                                              
            Importante:                                                       
                                                                              
          Para executar um servidor X, pelo menos um terminal virtual devera  
          ser deixado como off para ele usar. Isso significa que apenas onze  
          das teclas de func,ao Alt podem ser usadas como consoles virtuais,  
          de modo que uma devera ser deixada livre para uso do servidor X.    
                                                                              
          Por exemplo, para executar o X e onze consoles virtuais, a          
          configurac,ao para o terminal virtual 12 deve ser:                  
                                                                              
          ttyvb   "/usr/libexec/getty Pc"         xterm  off secure           
                                                                              
          A maneira mais facil de ativar os consoles virtuais e               
          reinicializar.                                                      
   11.9.  Como eu acesso os consoles virtuais a partir do X?                  
          Utilize Ctrl+Alt+Fn para voltar a um console virtual. Pressione     
          Ctrl + Alt + F1 para retornar ao primeiro console virtual.          
                                                                              
          Uma vez em um console de texto, use Alt + F n para mover-se entre   
          eles.                                                               
                                                                              
          Para retornar `a sessao X, mude para o console virtual que esta     
          executando o X. Se o X foi iniciado a partir da linha de comando    
          usando startx , a sessao X sera anexada ao proximo console virtual  
          nao utilizado, e nao ao console de texto no qual foi invocado. Para 
          oito terminais virtuais ativos, o X sera executado no nono,         
          portanto use Alt + F9 .                                             
   11.10. Como fac,o para carregar o XDM na inicializac,ao?                   
          Existem duas escolas de pensamento sobre como iniciar o xdm(1). Uma 
          escola inicia o xdm a partir do /etc/ttys (veja ttys(5)) usando o   
          exemplo fornecido, enquanto o outro executa o xdm a partir do       
          rc.local (veja rc(8)) ou de um script X localizado em               
          /usr/local/etc/rc.d. Ambos sao igualmente validos, e um pode        
          funcionar em situac,oes em que o outro nao funciona. Em ambos os    
          casos, o resultado e o mesmo: O X mostrara um prompt de login       
          grafico.                                                            
                                                                              
          O metodo ttys(5) tem a vantagem de documentar qual vty X iniciara e 
          passando a responsabilidade de reiniciar o servidor X no logout     
          para o init(8). O metodo rc(8) facilita o kill xdm se houver um     
          problema ao iniciar o servidor X.                                   
                                                                              
          Se carregado pelo rc(8), o xdm deve ser iniciado sem nenhum         
          argumento. xdm deve iniciar apos o getty(8) ser executado, ou entao 
          getty e xdm entrarao em conflito, bloqueando o console. A melhor    
          maneira de contornar isso e fazer com que o script espere 10        
          segundos ou mais e, em seguida, iniciar o xdm.                      
                                                                              
          Ao iniciar o xdm pelo /etc/ttys, ainda ha uma chance de conflito    
          entre xdm e getty(8). Uma maneira de evitar isso e adicionar o      
          numero vt no arquivo /usr/local/lib/X11/xdm/Xservers:               
                                                                              
          :0 local /usr/local/bin/X vt4                                       
                                                                              
          O exemplo acima ira direcionar o servidor X para ser executado em   
          /dev/ttyv3. Observe que o numero e compensado por um. O servidor X  
          conta a vty a partir de 1, enquanto o kernel do FreeBSD numera a    
          vty a partir de zero.                                               
   11.11. Por que eu obtenho o erro Couldn't open console quando executo o    
          xconsole?                                                           
          Quando o X e iniciado com o comando startx, as permissoes em        
          /dev/console nao serao alteradas, o que resultara um comportamento  
          erratico de algumas coisas tais como o nao funcionamento do xterm   
          -C e do xconsole.                                                   
                                                                              
          Isso ocorre devido `a maneira como as permissoes do console sao     
          definidas por padrao. Em um sistema multiusuario, nao e necessario  
          que qualquer usuario possa escrever no console do sistema. Para os  
          usuarios que estao logando diretamente em uma maquina com um VTY,   
          existe o arquivo fbtab() para resolver tais problemas.              
                                                                              
          Em poucas palavras, certifique-se de que uma linha nao comentada do 
          formulario esteja no /etc/fbtab (veja fbtab(5)):                    
                                                                              
          /dev/ttyv0 0600 /dev/console                                        
                                                                              
          Ele ira garantir que quem fizer o login em /dev/ttyv0 sera o dono   
          do console.                                                         
   11.12. Por que meu mouse PS/2 nao funciona direito no X?                   
          O mouse e o driver do mouse podem estar fora de sincronizac,ao. Em  
          casos raros, o driver tambem pode relatar erroneamente erros de     
          sincronizac,ao:                                                     
                                                                              
          psmintr: out of sync (xxxx != yyyy)                                 
                                                                              
          Se isso acontecer, desative o codigo de verificac,ao de             
          sincronizac,ao definindo as flags de driver para o driver de mouse  
          PS/2 como 0x100. Isto pode ser mais facilmente alcanc,ado           
          adicionando hint.psm.0.flags="0x100" ao arquivo /boot/loader.conf e 
          reiniciando.                                                        
   11.13. Como eu inverto os botoes do mouse?                                 
          Digite xmodmap -e "pointer = 3 2 1". Adicione este comando ao       
          ~/.xinitrc ou ~/.xsession para que isso acontec,a automaticamente.  
   11.14. Como fac,o para instalar uma splash screen e onde posso             
          encontra-las?                                                       
          A resposta detalhada para essa pergunta pode ser encontrada na      
          sec,ao Telas de inicializac,ao do tempo de inicializac,ao do        
          FreeBSD Handbook.                                                   
   11.15. Posso usar as teclas do Windows do meu teclado no X?                
          Sim. Use o xmodmap(1) para definir quais func,oes as teclas devem   
          executar.                                                           
                                                                              
          Supondo que todos os teclados Windows sigam um padrao, os codigos   
          de teclas para essas tres teclas sao os seguintes:                  
                                                                              
            * 115 - tecla Windows , entre as teclas Ctrl e Alt do lado        
              esquerdo                                                        
                                                                              
            * 116 - tecla Windows , `a direita de AltGr                       
                                                                              
            * 117 - Menu , `a esquerda da tecla Ctrl da direita               
                                                                              
          Para que a tecla Windows da esquerda imprima uma virgula, tente     
          isto.                                                               
                                                                              
          # xmodmap -e "keycode 115 = comma"                                  
                                                                              
          Para que os mapeamentos de teclas Windows sejam ativados            
          automaticamente toda vez que X for iniciado, coloque os comandos    
          xmodmap em ~/.xinitrc ou, preferencialmente, crie um ~/.xmodmaprc e 
          inclua as opc,oes xmodmap, uma por linha, e adicione a seguinte     
          linha ao ~/.xinitrc:                                                
                                                                              
          xmodmap $HOME/.xmodmaprc                                            
                                                                              
          Por exemplo, para mapear as 3 chaves para serem F13, F14 e F15,     
          respectivamente. Isso facilitaria mapea-los para func,oes uteis em  
          aplicativos ou no gerenciador de janelas.                           
                                                                              
          Para fazer isto, coloque o seguinte em ~/.xmodmaprc.                
                                                                              
          keycode 115 = F13                                                   
          keycode 116 = F14                                                   
          keycode 117 = F15                                                   
                                                                              
          Para o gerenciador da area de trabalho x11-wm/fvwm2, pode-se mapear 
          as chaves para que F13 seja minimizada a janela em que o cursor     
          esta ou a maximize, F14 traz a janela em que o cursor esta para a   
          frente ou, se ja estiver na frente, a coloca em background F15      
          aparece no menu principal do Workplace mesmo que o cursor nao       
          esteja a area de trabalho, o que e util quando nenhuma parte da     
          area de trabalho esta visivel.                                      
                                                                              
          As seguintes entradas em ~/.fvwmrc implementam a configurac,ao      
          acima mencionada:                                                   
                                                                              
          Key F13        FTIWS    A        Iconify                            
          Key F14        FTIWS    A        RaiseLower                         
          Key F15        A        A        Menu Workplace Nop                 
   11.16. Como posso obter acelerac,ao de hardware 3D para o OpenGL (R)?      
          A disponibilidade da acelerac,ao 3D depende da versao do Xorg e do  
          tipo de chip de video. Para um chip da nVidia, use os drivers       
          binarios fornecidos para o FreeBSD instalando um dos seguintes      
          ports:                                                              
                                                                              
          As versoes mais recentes das placas nVidia sao suportadas pelo port 
          x11/nvidia-driver .                                                 
                                                                              
          Drivers mais antigos estao disponiveis como x11/nvidia-driver- ###  
                                                                              
          A nVidia fornece informac,oes detalhadas sobre qual placa e         
          suportada por qual driver em seu site: http://www.nvidia.com        
          /object/IO_32667.html.                                              
                                                                              
          Para a Matrox G200/G400, verifique o port                           
          x11-drivers/xf86-video-mga.                                         
                                                                              
          Para a ATI Rage 128 e Radeon, consulte ati(4), r128(4) and          
          radeon(4).                                                          

                            Capitulo 12. Networking

   12.1. Onde posso obter informac,oes sobre a "inicializac,ao sem disco"?

   12.2. Uma maquina FreeBSD pode ser usada como um roteador de rede
   dedicado?

   12.3. O FreeBSD suporta NAT ou Mascaramento de IPs?

   12.4. Como posso configurar aliases de Ethernet?

   12.5. Por que nao posso montar o NFS de uma maquina Linux(R)?

   12.6. Por que o comando mountd continua me dizendo que ele can't change
   attributes (nao pode alterar os atributos) e que eu tenho uma bad exports
   list (lista de exports ruins) no meu servidor NFS do FreeBSD?

   12.7. Como fac,o para ativar o suporte a multicast IP?

   12.8. Por que preciso usar o FQDN para hosts na minha rede?

   12.9. Por que recebo oerro, Permission denied, para todas as operac,oes de
   rede?

   12.10. Por que minha regra ipfw "fwd" para redirecionar um servic,o para
   outra maquina que nao esta funcionando?

   12.11. Como posso redirecionar as solicitac,oes de servic,o de uma maquina
   para outra?

   12.12. Onde posso obter uma ferramenta de gerenciamento de largura de
   banda?

   12.13. Por que estou recebendo o erro /dev/bpf0: device not configured?

   12.14. Como fac,o para montar um disco de uma maquina Windows(R) que
   esteja na minha rede, tal como o smbmount no Linux(R)?

   12.15. O que sao essas mensagens sobre: &#8203;&#8203;Limiting icmp/open
   port/closed port response em meus arquivos de log?

   12.16. O que sao essas mensagens de erro arp: unknown hardware address
   format?

   12.17. Por que eu continuo vendo mensagens como: 192.168.0.10 is on fxp1
   but got reply from 00:15:17:67:cf:82 on rl0, e como desabilita-lo?

   12.18. Como fac,o para compilar um kernel com suporte somente ao IPv6?

12.1.  Onde posso obter informac,oes sobre a "inicializac,ao sem disco"?             
       "Inicializac,ao sem disco" significa que o sistema FreeBSD e inicializado     
       atraves de uma rede e le os arquivos necessarios de um servidor ao inves de   
       seu disco rigido. Para maiores detalhes, consulte a entrada do Handbook       
       Inicializac,ao sem disco.                                                     
12.2.  Uma maquina FreeBSD pode ser usada como um roteador de rede dedicado?         
       Sim. Consulte a entrada do Manual em rede avanc,ada, especificamente a sec,ao 
       sobre roteamento e gateways.                                                  
12.3.  O FreeBSD suporta NAT ou Mascaramento de IPs?                                 
       Sim. Para obter instruc,oes sobre como usar o NAT em uma conexao PPP,         
       consulte a sec,ao do PPP no manual. Para usar o NAT em algum outro tipo de    
       conexao de rede, consulte a sec,ao natd do manual.                            
12.4.  Como posso configurar aliases de Ethernet?                                    
       Se o alias estiver na mesma sub-rede que um enderec,o ja configurado na       
       interface, adicione netmask 0xffffffff a este comando:                        
                                                                                     
       # ifconfig ed0 alias 192.0.2.2 netmask 0xffffffff                             
                                                                                     
       Caso contrario, especifique o enderec,o de rede e a mascara de rede como de   
       costume:                                                                      
                                                                                     
       # ifconfig ed0 alias 172.16.141.5 netmask 0xffffff00                          
                                                                                     
       Mais informac,oes podem ser encontradas Handbook do FreeBSD.                  
12.5.  Por que nao posso montar o NFS de uma maquina Linux(R)?                       
       Algumas versoes do codigo NFS do Linux(R) aceitam somente solicitac,oes de    
       montagem vindas de uma porta privilegiada; tente executar o seguinte comando: 
                                                                                     
       # mount -o -P linuxbox:/blah /mnt                                             
12.6.  Por que o comando mountd continua me dizendo que ele can't change attributes  
       (nao pode alterar os atributos) e que eu tenho uma bad exports list (lista de 
       exports ruins) no meu servidor NFS do FreeBSD?                                
       O problema mais frequ:ente e nao entender o formato correto de /etc/exports.  
       Revise exports(5) e o NFS no manual, especialmente na sec,ao configurando o   
       NFS.                                                                          
12.7.  Como fac,o para ativar o suporte a multicast IP?                              
       Instale o pacote ou port net/mrouted e adicione mrouted_enable="YES" ao       
       /etc/rc.conf para que o FreeBSD inicie este servic,o no momento da            
       inicializac,ao.                                                               
12.8.  Por que preciso usar o FQDN para hosts na minha rede?                         
       Veja a resposta no Handbook do FreeBSD.                                       
12.9.  Por que recebo oerro, Permission denied, para todas as operac,oes de rede?    
       Se o kernel e compilado com a opc,ao IPFIREWALL, esteja ciente de que a       
       politica padrao e negar todos os pacotes que nao sao explicitamente           
       permitidos.                                                                   
                                                                                     
       Se o firewall foi inadvertidamente configurado de forma errada, restaure a    
       operacionalidade da rede digitando o seguinte comando como root:              
                                                                                     
       # ipfw add 65534 allow all from any to any                                    
                                                                                     
       Considere configurar a opc,ao firewall_type="open" no /etc/rc.conf.           
                                                                                     
       Para obter mais informac,oes sobre como configurar seu firewall, consulte o   
       Handbook.                                                                     
12.10. Por que minha regra ipfw "fwd" para redirecionar um servic,o para outra       
       maquina que nao esta funcionando?                                             
       Possivelmente porque voce precisa utilizar a conversao de enderec,os de rede  
       (NAT) em vez de apenas encaminhar os pacotes. Uma regra "fwd" apenas          
       encaminha os pacotes, ela nao altera os dados dentro do pacote. Considere     
       esta regra:                                                                   
                                                                                     
       01000 fwd 10.0.0.1 from any to foo 21                                         
                                                                                     
       Quando um pacote com um enderec,o de destino foo chega `a maquina com esta    
       regra, o pacote e encaminhado para 10.0.0.1, mas ainda tem o enderec,o de     
       destino foo. O enderec,o de destino do pacote nao e alterado para 10.0.0.1. A 
       maioria das maquinas provavelmente descartaria um pacote que recebesse com um 
       enderec,o de destino que nao fosse o seu. Portanto, usar uma regra "fwd"      
       geralmente nao funciona da maneira esperada pelo usuario. Esse comportamento  
       e um recurso e nao um bug.                                                    
                                                                                     
       Veja o FAQ sobre redirecionamento de servic,os, o manual do natd(8), ou um    
       dos varios utilitarios de redirecionamento de porta na Colec,ao de Portas     
       para uma maneira correta de fazer isso.                                       
12.11. Como posso redirecionar as solicitac,oes de servic,o de uma maquina para      
       outra?                                                                        
       FTP e outras solicitac,oes de servic,o podem ser redirecionadas com o pacote  
       ou port sysutils/socket. Substitua a entrada para o servic,o em               
       /etc/inetd.conf para chamar socket, conforme visto neste exemplo para ftpd:   
                                                                                     
       ftp stream tcp nowait nobody /usr/local/bin/socket socket ftp.example.com ftp 
                                                                                     
       na qual ftp.example.com e ftp sao o host e a porta de destino do              
       redirecionamento, respectivamente.                                            
12.12. Onde posso obter uma ferramenta de gerenciamento de largura de banda?         
       Existem tres ferramentas de gerenciamento de largura de banda disponiveis     
       para o FreeBSD. dummynet(4) e integrado ao FreeBSD como parte do ipfw(4).     
       ALTQ foi integrado ao FreeBSD como parte do pf(4). O Bandwidth Manager das    
       Tecnologias Emergentes e um produto comercial.                                
12.13. Por que estou recebendo o erro /dev/bpf0: device not configured?              
       O aplicativo em execuc,ao requer o Packet Filter da Berkeley (bpf(4)), mas    
       ele foi removido de um kernel personalizado. Adicione isto ao arquivo de      
       configurac,ao do kernel e construa um novo kernel:                            
                                                                                     
       device bpf        # Berkeley Packet Filter                                    
12.14. Como fac,o para montar um disco de uma maquina Windows(R) que esteja na minha 
       rede, tal como o smbmount no Linux(R)?                                        
       Use o conjunto de ferramentas SMBFS. Ele inclui um conjunto de modificac,oes  
       do kernel e um conjunto de programas da area de usuario. Os programas e as    
       informac,oes necessarias estao disponiveis como mount_smbfs(8) no sistema     
       base.                                                                         
12.15. O que sao essas mensagens sobre: &#8203;&#8203;Limiting icmp/open port/closed 
       port response em meus arquivos de log?                                        
       Esta mensagem do kernel indica que alguma atividade esta provocando o envio   
       de uma grande quantidade de respostas de reset de ICMP ou TCP (RST). As       
       respostas ICMP sao frequentemente geradas como resultado de tentativas de     
       conexao a portas UDP nao utilizadas. Os resets TCP sao geradas como resultado 
       de tentativas de conexao a portas TCP nao abertas. Entre outros, esses sao os 
       tipos de atividades que podem causar essas mensagens:                         
                                                                                     
         * Ataques de negac,ao de servic,o (DoS) de forc,a bruta (em oposic,ao a     
           ataques de pacote unico que exploram uma vulnerabilidade especifica).     
                                                                                     
         * Varreduras de porta que tentam se conectar a um grande numero de portas   
           (em oposic,ao a apenas tentar algumas portas conhecidas).                 
                                                                                     
       O primeiro numero na mensagem indica quantos pacotes o kernel teria enviado   
       se o limite nao estivesse no lugar e o segundo indica o limite. Este limite e 
       controlado usando net.inet.icmp.icmplim. Este exemplo define o limite para    
       300 pacotes por segundo:                                                      
                                                                                     
       # sysctl net.inet.icmp.icmplim=300                                            
                                                                                     
       Para desativar essas mensagens sem desativar a limitac,ao de resposta, use o  
       net.inet.icmp.icmplim_output para desativar a saida:                          
                                                                                     
       # sysctl net.inet.icmp.icmplim_output=0                                       
                                                                                     
       Finalmente, para desabilitar completamente a limitac,ao de resposta,          
       configure net.inet.icmp.icmplim para 0. Desabilitar a limitac,ao de resposta  
       e desencorajado pelos motivos listados acima.                                 
12.16. O que sao essas mensagens de erro arp: unknown hardware address format?       
       Isso significa que algum dispositivo na Ethernet local esta usando um         
       enderec,o MAC em um formato que o FreeBSD nao reconhece. Isso provavelmente e 
       causado por alguem que esta experimentando uma placa Ethernet em algum outro  
       lugar da rede. Isso e mais comumente visto em redes de modem a cabo. E        
       inofensivo e nao deve afetar o desempenho do sistema FreeBSD.                 
12.17. Por que eu continuo vendo mensagens como: 192.168.0.10 is on fxp1 but got     
       reply from 00:15:17:67:cf:82 on rl0, e como desabilita-lo?                    
       Porque um pacote esta vindo de fora da rede inesperadamente. Para             
       desativa-los, defina net.link.ether.inet.log_arp_wrong_iface como 0.          
12.18. Como fac,o para compilar um kernel com suporte somente ao IPv6?               
       Configure seu kernel com estas configurac,oes:                                
                                                                                     
       include GENERIC                                                               
       ident GENERIC-IPV6ONLY                                                        
       makeoptions MKMODULESENV+="WITHOUT_INET_SUPPORT="                             
       nooptions INET                                                                
       nodevice gre                                                                  

                            Capitulo 13. Seguranc,a

   13.1. O que e uma caixa de areia (sandbox)?

   13.2. O que e securelevel?

   13.3. O que e essa conta UID 0 toor? Eu fui comprometido?

   13.1. O que e uma caixa de areia (sandbox)?                                
         "Sandbox" e um termo de seguranc,a. Isso pode significar duas        
         coisas:                                                              
                                                                              
           * Um processo que e colocado dentro de um conjunto de paredes      
             virtuais que sao projetadas para impedir que alguem que          
             interrompa o processo seja capaz de invadir o sistema mais       
             amplo.                                                           
                                                                              
             O processo so e capaz de correr dentro das barreiras. Desde que  
             nada que o processo fac,a em relac,ao `a execuc,ao de codigo     
             seja capaz de violar as barreiras, uma auditoria detalhada de    
             seu codigo nao e necessaria para poder dizer certas coisas sobre 
             sua seguranc,a.                                                  
                                                                              
             As barreiras podem ser um ID do usuario, por exemplo. Esta e a   
             definic,ao usada nas paginas de manual de security(7) e          
             named(8).                                                        
                                                                              
             Veja o servic,o ntalk, por exemplo (veja inetd(8)). Este         
             servic,o costumava rodar como ID de usuario root. Agora ele e    
             executado como ID do usuario tty. O usuario tty e um sandbox     
             projetado para tornar mais dificil para alguem que invadiu o     
             sistema com sucesso atraves do ntalk ser capaz de hackear alem   
             do seu ID de usuario.                                            
                                                                              
           * Um processo que e colocado dentro de uma simulac,ao da maquina.  
             Isso significa que alguem que e capaz de entrar no processo pode 
             acreditar que ele pode invadir a maquina mais ampla, mas esta,   
             na verdade, apenas invadindo uma simulac,ao dessa maquina e nao  
             modificando nenhum dado real.                                    
                                                                              
             A maneira mais comum de fazer isso e construir um ambiente       
             simulado em um subdiretorio e entao executar os processos nesse  
             diretorio chrooted para que o diretorio / para esse processo     
             seja este, nao o diretorio / real do sistema).                   
                                                                              
             Outro uso comum e montar um sistema de arquivos subjacente       
             somente leitura e, em seguida, criar uma camada do sistema de    
             arquivos sobre ele, o que da a um processo uma visualizac,ao     
             aparentemente gravavel nesse sistema de arquivos. O processo     
             pode acreditar que e capaz de escrever nesses arquivos, mas o    
             processo apenas ve os efeitos - outros processos no sistema nao, 
             necessariamente.                                                 
                                                                              
             Foi feita uma tentativa de tornar esse tipo de sandbox tao       
             transparente que o usuario (ou hacker) nao percebe que esta      
             dentro dele.                                                     
                                                                              
         O UNIX(R) implementa dois sandboxes principais. Um esta no nivel do  
         processo e o outro esta no nivel do usuario.                         
                                                                              
         Todo processo UNIX(R) e completamente protegido contra qualquer      
         outro processo UNIX(R). Um processo nao pode modificar o espac,o de  
         enderec,o de outro.                                                  
                                                                              
         Um processo UNIX(R) e de propriedade de um determinado ID de         
         usuario. Se o ID de usuario nao for o usuario root, ele servira para 
         proteger o processo contra processos pertencentes a outros usuarios. 
         O ID do usuario tambem e usado para proteger os dados no disco.      
   13.2. O que e securelevel?                                                 
         securelevel e um mecanismo de seguranc,a implementado no kernel.     
         Quando o nivel de seguranc,a e positivo, o kernel restringe certas   
         tarefas; nem mesmo o superusuario (root) pode executa-los. O         
         mecanismo de securelevel limita a capacidade de:                     
                                                                              
           * Desativar determinados flags de arquivo, tais como schg (o flag  
             de sistema imutavel).                                            
                                                                              
           * Escrever na memoria do kernel atraves de /dev/mem e /dev/kmem.   
                                                                              
           * Carregar modulos do kernel.                                      
                                                                              
           * Alterar as regras do firewall.                                   
                                                                              
         Para verificar o status do securelevel em um sistema em execuc,ao:   
                                                                              
         # sysctl -n kern.securelevel                                         
                                                                              
         A saida contem o valor atual do nivel de seguranc,a. Se for maior    
         que 0, pelo menos algumas das protec,oes do securelevel sao          
         ativadas.                                                            
                                                                              
         O securelevel de um sistema em execuc,ao nao pode ser reduzido, pois 
         isso invalidaria seu proposito. Se uma tarefa exigir que o           
         securelevel seja nao-positivo, altere as variaveis                   
         &#8203;&#8203;kern_securelevel e kern_securelevel_enable em          
         /etc/rc.conf e reinicialize.                                         
                                                                              
         Para obter mais informac,oes sobre o securelevel e as coisas         
         especificas que todos os niveis fazem, consulte init(8).             
                                                                              
           Atenc,ao:                                                          
                                                                              
         O securelevel nao e uma bala de prata; tem muitas deficiencias       
         conhecidas. Mais frequentemente do que nao, fornece uma falsa        
         sensac,ao de seguranc,a.                                             
                                                                              
         Um dos seus maiores problemas e que, para que seja eficaz, todos os  
         arquivos usados &#8203;&#8203;no processo de inicializac,ao ate que  
         o nivel de seguranc,a seja definido devem ser protegidos. Se um      
         invasor puder fazer o sistema executar seu codigo antes do nivel de  
         seguranc,a que esta sendo definido (o que acontece muito tarde no    
         processo de inicializac,ao, pois algumas coisas que o sistema deve   
         fazer na inicializac,ao nao podem ser feitas em um nivel elevado),   
         suas protec,oes sao invalidadas . Embora essa tarefa de proteger     
         todos os arquivos usados &#8203;&#8203;no processo de inicializac,ao 
         nao seja tecnicamente impossivel, se for obtida, a manutenc,ao do    
         sistema se tornara um pesadelo, ja que seria necessario desativar o  
         sistema, pelo menos no modo de usuario unico, para modificar um      
         arquivo de configurac,ao.                                            
                                                                              
         Este ponto e outros sao frequentemente discutidos nas listas de      
         discussao, particularmente na lista de discussao de seguranc,a do    
         FreeBSD. Pesquise nos arquivos aqui para uma discussao extensa. Um   
         mecanismo mais refinado e o preferido.                               
   13.3. O que e essa conta UID 0 toor? Eu fui comprometido?                  
         Nao se preocupe. toor e uma conta de superusuario "alternativa",     
         onde toor e root soletrada para ao contrario. Ele deve ser usado com 
         um shell nao padrao, portanto, o shell padrao para root nao precisa  
         ser alterado. Isto e importante porque os shells que nao fazem parte 
         da distribuic,ao base, mas que sao instalados a partir de ports ou   
         packages, sao instalados em /usr/local/bin que, por padrao, reside   
         em um sistema de arquivos diferente . Se o shell do root estiver     
         localizado em /usr/local/bin e o sistema de arquivos contendo        
         /usr/local/bin) nao esta montado, root nao podera efetuar login para 
         corrigir um problema e tera que reinicializar no modo de usuario     
         unico para inserir o caminho para um shell.                          
                                                                              
         Algumas pessoas usam toor para tarefas do dia-a-dia do root com um   
         shell nao padrao, deixando o root, com um shell padrao, para o modo  
         de usuario unico ou emergencias. Por padrao, um usuario nao pode     
         logar usando toor porque ele nao tem uma senha, entao efetue login   
         como root e defina um senha para toor antes de usa-lo para efetuar   
         login.                                                               

                       Capitulo 14. Comunicac,oes Seriais

   Esta sec,ao responde a perguntas comuns sobre comunicac,ao serial com o
   FreeBSD.

   14.1. Como obtenho o prompt de boot: em um console serial?

   14.2. Como sei se o FreeBSD encontrou minhas portas seriais ou placas de
   modem?

   14.3. Como eu acesso as portas seriais no FreeBSD? (especifico de x86)

   14.4. Como habilitar o suporte para uma placa serial com varias portas?

   14.5. Posso definir os parametros seriais padroes para uma porta?

   14.6. Por que nao consigo executar o comando tip ou o cu?

14.1. Como obtenho o prompt de boot: em um console serial?                          
      Veja esta sec,ao do Handbook.                                                 
14.2. Como sei se o FreeBSD encontrou minhas portas seriais ou placas de modem?     
      Quando o kernel do FreeBSD for inicializado, ele ira sondar as portas seriais 
      para as quais o kernel esta configurado. Observe atentamente as mensagens de  
      inicializac,ao ou execute este comando apos o sistema estar ativo e em        
      execuc,ao:                                                                    
                                                                                    
      % grep -E '^(sio|uart)[0-9]' < /var/run/dmesg.boot                            
      sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0 
      sio0: type 16550A                                                             
      sio1: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 on acpi0            
      sio1: type 16550A                                                             
                                                                                    
      Este exemplo mostra duas portas seriais. O primeiro esta no IRQ4, enderec,o   
      de porta 0x3f8, e possui um chip UART tipo 16550A. O segundo usa o mesmo tipo 
      de chip, mas esta no IRQ3 e esta no enderec,o de porta 0x2f8. As placas de    
      modem internas sao tratadas como portas seriais, exceto pelo fato de sempre   
      terem um modem conectado `a porta.                                            
                                                                                    
      O kernel GENERIC inclui suporte para duas portas seriais usando as mesmas     
      configurac,oes de IRQ e enderec,o de porta no exemplo acima. Se estas         
      configurac,oes nao forem adequadas para o sistema, ou se houver mais placas   
      de modem ou portas seriais do que o kernel esta configurado, reconfigure      
      usando as instruc,oes em construindo um kernel para mais detalhes.            
14.3. Como eu acesso as portas seriais no FreeBSD? (especifico de x86)              
      A terceira porta serial, sio2, ou COM3, esta em /dev/cuad2 para dispositivos  
      dial-out e em /dev/ttyd2 para dispositivos dial-in. Qual e a diferenc,a entre 
      essas duas classes de dispositivos?                                           
                                                                                    
      Ao abrir /dev/ttydX no modo de bloqueio, um processo aguardara o dispositivo  
      cuadX correspondente ficar inativo e, em seguida, aguardar a ativac,ao da     
      linha de detecc,ao. Quando o dispositivo cuadX e aberto, ele garante que a    
      porta serial nao esteja em uso pelo dispositivo ttydX. Se a porta estiver     
      disponivel, ela a rouba do dispositivo ttydX. Alem disso, o dispositivo cuadX 
      nao se importa com a detecc,ao da portadora. Com este esquema e um modem de   
      resposta automatica, os usuarios remotos podem efetuar login e os usuarios    
      locais ainda podem discar com o mesmo modem e o sistema cuidara de todos os   
      conflitos.                                                                    
14.4. Como habilitar o suporte para uma placa serial com varias portas?             
      A sec,ao sobre configurac,ao do kernel fornece informac,oes sobre como        
      configurar o kernel. Para uma placa serial com varias portas, coloque uma     
      linha sio(4) para cada porta serial na placa no device.hints(5). Mas coloque  
      os especificadores de IRQ em apenas uma das entradas. Todas as portas no      
      cartao devem compartilhar um IRQ. Para consistencia, use a ultima porta       
      serial para especificar o IRQ. Alem disso, especifique a seguinte opc,ao no   
      arquivo de configurac,ao do kernel:                                           
                                                                                    
      options COM_MULTIPORT                                                         
                                                                                    
      O exemplo a seguir /boot/device.hints e para uma placa serial AST de 4 portas 
      no IRQ 12:                                                                    
                                                                                    
      hint.sio.4.at="isa"                                                           
      hint.sio.4.port="0x2a0"                                                       
      hint.sio.4.flags="0x701"                                                      
      hint.sio.5.at="isa"                                                           
      hint.sio.5.port="0x2a8"                                                       
      hint.sio.5.flags="0x701"                                                      
      hint.sio.6.at="isa"                                                           
      hint.sio.6.port="0x2b0"                                                       
      hint.sio.6.flags="0x701"                                                      
      hint.sio.7.at="isa"                                                           
      hint.sio.7.port="0x2b8"                                                       
      hint.sio.7.flags="0x701"                                                      
      hint.sio.7.irq="12"                                                           
                                                                                    
      Os flags indicam que a porta principal possui um numero menor 7 ( 0x700 ) e   
      todas as portas compartilham um IRQ ( 0x001 ).                                
14.5. Posso definir os parametros seriais padroes para uma porta?                   
      Veja a sec,ao Comunicac,oes Seriais no Handbook do FreeBSD .                  
14.6. Por que nao consigo executar o comando tip ou o cu?                           
      Os utilitarios tip(1) and cu(1) so podem acessar o diretorio /var/spool/lock  
      via usuario uucp e grupo dialer . Use o grupo dialer para controlar quem tem  
      acesso ao modem ou sistemas remotos adicionando contas de usuario ao dialer.  
                                                                                    
      Como alternativa, todos podem ser configurados para executar tip(1) e cu(1)   
      digitando:                                                                    
                                                                                    
      # chmod 4511 /usr/bin/cu                                                      
      # chmod 4511 /usr/bin/tip                                                     

                        Capitulo 15. Perguntas Diversas

   15.1. O FreeBSD usa muito espac,o de swap mesmo quando o computador tem
   memoria livre sobrando. Por que?

   15.2. Por que top mostra pouca memoria livre mesmo quando tenho poucos
   programas em execuc,ao?

   15.3. Por que o chmod nao altera as permissoes nos links simbolicos?

   15.4. Posso executar binarios do DOS no FreeBSD?

   15.5. O que eu preciso fazer para traduzir um documento do FreeBSD para
   minha lingua nativa?

   15.6. Por que os meus emails destinados a qualquer enderec,o no dominio
   FreeBSD.org sao sempre rejeitados?

   15.7. Onde posso conseguir uma conta gratuita FreeBSD?

   15.8. Qual e o nome do mascotinho vermelho?

   15.9. Posso usar a imagem do daemon do BSD?

   15.10. Voces tem alguma imagem BSD daemon que eu poderia usar?

   15.11. Eu vi um acronimo ou outro termo nas listas de discussao e nao
   entendo o que isso significa. Onde devo procurar?

   15.12. Por que eu deveria me importar com a cor da bikeshed?

   15.1.  O FreeBSD usa muito espac,o de swap mesmo quando o computador tem   
          memoria livre sobrando. Por que?                                    
          O FreeBSD ira proativamente mover paginas ociosas e nao usadas da   
          memoria principal para swap, a fim de disponibilizar mais memoria   
          principal para uso ativo. Esse uso pesado de swap e balanceado      
          usando a memoria extra livre para armazenamento em cache.           
                                                                              
          Note que enquanto o FreeBSD e proativo a esse respeito, ele nao     
          decide arbitrariamente trocar paginas quando o sistema esta         
          realmente inativo. Assim, o sistema nao sera todo paginado depois   
          de deixa-lo ocioso durante a noite.                                 
   15.2.  Por que top mostra pouca memoria livre mesmo quando tenho poucos    
          programas em execuc,ao?                                             
          A resposta simples e que a memoria livre e uma memoria              
          desperdic,ada. Qualquer memoria que os programas nao aloquem        
          ativamente e usada pelo kernel do FreeBSD como cache de disco. Os   
          valores mostrados por top(1) rotulados como Inactivo e Laundry sao  
          todos os dados armazenados em cache em diferentes niveis de         
          envelhecimento. Esses dados em cache significam que o sistema nao   
          precisa acessar um disco lento novamente para os dados que acessou  
          recentemente, aumentando assim o desempenho geral. Em geral, um     
          valor baixo mostrado para a memoria Free no top(1) e considerado    
          bom, desde que nao seja muito baixo.                                
   15.3.  Por que o chmod nao altera as permissoes nos links simbolicos?      
          Os links simbolicos nao tem permissoes e, por padrao, chmod(1)      
          seguira links simbolicos para alterar as permissoes no arquivo de   
          origem, se possivel. Para o arquivo, foo com um link simbolico      
          chamado bar, este comando sera sempre bem-sucedido.                 
                                                                              
          % chmod g-w bar                                                     
                                                                              
          No entanto, as permissoes no arquivo bar nao serao alteradas.       
                                                                              
          Ao alterar os modos das hierarquias de arquivos do usuario root em  
          vez dos proprios arquivos, use -H ou -L junto com -R para este      
          trabalho. Veja chmod(1) e symlink(7) para mais em formac,ao.        
                                                                              
            Atenc,ao:                                                         
                                                                              
          -R faz um chmod(1) recursivo. Tenha cuidado ao especificar          
          diretorios ou links simbolicos para diretorios para o chmod(1).     
          Para alterar as permissoes de um diretorio referenciado por um link 
          simbolico, use chmod(1) sem nenhuma opc,ao e siga o link simbolico  
          com uma barra `a direita (/). Por exemplo, se foo for um link       
          simbolico para o diretorio bar, para alterar as permissoes de foo   
          (na verdade bar) fac,a algo como:                                   
                                                                              
          % chmod 555 foo/                                                    
                                                                              
          Com a barra final, chmod(1) seguira o link simbolico, foo, para     
          alterar as permissoes do diretorio, bar.                            
   15.4.  Posso executar binarios do DOS no FreeBSD?                          
          Sim. Um programa de emulac,ao DOS, emulators/doscmd, esta           
          disponivel na Colec,ao de Ports do FreeBSD.                         
                                                                              
          Se o doscmd nao for suficiente, o emulators/pcemu emulara um 8088 e 
          servic,os de BIOS suficientes para executar muitos aplicativos em   
          modo texto do DOS. Requer o sistema de janelas X.                   
                                                                              
          A colec,ao de ports tambem tem o emulators/dosbox. O foco principal 
          deste aplicativo e emular antigos jogos do DOS usando o sistema de  
          arquivos local para os arquivos.                                    
   15.5.  O que eu preciso fazer para traduzir um documento do FreeBSD para   
          minha lingua nativa?                                                
          Veja a FAQ de traduc,oes na Documentac,ao do Primer Project do      
          FreeBSD.                                                            
   15.6.  Por que os meus emails destinados a qualquer enderec,o no dominio   
          FreeBSD.org sao sempre rejeitados?                                  
          O sistema de mensagens do FreeBSD.org implementa algumas            
          verificac,oes do Postfix nos e-mails recebidos e rejeita e-mails    
          que sao de retransmissoes mal configurados ou que parecem ser spam. 
          Alguns dos requisitos especificos sao:                              
                                                                              
            * O enderec,o IP do cliente SMTP deve possuir um registro de DNS  
              reverso para encaminhar hostnames confirmados.                  
                                                                              
            * O nome completo do host fornecido na conversac,ao SMTP (HELO ou 
              EHLO) deve ser resolvido para o enderec,o IP do cliente.        
                                                                              
          Outros conselhos para ajudar suas mensagens a chegar ao seu destino 
          incluem:                                                            
                                                                              
            * O email deve ser enviado em texto simples, e as mensagens       
              enviadas para as listas de discussao geralmente nao devem ter   
              mais de 200 KB.                                                 
                                                                              
            * Evite postagem cruzadas excessivas. Escolha uma lista de        
              discussao que parec,a mais relevante e envie-a para la.         
                                                                              
          Se voce ainda tiver problemas com a infra-estrutura de e-mail no    
          FreeBSD.org, envie uma observac,ao com os detalhes para             
          <postmaster@freebsd.org>; Inclua um intervalo de data/hora para que 
          os registros possam ser revisados &#8203;&#8203;-- e observe que    
          apenas mantemos uma semana de registros de e-mail. (Certifique-se   
          de especificar o fuso horario ou o deslocamento de UTC.)            
   15.7.  Onde posso conseguir uma conta gratuita FreeBSD?                    
          Embora o FreeBSD nao fornec,a acesso aberto a nenhum de seus        
          servidores, outros fornecem sistemas UNIX(R) de acesso aberto. A    
          taxa varia e servic,os limitados podem estar disponiveis.           
                                                                              
          A Arbornet, Inc , tambem conhecida como M-Net , oferece acesso      
          livre a sistemas UNIX(R) desde 1983. Comec,ando num Altos rodando o 
          System III, o site mudou para o BSD/OS em 1991. Em junho de 2000, o 
          site mudou novamente para o FreeBSD. M-Net pode ser acessado via    
          telnet e SSH e fornece acesso basico a todo o pacote de software    
          FreeBSD. No entanto, o acesso `a rede e limitado a membros e        
          usuarios que doam para o sistema, que e executado como uma          
          organizac,ao sem fins lucrativos. O M-Net tambem oferece um sistema 
          de quadro de avisos e um bate-papo interativo.                      
   15.8.  Qual e o nome do mascotinho vermelho?                               
          Ele nao tem um, e e chamado apenas de "o daemon BSD". Se voce       
          insistir em usar um nome, chame-o de "beastie". Note que "beastie"  
          e pronunciado "BSD".                                                
                                                                              
          Mais informac,oes sobre o daemon BSD estao disponiveis em sua home  
          page.                                                               
   15.9.  Posso usar a imagem do daemon do BSD?                               
          Possivelmente. O daemon BSD tem copyright de Marshall Kirk          
          McKusick. Verifique sua Declarac,ao sobre o Uso da Figura do Daemon 
          do BSD para termos de uso detalhados.                               
                                                                              
          Em resumo, a imagem pode ser usada com bom gosto, para uso pessoal, 
          desde que seja dado o credito apropriado. Antes de usar o logotipo  
          comercialmente, entre em contato com Kirk McKusick                  
          <mckusick@FreeBSD.org> para obter permissao. Mais detalhes estao    
          disponiveis na Home page do BSD Daemon.                             
   15.10. Voces tem alguma imagem BSD daemon que eu poderia usar?             
          Desenhos Xfig e eps estao disponiveis em                            
          /usr/share/examples/BSD_daemon/.                                    
   15.11. Eu vi um acronimo ou outro termo nas listas de discussao e nao      
          entendo o que isso significa. Onde devo procurar?                   
          Consulte o Glossario do FreeBSD.                                    
   15.12. Por que eu deveria me importar com a cor da bikeshed?               
          A resposta realmente curta e que voce nao deveria. A resposta um    
          pouco mais longa e que so porque voce e capaz de construir um       
          bikeshed nao significa que voce deve impedir os outros de construir 
          um so porque voce nao gosta da cor na qual eles planejam pinta-lo.  
          Esta e uma metafora indicando que voce nao precisa discutir sobre   
          cada pequena caracteristica apenas porque voce sabe o suficiente    
          para faze-lo. Algumas pessoas comentaram que a quantidade de ruido  
          gerada por uma mudanc,a e inversamente proporcional `a complexidade 
          da mudanc,a.                                                        
                                                                              
          A resposta mais longa e completa e que depois de uma longa          
          discussao sobre se sleep(1) deve receber argumentos secundarios     
          fracionarios, Poul-Henning Kamp <phk@FreeBSD.org> publicou uma      
          longa mensagem intitulada " Um galpao de bicicleta (qualquer cor    
          serve) na grama mais verde... "As partes apropriadas dessa mensagem 
          sao citadas abaixo.                                                 
                                                                              
            "O que acontece com esse bicicletario? " Alguns de voces me       
            perguntaram.                                                      
                                                                              
            E uma longa historia, ou melhor, e uma historia antiga, mas na    
            verdade e bem curta. C. Northcote Parkinson escreveu um livro     
            no inicio dos anos 1960, chamado "Lei de Parkinson", que contem   
            muitas informac,oes sobre a dinamica da administrac,ao.           
                                                                              
            [recorte um pouco o comentario sobre o livro]                     
                                                                              
            No exemplo especifico envolvendo o bicicletario, o outro          
            componente vital e uma usina atomica, acho que isso ilustra a     
            idade do livro.                                                   
                                                                              
            Parkinson mostra como voce pode entrar na diretoria e obter       
            aprovac,ao para a construc,ao de uma usina de energia atomica     
            multimilionaria ou mesmo bilionaria, mas se voce quiser           
            construir um galpao de bicicleta, voce ficara envolvido em        
            discussoes interminaveis.                                         
                                                                              
            Parkinson explica que isso ocorre porque uma usina atomica e      
            tao vasta, tao cara e tao complicada que as pessoas nao           
            conseguem entende-la e, em vez de tentar, recuam supondo que      
            alguem tenha verificado todos os detalhes antes de chegar tao     
            longe. Richard P. Feynmann da alguns exemplos interessantes, e    
            muito importantes, relacionados a Los Alamos em seus livros.      
                                                                              
            Uma bicicletario por outro lado. Qualquer um pode construir um    
            desses em um fim de semana e ainda ter tempo de assistir ao       
            jogo na TV. Portanto, nao importa o quao bem preparado, nao       
            importa o quao razoavel voce e com a sua proposta, alguem vai     
            aproveitar a chance de mostrar que ele esta fazendo o seu         
            trabalho, que ele esta prestando atenc,ao, que ele esta aqui.     
                                                                              
            Na Dinamarca, chamamos de "definindo sua identidade". E sobre     
            orgulho pessoal e prestigio, e sobre poder apontar para algum     
            lugar e dizer "La! Eu fiz aquilo. " E um trac,o forte nos         
            politicos, mas presente na maioria das pessoas que tem chance.    
            Basta pensar em passos em cimento molhado.                        
                --Poul-Henning Kamp <phk@FreeBSD.org> em freebsd-hackers 2 de 
                                                              outubro de 1999 

                     Capitulo 16. Coisas legais do FreeBSD

   16.1. Quao legal e o FreeBSD?

   16.2. Quem esta coc,ando nos meus bancos de memoria??

   16.3. Quantos hackers do FreeBSD sao necessarios para trocar uma lampada?

   16.4. Onde os dados gravados em /dev/null vao parar?

   16.5. Minha colega fica muito no computador, como eu posso brincar com
   ela?

   16.1. Quao legal e o FreeBSD?                                              
         Q. Alguem fez algum teste de temperatura durante a execuc,ao do      
         FreeBSD? Eu sei que o Linux(R) e mais legal que o DOS, mas nunca vi  
         uma menc,ao ao FreeBSD. Parece ser muito rapido.                     
                                                                              
         R. Nao, mas fizemos numerosos testes de gostos em voluntarios        
         vendados que tambem receberam 250 microgramas de LSD-25              
         administrados antecipadamente. 35% dos voluntarios disseram que o    
         FreeBSD tinha um gosto de um tipo de laranja, enquanto o Linux(R)    
         tinha gosto de nevoa roxa. Nenhum dos grupos mencionou variac,oes    
         significativas na temperatura. Eventualmente nos tivemos que lanc,ar 
         os resultados desta pesquisa completamente de qualquer maneira       
         quando descobrimos que muitos voluntarios estavam vagando fora da    
         sala durante os testes, assim distorcendo os resultados. Nos achamos 
         que a maioria dos voluntarios esta na Apple agora, trabalhando em    
         sua nova GUI "risca e arrisca". E um negocio antigo e engrac,ado em  
         que estamos!                                                         
                                                                              
         Serio, o FreeBSD usa a instruc,ao HLT (halt) quando o sistema esta   
         ocioso, reduzindo assim seu consumo de energia e, portanto, o calor  
         gerado. Alem disso, se voce tiver ACPI (Configurac,ao Avanc,ada e    
         Interface de Energia) configurado, entao o FreeBSD tambem pode       
         colocar a CPU em um modo de baixa energia.                           
   16.2. Quem esta coc,ando nos meus bancos de memoria??                      
         Q. Existe alguma coisa "estranha" que o FreeBSD faz ao compilar o    
         kernel que faria com que a memoria fizesse um som de algo coc,ando?  
         Ao compilar (e por um breve momento depois de reconhecer o drive de  
         disquete na inicializac,ao tambem), um estranho som de algo coc,ando 
         emana do que parecem ser os bancos de memoria.                       
                                                                              
         Sim! Voce vera referencias frequ:entes a "daemons" na documentac,ao  
         do BSD, e o que a maioria das pessoas nao sabe e que isso se refere  
         a entidades genuinas e nao corporais que agora possuem seu           
         computador. O som aspero vindo de sua memoria e, na verdade, um      
         sussurro agudo entre os daemons, pois eles decidem como lidar com    
         varias tarefas de administrac,ao do sistema.                         
                                                                              
         Se o ruido chegar ate voce, um bom fdisk/mbr do DOS ira se livrar    
         deles, mas nao fique surpreso se eles reagirem negativamente e       
         tentarem para-lo. Na verdade, se em algum momento durante o          
         exercicio voce ouvir a voz satanica de Bill Gates vindo do           
         alto-falante embutido, saia correndo e nao olhe para tras! Livres da 
         influencia contrabalanc,adora dos daemons BSD, os demonios gemeos do 
         DOS e Windows(R) sao frequentemente capazes de reafirmar o controle  
         total sobre sua maquina para a danac,ao eterna de sua alma. Agora    
         que voce sabe, dada uma escolha, voce provavelmente preferiria se    
         acostumar com os ruidos asperos, nao?                                
   16.3. Quantos hackers do FreeBSD sao necessarios para trocar uma lampada?  
         Mil, cento e sessenta e nove:                                        
                                                                              
         Vinte e tres para reclamar com -CURRENT sobre as luzes estarem       
         apagadas;                                                            
                                                                              
         Quatro para afirmar que trata-se de um problema de configurac,ao e   
         que tais questoes realmente pertencem a -questions;                  
                                                                              
         Tres para enviar PRs sobre o assunto, uma das quais esta arquivada   
         sob doc e consiste apenas da declarac,ao "esta escuro";              
                                                                              
         Um para cometer uma lampada nao testada que quebra o buildworld, e   
         depois retorna cinco minutos depois;                                 
                                                                              
         Oito para chamar os remetentes de RP por nao incluir patches em seus 
         PRs;                                                                 
                                                                              
         Cinco para reclamar sobre o buildworld sendo quebrado;               
                                                                              
         Trinta e um para responder que funciona para eles, e eles devem ter  
         atualizado em um momento ruim;                                       
                                                                              
         Um para postar um patch para uma nova luz para -hackers;             
                                                                              
         Um para reclamar que ele tinha patches para isso ha tres anos, mas   
         quando ele os enviou para -CURRENT eles foram ignorados, e ele teve  
         mas experiencias com o sistema de PRs; alem disso, a nova luz        
         proposta nao e reflexiva;                                            
                                                                              
         Trinta e sete para gritar que essa luz nao pertencem ao sistema      
         basico, que os committers nao tem o direito de fazer coisas assim    
         sem consultar a Comunidade, e O QUE O -CORE ESTA FAZENDO SOBRE       
         ISSO!?                                                               
                                                                              
         Duzentos para reclamar da cor do bicicletario;                       
                                                                              
         Tres para salientar que o patch quebra o style(9);                   
                                                                              
         Dezessete para reclamar que a nova luz proposta esta sob a GPL;      
                                                                              
         Quinhentos e oitenta e seis para iniciar uma guerra contra as        
         vantagens comparativas da GPL, da licenc,a da BSD, da licenc,a do    
         MIT, da NPL e da higiene pessoal dos fundadores da FSF, que nao sao  
         nomeados;                                                            
                                                                              
         Sete para mover varias partes do segmento para -chat e -vocacy;      
                                                                              
         Um para comitar a luz sugerida, mesmo que ela seja mais escura que a 
         antiga;                                                              
                                                                              
         Dois para recuar com uma chama furiosa de uma mensagem de commit,    
         argumentando que o FreeBSD esta melhor no escuro do que com uma      
         lampada fraca;                                                       
                                                                              
         Quarenta e seis para argumentar veementemente sobre o apoio da luz   
         fraca e exigir uma declarac,ao do alto desempenho;                   
                                                                              
         Onze para solicitar uma lampada menor para que ela caiba em seu      
         Tamagotchi se decidirmos portar o FreeBSD para essa plataforma;      
                                                                              
         Setenta e tres para reclamar sobre o SNR em -chackers e -chat e      
         cancelar a inscric,ao em protesto;                                   
                                                                              
         Treze para postar "cancelar a inscric,ao", " Como posso cancelar a   
         inscric,ao? ", ou "Por favor, remova-me da lista", seguido do rodape 
         habitual;                                                            
                                                                              
         Um para comitar uma lampada de trabalho enquanto todos estao         
         ocupados demais chamando a atenc,ao de todos os outros para esse     
         commit;                                                              
                                                                              
         Trinta e um para salientar que a nova lampada iria brilhar 0,364% a  
         mais se compilada com TenDRA (embora tenha que ser reformulada em um 
         cubo), e que o FreeBSD deve, portanto, mudar para TenDRA ao inves de 
         GCC;                                                                 
                                                                              
         Um para reclamar que a nova lampada nao tem carenagem;               
                                                                              
         Nove (incluindo os criadores de PRs) para perguntar "o que e o       
         MFC?";                                                               
                                                                              
         Cinquenta e sete para se queixar das luzes apagadas duas semanas     
         depois de a lampada ter sido trocada.                                
                                                                              
         Nik Clayton< nik@FreeBSD.org > acrescenta:                           
                                                                              
         Eu estava rindo bastante disso.                                      
                                                                              
         E entao eu pensei, " Espere, nao deveria haver '1 para documentar    
         isso.' nessa lista em algum lugar? "                                 
                                                                              
         E entao eu fui iluminado :-)                                         
                                                                              
         Thomas Abthorpe < tabthorpe@FreeBSD.org > diz: " Nenhum, um hacker   
         real do FreeBSD nao tem medo do escuro! "                            
   16.4. Onde os dados gravados em /dev/null vao parar?                       
         Ele entra em um coletor de dados especial na CPU, onde e convertido  
         em calor que e ventilado atraves do conjunto do dissipador de calor  
         / ventilador. E por isso que o resfriamento da CPU e cada vez mais   
         importante; A medida que as pessoas se acostumam com processadores   
         mais rapidos, elas se tornam descuidadas com seus dados e mais e     
         mais delas acabam no /dev/null, superaquecendo suas CPUs. Se voce    
         apagar /dev/null (o que efetivamente desativa o dissipador de dados  
         da CPU) sua CPU pode ficar mais fria, mas seu sistema rapidamente    
         ficara constipado com todos esses dados em excesso e comec,ara a se  
         comportar de maneira irregular. Se voce tem uma conexao de rede      
         rapida, pode resfriar sua CPU lendo dados de /dev/random e envia-los 
         para algum lugar; No entanto, voce corre o risco de superaquecer sua 
         conexao de rede e / ou irritar seu ISP, pois a maioria dos dados     
         acabara sendo convertida em calor pelo equipamento, mas eles         
         geralmente tem um bom resfriamento, entao se voce nao exagere voce   
         deve estar bem.                                                      
                                                                              
         Paul Robinson acrescenta:                                            
                                                                              
         Existem outros metodos. Como todo bom administrador de sistemas      
         sabe, e parte da pratica padrao enviar dados para a tela de          
         variedade interessante para manter todos os pixies que compoem sua   
         imagem felizes. Os duendes de tela (comumente com erros de           
         digitac,ao ou renomeados como "pixels") sao categorizados pelo tipo  
         de chapeu que usam (vermelho, verde ou azul) e serao ocultados ou    
         exibidos (mostrando a cor do chapeu ) sempre que recebem um pequeno  
         pedac,o de comida. Placas de video transformam dados em comida de    
         duende, e entao os enviam para os duendes - quanto mais cara a       
         carta, melhor a comida, entao e melhor que os pixies se comportem    
         melhor. Eles tambem precisam de estimulo constante - e por isso que  
         existem protec,oes de tela.                                          
                                                                              
         Para levar suas sugestoes adiante, voce poderia simplesmente jogar   
         os dados aleatorios no console, permitindo que os duendes os         
         consumam. Isso faz com que nenhum calor seja produzido, mantem os    
         pixies felizes e se livra de seus dados rapidamente, mesmo que isso  
         fac,a as coisas parecerem um pouco confusas na sua tela.             
                                                                              
         Incidentalmente, como um ex-administrador de um grande ISP que teve  
         muitos problemas ao tentar manter uma temperatura estavel em uma     
         sala de servidores, eu desencorajaria fortemente as pessoas que      
         enviam os dados que nao querem para a rede. As fadas que fazem a     
         troca e o encaminhamento de pacotes tambem se irritam com isso.      
   16.5. Minha colega fica muito no computador, como eu posso brincar com     
         ela?                                                                 
         Instale o games/sl e espere ela digitar sl para ls.                  

                        Capitulo 17. Topicos Avanc,ados

   17.1. Como posso aprender mais sobre os componentes internos do FreeBSD?

   17.2. Como posso contribuir para o FreeBSD? O que posso fazer para ajudar?

   17.3. O que sao Snapshots e Releases?

   17.4. Como posso aproveitar ao maximo os dados que vejo quando meu kernel
   entra em panic?

   17.5. Por que dlsym() parou de funcionar para executaveis
   &#8203;&#8203;ELF?

   17.6. Como posso aumentar ou reduzir o espac,o de enderec,amento do kernel
   em uma maquina i386?

17.1. Como posso aprender mais sobre os componentes internos do FreeBSD?          
      Veja o Handbook de Arquitetura do FreeBSD .                                 
                                                                                  
      Alem disso, muito do conhecimento geral sobre o UNIX(R) e diretamente       
      aplicavel ao FreeBSD.                                                       
17.2. Como posso contribuir para o FreeBSD? O que posso fazer para ajudar?        
      Nos aceitamos todos os tipos de contribuic,oes: documentac,ao, codigo e ate 
      mesmo arte. Veja o artigo Contribuindo com o FreeBSD para obter maiores     
      informac,oes sobre como fazer isso.                                         
                                                                                  
      E obrigado por considerar nos ajudar!                                       
17.3. O que sao Snapshots e Releases?                                             
      Atualmente existem 3 branches ativas/semi-ativas no Repositorio Subversion  
      do FreeBSD. (Os branches anteriores sao alterados muito raramente, e e por  
      isso que existem apenas 3 branches ativas de desenvolvimento):              
                                                                                  
        * stable/11/ AKA 11-STABLE                                                
                                                                                  
        * stable/12/ AKA 12-STABLE                                                
                                                                                  
        * head/ AKA -CURRENT AKA 13-CURRENT                                       
                                                                                  
      HEAD nao e uma tag de branch real. E uma constante simbolica para o fluxo   
      de desenvolvimento atual, nao ramificado, conhecido como -CURRENT.          
                                                                                  
      No momento, o -CURRENT e o fluxo de desenvolvimento 13.X; o branch          
      12-STABLE, stable/12/, derivou do -CURRENT em Dezembro de 2018 e o branch   
      &#8203;&#8203;11-STABLE,stable/11/, derivou do -CURRENT em Outubro de 2016. 
17.4. Como posso aproveitar ao maximo os dados que vejo quando meu kernel entra   
      em panic?                                                                   
      Aqui esta um panic tipico do kernel:                                        
                                                                                  
      Fatal trap 12: page fault while in kernel mode                              
      fault virtual address   = 0x40                                              
      fault code              = supervisor read, page not present                 
      instruction pointer     = 0x8:0xf014a7e5                                    
      stack pointer           = 0x10:0xf4ed6f24                                   
      frame pointer           = 0x10:0xf4ed6f28                                   
      code segment            = base 0x0, limit 0xfffff, type 0x1b                
                              = DPL 0, pres 1, def32 1, gran 1                    
      processor eflags        = interrupt enabled, resume, IOPL = 0               
      current process         = 80 (mount)                                        
      interrupt mask          =                                                   
      trap number             = 12                                                
      panic: page fault                                                           
                                                                                  
      Esta mensagem nao e suficiente. Embora o valor do ponteiro de instruc,ao    
      seja importante, ele tambem depende da configurac,ao, pois varia dependendo 
      da imagem do kernel. Se for uma imagem de kernel GENERIC de um dos          
      snapshots, e possivel que alguem rastreie a func,ao problematica, mas para  
      um kernel personalizado, somente voce pode nos dizer onde a falha ocorreu.  
                                                                                  
      Para prosseguir:                                                            
                                                                                  
       1. Anote o valor do ponteiro de instruc,ao. Note que a parte 0x8: no       
          comec,o nao e relevante neste caso: e a parte 0xf0xxxxxx que nos        
          queremos.                                                               
                                                                                  
       2. Quando o sistema for reinicializado, fac,a o seguinte:                  
                                                                                  
       % nm -n kernel.that.caused.the.panic | grep f0xxxxxx                       
                                                                                  
          no qual f0xxxxxx e o valor do ponteiro de instruc,ao. As probabilidades 
          sao de que voce nao obtera uma correspondencia exata, pois os simbolos  
          na tabela de simbolos do kernel sao para os pontos de entrada das       
          func,oes e o enderec,o do ponteiro de instruc,ao estara em algum lugar  
          dentro de uma func,ao, nao no inicio. Se voce nao obtiver uma           
          correspondencia exata, omita o ultimo digito do valor do ponteiro de    
          instruc,ao e tente novamente:                                           
                                                                                  
       % nm -n kernel.that.caused.the.panic | grep f0xxxxx                        
                                                                                  
          Se isso nao produzir nenhum resultado, corte outro digito. Repita ate   
          que haja algum tipo de saida. O resultado sera uma possivel lista das   
          func,oes que causaram o panic. Este e um mecanismo menos do que exato   
          para rastrear o ponto de falha, mas e melhor do que nada.               
                                                                                  
      No entanto, a melhor maneira de rastrear a causa de um panic e capturar um  
      despejo de memoria e usar o kgdb(1) para gerar um rastreamento de pilha no  
      despejo de memoria.                                                         
                                                                                  
      Em qualquer caso, o metodo e este:                                          
                                                                                  
       1. Certifique-se de que a seguinte linha esteja incluida no arquivo de     
          configurac,ao do kernel:                                                
                                                                                  
       makeoptions     DEBUG=-g          # Build kernel with gdb(1) debug symbols 
                                                                                  
       2. Mude para o diretorio /usr/src:                                         
                                                                                  
       # cd /usr/src                                                              
                                                                                  
       3. Compile o kernel:                                                       
                                                                                  
       # make buildkernel KERNCONF=MYKERNEL                                       
                                                                                  
       4. Aguarde ate o make(1) terminar a compilac,ao.                           
                                                                                  
       5. # make installkernel KERNCONF=MYKERNEL                                  
                                                                                  
       6. Reinicie.                                                               
                                                                                  
        Nota:                                                                     
                                                                                  
      Se a variavel KERNCONF nao for informada na linha de comando, o kernel      
      GENERIC sera compilado e instalado.                                         
                                                                                  
      O processo make(1) tera compilado dois kernels. O                           
      /usr/obj/usr/src/sys/MYKERNEL/kernel e o                                    
      /usr/obj/usr/src/sys/MYKERNEL/kernel.debug . O kernel foi instalado como    
      /boot/kernel/kernel, enquanto o kernel.debug pode ser usado como fonte de   
      simbolos de depurac,ao para o kgdb(1).                                      
                                                                                  
      Para capturar um despejo de memoria, edite o /etc/rc.conf e defina o        
      dumpdev para apontar para a partic,ao de swap ou para AUTO. Isso fara com   
      que os scripts rc(8) usem o comando dumpon(8) para ativar os despejos de    
      memoria. Este comando tambem pode ser executado manualmente. Apos um panic, 
      o despejo de memoria pode ser recuperado usando o savecore(8); se o dumpdev 
      estiver configurado em /etc/rc.conf, os scripts rc(8) executarao o          
      savecore(8) automaticamente e colocarao o despejo de memoria em /var/crash. 
                                                                                  
        Nota:                                                                     
                                                                                  
      Os despejos de memoria do FreeBSD sao geralmente do mesmo tamanho que a RAM 
      fisica. Portanto, verifique se ha espac,o suficiente em /var/crash para     
      manter o despejo. Como alternativa, execute savecore(8) manualmente e fac,a 
      com que recupere o despejo de memoria para outro diretorio com mais         
      espac,o. E possivel limitar o tamanho do despejo de memoria usando options  
      MAXMEM=N onde N e o tamanho da memoria utilizada do kernel em KBs. Por      
      exemplo, para 1 GB de RAM, limite o uso de memoria pelo kernel a 128 MB,    
      para que o tamanho do despejo de memoria seja de 128 MB em vez de 1 GB.     
                                                                                  
      Depois que o despejo de memoria for recuperado, obtenha um rastreamento de  
      pilha da seguinte maneira:                                                  
                                                                                  
      % kgdb /usr/obj/usr/src/sys/MYKERNEL/kernel.debug /var/crash/vmcore.0       
      (kgdb) backtrace                                                            
                                                                                  
      Note que pode haver varias telas de informac,ao valiosa. Idealmente, use    
      script(1) para capturar todas elas. Usar a imagem do kernel unstripped com  
      todos os simbolos de depurac,ao deve mostrar a linha exata do codigo fonte  
      do kernel onde o panic ocorreu. O rastreamento de pilha geralmente e lido   
      de baixo para cima para rastrear a sequencia exata de eventos que levam `a  
      falha. O kgdb(1) tambem pode ser usado para imprimir o conteudo de varias   
      variaveis &#8203;&#8203;ou estruturas para examinar o estado do sistema no  
      momento da falha.                                                           
                                                                                  
        Dica:                                                                     
                                                                                  
      Se um segundo computador estiver disponivel, o kgdb(1) pode ser configurado 
      para fazer uma depurac,ao remota, incluindo pontos de interrupc,ao de       
      configurac,ao e passos unicos atraves do codigo do kernel.                  
                                                                                  
        Nota:                                                                     
                                                                                  
      Se o DDB estiver habilitado e o kernel cair no depurador, um panic e um     
      despejo de memoria podem ser forc,ados digitando panic no prompt do ddb. O  
      processo pode parar no depurador novamente durante a fase de panic. Se isso 
      acontecer, digite continue e ele concluira o despejo de memoria.            
17.5. Por que dlsym() parou de funcionar para executaveis &#8203;&#8203;ELF?      
      A toolchain ELF nao faz, por padrao, os simbolos definidos em um executavel 
      visiveis para o vinculador dinamico. Consequentemente, a busca da func,ao   
      dlsym() por identificadores obtidos de chamadas para dlopen(NULL, flags)    
      nao conseguira encontrar tais simbolos.                                     
                                                                                  
      Para pesquisar, usando a func,ao dlsym(), os simbolos presentes no          
      executavel principal de um processo, vincule o executavel usando a opc,ao - 
      export-dynamic ao vinculador ELF (ld(1)).                                   
17.6. Como posso aumentar ou reduzir o espac,o de enderec,amento do kernel em uma 
      maquina i386?                                                               
      Por padrao, o espac,o de enderec,o do kernel e de 1 GB (2 GB para PAE) para 
      a arquitetura i386. Se voce estiver executando um servidor com uso          
      intensivo de rede ou utilizando o ZFS, isso provavelmente nao sera          
      suficiente.                                                                 
                                                                                  
      Adicione a seguinte linha ao arquivo de configurac,ao do kernel para        
      aumentar o espac,o disponivel e recompile o kernel:                         
                                                                                  
      options KVA_PAGES=N                                                         
                                                                                  
      Para encontrar o valor correto de N, divida o tamanho do espac,o de         
      enderec,o desejado (em megabytes) por quatro. (Por exemplo, e 512 para 2    
      GB.)                                                                        

                          Capitulo 18. Agradecimentos

   Este inocente documento de Perguntas Frequentes foi escrito, reescrito,
   editado, dobrado, fustigado, mutilado, eviscerado, contemplado,
   desconcertado, cogitado, regurgitado, reconstruido, castigado e revigorado
   na ultima decada, por um elenco de centenas, se nao milhares de
   voluntarios. Repetidamente.

   Gostariamos de agradecer a cada uma das pessoas responsaveis, e nos o
   encorajamos a se juntar a eles para tornar este FAQ ainda melhor.
