aboutsummaryrefslogtreecommitdiff
path: root/pt_BR.ISO8859-1/books
diff options
context:
space:
mode:
authorMario Sergio Fujikawa Ferreira <lioux@FreeBSD.org>2002-10-01 02:58:47 +0000
committerMario Sergio Fujikawa Ferreira <lioux@FreeBSD.org>2002-10-01 02:58:47 +0000
commita43544e01c102056a15ed3337e165513d525547e (patch)
tree7ee482ef04a7ef1becd5431be4b437ec2ee9e852 /pt_BR.ISO8859-1/books
parent6ae52cc8de3b4eddf1156987a4142c10a8bacbb4 (diff)
downloaddoc-a43544e01c102056a15ed3337e165513d525547e.tar.gz
doc-a43544e01c102056a15ed3337e165513d525547e.zip
Add Brazilian Portuguese translated version
Reviewed by: blackend, keramida, phantom (in principle) Approved by: phantom (mentor) Obtained from: The FreeBSD Brazilian Portuguese Documentation Project Original revision: 1.456
Notes
Notes: svn path=/head/; revision=14447
Diffstat (limited to 'pt_BR.ISO8859-1/books')
-rw-r--r--pt_BR.ISO8859-1/books/faq/book.sgml15732
1 files changed, 15732 insertions, 0 deletions
diff --git a/pt_BR.ISO8859-1/books/faq/book.sgml b/pt_BR.ISO8859-1/books/faq/book.sgml
new file mode 100644
index 0000000000..43d83fdae5
--- /dev/null
+++ b/pt_BR.ISO8859-1/books/faq/book.sgml
@@ -0,0 +1,15732 @@
+<!--
+ The FreeBSD Documentation Project
+ The FreeBSD Brazilian Portuguese Documentation Project
+
+ Original revision: 1.456
+
+ $FreeBSD$
+-->
+
+<!DOCTYPE BOOK PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
+<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN">
+%man;
+<!ENTITY % freebsd PUBLIC "-//FreeBSD//ENTITIES DocBook Miscellaneous FreeBSD Entities//EN">
+%freebsd;
+<!ENTITY % authors PUBLIC "-//FreeBSD//ENTITIES DocBook Author Entities//EN">
+%authors;
+<!ENTITY % teams PUBLIC "-//FreeBSD//ENTITIES DocBook Team Entities//PTBR">
+%teams;
+
+<!ENTITY % bookinfo PUBLIC "-//FreeBSD//ENTITIES DocBook BookInfo Entities//PTBR">
+%bookinfo;
+
+<!ENTITY % mailing-lists PUBLIC "-//FreeBSD//ENTITIES DocBook Mailing List Entities//PTBR">
+%mailing-lists;
+
+<!ENTITY % words PUBLIC "-//FreeBSD//ENTITIES DocBook Specific Word Translations Entities//PTBR">
+%words;
+
+<!ENTITY bibliography SYSTEM "../../share/sgml/bibliography.sgml">
+]>
+
+<book>
+ <bookinfo>
+ <title>Perguntas mais freq&uuml;entes sobre FreeBSD 2.X, 3.X e
+ 4.X</title>
+
+ <corpauthor>Projeto de Documenta&ccedil;&atilde;o do FreeBSD</corpauthor>
+
+ <pubdate>$FreeBSD$</pubdate>
+
+ <copyright>
+ <year>1995</year>
+ <year>1996</year>
+ <year>1997</year>
+ <year>1998</year>
+ <year>1999</year>
+ <year>2000</year>
+ <year>2001</year>
+ <year>2002</year>
+ <holder>Projeto de Documenta&ccedil;&atilde;o do FreeBSD</holder>
+ </copyright>
+
+ &bookinfo.legalnotice;
+
+ <abstract>
+ <para>Estas s&atilde;o as Perguntas Mais Freq&uuml;entes
+ (<literal>FAQ</literal>) para as vers&otilde;es 2.X, 3.X e 4.X
+ do FreeBSD. Deve-se assumir que todos os assuntos aqui
+ tratados s&atilde;o relevantes para FreeBSD 2.0.5 ou
+ posterior, a n&atilde;o ser que o contr&aacute;rio esteja
+ explicitamente denotado. Todos os assuntos assinalados com
+ &lt;XXX&gt; est&atilde;o em processo de desenvolvimento. Se
+ voc&ecirc; estiver interessado em ajudar este projeto, envie
+ e-mail para &a.doc;. A vers&atilde;o mais atualizada deste
+ documento est&aacute; sempre dispon&iacute;vel no <ulink
+ URL="../../../../index.html">servidor WWW do
+ FreeBSD</ulink>. Tamb&eacute;m pode ser obtida como um
+ &uacute;nico grande arquivo <ulink
+ URL="book.html">HTML</ulink> via HTTP; ou, como texto puro,
+ ou nos formatos postscript, PDF, etc. no <ulink
+ url="ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/">servidor FTP do
+ FreeBSD</ulink>. Voc&ecirc; tamb&eacute;m pode querer
+ <ulink URL="../../../../search/index.html">realizar uma busca
+ nas Perguntas Mais Freq&uuml;entes
+ (<literal>FAQ</literal>)</ulink>.</para>
+ </abstract>
+ </bookinfo>
+
+ <chapter id="introduction">
+ <title>Introdu&ccedil;&atilde;o</title>
+
+ <para>Bem vindo &agrave;s Perguntas Mais Freq&uuml;entes
+ (<literal>FAQ</literal>) para as vers&otilde;es 2.X &agrave; 4.X
+ do FreeBSD!</para>
+
+ <para>Como &eacute; de costume em Perguntas Mais Freq&uuml;entes
+ (<literal>FAQ</literal>) da Usenet, este documento pretende
+ cobrir as perguntas mais freq&uuml;entes relacionadas ao sistema
+ operacional FreeBSD (e claro, respond&ecirc;-las todas!).
+ Embora originalmente tais documentos tivessem apenas a
+ finalidade de reduzir a utiliza&ccedil;&atilde;o da largura de
+ banda da rede ao evitar que o mesmo tipo de pergunta antiga
+ fosse sempre repetida, <literal>FAQs</literal> tornaram-se
+ reconhecidamente uma fonte valiosa de
+ informa&ccedil;&otilde;es.</para>
+
+ <para>In&uacute;meros esfor&ccedil;os foram feitos para tornar
+ este <literal>FAQ</literal> o mais informativo poss&iacute;vel;
+ se voc&ecirc; tiver alguma sugest&atilde;o de como esse
+ documento pode ser melhorado, sinta-se a vontade para enviar
+ suas sugest&otilde;es por e-mail para o &a.faq;.</para>
+
+ <qandaset>
+ <qandaentry>
+ <question id="what-is-FreeBSD">
+ <para>O que &eacute; FreeBSD?</para>
+ </question>
+
+ <answer>
+ <para>Em s&iacute;ntese, FreeBSD &eacute; um sistema
+ operacional <foreignphrase>UN*X-like</foreignphrase> para
+ plataformas i386 e Alpha/AXP, baseado no
+ <quote>4.4BSD-Lite</quote> da Universidade da
+ Calif&oacute;rnia em Berkeley, com alguns aprimoramentos
+ adotados do <quote>4.4BSD-Lite2</quote>. O FreeBSD
+ tamb&eacute;m &eacute; baseado, indiretamente, na
+ convers&atilde;o de William Jolitz conhecida como
+ <quote>386BSD</quote> para a plataforma i386 do
+ <quote>Net/2</quote> da Universidade da Calif&oacute;rnia,
+ em Berkeley; apesar que pouqu&iacute;ssimo c&oacute;digo
+ originado do 386BSD ainda exista no FreeBSD. Uma
+ descri&ccedil;&atilde;o mais abrangente do que &eacute;
+ FreeBSD e como o sistema funciona, pode ser encontrada na
+ <ulink URL="../../../../index.html">p&aacute;gina
+ principal do FreeBSD</ulink>.</para>
+
+ <para>O FreeBSD &eacute; amplamente utilizado por empresas,
+ Provedores de Servi&ccedil;o Internet, pesquisadores,
+ profissionais de inform&aacute;tica, estudantes e
+ usu&aacute;rios dom&eacute;sticos no mundo todo, para
+ trabalho, educa&ccedil;&atilde;o e
+ recrea&ccedil;&atilde;o. Alguns destes exemplos podem ser
+ observados na <ulink
+ URL="../../../../gallery/index.html">Galeria
+ FreeBSD,</ulink>.</para>
+
+ <para>Para informa&ccedil;&otilde;es mais detalhadas sobre o
+ FreeBSD, por favor, leia o <ulink
+ URL="../handbook/index.html">&a.ptbr.p.handbook;</ulink>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="FreeBSD-goals">
+ <para>Qual o objetivo do Projeto FreeBSD?</para>
+ </question>
+
+ <answer>
+ <para>O objetivo do Projeto FreeBSD &eacute; oferecer
+ <foreignphrase>software</foreignphrase> que possa ser
+ utilizado para qualquer finalidade e sem
+ obriga&ccedil;&otilde;es anexadas &agrave; esse
+ c&oacute;digo. Muitos de n&oacute;s investimos
+ significantemente no c&oacute;digo (e no projeto como um
+ todo), e com certeza n&atilde;o nos importar&iacute;amos
+ em receber algum tipo de compensa&ccedil;&atilde;o
+ financeira neste momento ou qualquer outro no futuro, mas
+ ningu&eacute;m no projeto insistir&aacute; nisso.
+ Acreditamos que a nossa primeira e mais importante
+ miss&atilde;o &eacute; oferecer c&oacute;digo para toda e
+ qualquer pessoa, que possa ser utilizado para qualquer
+ prop&oacute;sito, de forma que esse c&oacute;digo
+ ofere&ccedil;a o maior n&uacute;mero poss&iacute;vel de
+ benef&iacute;cios e formas de uso. N&oacute;s acreditamos
+ que este &eacute; um dos objetivos fundamentais do
+ <foreignphrase>Software</foreignphrase> Livre, e &eacute;
+ um dos quais n&oacute;s apoiamos com entusiasmo.</para>
+
+ <para>O c&oacute;digo fonte em nossa &aacute;rvore que
+ &eacute; distribu&iacute;do sob a <ulink
+ url="http://www.FreeBSD.org/copyright/COPYING">Licen&ccedil;a
+ P&uacute;blica Geral GNU (GPL)</ulink> ou sob a <ulink
+ url="http://www.FreeBSD.org/copyright/COPYING.LIB">
+ Licen&ccedil;a P&uacute;blica Geral de Bibliotecas GNU
+ (LGPL)</ulink> inclue, pode-se dizer, algumas
+ obriga&ccedil;&otilde;es anexadas a ele; contudo tais
+ restri&ccedil;&otilde;es visam garantir o acesso livre a
+ esse c&oacute;digo, e n&atilde;o o contr&aacute;rio.
+ Devido &agrave; complexidades adicionais que envolvem a
+ utiliza&ccedil;&atilde;o comercial de software licenciado
+ sob GPL, n&oacute;s procuramos substituir tais softwares
+ sob a mais relaxada <ulink
+ url="http://www.FreeBSD.org/copyright/freebsd-license.html">licen&ccedil;a
+ de direito autoral FreeBSD</ulink> sempre que
+ poss&iacute;vel;.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="bsd-license-restrictions">
+ <para>A licen&ccedil;a FreeBSD tem alguma
+ restri&ccedil;&atilde;o?</para>
+ </question>
+
+ <answer>
+ <para>Sim. Entrentanto, essas restri&ccedil;&otilde;es
+ n&atilde;o definem regras a respeito de como o
+ c&oacute;digo deve ser utilizado, mas de como voc&ecirc;
+ deve tratar o Projeto FreeBSD ao utilizar c&oacute;digo
+ distribu&iacute;do pelo mesmo. Se voc&ecirc; tem
+ s&eacute;rias d&uacute;vidas sobre o licen&ccedil;iamento,
+ sinta-se a vontade para ler a <ulink
+ url="http://www.FreeBSD.org/copyright/freebsd-license.html">
+ licen&ccedil;a</ulink>. Para os meramente curiosos, a
+ licen&ccedil;a pode ser resumida em:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>N&atilde;o alegue que o c&oacute;digo foi escrito
+ por voc&ecirc;.</para>
+ </listitem>
+
+ <listitem>
+ <para>N&atilde;o nos processe se o c&oacute;digo
+ falhar.</para>
+ </listitem>
+ </itemizedlist>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="replace-current-OS">
+ <para>O FreeBSD pode substituir meu sistema operacional
+ atual?</para>
+ </question>
+
+ <answer>
+ <para>Para maioria das pessoas, sim. Mas essa n&atilde;o
+ &eacute; uma pergunta t&atilde;o simples assim.</para>
+
+ <para>A maioria das pessoas, na verdade, n&atilde;o utiliza
+ um sistema operacional. As aplica&ccedil;&otilde;es
+ utilizadas pelos usu&aacute;rios &eacute; que realmente
+ usam o sistema operacional. O FreeBSD &eacute; projetado
+ de forma a oferecer um ambiente robusto e completo para as
+ aplica&ccedil;&otilde;es. Suporta uma enorme variedade de
+ navegadores internet, de su&iacute;tes de
+ escrit&oacute;rio, clientes de e-mail, programas de
+ manipula&ccedil;&atilde;o gr&aacute;fica, ambientes de
+ programa&ccedil;&atilde;o, servidores e servi&ccedil;os de
+ rede, e praticamente tudo mais que voc&ecirc; pode
+ desejar. A maioria destas aplica&ccedil;&otilde;es podem
+ ainda ser gerenciadas atrav&eacute;s da <ulink
+ url="http://www.freebsd.org/ports/">Cole&ccedil;&atilde;o
+ de <literal>Ports</literal></ulink>.</para>
+
+ <para>Em circunst&acirc;ncias nas quais precise usar uma
+ aplica&ccedil;&atilde;o dispon&iacute;vel apenas para um
+ determinado sistema operacional, n&atilde;o &eacute;
+ poss&iacute;vel substituir aquele sistema operacional.
+ Entretanto, h&aacute; uma boa chance que alguma
+ aplica&ccedil;&atilde;o similar &agrave; que voc&ecirc;
+ precisa, exista para FreeBSD. Se voc&ecirc; quer ter,
+ desde um s&oacute;lido conjunto de
+ aplica&ccedil;&otilde;es para escrit&oacute;rio,
+ at&eacute; um robusto e altamente escal&aacute;vel
+ servidor Internet, ou simplesmente uma
+ esta&ccedil;&atilde;o de trabalho confi&aacute;vel, onde
+ voc&ecirc; possa realizar seu trabalho sem
+ interrup&ccedil;&otilde;es, FreeBSD provavelmente vai
+ suprir todas as suas necessidades. In&uacute;meras
+ pessoas pelo mundo todo, desde usu&aacute;rios novatos
+ &agrave; administradores de sistemas UNIX experientes usam
+ FreeBSD como seu &uacute;nico sistema operacional para
+ <foreignphrase>desktop</foreignphrase>.</para>
+
+ <para>Se voc&ecirc; est&aacute; migrando para FreeBSD a
+ partir de algum outro ambiente UNIX, provavelmente
+ j&aacute; sabe quase tudo o que precisa pra come&ccedil;ar
+ a se envolver com o sistema. Entretanto, se o seu
+ hist&oacute;rico em computa&ccedil;&atilde;o envolveu
+ somente sistemas operacionais baseados em ambientes
+ gr&aacute;ficos como Windows e antigos Mac OS, ser&aacute;
+ necess&aacute;rio investir algum tempo a mais aprendendo a
+ maneira UNIX de fazer as coisas. Este
+ <literal>FAQ</literal> e o <ulink
+ url="../handbook/index.html">&a.ptbr.p.handbook;</ulink>
+ s&atilde;o excelentes formas de come&ccedil;ar sua
+ jornada.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="why-called-FreeBSD">
+ <para>Por que o sistema se chama FreeBSD?</para>
+ </question>
+
+ <answer>
+ <itemizedlist>
+ <listitem>
+ <para>Pode ser utilizado sem nenhum encargo
+ monet&aacute;rio, inclusive para uso comercial.</para>
+ </listitem>
+
+ <listitem>
+ <para>O c&oacute;digo fonte completo do sistema
+ operacional &eacute; livremente distribu&iacute;do, e
+ pode ser adquirido gratuitamente. O menor
+ n&uacute;mero poss&iacute;vel de
+ restri&ccedil;&otilde;es foram colocadas sobre o uso
+ do sistema, sua distribui&ccedil;&atilde;o e sua
+ incorpora&ccedil;&atilde;o &agrave; outro projeto
+ (comercial ou n&atilde;o).</para>
+ </listitem>
+
+ <listitem>
+ <para>Qualquer pessoa que tiver feito alguma
+ corre&ccedil;&atilde;o ou aprimoramento do
+ c&oacute;digo do sistema pode livremente enviar suas
+ altera&ccedil;&otilde;es e ter seu c&oacute;digo
+ adicionado &agrave; &aacute;rvore de c&oacute;digo
+ fonte do sistema (obviamente sujeito a pr&eacute;vias
+ an&aacute;lises).</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>&Eacute; importante ressaltar que a palavra de origem
+ inglesa <quote>free</quote> em portugu&ecirc;s pode ser
+ traduzida como <quote>livre</quote> e
+ <quote>gratuito</quote>. Al&eacute;m disso, a palavra
+ <quote>free</quote> est&aacute; sendo usada aqui com dois
+ significados: <quote>sem custo</quote> e <quote>voc&ecirc;
+ pode fazer o que quiser</quote>. <quote>Free</quote> no
+ nome do sistema operacional remete aos dois significados
+ da palavra. O sistema pode ser utilizado <quote>sem
+ nenhum custo</quote>, e pode ser utilizado <quote>da
+ forma que voc&ecirc; quiser</quote>. Exceto por algumas
+ poucas coisinhas que voc&ecirc; n&atilde;o pode fazer com
+ o FreeBSD (por exemplo, fingir que foi voc&ecirc; quem o
+ escreveu), voc&ecirc; pode realmente fazer o que bem
+ entender com o sistema.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="latest-version">
+ <para>Qual a vers&atilde;o mais recente do FreeBSD?</para>
+ </question>
+
+ <answer>
+ <para>A vers&atilde;o <ulink
+ URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel.current;-RELEASE/">&rel.current;</ulink>
+ &eacute; a vers&atilde;o <emphasis>RELEASE</emphasis> mais
+ recente; lan&ccedil;ada em &rel.current.date;. Esta
+ tamb&eacute;m &eacute; a vers&atilde;o
+ <emphasis>STABLE</emphasis> mais recente.</para>
+
+ <para>Resumidamente, <emphasis>-STABLE</emphasis> &eacute; a
+ s&eacute;rie voltada para Provedores de Servi&ccedil;o de
+ Internet, usu&aacute;rios corporativos, ou qualquer
+ usu&aacute;rio que deseje estabilidade e um n&uacute;mero
+ m&iacute;nimo de altera&ccedil;&otilde;es e novas
+ caracter&iacute;sticas adotadas do
+ <foreignphrase>snapshot</foreignphrase>
+ <emphasis>-CURRENT</emphasis>. Lan&ccedil;amentos podem
+ vir de qualquer um dos ramos de desenvolvimento; a
+ s&eacute;rie <emphasis>-CURRENT</emphasis>, todavia,
+ deveria ser utilizada apenas por usu&aacute;rios
+ preparados para um ambiente em constante
+ modifica&ccedil;&atilde;o, inst&aacute;vel em muitas de
+ suas caracter&iacute;sticas e extremamente sem garantias
+ (ao menos, quando comparado ao
+ <emphasis>-STABLE</emphasis>).</para>
+
+ <para>Lan&ccedil;amentos s&atilde;o realizados <link
+ linkend="release-freq">de alguns em alguns meses</link>.
+ Muitos usu&aacute;rios mant&eacute;m o c&oacute;digo fonte
+ de seus sistemas em mais sincronia com a &aacute;rvore de
+ desenvolvimento do FreeBSD (veja as perguntas sobre <link
+ linkend="current">FreeBSD-CURRENT</link> e <link
+ linkend="stable">FreeBSD-STABLE</link>) que isto, fazer
+ isto &eacute; uma demonstra&ccedil;&atilde;o de interesse
+ e compromisso visto que o c&oacute;digo fonte sofre
+ constantes modifica&ccedil;&otilde;es.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="current">
+ <para>O que &eacute; FreeBSD-CURRENT?</para>
+ </question>
+
+ <answer>
+ <para><ulink
+ URL="../handbook/cutting-edge.html#CURRENT">FreeBSD-CURRENT</ulink>
+ &eacute; a vers&atilde;o de desenvolvimento do sistema
+ operacional, que brevemente se tornar&aacute; a
+ s&eacute;rie 5.0-<literal>RELEASE</literal>. Exatamente
+ por ser uma s&eacute;rie de desenvolvimento, e portanto
+ sem garantias de estabilidade, o uso desse sistema
+ operacional &eacute; de interesse exclusivo de
+ desenvolvedores que trabalham no sistema, usu&aacute;rios
+ extremamente experientes que acompanham e analisam
+ (testam) o novo sistema ou daqueles que o fazem por
+ <foreignphrase>hobby</foreignphrase>. Veja a <ulink
+ URL="../handbook/cutting-edge.html#CURRENT">se&ccedil;&atilde;o
+ relevante</ulink> no <ulink
+ URL="../handbook/index.html">&a.ptbr.p.handbook;</ulink>.</para>
+
+ <para>Se voc&ecirc; n&atilde;o tem familiaridade com o
+ sistema operacional, n&atilde;o &eacute; um usu&aacute;rio
+ experiente ou n&atilde;o consegue distinguir a
+ diferen&ccedil;a entre um problema de verdade e um
+ problema tempor&aacute;rio, ent&atilde;o &eacute;
+ desaconselh&aacute;vel que voc&ecirc; use o
+ FreeBSD-CURRENT. Essa s&eacute;rie, as vezes, evolui de
+ forma extremamente r&aacute;pida, e pode se tornar
+ extremamente inst&aacute;vel e subutiliz&aacute;vel por
+ v&aacute;rios dias seguidos. Usu&aacute;rios do
+ FreeBSD-CURRENT devem ser capazes de analisar qualquer
+ problema no sistema, e apenas relatar a falha se o
+ problema tratar-se de um erro ou um engano no
+ desenvolvimento do mesmo ao inv&eacute;s de
+ <quote>pequenos problemas tempor&aacute;rios de
+ instabilidade
+ (<foreignphrase>glitches</foreignphrase>)</quote>.
+ Perguntas sobre o porqu&ecirc; de <quote>make world
+ produzir erros a respeito de grupos</quote> s&atilde;o
+ devidamente ignoradas ou escrachadas na lista de
+ discuss&atilde;o da s&eacute;rie -CURRENT.</para>
+
+ <para>Diariamente, <ulink
+ URL="../../../../releases/snapshots.html"><foreignphrase>snapshots</foreignphrase></ulink>
+ s&atilde;o lan&ccedil;ados baseados no estado atual de
+ desenvolvimento dos ramos -CURRENT e -STABLE. Atualmente,
+ distribui&ccedil;&otilde;es ocasionais de
+ <foreignphrase>snapshots</foreignphrase> est&atilde;o
+ sendo disponibilizadas. Os objetivos por tr&aacute;s do
+ lan&ccedil;amento de cada
+ <foreignphrase>snapshot</foreignphrase> s&atilde;o:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Testar a vers&atilde;o mais recente do programa de
+ instala&ccedil;&atilde;o.</para>
+ </listitem>
+
+ <listitem>
+ <para>Dar a oportunidade para aqueles que querem usar o
+ -CURRENT ou o -STABLE - mas n&atilde;o tem tempo ou
+ n&atilde;o tem uma conex&atilde;o Internet
+ r&aacute;pida o suficiente para estarem diariamente
+ sincronizados com a vers&atilde;o mais atualizada do
+ c&oacute;digo no projeto.</para>
+ </listitem>
+
+ <listitem>
+ <para>Manter um ponto de refer&ecirc;ncia fixo, em
+ rela&ccedil;&atilde;o ao c&oacute;digo em
+ desenvolvimento e o c&oacute;digo dispon&iacute;vel
+ at&eacute; ent&atilde;o, para o caso de n&oacute;s
+ seriamente <quote>quebrarmos</quote> alguma coisa.
+ (Embora CVS normalmente previna que desastres
+ horr&iacute;veis como este aconte&ccedil;am :)</para>
+ </listitem>
+
+ <listitem>
+ <para>Garantir que todas as novas caracter&iacute;sticas
+ e fun&ccedil;&otilde;es do sistema que precisem ser
+ testadas, tenham o maior n&uacute;mero poss&iacute;vel
+ de pessoas potencialmente testando-as.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Sob nenhuma circunst&acirc;ncia, nenhum
+ <foreignphrase>snapshot</foreignphrase> -CURRENT pode ser
+ considerado software de <quote>qualidade de
+ produ&ccedil;&atilde;o</quote> para qualquer que seja o
+ prop&oacute;sito, e por mais maduro que o c&oacute;digo
+ -CURRENT atual possa parecer. Se a inten&ccedil;&atilde;o
+ &eacute; usar um sistema est&aacute;vel e completamente
+ testado, voc&ecirc; dever&aacute; usar apenas
+ lan&ccedil;amentos, ou
+ <foreignphrase>snapshots</foreignphrase> do ramo
+ -STABLE.</para>
+
+ <para>Os <foreignphrase>snapshots</foreignphrase>
+ lan&ccedil;ados podem ser diretamente acessados em <ulink
+ URL="ftp://current.FreeBSD.org/pub/FreeBSD/">
+ ftp://current.FreeBSD.org/pub/FreeBSD/</ulink> para a
+ s&eacute;rie 5.0-CURRENT e em <ulink
+ URL="ftp://releng4.FreeBSD.org/pub/FreeBSD">
+ releng4.FreeBSD.org</ulink> para
+ <foreignphrase>snapshots</foreignphrase> da s&eacute;rie
+ 4-STABLE. <foreignphrase>Snapshots</foreignphrase> para a
+ s&eacute;rie 3-STABLE n&atilde;o est&atilde;o sendo
+ produzidos na data em que este documento foi escrito (Maio
+ de 2000).</para>
+
+ <para>Normalmente, os snapshots s&atilde;o gerados uma vez
+ ao dia, para todas as s&eacute;ries em desenvolvimento
+ ativo.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="stable">
+ <para>Qual o conceito por tr&aacute;s do
+ FreeBSD-STABLE?</para>
+ </question>
+
+ <answer>
+ <para>Nos prim&oacute;rdios do projeto quando o FreeBSD
+ 2.0.5 foi lan&ccedil;ado, a &aacute;rvore de
+ desenvolvimento do sistema foi dividida em dois ramos. Um
+ ramo foi chamado <ulink
+ URL="../handbook/current-stable.html#STABLE">-STABLE</ulink>
+ e o outro <ulink
+ URL="../handbook/current-stable.html#CURRENT">-CURRENT</ulink>.
+ O FreeBSD-STABLE &eacute; direcionado para Provedores de
+ Servi&ccedil;os de Internet e para outros empreendimentos
+ comerciais que n&atilde;o pretendem conviver com
+ mudan&ccedil;as bruscas ou testar novas
+ caracter&iacute;sticas experimentais do sistema. Ele
+ recebe apenas c&oacute;digo que tenha sido totalmente
+ testado, corre&ccedil;&otilde;es de problemas e outras
+ pequenas inova&ccedil;&otilde;es incrementais. O
+ FreeBSD-CURRENT, por outro lado, tem sido uma linha sem
+ interrup&ccedil;&otilde;es visando ao 5.0-RELEASE (e
+ al&eacute;m) desde o lan&ccedil;amento 2.0. Se uma
+ pequena ilustra&ccedil;&atilde;o em arte ASCII ajudasse,
+ isto seria o que pareceria:</para>
+
+
+ <programlisting> 2.0
+ |
+ |
+ | [2.1-STABLE]
+ *BRANCH* 2.0.5 -&gt; 2.1 -&gt; 2.1.5 -&gt; 2.1.6 -&gt; 2.1.7.1 [2.1-STABLE termina]
+ | (Mar 1997)
+ |
+ |
+ | [2.2-STABLE]
+ *BRANCH* 2.2.1 -&gt; 2.2.2-RELEASE -&gt; 2.2.5 -&gt; 2.2.6 -&gt; 2.2.7 -&gt; 2.2.8 [fim]
+ | (Mar 1997) (Out 97) (Abr 98) (Jul 98) (Dez 98)
+ |
+ |
+ 3.0-SNAPs (inicio Q1 1997)
+ |
+ |
+ 3.0-RELEASE (Out 1998)
+ |
+ | [3.0-STABLE]
+ *BRANCH* 3.1-RELEASE (Fev 1999) -&gt; 3.2 -&gt; 3.3 -&gt; 3.4 -&gt; 3.5 -&gt; 3.5.1
+ | (Mai 1999) (Set 1999) (Dez 1999) (Jun 2000) (Jul 2000)
+ |
+ | [4.0-STABLE]
+ *BRANCH* 4.0 (Mar 2000) -&gt; 4.1 -&gt; 4.1.1 -&gt; 4.2 -&gt; 4.3 -&gt; 4.4 -&gt; ... Lan&ccedil;amentos 4.x futuro ...
+ |
+ | (Jul 2000) (Set 2000) (Nov 2000)
+ \|/
+ +
+ [5.0-CURRENT continua]</programlisting>
+
+
+ <para>O ramo 2.2-STABLE saiu de produ&ccedil;&atilde;o com o
+ lan&ccedil;amento 2.2.8. O ramo 3-STABLE saiu de
+ produ&ccedil;&atilde;o com o lan&ccedil;amento 3.5.1, que
+ foi tamb&eacute;m o &uacute;ltimo -RELEASE 3.X. As
+ &uacute;nicas modifica&ccedil;&otilde;es ainda realizadas
+ em quaisquer destes ramos s&atilde;o praticamente
+ relacionados apenas &agrave; corre&ccedil;&otilde;es de
+ seguran&ccedil;a.</para>
+
+ <para>O 4-STABLE &eacute; o ramo -STABLE em desenvolvimento
+ ativo. A vers&atilde;o mais recente da s&eacute;rie
+ 4-STABLE &eacute; &rel.current;-RELEASE, lan&ccedil;ada em
+ &rel.current.date;.</para>
+
+ <para>O ramo 5-CURRENT est&aacute; lentamente progredindo
+ para o que se tornar&aacute; o FreeBSD 5.0-RELEASE e
+ al&eacute;m. Veja <link linkend="current">O que &eacute;
+ FreeBSD-CURRENT?</link> para obter mais
+ informa&ccedil;&otilde;es sobre este ramo.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="release-freq">
+ <para>Quando s&atilde;o realizados lan&ccedil;amentos
+ FreeBSD?</para>
+ </question>
+
+ <answer>
+ <para>O &a.re; lan&ccedil;a uma nova vers&atilde;o do
+ FreeBSD, em m&eacute;dia, a cada 4 meses. As datas de
+ lan&ccedil;amento s&atilde;o anunciadas com uma certa
+ anteced&ecirc;ncia, de forma que os desenvolvedores
+ trabalhando no sistema saibam quando seus projetos
+ precisam estar terminados e testados. Um per&iacute;odo
+ de testes antecede cada novo lan&ccedil;amento, de forma a
+ garantir que a adi&ccedil;&atilde;o de novas
+ caracter&iacute;sticas n&atilde;o comprometa a
+ estabilidade do lan&ccedil;amento. Muitos usu&aacute;rios
+ consideram tais precau&ccedil;&otilde;es uma das
+ principais vantagens do projeto FreeBSD, mesmo admitindo
+ que, as vezes, esperar que as novidades sejam adotadas
+ pelo ramo -STABLE possa ser um pouco frustante.</para>
+
+ <para>Mais informa&ccedil;&otilde;es sobre o processo de
+ engenharia de lan&ccedil;amento (incluindo a
+ programa&ccedil;&atilde;o de novos lan&ccedil;amentos)
+ podem ser obtidas nas p&aacute;ginas de <ulink
+ url="http://www.FreeBSD.org/releng/index.html">engenharia
+ de lan&ccedil;amento</ulink> no s&iacute;tio WWW do
+ FreeBSD.</para>
+
+ <para>Para as pessoas que precisam, ou desejam um pouco mais
+ de emo&ccedil;&atilde;o,
+ <foreignphrase>snapshots</foreignphrase> bin&aacute;rios
+ s&atilde;o feitos diariamente como discutido acima.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="responsible">
+ <para>Quem &eacute; respons&aacute;vel pelo FreeBSD?</para>
+ </question>
+
+ <answer>
+ <para>As principais decis&otilde;es relacionadas ao Projeto
+ FreeBSD, como os objetivos e dire&ccedil;&atilde;o geral
+ do projeto, e quem tem permiss&atilde;o para adicionar
+ c&oacute;digo &agrave; &aacute;rvore de c&oacute;digo,
+ s&atilde;o tomadas por um <ulink
+ URL="../../articles/contributors/article.html#STAFF-CORE">grupo
+ central (<literal>core team</literal>)</ulink> composto
+ de 9 pessoas. Existe um grupo muito maior, composto de
+ mais de 200 desenvolvedores, denominados <ulink
+ URL="../../articles/contributors/article.html#STAFF-COMMITTERS"><foreignphrase>committers</foreignphrase></ulink>,
+ que tem autoriza&ccedil;&atilde;o para fazer
+ altera&ccedil;&otilde;es diretamente na &aacute;rvore de
+ c&oacute;digo do FreeBSD.</para>
+
+ <para>Entretanto, a maioria das altera&ccedil;&otilde;es
+ n&atilde;o triviais s&atilde;o previamente discutidas nas
+ <link linkend="mailing"> listas de
+ discuss&otilde;es</link>, e n&atilde;o existe
+ restri&ccedil;&atilde;o quanto a quem pode participar das
+ discuss&otilde;es.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="where-get">
+ <para>Onde posso obter o FreeBSD?</para>
+ </question>
+
+ <answer>
+ <para>Todo lan&ccedil;amento significativo do FreeBSD
+ est&aacute; dispon&iacute;vel via FTP an&ocirc;nimo no
+ <ulink
+ URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/">s&iacute;tio
+ FTP do Projeto FreeBSD</ulink>:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Para obter o lan&ccedil;amento 3.X-STABLE
+ corrente, 3.5.1-RELEASE, veja <ulink
+ URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/3.5.1-RELEASE/">diret&oacute;rio
+ 3.5.1-RELEASE</ulink>.</para>
+ </listitem>
+
+ <listitem>
+ <para>O lan&ccedil;amento 4-STABLE corrente,
+ &rel.current;-RELEASE pode ser encontrado no <ulink
+ URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/&rel.current;-RELEASE/">diret&oacute;rio
+ &rel.current;-RELEASE</ulink>.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="ftp://releng4.FreeBSD.org/pub/FreeBSD/"><foreignphrase>Snapshots</foreignphrase>
+ 4.X</ulink> s&atilde;o normalmente criados uma vez
+ ao dia.</para>
+ </listitem>
+
+ <listitem>
+ <para>Lan&ccedil;amentos <ulink
+ URL="ftp://current.FreeBSD.org/pub/FreeBSD/"><foreignphrase>Snapshot</foreignphrase>
+ 5.0</ulink> s&atilde;o feitos uma vez ao dia no ramo
+ <link linkend="current">-CURRENT</link>, &uacute;til
+ apenas tanto para aqueles que gostam de viver no
+ limite quanto para aqueles que precisam usar a
+ vers&atilde;o mais recente poss&iacute;vel com todas
+ as &uacute;ltimas caracter&iacute;sticas; sejam pessoas
+ conduzindo testes ou desenvolvedores.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Informa&ccedil;&atilde;o sobre como obter o FreeBSD em
+ CD, DVD, e outras m&iacute;dias, pode ser encontrada no
+ <ulink
+ url="../handbook/mirrors.html">&a.ptbr.p.handbook;</ulink>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="access-pr">
+ <para>Como eu acesso o banco de dados de Relat&oacute;rios
+ de Problemas?</para>
+ </question>
+
+ <answer>
+ <para>A base de dados de Relat&oacute;rios de Problemas
+ &eacute; um banco de pedidos de altera&ccedil;&otilde;es
+ realizados pelos usu&aacute;rios. Todos os pedidos de
+ altera&ccedil;&atilde;o j&aacute; realizados podem ser
+ consultados (ou novos submetidos) atrav&eacute;s de
+ nossas interfaces PR WWW para <ulink
+ URL="http://www.FreeBSD.org/send-pr.html">submeter
+ (novos pedidos)</ulink> e <ulink
+ URL="http://www.FreeBSD.org/cgi/query-pr-summary.cgi?query">consultar
+ (j&aacute; submetidos)</ulink>.
+ O comando &man.send-pr.1; tamb&eacute;m pode ser usado
+ para submeter relat&oacute;rios de problema e pedidos
+ de altera&ccedil;&atilde;o por meio de correio
+ eletr&ocirc;nico.</para>
+
+ <para>Antes de enviar um relat&oacute;rio de problema, por
+ favor, leia o artigo <ulink
+ URL="../../articles/problem-reports/article.html">Escrevendo
+ Relat&oacute;rios de Problemas para o FreeBSD</ulink>,
+ que d&aacute; boas dicas de como escrever um bom
+ relat&oacute;rio de problema.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="become-web-mirror">
+ <para>Como eu me torno um espelho do s&iacute;tio WWW
+ FreeBSD?</para>
+ </question>
+
+ <answer>
+ <para>Existam v&aacute;rias formas de espelhar o
+ s&iacute;tio WWW do FreeBSD.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Voc&ecirc; pode obter os arquivos j&aacute;
+ formatados a partir de um servidor CVSup FreeBSD
+ usando o aplicativo <filename
+ role="package">net/cvsup</filename>. O arquivo
+ <filename>/usr/share/examples/cvsup/www-supfile</filename>
+ oferece um exemplo de configura&ccedil;&atilde;o do
+ CVSup para espelhar o servidor WWW do projeto
+ FreeBSD.</para>
+ </listitem>
+
+ <listitem>
+ <para>Voc&ecirc; pode obter o c&oacute;digo fonte do
+ s&iacute;tio WWW do projeto FreeBSD a partir de
+ qualquer servidor FTP do projeto usando sua ferramento
+ de espelhamento ftp favorita. Considere que estes
+ fontes devem ser processados para public&aacute;-los
+ em formato WWW tradicional. Voc&ecirc; pode
+ come&ccedil;ar a espelhar o projeto a partir de <ulink
+ URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-current/www">ftp://ftp.FreeBSD.org/pub/FreeBSD/FreeBSD-current/www</ulink>.</para>
+ </listitem>
+ </itemizedlist>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="other-info-sources">
+ <para>Que outras fontes de informa&ccedil;&otilde;es sobre o
+ FreeBSD existem?</para>
+ </question>
+
+ <answer>
+ <para>Por gentileza, queira verificar a lista de <ulink
+ url="http://www.FreeBSD.org/docs.html">Documenta&ccedil;&atilde;o</ulink>
+ no s&iacute;tio WWW principal <ulink
+ url="http://www.FreeBSD.org">FreeBSD</ulink>.</para>
+ </answer>
+ </qandaentry>
+ </qandaset>
+ </chapter>
+
+ <chapter id="support">
+ <title>Documenta&ccedil;&atilde;o e Suporte</title>
+
+ <qandaset>
+ <qandaentry>
+ <question id="books">
+ <para>Quais bons livros existem sobre FreeBSD?</para>
+ </question>
+
+ <answer>
+ <para>O projeto FreeBSD produz um grande n&uacute;mero de
+ documentos dispon&iacute;veis em <ulink
+ url="http://www.freebsd.org/docs.html">http://www.FreeBSD.org/docs.html</ulink>.
+ Al&eacute;m destes, outros livros recomendados s&atilde;o
+ referenciados nas Bibliografias dispon&iacute;veis ao
+ final deste <literal>FAQ</literal> e do
+ &a.ptbr.p.handbook;.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="doc-formats">
+ <para>A documenta&ccedil;&atilde;o est&aacute;
+ dispon&iacute;vel em outros formatos, como texto puro
+ (ASCII) ou Postscript?</para>
+ </question>
+
+ <answer>
+ <para>Claro. A documenta&ccedil;&atilde;o pode ser obtida
+ em uma variedade de formatos e op&ccedil;&otilde;es de
+ compress&atilde;o no servidor FTP do FreeBSD, sob o
+ diret&oacute;rio <ulink
+ URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/">/pub/FreeBSD/doc/</ulink>.</para>
+
+ <para>A documenta&ccedil;&atilde;o &eacute; organizada em
+ diversas categorias, como:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>O nome do documento, como <literal>faq</literal>
+ ou <literal>&a.ptbr.p.handbook;</literal>.</para>
+ </listitem>
+
+ <listitem>
+ <para>A codifica&ccedil;&atilde;o e l&iacute;ngua do
+ conte&uacute;do do documento. Tal
+ categoriza&ccedil;&atilde;o &eacute; baseada nos nomes
+ de localiza&ccedil;&atilde;o, que podem ser
+ encontrados sob <filename>/usr/share/locale</filename>
+ no seu FreeBSD. Atualmente existem documentos nas
+ seguintes l&iacute;nguas e
+ codifica&ccedil;&otilde;es:</para>
+
+ <informaltable frame="none">
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Nome</entry>
+
+ <entry>Significado</entry>
+ </row>
+ </thead>
+
+ <tbody>
+
+ <row>
+ <entry><literal>en_US.ISO8859-1</literal></entry>
+
+ <entry>Ingl&ecirc;s Americano</entry>
+ </row>
+
+ <row>
+ <entry><literal>de_DE.ISO8859-1</literal></entry>
+
+ <entry>Alem&atilde;o</entry>
+ </row>
+
+ <row>
+ <entry><literal>es_ES.ISO8859-1</literal></entry>
+
+ <entry>Espanhol</entry>
+ </row>
+
+
+ <row>
+ <entry><literal>fr_FR.ISO8859-1</literal></entry>
+
+ <entry>Franc&ecirc;s</entry>
+ </row>
+
+ <row>
+ <entry><literal>ja_JP.eucJP</literal></entry>
+
+ <entry>Japon&ecirc;s (codifica&ccedil;&atilde;o
+ EUC)</entry>
+ </row>
+
+ <row>
+ <entry><literal>ru_RU.KOI8-R</literal></entry>
+
+ <entry>Russo (codifica&ccedil;&atilde;o
+ KOI8-R)</entry>
+ </row>
+ <row>
+ <entry><literal>zh_TW.Big5</literal></entry>
+
+ <entry>Chin&ecirc;s (codifica&ccedil;&atilde;o
+ Big5)</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+ <note>
+ <para>Alguns documentos podem n&atilde;o estar
+ dispon&iacute;veis em todas as
+ l&iacute;nguas.</para>
+ </note>
+ </listitem>
+
+ <listitem>
+ <para>Formato da documenta&ccedil;&atilde;o. A
+ documenta&ccedil;&atilde;o &eacute; produzida em
+ v&aacute;rios formatos. Cada qual com suas vantagens
+ e desvantagens. Alguns formatos s&atilde;o mais
+ apropriados para leitura on-line, enquanto outros
+ s&atilde;o mais agrad&eacute;veis est&eacute;ticamente
+ em formato impresso. Disponibilizar a
+ documenta&ccedil;&atilde;o em todos estes formatos,
+ garante que os leitores poder&atilde;o sempre ler os
+ trechos de seu interesse, tanto no monitor do seu
+ computador quanto em papel impresso. Atualmente os
+ formatos dispon&iacute;veis s&atilde;o:</para>
+
+ <informaltable frame="none">
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Formato</entry>
+
+ <entry>Significado</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry><literal>html-split</literal></entry>
+
+ <entry>Uma s&eacute;rie de pequenos documentos
+ HTML, devidamente ligados.</entry>
+ </row>
+
+ <row>
+ <entry><literal>html</literal></entry>
+
+ <entry>Um &uacute;nico grande arquivo HTML
+ contendo todo o documento.</entry>
+ </row>
+
+ <row>
+ <entry><literal>pdb</literal></entry>
+
+ <entry>Formato de banco de dados pra Palm Pilot,
+ para ser usado com o visualizador <ulink
+ URL="http://www.iSilo.com/">iSilo</ulink>.</entry>
+ </row>
+
+ <row>
+ <entry><literal>pdf</literal></entry>
+
+ <entry>PDF (Formato de Documento
+ Port&aacute;vel) da Adobe</entry>
+ </row>
+
+ <row>
+ <entry><literal>ps</literal></entry>
+
+ <entry>Postscript</entry>
+ </row>
+
+ <row>
+ <entry><literal>rtf</literal></entry>
+
+ <entry>RTF (Formato de Texto Enriquecido) da
+ Microsoft<footnote>
+ <para>A n&uacute;mera&ccedil;&atilde;o de
+ p&aacute;gina n&atilde;o &eacute;
+ automaticamente atualizada quando este
+ tipo de arquivo &eacute; aberto no Word.
+ Digite <keycombo
+ action="simul"><keycap>CTRL</keycap><keycap>A</keycap></keycombo>,
+ <keycombo
+ action="simul"><keycap>CTRL</keycap><keycap>END</keycap></keycombo>,
+ <keycap>F9</keycap> depois de abrir o
+ documento no Word, para atualizar a
+ numera&ccedil;&atilde;o das
+ p&aacute;ginas.</para>
+ </footnote>
+ </entry>
+ </row>
+
+ <row>
+ <entry><literal>txt</literal></entry>
+
+ <entry>Texto puro</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </listitem>
+
+ <listitem>
+ <para>As t&eacute;cnicas de compress&atilde;o e
+ empacotamento dos arquivos. Atualmente, 3 destes
+ formatos est&atilde;o em uso:</para>
+
+ <orderedlist>
+ <listitem>
+ <para>Para o formato <literal>html-split</literal>,
+ os arquivos s&atilde;o todos empacotados com
+ &man.tar.1;. O resultado &eacute; um arquivo
+ <literal>.tar</literal> que &eacute;
+ posteriormente comprimido usando as
+ t&eacute;cnicas de compress&atilde;o detalhadas a
+ seguir.</para>
+ </listitem>
+
+ <listitem>
+ <para>Todos os outros formatos geram apenas um
+ arquivo, nomeado
+ <filename>book.<replaceable>formato</replaceable></filename>
+ (por exemplo, <filename>book.pdb</filename>,
+ <filename>book.html</filename>, e outros).</para>
+
+ <para>Estes arquivos s&atilde;o, ent&atilde;o
+ comprimidos utilizando tr&ecirc;s t&eacute;cnicas
+ de compress&atilde;o:</para>
+
+ <informaltable frame="none">
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Tipo</entry>
+
+ <entry>Descri&ccedil;&atilde;o</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry><literal>zip</literal></entry>
+
+ <entry>Formato Zip. Se voc&ecirc; quiser
+ descomprimir este formato no FreeBSD,
+ ser&aacute; necess&aacute;rio instalar o
+ <literal>port</literal> <filename
+ role="package">archivers/unzip</filename>
+ antes.</entry>
+ </row>
+
+ <row>
+ <entry><literal>gz</literal></entry>
+
+ <entry>Formato GNU Zip. Para descomprimir
+ estes arquivos, use o comando
+ &man.gunzip.1; que faz parte do
+ FreeBSD.</entry>
+ </row>
+
+ <row>
+ <entry><literal>bz2</literal></entry>
+
+ <entry>Formato BZip2. Esse formato &eacute;
+ menos popular que os outros, mas
+ geralmente produz arquivos menores.
+ Instale o <literal>port</literal>
+ <filename
+ role="package">archivers/bzip2</filename>
+ para descomprimir arquivos deste
+ formato.</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+ <para>Portanto, o &a.ptbr.p.handbook; em formato
+ Postscript comprimido com o BZip2 ser&aacute;
+ armazenado como <filename>book.ps.bz2</filename>
+ sob o diret&oacute;rio
+ <filename>handbook/</filename>.</para>
+ </listitem>
+
+ <listitem>
+ <para>A documenta&ccedil;&atilde;o formatada
+ est&aacute; dispon&iacute;vel ainda como um pacote
+ FreeBSD.</para>
+ </listitem>
+ </orderedlist>
+ </listitem>
+ </itemizedlist>
+
+ <para>Ap&oacute;s escolher o formato e o mecanismo de
+ compress&atilde;o, voc&ecirc; deve decidir se vai ou
+ n&atilde;o pegar o documento em formato de
+ <emphasis>pacote</emphasis> FreeBSD.</para>
+
+ <para>A vantagem de baixar e instalar os pacotes &eacute;
+ que a documenta&ccedil;&atilde;o pode ent&atilde;o ser
+ gerenciada usando os comandos de gerenciamento de pacotes
+ FreeBSD, como &man.pkg.add.1; e &man.pkg.delete.1;.</para>
+
+ <para>Se decidir baixar e instalar o pacote, ent&atilde;o
+ voc&ecirc; deve conhecer o nome do arquivo antes de
+ come&ccedil;ar. Os arquivos de
+ documenta&ccedil;&atilde;o-como-pacotes est&atilde;o
+ estocados em um diret&oacute;rio chamado
+ <filename>packages</filename>. Cada arquivo de pacote
+ segue o padr&atilde;o de nome
+ <filename><replaceable>document-name</replaceable>.<replaceable>lang</replaceable>.<replaceable>encoding</replaceable>.<replaceable>format</replaceable>.tgz</filename>.</para>
+
+ <para>Por exemplo, o <literal>FAQ</literal>, em
+ l&iacute;ngua Inglesa e formato PDF, estar&aacute; no
+ pacote de nome
+ <filename>faq.en_US.ISO8859-1.pdf.tgz</filename>.</para>
+
+ <para>Sabendo isto, voc&ecirc; pode usar o seguinte comando
+ pra instalar o pacote contendo o <literal>FAQ</literal> na
+ l&iacute;ngua Inglesa e formato PDF:</para>
+
+ <screen>&prompt.root; <userinput>pkg_add
+ ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/packages/faq.en_US.ISO8859-1.pdf.tgz</userinput></screen>
+
+ <para>Depois disso, voc&ecirc; pode usar o &man.pkg.info.1;
+ pra determinar onde o documento foi instalado.</para>
+
+ <screen>&prompt.root; <userinput>pkg_info -f faq.en_US.ISO8859-1.pdf</userinput>
+Information for faq.en_US.ISO8859-1.pdf:
+
+Packing list:
+ Package name: faq.en_US.ISO8859-1.pdf
+ CWD to /usr/share/doc/en_US.ISO8859-1/books/faq
+File: book.pdf
+ CWD to .
+File: +COMMENT (ignored)
+File: +DESC (ignored)</screen>
+
+ <para>Como pode ver, <filename>book.pdf</filename>
+ ter&aacute; sido instalado sob
+ <filename>/usr/share/doc/en_US.ISO8859-1/books/faq</filename>.</para>
+
+ <para>Se voc&ecirc; preferir n&atilde;o usar pacotes,
+ ser&aacute; necess&aacute;rio baixar os arquivos
+ comprimidos, depois descomprim&iacute;-los e copiar os
+ documentos apropriados para os lugares corretos.</para>
+
+ <para>Por exemplo, a vers&atilde;o do <literal>FAQ</literal>
+ dividido em v&aacute;rios arquivos HTML, comprimido usando
+ &man.gzip.1;, pode ser encontrado no arquivo
+ <filename>doc/en_US.ISO8859-1/books/faq/book.html-split.tar.gz</filename>.
+ Para baixar e descomprimir aquele arquivo, voc&ecirc;
+ deveria fazer o seguinte.</para>
+
+ <screen>&prompt.root; <userinput>fetch ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/en_US.ISO8859-1/books/faq/book.html-split.tar.gz</userinput>
+&prompt.root; <userinput>gzip -d book.html-split.tar.gz</userinput>
+&prompt.root; <userinput>tar xvf book.html-split.tar</userinput></screen>
+
+ <para>Ser&aacute; criada, ent&atilde;o, uma s&eacute;rie de
+ arquivos <filename>.html</filename>. O principal arquivo
+ &eacute; chamado <filename>index.html</filename> contendo
+ o &iacute;ndice, material introdut&oacute;rio e links para
+ outras partes do documento. Posteriormente, voc&ecirc;
+ pode copiar ou mover esses arquivos pra onde voc&ecirc;
+ quiser.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="mailing">
+ <para>Onde posso obter informa&ccedil;&otilde;es sobre as
+ listas de discuss&atilde;o FreeBSD?</para>
+ </question>
+
+ <answer>
+ <para>Voc&ecirc; pode encontrar uma vasta gama de
+ informa&ccedil;&otilde;es na <ulink
+ URL="../handbook/eresources.html#ERESOURCES-MAIL">se&ccedil;&atilde;o
+ do &a.ptbr.p.handbook; sobre listas de
+ discuss&atilde;o</ulink>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="y2k">
+ <para>Onde encontro informa&ccedil;&otilde;es sobre a
+ compatibilidade FreeBSD ano 2000 (FreeBSD Y2K)?</para>
+ </question>
+
+ <answer>
+ <para>Informa&ccedil;&otilde;es completas na <ulink
+ URL="../../../../y2kbug.html">p&aacute;gina FreeBSD
+ Y2K</ulink>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="newsgroups">
+ <para>Que grupos de not&iacute;cias (<foreignphrase>news
+ groups</foreignphrase>) existem sobre o FreeBSD?</para>
+ </question>
+
+ <answer>
+ <para>Informa&ccedil;&otilde;es completas podem ser
+ encontradas na <ulink
+ URL="../handbook/eresources-news.html">se&ccedil;&atilde;o
+ do &a.ptbr.p.handbook; sobre grupos de not&iacute;cias
+ (<foreignphrase>newsgroups</foreignphrase>)</ulink>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="irc">
+ <para>Existem canais de bate-papo retransmitido via Internet
+ (<acronym>IRC</acronym>) FreeBSD?</para>
+ </question>
+
+ <answer>
+ <para>Sim, a maioria das grandes redes de bate-papo
+ retransmitido via Internet (<acronym>IRC</acronym>) tem um
+ canal de bate-papo sobre FreeBSD:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>O canal <literal>#FreeBSD</literal> na <ulink
+ URL="http://www.efnet.org/index.php">EFNet</ulink>
+ &eacute; essencialmente um f&oacute;rum sobre FreeBSD,
+ mas n&atilde;o entre no canal se voc&ecirc; procura
+ suporte t&eacute;cnico, nem se voc&ecirc; est&aacute;
+ procurando uma maneira de evitar a leitura de
+ p&aacute;ginas de manual ou fazer suas pr&oacute;prias
+ pesquisas. Este &eacute; essencialmente um canal de
+ bate-papo geral. Assuntos como sexo, esportes ou
+ armas nucleares s&atilde;o t&atilde;o comuns quanto
+ FreeBSD no canal. Lembre-se, Voc&ecirc; Foi Avisado!
+ Para conectar-se, use o servidor
+ <hostid>irc.chat.org</hostid>.</para>
+ </listitem>
+
+ <listitem>
+ <para>O canal <literal>#FreeBSDhelp</literal> na <ulink
+ URL="http://www.efnet.org/index.php">EFNet</ulink>
+ &eacute; dedicado a suporte e auxilio de
+ usu&aacute;rios de FreeBSD. Os participantes neste
+ canal s&atilde;o bem mais receptivos a perguntas que
+ os do canal <literal>#FreeBSD</literal>.</para>
+ </listitem>
+
+ <listitem>
+ <para>O canal <literal>#FreeBSD</literal> na <ulink
+ URL="http://www.dal.net/">DALNET</ulink> pode ser
+ acessado em <hostid>irc.dal.net</hostid> nos Estados
+ Unidos, e <hostid>irc.eu.dal.net</hostid> na
+ Europa.</para>
+ </listitem>
+
+ <listitem>
+ <para>O canal <literal>#FreeBSD</literal> na <ulink
+ URL="http://www.undernet.org/">UNDERNET</ulink> pode
+ ser acessado em <literal>us.undernet.org</literal> nos
+ Estados Unidos, e <literal>eu.undernet.org</literal>
+ na Europa. Partindo do princ&iacute;pio que esse
+ &eacute; um canal de ajuda, esteja preparado para ler
+ todos os documentos a que for referido.</para>
+ </listitem>
+
+ <listitem>
+ <para>O canal <literal>#FreeBSD</literal> na <ulink
+ url="http://www.hybnet.net/">HybNet</ulink>
+ <emphasis>&eacute;</emphasis> um canal de ajuda. Uma
+ lista de servidores pode ser encontrada no <ulink
+ url="http://www.hybnet.net/">s&iacute;tio WWW da
+ HybNet</ulink>.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Cada um destes canais &eacute; independente, e
+ exatamente por estarem em redes distintas, n&atilde;o
+ &eacute; conectada ou relacionada entre si. Os estilos de
+ bate-papo em cada um dos canais s&atilde;o bastante
+ distintos, pode ser necess&aacute;rio testar cada um para
+ descobrir qual &aacute; mais adequado ao seu estilo
+ pessoal de bate-papo. Como em toda rede de bate-papo
+ retransmitido via Internet (<acronym>IRC</acronym>), nem
+ considere acessar os canais se voc&ecirc; ofende-se
+ facilmente ou se voc&ecirc; n&atilde;o se d&aacute; bem
+ com muita gente jovem (e alguns bem velhos) que usam as
+ mais irregulares formas de escrita e
+ conversa&ccedil;&atilde;o poss&iacute;vel, quase sempre
+ assassinando sem o menor pudor todos os princ&iacute;pios
+ verbais - de qualquer l&iacute;ngua que seja.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="training">
+ <para>Onde eu consigo treinamento em e suporte comercial ao
+ FreeBSD?</para>
+ </question>
+
+ <answer>
+ <para>DaemonNews oferece treinamento em e suporte comercial
+ ao FreeBSD. Mais informa&ccedil;&otilde;es podem ser
+ obtidas no s&iacute;tio WWW <ulink
+ url="http://www.bsdmall.com/">BSD Mall</ulink>.</para>
+
+ <para>FreeBSD Services oferece suporte comercial ao FreeBSD
+ no Reino Unido (al&eacute;m de vender o FreeBSD em
+ m&iacute;dia DVD). Veja o <ulink
+ url="http://www.freebsd-services.com">s&iacute;tio
+ WWW</ulink> deles para maiores
+ informa&ccedil;&otilde;es.</para>
+
+ <para>A FreeBSD Mall oferece suporte comercial ao FreeBSD.
+ Maiores informa&ccedil;&otilde;es podem ser obtidas no
+ <ulink url="http://www.freebsdmall.com/">s&iacute;tio
+ WWW deles</ulink>.</para>
+
+ <para>Qualquer outra organiza&ccedil;&atilde;o que
+ ofere&ccedil;a treinamento em ou suporte ao FreeBSD deve
+ entrar em contato com o projeto para serem listadas
+ aqui.</para>
+ </answer>
+ </qandaentry>
+ </qandaset>
+ </chapter>
+
+ <chapter id="install">
+ <chapterinfo>
+ <author>
+ <firstname>Nik</firstname>
+ <surname>Clayton</surname>
+ <affiliation>
+ <address><email>nik@FreeBSD.org</email></address>
+ </affiliation>
+ </author>
+ </chapterinfo>
+
+ <title>Instala&ccedil;&atilde;o</title>
+
+ <qandaset>
+ <qandaentry>
+ <question id="floppy-download">
+ <para>De qual arquivo eu devo baixar o FreeBSD da
+ rede?</para>
+ </question>
+
+ <answer>
+ <para>At&eacute; a vers&atilde;o 3.1 era necess&aacute;rio
+ apenas um disquete para instala&ccedil;&atilde;o do
+ FreeBSD, o disco era o
+ <filename>floppies/boot.flp</filename>. Contudo, depois
+ que o 3.1 foi lan&ccedil;ado, o Projeto adicionou ao
+ <foreignphrase>kernel</foreignphrase> gen&eacute;rico o
+ suporte a uma grande variedade de dispositivos, de forma
+ que ele passou a consumir mais espa&ccedil;o. Por este
+ motivo, desde a s&eacute;rie 3.X s&atilde;o
+ necess&aacute;rios dois disquetes, o
+ <filename>floppies/kernel.flp</filename> e o
+ <filename>floppies/mfsroot.flp</filename>. Essas imagens
+ precisam ser copiadas para disquetes, usando ferramentas
+ como o <command>fdimage</command> ou o &man.dd.1;.</para>
+
+ <para>Caso seja necess&aacute;rio baixar da rede a
+ distribui&ccedil;&atilde;o do sistema (por exemplo, para
+ uma instala&ccedil;&atilde;o por meio de um sistema de
+ arquivos DOS), voc&ecirc; ter&aacute; que obter as
+ seguintes estruturas da distribui&ccedil;&atilde;o
+ padr&atilde;o:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>bin/</para>
+ </listitem>
+
+ <listitem>
+ <para>manpages/</para>
+ </listitem>
+
+ <listitem>
+ <para>compat*/</para>
+ </listitem>
+
+ <listitem>
+ <para>doc/</para>
+ </listitem>
+
+ <listitem>
+ <para>src/ssys.*</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Para obter instru&ccedil;&otilde;es completas sobre o
+ procedimento de instala&ccedil;&atilde;o do FreeBSD e
+ maiores detalhes sobre os meios de
+ instala&ccedil;&atilde;o, por gentileza, consulte a <ulink
+ URL="../handbook/install.html">se&ccedil;&atilde;o de
+ instala&ccedil;&atilde;o</ulink> no
+ &a.ptbr.p.handbook;.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="floppy-image-too-large">
+ <para>O que eu devo fazer se as imagens de disquete
+ n&atilde;o couberem em um &uacute;nico disco?</para>
+ </question>
+
+ <answer>
+ <para>Um disquete de 3.5 polegadas (1,44 MB) armazena
+ at&eacute; 1474560 bytes de dados. O tamanho da imagem de
+ inicializa&ccedil;&atilde;o &eacute; de exatamente 1474560
+ bytes.</para>
+
+ <para>Erros comuns, cometidos na
+ prepara&ccedil;&atilde;o dos discos de
+ inicializa&ccedil;&atilde;o, s&atilde;o:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Baixar a imagem de disco via
+ <acronym>FTP</acronym> sem utilizar o modo de
+ transfer&ecirc;ncia
+ <emphasis>bin&aacute;rio</emphasis>.</para>
+
+ <para>Alguns clientes de FTP - especialmente navegadores
+ de Internet - costumam usar por padr&atilde;o o modo
+ de transfer&ecirc;ncia <emphasis>ascii</emphasis> nas
+ sess&otilde;es FTP, e para normalizar o arquivo de
+ acordo com o sistema, eles tentam alterar os
+ caracteres finais de cada linha do arquivo.
+ Invariavelmente esse comportamento resulta em baixar
+ uma imagem de inicializa&ccedil;&atilde;o
+ (<foreignphrase>boot</foreignphrase>) corrompida.
+ Verifique o tamanho da imagem que voc&ecirc; tem em
+ m&atilde;os, se &eacute; exatamente do mesmo tamanho
+ da imagem no servidor. Caso o tamanho n&atilde;o seja
+ <emphasis>exatamente</emphasis> o mesmo, voc&ecirc;
+ pode suspeitar do arquivo que voc&ecirc;
+ baixou.</para>
+
+ <para>Para garantir que esse problema n&atilde;o ocorra,
+ digite <emphasis>binary</emphasis> na prompt de
+ comando do seu cliente FTP, ou defina as
+ prefer&ecirc;ncias do programa para utilizar o modo
+ bin&aacute;rio. A&iacute; sim, fa&ccedil;a baixe da
+ rede a imagem de inicializa&ccedil;&atilde;o.</para>
+ </listitem>
+
+ <listitem>
+ <para>Usar o comando <command>copy</command> do DOS (ou
+ simplesmente copiar, por meio da Interface
+ Gr&aacute;fica do sistema) para transferir a imagem de
+ inicializa&ccedil;&atilde;o para o disquete.</para>
+
+ <para>Programas como o <command>copy</command>
+ n&atilde;o v&atilde;o funcionar para copiar a imagem
+ de inicializa&ccedil;&atilde;o direto para o disquete,
+ exatamente porque a imagem foi criada de forma que ela
+ seja carregada diretamente. A imagem tem o
+ conte&uacute;do completo que o disquete deve ter, com
+ seus dados alocados trilha-a-trilha, e portanto
+ n&atilde;o pode ser copiado para o disquete como um
+ simples arquivo. Voc&ecirc; tem que copiar a imagem
+ para o disquete usando alguma ferramenta de
+ <quote>c&oacute;pia crua</quote> (raw copy, como o
+ <command>fdimage</command> ou o
+ <command>rawrite</command>) como descrito no <ulink
+ URL="../handbook/install.html">guia de
+ instala&ccedil;&atilde;o do FreeBSD</ulink>.</para>
+ </listitem>
+ </itemizedlist>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="install-instructions-location">
+ <para>Onde est&atilde;o as instru&ccedil;&otilde;es para
+ instalar o FreeBSD?</para>
+ </question>
+
+ <answer>
+ <para>As instru&ccedil;&otilde;es de
+ instala&ccedil;&atilde;o do FreeBSD podem ser encontradas
+ na <ulink
+ URL="../handbook/install.html">se&ccedil;&atilde;o de
+ instala&ccedil;&atilde;o do FreeBSD no
+ &a.ptbr.p.handbook;</ulink>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="need-to-run">
+ <para>O que &eacute; preciso para usar o FreeBSD?</para>
+ </question>
+
+ <answer>
+ <para>Voc&ecirc; vai precisar, no m&iacute;nimo de um PC 386
+ com 5MB de mem&oacute;ria RAM e no m&iacute;nimo 60 MB em
+ disco. Essa configura&ccedil;&atilde;o permite o uso de
+ uma placa de v&iacute;deo MDA simples, mas para usar o
+ X11R6 &eacute; necess&aacute;rio uma placa de v&iacute;deo
+ VGA ou mais avan&ccedil;ada.</para>
+
+ <para>Para mais informa&ccedil;&otilde;es consulte <xref
+ linkend="hardware"></para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="four-meg-ram-install">
+ <para>Eu tenho apenas 4 MB de mem&oacute;ria RAM. Posso
+ usar o FreeBSD?</para>
+ </question>
+
+ <answer>
+ <para>O FreeBSD 2.1.7 foi a &uacute;ltima vers&atilde;o do
+ sistema que rodava com apenas 4MB de mem&oacute;ria. A
+ partir do FreeBSD 2.2, &eacute; necess&aacute;rio no
+ m&iacute;nimo 5MB de mem&oacute;ria para usar o
+ sistema.</para>
+
+ <para>Praticamente todas as vers&otilde;es do FreeBSD podem
+ <emphasis>rodar</emphasis> com 4MB de mem&oacute;ria RAM,
+ contudo, a instala&ccedil;&atilde;o do sistema operacional
+ n&atilde;o pode ser feita com apenas 4MB. Voc&ecirc; pode
+ colocar mais mem&oacute;ria para o processo de
+ instala&ccedil;&atilde;o do sistema, e depois de
+ instalado, voltar a m&aacute;quina para apenas 4MB de
+ mem&oacute;ria, ou como alternativa, instale o seu disco
+ r&iacute;gido em uma m&aacute;quina com mais de 4MB,
+ efetue a instala&ccedil;&atilde;o do sistema, e depois
+ instale o seu disco de volta na m&aacute;quina com apenas
+ 4MB.</para>
+
+ <para>O FreeBSD 2.1.7 n&atilde;o ir&aacute; instalar em
+ sistemas que usam 640 Kb de mem&oacute;ria base + 3 MB de
+ mem&oacute;ria extendida. Se sua placa m&atilde;e pode
+ fazer o remapeamento da mem&oacute;ria
+ <quote>subutilizada</quote> que vai sobrar dos 640kB da
+ regi&atilde;o de 1MB, ai sim, voc&ecirc; vai conseguir
+ usar o FreeBSD 2.1.7. Entre no Setup da sua BIOS, procure
+ a op&ccedil;&atilde;o ``remap'' e habilite-a. Talvez
+ voc&ecirc; tenha que desabilitar a op&ccedil;&atilde;o de
+ ROM shadowing. Com certeza &eacute; mais f&aacute;cil
+ voc&ecirc; conseguir mais 4MB apenas para a
+ instala&ccedil;&atilde;o, compilar um
+ <foreignphrase>kernel</foreignphrase> customizado e
+ portanto menor, e ai sim, tirar esses 4MB sobresalentes e
+ usar o sistema com apenas os 4MB originais. Tamb&eacute;m
+ &eacute; poss&iacute;vel instalar o FreeBSD 2.0.5 e depois
+ <quote>atualiz&aacute;-lo</quote> para o 2.1.7 com a
+ op&ccedil;&atilde;o ``upgrade'' dispon&iacute;vel no
+ programa de instala&ccedil;&atilde;o do FreeBSD
+ 2.1.7.</para>
+
+ <para>Depois de instalado o sistema, voc&ecirc; pode
+ compilar um <foreignphrase>kernel</foreignphrase>
+ personalizado, que provavelmente ir&aacute; permitir que o
+ sistema seja usado com 4MB de mem&oacute;ria apenas.
+ Existem relatos de sucesso na utiliza&ccedil;&atilde;o do
+ sistema com apenas 2MB de mem&oacute;ria, contudo, nesse
+ caso &eacute; praticamente imposs&iacute;vel usar alguma
+ outra aplica&ccedil;&atilde;o junto ao sistema
+ operacional.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="custom-boot-floppy">
+ <para>Como eu crio meu pr&oacute;prio disquete de
+ instala&ccedil;&atilde;o?</para>
+ </question>
+
+ <answer>
+ <para>Atualmente n&atilde;o existe uma forma de
+ <emphasis>simplesmente criar</emphasis> um disco de
+ instala&ccedil;&atilde;o personalizado. Para criar um
+ disquete personalizado voc&ecirc; ter&aacute; que preparar
+ todo um novo <literal>release</literal>, o qual, a&iacute;
+ sim, teria instru&ccedil;&otilde;es de
+ instala&ccedil;&atilde;o.</para>
+
+ <para>Para montar um <literal>release</literal>
+ personalizado siga as instru&ccedil;&otilde;es do artigo
+ de <ulink
+ url="../../articles/releng/article.html">Engenharia de
+ <literal>Release</literal></ulink> article.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="multiboot">
+ <para>Posso ter mais de um sistema operacional no meu PC?</para>
+ </question>
+
+ <answer>
+ <para>De uma olhada na p&aacute;gina de <ulink URL="../../articles/multi-os/index.html">m&uacute;ltiplos-SO</ulink>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="windows-coexist">
+ <para>O Windows 95/98 pode co-existir com o FreeBSD?</para>
+ </question>
+
+ <answer>
+ <para>Sim. Primeiro voc&ecirc; deve instalar o seu Windows,
+ e depois instalar o FreeBSD. O gerenciador de
+ inicializa&ccedil;&atilde;o
+ (<foreignphrase>boot</foreignphrase>) do FreeBSD vai ser
+ instalado na MBR do seu disco, e vai conseguir controlar o
+ inicializa&ccedil;&atilde;o entre o FreeBSD e seu Windows.
+ Se voc&ecirc; instalar o Windows depois do FreeBSD, a
+ instala&ccedil;&atilde;o dele ir&aacute; sobrescrever o
+ setor de inicializa&ccedil;&atilde;o
+ (<foreignphrase>boot</foreignphrase>) do seu disco, e
+ conseq&uuml;entemente seu gerenciador de
+ inicializa&ccedil;&atilde;o
+ (<foreignphrase>boot</foreignphrase>), sem avisar ou pedir
+ qualquer confirma&ccedil;&atilde;o. Se esse for o caso,
+ leia a pr&oacute;xima se&ccedil;&atilde;o.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="win95-damaged-boot-manager">
+ <para>O Windows 95/98 sobrescreveu meu gerenciador de
+ inicializa&ccedil;&atilde;o
+ (<foreignphrase>boot</foreignphrase>)! Como eu instalo ele
+ de volta?</para>
+ </question>
+
+ <answer>
+ <para>Voc&ecirc; pode reinstalar o gerenciador de
+ inicializa&ccedil;&atilde;o
+ (<foreignphrase>boot</foreignphrase>) do FreeBSD de uma
+ das 3 maneiras:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Sob o DOS, entre no diret&oacute;rio tools/ da sua
+ distribui&ccedil;&atilde;o do FreeBSD (seu CDROM por
+ exemplo) e procure o programa
+ <filename>bootinst.exe</filename>. Depois, execute-o
+ da seguinte forma:</para>
+
+ <screen><prompt>...\TOOLS&gt;</prompt> <userinput>bootinst.exe boot.bin</userinput></screen>
+
+ <para>e o gerenciador de inicializa&ccedil;&atilde;o
+ (<foreignphrase>boot</foreignphrase>) ser&aacute;
+ reinstalado.</para>
+ </listitem>
+
+ <listitem>
+ <para>Fa&ccedil;a a inicializa&ccedil;&atilde;o do
+ FreeBSD pelos disquetes de instala&ccedil;&atilde;o ou
+ pelo CDROM novamente. Entre na op&ccedil;&atilde;o
+ &quot;Custom&quot; do menu de
+ instala&ccedil;&atilde;o, escolha a o &iacute;tem de
+ parti&ccedil;&otilde;es (Partition), selecione o drive
+ do disco que continha o seu gerenciador de
+ inicializa&ccedil;&atilde;o
+ (<foreignphrase>boot</foreignphrase>) (normalmente, se
+ trata do primeiro disco) e ent&atilde;o voc&ecirc;
+ entra no editor de parti&ccedil;&otilde;es. N&atilde;o
+ fa&ccedil;a nenhuma altera&ccedil;&atilde;o, apenas
+ aperte a tecla W (Write). O programa de
+ instala&ccedil;&atilde;o ir&aacute; pedir a
+ confirma&ccedil;&atilde;o, se voc&ecirc; quer gravar
+ suas informa&ccedil;&otilde;es mesmo sem ter feito
+ nenhuma altera&ccedil;&atilde;o. Escolha Sim. O
+ programa ir&aacute; perguntar se voc&ecirc; deseja
+ instalar o gerenciador de inicializa&ccedil;&atilde;o
+ (<foreignphrase>boot</foreignphrase>) do FreeBSD ou se
+ voc&ecirc; deseja deixar o setor de
+ inicializa&ccedil;&atilde;o
+ (<foreignphrase>boot</foreignphrase>) intacto (ou
+ instalar um setor de inicializa&ccedil;&atilde;o
+ (<foreignphrase>boot</foreignphrase>) padr&atilde;o)
+ exatamente como no instante da primeira
+ instala&ccedil;&atilde;o do FreeBSD. Escolha
+ <quote>Boot Manager</quote>. Agora o gerenciador de
+ inicializa&ccedil;&atilde;o
+ (<foreignphrase>boot</foreignphrase>) ser&aacute;
+ reinstalado no disco. Saia do programa de
+ instala&ccedil;&atilde;o e reinicie o processo de
+ inicializa&ccedil;&atilde;o pelo HD
+ normalmente.</para>
+ </listitem>
+
+ <listitem>
+ <para>Inicie o FreeBSD com o disquete (ou CD) de
+ inicializa&ccedil;&atilde;o tradicional, escolha a
+ op&ccedil;&atilde;o <quote>Fixit</quote> no menu do
+ sysinstall. Escolha entre o disquete de
+ corre&ccedil;&atilde;o ou o segundo CDROM (a
+ op&ccedil;&atilde;o <quote>live</quote> na
+ distribui&ccedil;&atilde;o padr&atilde;o do FreeBSD)
+ no menu a seguir, e entre na shell de
+ corre&ccedil;&atilde;o do sistema. Em seguida execute
+ o comando:</para>
+
+ <screen><prompt>Fixit#</prompt> <userinput>fdisk -B -b /boot/boot0 <replaceable>bootdevice</replaceable></userinput></screen>
+
+ <para>substituindo <replaceable>bootdevice</replaceable>
+ pela device controladora do seu disco, como por
+ exemplo, <devicename>ad0</devicename> (para o primeiro
+ disco IDE),<devicename>ad4</devicename> (para o
+ primeiro disco IDE na controladora secund&aacute;ria),
+ <devicename>da0</devicename> (para o primeiro disco
+ SCSI), etc.</para>
+ </listitem>
+ </itemizedlist>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="boot-on-thinkpad">
+ <para>O meu IBM Thinkpad s&eacute;rie A, T ou X trava
+ sempre, quando eu tento inicializar
+ (<foreignphrase>boot</foreignphrase>) o FreeBSD. Como eu
+ resolvo isso?</para>
+ </question>
+
+ <answer>
+ <para>Um bug nas primeiras vers&otilde;es da BIOS da IBM
+ nessas m&aacute;quinas, erroneamente identifica as
+ parti&ccedil;&otilde;es FreeBSD como
+ parti&ccedil;&otilde;es FAT especiais. Quando a BIOS
+ tenta reconhecer a parti&ccedil;&atilde;o FreeBSD, o
+ sistema trava.</para>
+
+ <para>De acordo com a IBM<footnote><para>Em um e-mail
+ enviado por Keith Frechettei
+ <email>kfrechet@us.ibm.com</email>.</para></footnote>,
+ os seguintes modelos/BIOS tem esse problema
+ corrigido:</para>
+
+ <informaltable frame="none">
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Modelo</entry>
+
+ <entry>Revis&atilde;o da BIOS</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry>T20</entry>
+
+ <entry>IYET49WW ou posterior</entry>
+ </row>
+
+ <row>
+ <entry>T21</entry>
+
+ <entry>KZET22WW ou posterior</entry>
+ </row>
+
+ <row>
+ <entry>A20p</entry>
+
+ <entry>IVET62WW ou posterior</entry>
+ </row>
+
+ <row>
+ <entry>A20m</entry>
+
+ <entry>IWET54WW ou posterior</entry>
+ </row>
+
+ <row>
+ <entry>A21p</entry>
+
+ <entry>KYET27WW ou posterior</entry>
+ </row>
+
+ <row>
+ <entry>A21m</entry>
+
+ <entry>KXET24WW ou posterior</entry>
+ </row>
+
+ <row>
+ <entry>A21e</entry>
+
+ <entry>KUET30WW</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+
+ <para>Existem relatos de que as revis&otilde;es posteriores
+ das BIOS IBM re-introduziram esse bug. <ulink
+ url="http://www.FreeBSD.org/cgi/getmsg.cgi?fetch=200565+208320+/usr/local/www/db/text/2001/freebsd-mobile/20010429.freebsd-mobile">Essa
+ mensagem</ulink> enviada por Jacques Vidrine para a
+ &a.mobile; descreve uma s&eacute;rie de procedimentos que
+ podem funcionar no seu laptop IBM, caso seja uma
+ vers&atilde;o um pouco mais nova, e que n&atilde;o consiga
+ inicializar (<foreignphrase>boot</foreignphrase>) o
+ FreeBSD corretamente. Voc&ecirc; pode ainda fazer uma
+ atualiza&ccedil;&atilde;o ou desatualiza&ccedil;&atilde;o
+ (upgrade ou downgrade) da BIOS.</para>
+
+ <para>Se a BIOS &eacute; mais antiga, e voc&ecirc;
+ n&atilde;o considera sua atualiza&ccedil;&atilde;o, existe
+ uma op&ccedil;&atilde;o que pode sanar seu problema. A
+ instala&ccedil;&atilde;o do FreeBSD pode ser feita
+ alterando-se a identifica&ccedil;&atilde;o da
+ parti&ccedil;&atilde;o (partition ID) do sistema, e depois
+ instalar novos setores de inicializa&ccedil;&atilde;o
+ (<foreignphrase>boot</foreignphrase>) que podem controlar
+ uma partition ID diferente.</para>
+
+ <para>O primeiro passo &eacute; restaurar o seu laptop ao
+ ponto onde ele pode fazer os auto-testes, ou seja, os
+ testes b&aacute;sicos de I/O da BIOS. Para fazer isso,
+ basta ligar o computador de forma que ele n&atilde;o
+ consiga encontrar a parti&ccedil;&atilde;o prim&aacute;ria
+ do FreeBSD. A maneira mais simples de faze-lo, &eacute;
+ retirando o disco r&iacute;gido do seu laptop, e
+ temporariamente ligando-o em um ThinkPad mais antigo (como
+ oThinkPad 600) ou em um PC comum, com um cabo de
+ convers&atilde;o apropriado. Uma vez feito isso, basta
+ apagar a parti&ccedil;&atilde;o FreeBSD e colocar o disco
+ de volta no laptop. Agora sim, o ThinkPad deve estar de
+ volta ao estado onde ele pode reconhecer o disco.</para>
+
+ <para>Com a m&aacute;quina funcionando, basta seguir as
+ pr&oacute;ximas instru&ccedil;&otilde;es para fazer o seu
+ FreeBSD instalar:</para>
+
+ <procedure>
+ <step>
+ <para>Baixe da rede os arquivos
+ <filename>boot1</filename> e
+ <filename>boot2</filename> no site <ulink
+ url="http://people.FreeBSD.org/~bmah/ThinkPad/">http://people.FreeBSD.org/~bmah/ThinkPad/</ulink>.
+ Coloque esses arquivos em algum lugar onde voc&ecirc;
+ possa acess&aacute;-los posteriormente.</para>
+ </step>
+
+ <step>
+ <para>Instale o FreeBSD normalmente no ThinkPad.
+ <emphasis>N&atilde;o</emphasis> use o modo
+ <literal>Dangerously Dedicated</literal>.
+ <emphasis>N&atilde;o</emphasis> reinicie o sistema
+ quando o processo de instala&ccedil;&atilde;o for
+ conclu&iacute;do.</para>
+ </step>
+
+ <step>
+ <para>V&aacute; para a <quote>Shell Hologr&aacute;fica
+ de Emerg&ecirc;ncia</quote> (<keycombo
+ action="simul"><keycap>ALT</keycap>
+ <keycap>F4</keycap></keycombo>) ou inicie uma shell
+ de recupera&ccedil;&atilde;o -
+ <quote>fixit</quote></para>
+ </step>
+
+ <step>
+ <para>Use o &man.fdisk.8; para alterar a partition ID de
+ <literal>165</literal> para <literal>166</literal>
+ (166 &eacute; o ID usado pelo OpenBSD).</para>
+ </step>
+
+ <step>
+ <para>Coloque os arquivos <filename>boot1</filename> e
+ <filename>boot2</filename> no sistema de arquivos
+ local.
+ </step>
+
+ <step>
+ <para>Use o &man.disklabel.8; para escrever o
+ <filename>boot1</filename> e o
+ <filename>boot2</filename> na sua
+ parti&ccedil;&atilde;o FreeBSD.</para>
+
+ <screen>&prompt.root; <userinput>disklabel -B -b boot1 -s boot2 ad0s<replaceable>n</replaceable></userinput></screen>
+
+ <para><replaceable>n</replaceable> &eacute; o
+ n&uacute;mero da parti&ccedil;&atilde;o onde o FreeBSD
+ est&aacute; instalado.</para>
+ </step>
+
+ <step>
+ <para>Reinicie o sistema. O gerenciador de
+ inicializa&ccedil;&atilde;o
+ (<foreignphrase>boot</foreignphrase>)
+ oferecer&aacute; a op&ccedil;&atilde;o de iniciar o
+ <literal>OpenBSD</literal>, mas na verdade essa
+ op&ccedil;&atilde;o estar&aacute; iniciando o
+ FreeBSD.</para>
+ </step>
+ </procedure>
+
+ <para>Agora, se voc&ecirc; quer manter os sistemas
+ operacionais OpenBSD e FreeBSD no mesmo laptop ThinkPad,
+ pode considerar isso um exerc&iacute;cio pr&aacute;tico
+ que fica a crit&eacute;rio do leitor.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="install-bad-blocks">
+ <para>Posso instalar o FreeBSD em um disco com bad
+ blocks?</para>
+ </question>
+
+ <answer>
+ <para>At&eacute; a vers&atilde;o 3.0, o FreeBSD tinha um
+ utilit&aacute;rio chamado <command>bad144</command>, que
+ automaticamente remapeava os bad blocks. Atualmente, os
+ discos IDE modernos s&atilde;o capazes de fazer isso
+ sozinhos, portanto o <command>bad144</command> foi
+ retirado da &aacute;rvore do FreeBSD. Se sua
+ inten&ccedil;&atilde;o &eacute; instalar o FreeBSD 3.0 ou
+ alguma vers&atilde;o mais recente, n&oacute;s sinceramente
+ aconselhamos que voc&ecirc; compre um novo disco. Se
+ voc&ecirc; n&atilde;o quer comprar um disco novo,
+ ent&atilde;o use o FreeBSD 2.X.</para>
+
+ <para>Se voc&ecirc; esta tendo problemas de bad block com
+ algum disco IDE moderno, provavelmente o disco ser&aacute;
+ perdido em breve, j&aacute; que ele est&aacute; t&atilde;o
+ corrompido que a controladora interna n&atilde;o
+ est&aacute; conseguindo corrigir e remapear os bad blocks.
+ Sugerimos que voc&ecirc; compre um disco novo logo, e
+ realize c&oacute;pia de seguran&ccedil;a
+ (<foreignphrase>backup</foreignphrase>) dos dados,
+ enquanto o disco ainda funciona.</para>
+
+ <para>Se o drive de disco &eacute; SCSI e est&aacute;
+ apresentando bad blocks, leia <link linkend="awre">essa
+ resposta</link>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="bad144-3x-4x">
+ <para>Eu acabei de atualizar o sistema da s&eacute;rie 3.X
+ para 4.X, e a minha primeira inicializa&ccedil;&atilde;o
+ (<foreignphrase>boot</foreignphrase>) falhou com a
+ mensagem <errorname>bad sector table not
+ supported</errorname></para>
+ </question>
+
+ <answer>
+ <para>O FreeBSD 3.X e anteriores suportavam o programa
+ <command>bad144</command>, que automaticamente remapeava
+ bad blocks. O FreeBSD 4.X e posteriores n&atilde;o
+ suportam mais esse programa, devido ao fato que os
+ controladores de discos IDE atuais conseguem remapear bad
+ blocks automaticamente. Leia <link
+ linkend="install-bad-blocks">essa pergunta</link> para
+ mais informa&ccedil;&otilde;es.</para>
+
+ <para>Para corrigir esse problema depois de uma
+ atualiza&ccedil;&atilde;o, &eacute; necess&aacute;rio
+ mover fisicamente o disco com problemas para um outro
+ sistema FreeBSD funcional e usar o &man.disklabel.8; da
+ forma discutida a seguir.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="find-bad144">
+ <para>Como eu fa&ccedil;o se um disco tem
+ informa&ccedil;&otilde;es criadas pelo
+ <command>bad144</command> antes de atualizar o sistema, e
+ depois de atualizado para o FreeBSD 4.0 ou posterior, a
+ inicializa&ccedil;&atilde;o falha?</para>
+ </question>
+
+ <answer>
+ <para>Use o &man.disklabel.8; para identificar esse ambiente.
+ <command>disklabel -r <replaceable>drive
+ device</replaceable></command> vai te mostrar o
+ conte&uacute;do do disco. Procure o campo
+ <literal>flags</literal>. Se encontrar a
+ informa&ccedil;&atilde;o <literal>flags: badsect</literal>
+ &eacute; porque esse disco est&aacute; usando o bad144.
+ Por exemplo, o disco a seguir tem o
+ <command>bad144</command> habilitado:</para>
+
+ <screen>&prompt.root; disklabel -r wd0
+# /dev/rwd0c:
+type: ESDI
+disk: wd0s1
+label:
+flags: badsect
+bytes/sector: 512
+sectors/track: 63</screen>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="disable-bad144">
+ <para>Como eu removo o <command>bad144</command> do meu
+ sistema anterior ao 4.X de forma que eu possa
+ atualiz&aacute;-lo com seguran&ccedil;a?</para>
+ </question>
+
+ <answer>
+ <para>Use o comando <command>disklabel -e -rwd0</command>
+ para editar as informa&ccedil;&otilde;es do seu disco.
+ Basta retirar a palavra <literal>badsect</literal> do seu
+ campo flags, salvar a altera&ccedil;&atilde;o e sair do
+ programa. O bad144 ainda estar&aacute; ocupando algum
+ espa&ccedil;o no seu disco, mas ele estar&aacute;
+ funcional para s&eacute;rie 4.X e posteriores.</para>
+
+ <para>Caso seu disco tenha um n&uacute;mero muito alto de
+ bad blocks, &eacute; recomendado a troca do disco.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="boot-floppy-strangeness">
+ <para>Coisas estranhas acontecem quando inicio o sistema com
+ o disco de instala&ccedil;&atilde;o! O que est&aacute;
+ acontecendo?</para>
+ </question>
+
+ <answer>
+ <para>Se sua m&aacute;quina est&aacute; desligando ou
+ espont&acirc;neamente reiniciando sempre que voc&ecirc;
+ tenta iniciar o sistema com o disco de
+ instala&ccedil;&atilde;o, aqui v&atilde;o algumas
+ perguntas que voc&ecirc; deveria fazer a si mesmo:</para>
+
+ <orderedlist>
+ <listitem>
+ <para>O disco de instala&ccedil;&atilde;o foi feito a
+ partir de um disquete novo, rec&eacute;m formatado e
+ completamente livre de erros (de prefer&ecirc;ncia
+ algum disco que acabou de sair da caixa, ao
+ contr&aacute;rio desse seu disco que estava perdido
+ h&aacute; quase 3 anos debaixo da cama)?</para>
+ </listitem>
+
+ <listitem>
+ <para>Voc&ecirc; baixou da rede a imagem em modo
+ bin&aacute;rio? (n&atilde;o se envergonhe, at&eacute;
+ o melhor de n&oacute;s j&aacute; baixou um arquivo
+ bin&aacute;rio em modo ASCII ao menos uma vez na
+ vida!)</para>
+ </listitem>
+
+ <listitem>
+ <para>No Windows 95 ou 98, voc&ecirc; usou o
+ <command>fdimage</command> ou o
+ <command>rawrite</command> em modo DOS? Esses sistemas
+ operacionais as vezes interferem na forma com que os
+ programas escrevem dados diretamente no hardware,
+ exatamente o que o processo de cria&ccedil;&atilde;o
+ da imagem de disco faz, mesmo que voc&ecirc; execute
+ um prompt do DOS no ambiente gr&aacute;fico o problema
+ pode ocorrer.</para>
+ </listitem>
+ </orderedlist>
+
+ <para>Ainda existem not&iacute;cias de arquivos de imagens
+ sendo corrompidos pelo Netscape, durante o
+ <foreignphrase>download</foreignphrase>, por isso &eacute;
+ mais seguro utilizar um cliente de FTP diferente.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="no-install-cdrom">
+ <para>Eu inicializei o FreeBSD a partir do meu CDROM ATAPI,
+ mas o programa de instala&ccedil;&atilde;o diz que o CDROM
+ n&atilde;o foi encontrado. Para onde ele foi?</para>
+ </question>
+
+ <answer>
+ <para>A causa desse problema curioso &eacute; a
+ configura&ccedil;&atilde;o errada do seu drive de CDROM.
+ Hoje em dia muitos PCs vem com o CDROM instalado como
+ escravo na segunda controladora IDE, sem nenhum disco ou
+ drive &oacute;ptico do tipo mestre na mesma controladora.
+ De acordo com as especifica&ccedil;&otilde;es ATAPI esse
+ tipo de configura&ccedil;&atilde;o &eacute; incorreta e
+ ilegal. Alguns sistemas, como o Windows, simplesmente
+ ignoram uma s&eacute;rie de especifica&ccedil;&otilde;es
+ legais na arquitetura de computadores pessoais, e acabam
+ oferecendo suporte a essa configura&ccedil;&atilde;o
+ err&ocirc;nea - o que mais tarde pode causar outros
+ conflitos. Depois que o sistema inicia, a BIOS passa a
+ ignorar esse drive, e por isso o FreeBSD n&atilde;o
+ consegue encontr&aacute;-lo, para completar a
+ instala&ccedil;&atilde;o.</para>
+
+ <para>Reconfigure o seu computador de forma que o CDROM
+ esteja como mestre na sua controladora IDE, ou que exista
+ um outro perif&eacute;rico como mestre na controladora
+ onde o CD estiver como escravo.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="install-PLIP">
+ <para>Posso instalar o FreeBSD no meu laptop via PLIP (IP em
+ Linha Paralela)?</para>
+ </question>
+
+ <answer>
+ <para>Claro. Use o cabo laplink padr&atilde;o. Caso
+ necess&aacute;rio, verifique a <ulink
+ url="../handbook/plip.html">se&ccedil;&atilde;o de
+ PLIP</ulink> do &a.ptbr.p.handbook; para obter detalhes
+ sobre a instala&ccedil;&atilde;o do FreeBSD via rede em
+ porta paralela.</para>
+
+ <para>Se voc&ecirc; est&aacute; usando o FreeBSD 3.X ou
+ anterior, d&ecirc; uma olhada na p&aacute;gina de <ulink
+ url="http://www.FreeBSD.org/docs.html#PAO">Computa&ccedil;&atilde;o
+ M&oacute;vel</ulink>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="geometry">
+ <para>Qual geometria eu devo utilizar para um disco?
+ </question>
+
+ <answer>
+ <note>
+ <para>Por <quote>geometria</quote>, n&oacute;s entendemos
+ o n&uacute;mero de cilindros, cabe&ccedil;as e
+ setores/trilhas de um disco. Por conveni&ecirc;ncia,
+ vamos nos referir &agrave; esses dados como C/H/S
+ (Cylinders/Heads/Sectores). &Eacute; a partir dessa
+ informa&ccedil;&atilde;o que a BIOS dos PCs definem
+ quais &aacute;reas de um disco podem ser usadas para
+ leitura/escrita.</para>
+ </note>
+
+ <para>A geometria de disco costuma causar uma s&eacute;rie
+ de confus&otilde;es entre administradores de sistemas
+ menos experientes. Para come&ccedil;ar, a geometria
+ <emphasis>f&iacute;sica</emphasis> de um disco SCSI
+ &eacute; totalmente irrelevante, pois o FreeBSD trabalha
+ com blocos de discos. Na verdade, n&atilde;o existe
+ exatamente <quote>a</quote> geometria f&iacute;sica de um
+ disco, visto que a densidade de um setor varia de acordo
+ com os discos. Os fabricantes chamam de <quote>geometria
+ f&iacute;sica</quote> as especifica&ccedil;&otilde;es
+ que eles definem para que o menor espa&ccedil;o
+ poss&iacute;vel em disco seja desperdi&ccedil;ado. Em
+ discos IDE, o FreeBSD trabalha com as
+ informa&ccedil;&otilde;es de C/H/S, mas todos os
+ dispositivos modernos, internamente convertem essa
+ informa&ccedil;&otilde;es em refer&ecirc;ncias a blocos de
+ disco.</para>
+
+ <para>O que importa, portanto, &eacute; a geometria
+ <emphasis>l&oacute;gica</emphasis>. O valor l&oacute;gico
+ &eacute; a resposta que a BIOS obt&eacute;m quando
+ pergunto <quote>qual sua geometria?</quote> ao disco.
+ &Eacute; esse valor, ent&atilde;o, que &eacute; usado para
+ definir a forma de acesso ao dispositivo de armazenamento.
+ O FreeBSD usa as informa&ccedil;&otilde;es da BIOS quando
+ inicializa (<foreignphrase>boot</foreignphrase>), e por
+ isso &eacute; extremamente importante obter essa
+ informa&ccedil;&atilde;o de maneira correta. No geral, se
+ voc&ecirc; tem mais de um sistema operacional no mesmo
+ disco, eles devem concordar no valor l&oacute;gico da
+ geometria do disco, caso contr&aacute;rio voc&ecirc;
+ ter&aacute; s&eacute;rios problemas ao iniciar o
+ sistema.</para>
+
+ <para>Em discos SCSI, a geometria &agrave; ser utilizada
+ depende do suporte &agrave; tradu&ccedil;&atilde;o
+ extendida definido na sua controladora de disco
+ (normalmente esse suporte &eacute; chamado de
+ <quote>support for DOS disks &gt;1GB</quote>, que
+ identifica o suporte &agrave; discos DOS cuja capacidade
+ de armazenamento &eacute; maior que 1GB - ou alguma
+ identifica&ccedil;&atilde;o similar.). Se essa
+ op&ccedil;&atilde;o est&aacute; desabilitada, ent&atilde;o
+ o C/H/S do disco ser&aacute; de
+ <replaceable>N</replaceable> cilindros, 64 cabe&ccedil;as
+ e 32 setores/trilhas, onde o valor
+ <replaceable>N</replaceable> equivale a capacidade (em MB)
+ do disco. Por exemplo, um disco de 2GB teria 2048
+ cilindros, 64 cabe&ccedil;as e 32 setores/trilhas.</para>
+
+ <para>Se a op&ccedil;&atilde;o <emphasis>estiver</emphasis>
+ habilitada (normalmente ela &eacute; habilitada por
+ padr&atilde;o, para sanar algumas limita&ccedil;&otilde;es
+ de sistemas baseados em MSDOS), e a capacidade do disco
+ forma maior que 1GB, os valores C/H/S do disco
+ ser&atilde;o M cilindros, 63 setores por trilha
+ (<emphasis>n&atilde;o</emphasis> 64) e 255 cabe&ccedil;as,
+ sendo 'M' a capacidade do disco, em MB, dividido por
+ 7.844238 (!). Ent&atilde;o, por exemplo, o mesmo disco de
+ 2GB nessa situa&ccedil;&atilde;o teria 261 cilindros, 63
+ setores por trilha e 255 cabe&ccedil;as.</para>
+
+ <para>Se voc&ecirc; n&atilde;o entendeu o porque disso, ou
+ se o seu FreeBSD falha no momento de reconhecer a
+ geometria correta do seu disco durante a
+ instala&ccedil;&atilde;o, existe uma forma de tentar
+ resolver esse problema. Crie uma pequena
+ parti&ccedil;&atilde;o do tipo DOS no seu disco, e
+ verifique se a BIOS consegue identificar corretamente a
+ geometria do mesmo. Caso consiga, a
+ instala&ccedil;&atilde;o vai se completar com
+ tranq&uuml;ilidade, e a pequena parti&ccedil;&atilde;o DOS
+ pode sempre ser deletada, com o editor de
+ parti&ccedil;&otilde;es do FreeBSD.</para>
+
+ <para>Como alternativa, existe uma aplica&ccedil;&atilde;o
+ gratuitamente dispon&iacute;vel com a
+ distribui&ccedil;&atilde;o do FreeBSD, chamada de
+ <filename>pfdisk.exe</filename>. Ela pode ser encontrada
+ sob o diret&oacute;rio <filename>tools</filename> no CDROM
+ do FreeBSD ou nos servidores FTP do projeto. Esse
+ programa serve para descobrir qual a geometria usada por
+ outros sistemas operacionais no disco local. Nesse caso,
+ esse valor pode ser definido no editor de
+ parti&ccedil;&otilde;es do FreeBSD.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="disk-divide-restrictions">
+ <para>Existem restri&ccedil;&otilde;es quanto ao
+ particionamento de discos?</para>
+ </question>
+
+ <answer>
+ <para>Sim, existem. A principal delas, &eacute; que a
+ parti&ccedil;&atilde;o <quote>root</quote> n&atilde;o pode
+ ter mais de 1024 cilindros, sen&atilde;o a BIOS n&atilde;o
+ consegue iniciar o <foreignphrase>kernel</foreignphrase>
+ do sistema a partir dessa parti&ccedil;&atilde;o. (Note
+ que essa &eacute; uma limita&ccedil;&atilde;o das BIOS dos
+ computadores pessoais, e n&atilde;o do FreeBSD).</para>
+
+ <para>Em um disco SCSI, essa limita&ccedil;&atilde;o implica
+ que a parti&ccedil;&atilde;o raiz (root) deve estar
+ alocada nos primeiros 1024MB do disco (ou nos primeiros
+ 4096MB, caso o suporte a tradu&ccedil;&atilde;o extendida
+ esteja habilitada - veja pergunta anterior). Em discos
+ IDE, o valor correspondente equivale a 504MB para
+ parti&ccedil;&atilde;o raiz (root).</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="disk-manager">
+ <para>O FreeBSD suporta programas gerenciadores de
+ discos?</para>
+ </question>
+
+ <answer>
+ <para>O FreeBSD reconhece apenas o <quote>Ontrack Disk
+ Manager</quote>. Outros gerenciadores de discos
+ n&atilde;o s&atilde;o suportados.</para>
+
+ <para>Se sua inten&ccedil;&atilde;o &eacute; usar o disco
+ com FreeBSD, voc&ecirc; n&atilde;o precisa de um
+ gerenciador de discos. Basta configurar o disco para o
+ total de espa&ccedil;o que a BIOS reconhece (normalmente
+ 504MB) e o FreeBSD vai conseguir identificar o tamanho
+ real do disco. Se voc&ecirc; estiver usando um disco
+ antigo com uma controladora MFM, ser&aacute;
+ necess&aacute;rio avisar ao FreeBSD quantos cilindros o
+ disco tem.</para>
+
+ <para>Caso queira usar o disco com FreeBSD e algum outro
+ sistema operacional, provavelmente tamb&eacute;m
+ n&atilde;o ser&aacute; necess&aacute;rio um gerenciador de
+ discos. Certifique-se apenas que a parti&ccedil;&atilde;o
+ de inicializa&ccedil;&atilde;o
+ (<foreignphrase>boot</foreignphrase>) do FreeBSD e a
+ parti&ccedil;&atilde;o do outro sistema operacional
+ estejam nos primeiros 1024 cilindros do disco.
+ Normalmente, para administradores de sistemas que tomam
+ decis&otilde;es racionais, 20MB de espa&ccedil;o em uma
+ parti&ccedil;&atilde;o de inicializa&ccedil;&atilde;o
+ (<foreignphrase>boot</foreignphrase>) &eacute; mais que o
+ suficiente.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="missing-os">
+ <para>Quando eu inicio o FreeBSD, eu obtenho a mensagem
+ <errorname>Missing Operating System</errorname>. O que
+ est&aacute; acontecendo?</para>
+ </question>
+
+ <answer>
+ <para>Esse &eacute; um caso t&oacute;pico do FreeBSD e o DOS
+ ou qualquer outro sistema operacional discordando de suas
+ defini&ccedil;&otilde;es em rela&ccedil;&atilde;o a <link
+ linkend="geometry">geometria</link> do disco.
+ Provavelmente voc&ecirc; ter&aacute; que reinstalar o
+ FreeBSD, mas se seguir as instru&ccedil;&otilde;es citadas
+ nas perguntas anteriores, raramente esse problema vai
+ acontecer.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="stop-at-boot-manager">
+ <para>Porque eu n&atilde;o consigo passar da tela
+ <prompt>F?</prompt> do gerenciador de
+ inicializa&ccedil;&atilde;o
+ (<foreignphrase>boot</foreignphrase>)?</para>
+ </question>
+
+ <answer>
+ <para>Esse &eacute; mais um sintoma do problema descrito na
+ pergunta anterior. A geometria que a sua BIOS reconhece
+ n&atilde;o equivale ao valor definido no FreeBSD! Se a sua
+ controladora de disco ou sua BIOS suportam o modo de
+ tradu&ccedil;&atilde;o de cilindros (normalmente chamado
+ de <quote>&gt;1GB drive support</quote>), tente alterar
+ essa op&ccedil;&atilde;o e reinstalar o FreeBSD.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="need-complete-sources">
+ <para>Eu preciso instalar todos os fontes do sistema
+ operacional?</para>
+ </question>
+
+ <answer>
+ <para>Geralmente n&atilde;o, mas &eacute; altamente
+ recomend&aacute;vel que voc&ecirc; instale ao menos os
+ fontes <literal>base</literal>, que incluem
+ in&uacute;meros arquivos mencionados ao longo desse
+ documento, como as fontes do sistema,
+ <literal>sys</literal> que inclui as fontes do
+ <foreignphrase>kernel</foreignphrase> do FreeBSD, sem os
+ quais n&atilde;o se pode criar um
+ <foreignphrase>kernel</foreignphrase> personalizado.
+ N&atilde;o existe qualquer depend&ecirc;ncia do sistema
+ operacional em rela&ccedil;&atilde;o aos seus fontes; com
+ a &uacute;nica exce&ccedil;&atilde;o do programa
+ &man.config.8;, o resto do sistema operacional n&atilde;o
+ precisa dos fontes para funcionar. Os outros fontes do
+ sistema operacional - exceto os fontes do
+ <foreignphrase>kernel</foreignphrase> - podem ser montados
+ remotamente (via NFS, por exemplo) em qualquer lugar, e
+ ainda assim novos bin&aacute;rios podem ser compilados a
+ partir dos mesmos. Devido a restri&ccedil;&atilde;o
+ &uacute;nica dos fontes do
+ <foreignphrase>kernel</foreignphrase>, &eacute;
+ recomend&aacute;vel que os outros fontes n&atilde;o sejam
+ diretamente montados sob <filename>/usr/src</filename> mas
+ sim, que sejam montados separadamente e depois
+ interligados com links simb&oacute;licos
+ apropriados.</para>
+
+ <para>Tendo todos os fontes dispon&iacute;veis, e sabendo
+ reconstruir o sistema a partir dos mesmos, ser&aacute;
+ muito mais f&aacute;cil manter o FreeBSD sincronizado e
+ atualizado com futuros releases.</para>
+
+ <para>Para escolher um subconjunto dos fontes do sistema,
+ escolha a op&ccedil;&atilde;o <literal>Custom</literal>
+ quando estiver na op&ccedil;&atilde;o
+ <literal>Distributions</literal> do programa de
+ instala&ccedil;&atilde;o do sistema.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="need-kernel">
+ <para>Eu preciso criar um
+ <foreignphrase>kernel</foreignphrase>
+ personalizado?</para>
+ </question>
+
+ <answer>
+ <para>Construir um novo
+ <foreignphrase>kernel</foreignphrase> costumava ser uma
+ obriga&ccedil;&atilde;o na instala&ccedil;&atilde;o do
+ FreeBSD, mas hoje em dia existe uma interface de
+ configura&ccedil;&atilde;o do
+ <foreignphrase>kernel</foreignphrase> muito mais
+ amig&aacute;vel, que permite a redefini&ccedil;&atilde;o
+ de recursos do sistema. Para acessar essa ferramenta,
+ basta inicializar (<foreignphrase>boot</foreignphrase>) o
+ sistema com a op&ccedil;&atilde;o <option>-c</option> no
+ prompt de (<literal>boot:</literal>). Em especial, os
+ principais perif&eacute;ricos ISA - normalmente os mais
+ problem&aacute;ticos - podem ser facilmente configurados
+ com essa op&ccedil;&atilde;o.</para>
+
+ <para>Ainda &eacute; recomend&aacute;vel que se construa um
+ <foreignphrase>kernel</foreignphrase> personalizado,
+ apenas com suporte aos equipamentos e
+ caracter&iacute;sticas do sistema que voc&ecirc; precisa,
+ de forma a economizar recursos no sistema (especialmente
+ mem&oacute;ria RAM), mas essa recompila&ccedil;&atilde;o
+ n&atilde;o &eacute; mais uma obriga&ccedil;&atilde;o na
+ maioria dos sistemas - mas &eacute; sem d&uacute;vida um
+ h&aacute;bito saud&aacute;vel.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="password-encryption">
+ <para>Eu devo usar criptografia DES, Blowfish, ou MD5 para
+ senhas do sistema? Como eu defino qual delas o
+ usu&aacute;rio deve usar?</para>
+ </question>
+
+ <answer>
+ <para>O formato padr&atilde;o para senhas no FreeBSD
+ &eacute; a criptografia <emphasis>MD5</emphasis>. Esse
+ padr&atilde;o &eacute; considerado mais seguro do que os
+ formatos tradicionais de senhas Unix, que normalmente eram
+ baseados no algor&iacute;timo <emphasis>DES</emphasis>. O
+ FreeBSD ainda pode trabalhar com senhas em formato DES
+ caso voc&ecirc; precise compartilh&aacute;-las com
+ sistemas que ainda armazenam suas senhas no formato antigo
+ - e menos seguro - dos sistemas Unix originais (para isso
+ voc&ecirc; ter&aacute; que instalar a
+ distribui&ccedil;&atilde;o <quote>crypto</quote> via
+ sysinstall ou apartir do c&oacute;digo fonte). Instalando
+ as bibliotecas crypto ser&aacute possivel utilizar outros
+ tipos de criptografia, como o formato Blowfish, que
+ &eacute; ainda mais seguro do que o MD5. A
+ defini&ccedil;&atilde;o de qual codifica&ccedil;&atilde;o
+ utilizar &eacute; definida no campo
+ <quote>passwd_format</quote> do arquivo de
+ configura&ccedil;&otilde;es de login, o
+ <filename>/etc/login.conf</filename>. Esse campo deve ter
+ o valor <quote>des</quote>, <quote>blf</quote> (caso suas
+ bibliotecas estejam dispon&iacute;veis) ou
+ <quote>md5</quote>. Veja a p&aacute;gina de manuais do
+ &man.login.conf.5; para maiores
+ informa&ccedil;&otilde;es.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="boot-floppy-hangs">
+ <para>Por que o disco de inicializa&ccedil;&atilde;o
+ (<foreignphrase>boot</foreignphrase>) inicia, mas trava na
+ tela <literal>Probing Devices...</literal>?</para>
+ </question>
+
+ <answer>
+
+ <para>Se voc&ecirc; tem um drive Zip IDE ou um Jaz conectado
+ ao seu computador, remova-o e tente de novo. A
+ inicializa&ccedil;&atilde;o
+ (<foreignphrase>boot</foreignphrase>) de
+ instala&ccedil;&atilde;o do sistema se confunde as vezes
+ quando esses dispositivos est&atilde;o dispon&iacute;veis
+ no computador. Depois da instala&ccedil;&atilde;o os
+ drives s&atilde;o reconhecidos e controlados normalmente.
+ Provavelmente - esperamos - esse problema ser&aacute;
+ corrigido nas pr&oacute;ximas vers&otilde;es.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="panic-on-install-reboot">
+ <para>Por que ocorre o erro <errorname>panic: can't mount
+ root</errorname>, quando eu reinicio o sistema, depois
+ de t&ecirc;-lo instalado.</para>
+ </question>
+
+ <answer>
+ <para>Esse problema costuma ocorrer por conta de uma pequena
+ confus&atilde;o entre os blocos do setor de
+ inicializa&ccedil;&atilde;o
+ (<foreignphrase>boot</foreignphrase>) do disco, e as
+ defini&ccedil;&otilde;es de disco no
+ <foreignphrase>kernel</foreignphrase>. &Eacute; um erro
+ t&iacute;pico apenas de sistemas com dois discos IDE,
+ quando os mesmos est&atilde;o definidos como disco mestre
+ e escravo, mas em controladoras distintas, e com o FreeBSD
+ instalado na controladora secund&aacute;ria. Os blocos de
+ inicializa&ccedil;&atilde;o
+ (<foreignphrase>boot</foreignphrase>) acham que o sistema
+ est&aacute; instalado no segundo disco IDE (o segundo
+ disco reconhecido pela BIOS) enquanto o
+ <foreignphrase>kernel</foreignphrase> assume o primeiro
+ disco na segunda controladora IDE. Depois do
+ reconhecimento dos equipamentos do sistema o
+ <foreignphrase>kernel</foreignphrase> tenta montar a
+ parti&ccedil;&atilde;o raiz no disco que o bloco de
+ inicializa&ccedil;&atilde;o
+ (<foreignphrase>boot</foreignphrase>) acredita ser o disco
+ de inicializa&ccedil;&atilde;o
+ (<foreignphrase>boot</foreignphrase>), wd1, ao
+ inv&eacute;s do disco correto na segunda controladora,
+ wd2, e por isso o processo de inicializa&ccedil;&atilde;o
+ falha.</para>
+
+ <para>Para corrigir esse problema, voc&ecirc; tem tr&ecirc;s
+ op&ccedil;&otilde;es:</para>
+
+ <orderedlist>
+ <listitem>
+ <para>No FreeBSD 3.3 e posteriores, reincie o sistema e
+ aperte <keycap>Enter</keycap> na tela <literal>Booting
+ kernel in 10 seconds; hit [Enter] to
+ interrupt</literal>. Voc&ecirc; ser&aacute;
+ direcionado ao <literal>boot loader</literal>.</para>
+
+ <para>Depois, digite <literal> set
+ root_disk_unit="<replaceable>disk_number</replaceable>"</literal>.
+ <replaceable>disk_number</replaceable> dever&aacute;
+ ser <literal>0</literal> se o FreeBSD estiver
+ instalado como mestre na primeira controladora IDE,
+ <literal>1</literal> se for o escravo na primeira
+ controladora, <literal>2</literal> se for o mestre da
+ segunda controladora IDE, e <literal>3</literal> se
+ for o escravo na segunda controladora.</para>
+
+ <para>Depois digite <literal>boot</literal>, e seu sistema deve ser iniciado corretamente.</para>
+
+ <para>Para tornar essa altera&ccedil;&atilde;o
+ permanente, (para que voc&ecirc; n&atilde;o tenha que
+ digitar isso na m&atilde;o toda vez que seu FreeBSD
+ tiver que reiniciar) basta colocar a linha <literal>
+ root_disk_unit="<replaceable>disk_number</replaceable>"</literal>
+ no arquivo
+ <filename>/boot/loader.conf.local</filename>.</para>
+ </listitem>
+
+ <listitem>
+ <para>Se voc&ecirc; estiver usando o FreeBSD 3.2 ou
+ alguma vers&atilde;o anterior, digite
+ <literal>1:wd(2,a)kernel</literal> na prompt de
+ inicializa&ccedil;&atilde;o do sistema e aperte
+ <keycap>Enter</keycap>. Se o sistema iniciar
+ normalmente, execute o comando <command>echo
+ "1:wd(2,a)kernel" &gt; /boot.config</command> para
+ tornar essa altera&ccedil;&atilde;o permanente.</para>
+ </listitem>
+
+ <listitem>
+ <para>Mude o disco com o FreeBSD para primeira
+ controladora IDE.</para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="../handbook/kernelconfig.html">Recompile o
+ <foreignphrase>kernel</foreignphrase></ulink>,
+ altere as linhas de configura&ccedil;&atilde;o wd
+ para: </para>
+
+ <programlisting>controller wdc0 at isa? port "IO_WD1" bio irq 14 vector wdintr
+disk wd0 at wdc0 drive 0
+# disk wd1 at wdc0 drive 1 # comment out this line
+
+controller wdc1 at isa? port "IO_WD2" bio irq 15 vector wdintr
+disk wd1 at wdc1 drive 0 # change from wd2 to wd1
+disk wd2 at wdc1 drive 1 # change from wd3 to wd2</programlisting>
+
+ <para>E instale o novo
+ <foreignphrase>kernel</foreignphrase>. Se voc&ecirc;
+ mudou seu disco e quer voltar ele para
+ configura&ccedil;&atilde;o original, mude a ordem
+ deles no PC e reinicie o sistema. Seu sistema deve
+ iniciar com sucesso.</para>
+ </listitem>
+ </orderedlist>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="memory-limits">
+ <para>Quais s&atilde;o as limita&ccedil;&otilde;es de
+ mem&oacute;ria?</para>
+ </question>
+
+ <answer>
+ <para>A limita&ccedil;&atilde;o de mem&oacute;ria &eacute;
+ de 4 gigabytes. Essa defini&ccedil;&atilde;o foi testada,
+ veja a <ulink
+ URL="ftp://ftp.cdrom.com/archive-info/configuration">configura&ccedil;&atilde;o
+ do wcarchive</ulink> para obter mais detalhes. Se
+ voc&ecirc; pretende instalar essa quantidade de
+ mem&oacute;ria no FreeBSD, seja cuidadoso. D&ecirc;
+ prefer&ecirc;ncia para mem&oacute;rias ECC e reduza a
+ capacidade de carga usando modules de mem&oacute;ria de 9
+ chips, ai inv&eacute;s dos m&oacute;dulos de 18
+ chips.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="ffs-limits">
+ <para>Qual a limita&ccedil;&atilde;o para o sistema de
+ arquivos FFS?</para>
+ </question>
+
+ <answer>
+ <para>Para o sistema de arquivos FFS, o limite
+ m&aacute;ximo, na teoria &eacute; de 8 terabytes (para
+ blocos de 2K), ou 16TB para o tamanho padr&atilde;o dos
+ blocos, que &eacute; de 8K. Na pr&aacute;tica os limites
+ variam de 1TB a 4TB de acordo com algumas
+ modifica&ccedil;&otilde;es no sistema de arquivos.</para>
+
+ <para>O tamanho m&aacute;ximo para um arquivo no sistema FFS
+ &eacute; de 1G de blocos (4TB) caso os blocos sejam de
+ 4K.</para>
+
+ <table>
+ <title>Tamanho m&aacute;ximo dos arquivos.</title>
+
+ <tgroup cols="5">
+ <thead>
+ <row>
+ <entry>Tamanho do bloco</entry>
+
+ <entry>2.2.7-stable</entry>
+
+ <entry>3.0-current</entry>
+
+ <entry>Funciona com</entry>
+
+ <entry>Deve funcionar</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry>4K</entry>
+
+ <entry>4T-1</entry>
+
+ <entry>4T-1</entry>
+
+ <entry>4T-1</entry>
+
+ <entry>&gt;4T</entry>
+ </row>
+
+ <row>
+ <entry>8K</entry>
+
+ <entry>&gt;32G</entry>
+
+ <entry>8T-1</entry>
+
+ <entry>&gt;32G</entry>
+
+ <entry>32T-1</entry>
+ </row>
+
+ <row>
+ <entry>16K</entry>
+
+ <entry>&gt;128G</entry>
+
+ <entry>16T-1</entry>
+
+ <entry>&gt;128G</entry>
+
+ <entry>32T-1</entry>
+ </row>
+
+ <row>
+ <entry>32K</entry>
+
+ <entry>&gt;512G</entry>
+
+ <entry>32T-1</entry>
+
+ <entry>&gt;512G</entry>
+
+ <entry>64T-1</entry>
+ </row>
+
+ <row>
+ <entry>64K</entry>
+
+ <entry>&gt;2048G</entry>
+
+ <entry>64T-1</entry>
+
+ <entry>&gt;2048G</entry>
+
+ <entry>128T-1</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+
+ <para>Quando o sistema de arquivos possui blocos de 4K, o
+ triplo de blocos indiretores funcionam, e o limite
+ m&aacute;ximo do sistema de arquivos deveria ser atingido,
+ mas a triplica&ccedil;&atilde;o dos blocos indiretores
+ (representados aproximadamente pelo resultado de 1K^3 +
+ 1K^2 + 1K) se limita ao valor (err&ocirc;neo) de 1G-1 no
+ n&uacute;mero de blocos do sistema de arquivos. O limite
+ do n&uacute;mero de blocos deveria ser 2G-1. Mas por
+ causa de alguns problemas com o n&uacute;mero dos blocos
+ no sistema de arquivos, esse valor n&atilde;o pode ser
+ alcan&ccedil;ado quando o tamanho dos blocos no sistema de
+ arquivos &eacute; 4K.</para>
+
+ <para>Em blocos com tamanho de 8K ou maiores, o limite geral
+ &eacute; de 2G-1 no n&uacute;mero de blocos do sistema de
+ arquivos, exceto no FreeBSD -STABLE onde o triplo indireto
+ do n&uacute;mero de blocos pode ser alcan&ccedil;ado, de
+ forma que o limite m&aacute;ximo do sistema de arquivos
+ seja representado pela equa&ccedil;&atilde;o
+ ((blocksize/4)^2 + (blocksize/4)), e sob o -CURRENT onde a
+ exce&ccedil;&atilde;o desse limite pode causar
+ problemas.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="archsw-readin-failed-error">
+ <para>Por que a mensagem de erro
+ <errorname>archsw.readin.failed</errorname> me perturba
+ sempre, depois que eu recompilo e carrego um
+ <foreignphrase>kernel</foreignphrase> novo?</para>
+ </question>
+
+ <answer>
+ <para>Voc&ecirc; pode carregar um novo
+ <foreignphrase>kernel</foreignphrase> ao especifica-lo
+ diretamente no segundo est&aacute;gio do processo de
+ inicializa&ccedil;&atilde;o, simplesmente apertando
+ qualquer tecla quando o pipe ( | ) aparecer, antes que o
+ loader seja carregado. Provavelmente voc&ecirc; atualizou
+ todo o sistema operacional, mas recompilou apenas o
+ <foreignphrase>kernel</foreignphrase>, <emphasis>sem dar
+ um make world</emphasis>. Essa a&ccedil;&atilde;o
+ &eacute; arriscada e n&atilde;o &eacute; suportada.
+ Fa&ccedil;a um Make World!!!!</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="upgrade-3x-4x">
+ <para>Como eu atualizo meu sistema da s&eacute;rie 3.X para 4.X?</para>
+ </question>
+
+ <answer>
+ <para>&Eacute; <emphasis>altamente</emphasis>
+ recomend&aacute;vel que voc&ecirc; use
+ <foreignphrase>snapshots</foreignphrase> bin&aacute;rios
+ para fazer isso. <foreignphrase>Snapshots</foreignphrase>
+ bin&aacute;rio do 4-STABLE podem ser encontrados em <ulink
+ URL="ftp://releng4.FreeBSD.org/">ftp://releng4.FreeBSD.org/</ulink>.</para>
+
+ <para>Devido &agrave;s in&uacute;meras
+ altera&ccedil;&otilde;es da s&eacute;rie 3.X para
+ s&eacute;rie 4-STABLE, uma atualiza&ccedil;&atilde;o
+ direta, a partir dos fontes, corre grande riscos de
+ falhar. A atualiza&ccedil;&atilde;o dos fontes pode ser
+ feita, inclusive desde as prim&oacute;rdias vers&otilde;es
+ 2.X at&eacute; as mais recentes 4-STABLE ou at&eacute;
+ mesmo 5-CURRENT, mas essa atualiza&ccedil;&atilde;o deve
+ ser realizada em v&aacute;rios est&aacute;gios. Primeiro,
+ atualize a sua s&eacute;rie 3.X pra vers&atilde;o mais
+ recente, a 3-STABLE (<literal>RELENG_3</literal>). Depois
+ atualize para o 4.1.1-RELEASE
+ (<literal>RELENG_4_1_1_RELEASE</literal>). Finalmente,
+ tente atualizar para o 4-STABLE
+ (<literal>RELENG_4</literal>).</para>
+
+ <para>Se voc&ecirc; pretende atualizar seu sistema a partir
+ dos fontes, por gentileza, refira-se ao <ulink
+ URL="../handbook/cutting-edge.html">&a.ptbr.p.handbook;</ulink>
+ para maiores informa&ccedil;&otilde;es.</para>
+
+ <caution>
+ <para>A atualiza&ccedil;&atilde;o direta por meio dos
+ fontes nunca &eacute; aconselh&aacute;vel para
+ usu&aacute;rios inexperientes, a
+ atualiza&ccedil;&atilde;o da s&eacute;rie 3.X para 4.X
+ portanto &eacute; menos aconselh&aacute;vel ainda,
+ portanto, caso voc&ecirc; n&atilde;o tenha
+ experi&ecirc;ncias com esse processo de
+ atualiza&ccedil;&atilde;o, leia todas as
+ instru&ccedil;&otilde;es dispon&iacute;veis no
+ &a.ptbr.p.handbook; com cuidado.</para>
+ </caution>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="security-profiles">
+ <para>Onde est&atilde;o essas
+ <quote>especifica&ccedil;&otilde;es de
+ seguran&ccedil;a</quote>?</para>
+ </question>
+
+ <answer>
+ <para>Uma <quote>especifica&ccedil;&atilde;o de
+ seguran&ccedil;a</quote> se refere a um conjunto de
+ configura&ccedil;&otilde;es e de op&ccedil;&otilde;es no
+ sistema, que tendem a garantir um n&iacute;vel
+ desej&aacute;vel de seguran&ccedil;a, por meio de definir
+ ou desabilitar algumas op&ccedil;&otilde;es e programas no
+ FreeBSD. Para maiores detalhes, veja a
+ se&ccedil;&atilde;o de <ulink
+ url="../handbook/install-post.html#SECURITYPROFILE">
+ Especifica&ccedil;&atilde;o de Seguran&ccedil;a</ulink>
+ no <ulink
+ url="../handbook/install-post.html">cap&iacute;tulo de
+ p&oacute;s-instala&ccedil;&atilde;o</ulink> do
+ &a.ptbr.p.handbook;.</para>
+ </answer>
+ </qandaentry>
+ </qandaset>
+ </chapter>
+
+ <chapter id="hardware">
+ <title>Compatibilidade de Hardware</title>
+
+ <qandaset>
+ <qandaentry>
+ <question id="architectures">
+ <para>O FreeBSD suporta outras arquiteturas al&eacute;m da
+ x86?</para>
+ </question>
+
+ <answer>
+ <para>Sim. Atualmente o FreeBSD tem suporte para
+ arquiteturas Intel x86 e DEC (agora Compaq) Alpha.
+ Tamb&eacute;m existe um interesse conhecido no
+ <literal>port</literal> FreeBSD para plataforma SPARC.
+ Caso exista interesse em participar desse projeto ou saber
+ mais informa&ccedil;&otilde;es sobre
+ <literal>port</literal> para esta arquitetura, queira
+ juntar-se &agrave; lista de discuss&atilde;o do &a.sparc;.
+ As plataformas IA-64 e Power-PC foram recentemente
+ adicionadas &agrave; lista de arquiteturas que
+ ser&atilde;o futuramente suportadas; entre na lista do
+ &a.ia64; e/ou &a.ppc; para mais informa&ccedil;&otilde;es
+ sobre tais arquiteturas. Para discuss&otilde;es gerais
+ sobre outras arquiteturas, entre na lista de
+ discuss&atilde;o &a.platforms;.</para>
+
+ <para>Caso seu computador seja de uma arquitetura n&atilde;o
+ suportada pelo FreeBSD e precise de uma
+ solu&ccedil;&atilde;o imediata, n&oacute;s sugerimos uma
+ olhada no <ulink
+ URL="http://www.netbsd.org/">NetBSD</ulink> ou <ulink
+ URL="http://www.openbsd.org/">OpenBSD</ulink>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="which-hardware-to-get">
+ <para>Preciso adquirir um novo hardware para um sistema com
+ FreeBSD. Qual o melhor modelo/marca/tipo?</para>
+ </question>
+
+ <answer>
+ <para>Essa &eacute; uma discuss&atilde;o tradicional nas
+ listas do FreeBSD. Partindo do princ&iacute;pio que os
+ tipos de equipamentos e suas caracter&iacute;sticas
+ alteram-se de forma muita r&aacute;pida, e que n&oacute;s
+ tentamos suportar essas mudan&ccedil;as e torn&aacute;-las
+ suportadas, &eacute; <emphasis>fortemente
+ recomendado</emphasis> que voc&ecirc; sempre leia as
+ <ulink URL="&rel.current.hardware;">Notas de
+ Hardware</ulink> e fa&ccedil;a uma busca nos <ulink
+ URL="http://www.freebsd.org/search/#mailinglists">hist&oacute;rico
+ das listas de discuss&atilde;o</ulink> antes de
+ perguntar sobre os melhores e mais novos equipamentos
+ dispon&iacute;veis. &Eacute; muito prov&aacute;vel que as
+ informa&ccedil;&otilde;es que voc&ecirc; quer sobre
+ determinado equipamento tenham sido discutidas h&aacute;
+ menos de uma semana.</para>
+
+ <para>Caso voc&ecirc; esteja procurando
+ informa&ccedil;&otilde;es sobre
+ <foreignphrase>laptops</foreignphrase>, verifique o
+ hist&oacute;rico da lista FreeBSD-mobile. Do
+ contr&aacute;rio, o hist&oacute;rico da FreeBSD-questions
+ ser&aacute; o mais indicado, ou de alguma lista
+ espec&iacute;fica sobre o tipo de hardware em
+ quest&atilde;o.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="supported-hard-drives">
+ <para>Que tipos de discos r&iacute;gido o FreeBSD
+ suporta?</para>
+ </question>
+
+ <answer>
+ <para>O FreeBSD suporta discos EIDE e SCSI (com alguma
+ controladora compat&iacute;vel; veja a pr&oacute;xima
+ pergunta) e todos os outros discos que usam a interface de
+ controle original da <quote>Western Digital</quote> (MFM,
+ RLL, ESDI, e &eacute; claro IDE). Algumas controladoras
+ ESDI que usam interfaces de controle propriet&aacute;ria
+ n&atilde;o funcionar&atilde;o no FreeBSD: mude para
+ controladoras do tipo WD1002/3/6/7 ou algum clone dessa
+ interface.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="supported-scsi-controllers">
+ <para>Quais controladoras SCSI s&atilde;o suportadas pelo
+ FreeBSD?</para>
+ </question>
+
+ <answer>
+ <para>Veja a lista completa de equipamentos suportados nas
+ <ulink URL="&rel.current.hardware;">Notas de
+ Hardware</ulink> atuais.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="supported-cdrom-drives">
+ <para>Quais drives de CDROM s&atilde;o suportados pelo
+ FreeBSD?</para>
+ </question>
+
+ <answer>
+ <para>Quaisquer drives SCSI ligados &agrave; controladoras
+ suportadas s&atilde;o controladas pelo FreeBSD.</para>
+
+ <para>As seguintes interfaces propriet&aacute;rias de CDROM
+ tamb&eacute;m s&atilde;o suportadas:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Mitsumi LU002 (8bits), LU005 (16bits) e FX001D
+ (16bits velocidade 2x (2x Speed)).</para>
+ </listitem>
+
+ <listitem>
+ <para>Sony CDU 31/33A.</para>
+ </listitem>
+
+ <listitem>
+ <para>CDROM Sound Blaster n&atilde;o-SCSI.</para>
+ </listitem>
+
+ <listitem>
+ <para>CDROM Matsushita/Panasonic.</para>
+ </listitem>
+
+ <listitem>
+ <para>CDROMs IDE compat&iacute;veis com o padr&atilde;o
+ ATAPI.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Todo equipamento n&atilde;o-SCSI &eacute;
+ reconhecidamente mais lento do que os SCSI, e alguns
+ drives de CDROM ATAPI podem n&atilde;o funcionar
+ corretamente.</para>
+
+ <para>A partir da vers&atilde;o 2.2, todos os CDROM do
+ FreeBSD distribu&iacute;dos pela FreeBSD Mall podem ser
+ iniciados (booting) diretamente pela unidade de CD.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="supported-cdrw-drives">
+ <para>Quais drives de CD-RW s&atilde;o suportados pelo
+ FreeBSD?</para>
+ </question>
+
+ <answer>
+ <para>O FreeBSD suporta qualquer tipo de unidade CD-RW ou
+ CD-R IDE compat&iacute;veis com o padr&atilde;o ATAPI. No
+ FreeBSD 4.0 e posteriores, leia a p&aacute;gina de manual
+ do &man.burncd.8;.Em vers&otilde;es anteriores, veja os
+ exemplos de utiliza&ccedil;&atilde;o desses equipamentos
+ em <filename>/usr/share/examples/atapi</filename>.</para>
+
+ <para>O FreeBSD tamb&eacute;m suporta qualquer drive de CD-R
+ ou CD-RW do tipo SCSI. Instale o aplicativo
+ <command>cdrecord</command> a partir da
+ cole&ccedil;&atilde;o de <literal>ports</literal> ou como
+ pacote, e tenha certeza de ter o device
+ <devicename>pass</devicename> compilado no seu
+ <foreignphrase>kernel</foreignphrase>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="zip-support">
+ <para>O FreeBSD suporta ZIP Drives?</para>
+ </question>
+
+ <answer>
+ <para>O FreeBSD suporta ZIP Drives do tipo SCSI, &eacute;
+ claro. Essa unidade deve ser configurada apenas nos SCSI
+ ID n&uacute;meros 5 ou 6, mas se a sua BIOS tem suporte
+ &agrave inicializ&atilde;&ccedil;o(boot) pela unidade
+ SCSI, essa caracter&iacute;stica pode ser usada sem
+ problemas. N&atilde;o est&aacute; claro exatamente quais
+ adaptadores SCSI suportam a caracter&iacute;stica de
+ inicializ&atilde;&ccedil;o(boot) em IDs diferentes de 0 ou
+ 1, portanto ser&aacute; necess&aacute;rio consultar o
+ manual do seu equipamento para obter
+ informa&ccedil;&otilde;es mais precisas sobre esse
+ recurso.</para>
+
+ <para>Os ZIP Drives padr&atilde;o ATAPI (IDE) s&atilde;o
+ suportados pelo FreeBSD desde a vers&atilde;o 2.2.6 e em
+ todas as posteriores.</para>
+
+ <para>O FreeBSD tem suporte ainda a ZIP Drives de Porta
+ Paralela desde a vers&atilde;o 3.0. Caso seu sistema seja
+ dessa vers&atilde;o ou superior, verifique o suporte a
+ <devicename>scbus0</devicename>,
+ <devicename>da0</devicename>,
+ <devicename>ppbus0</devicename>,
+ <devicename>vp0</devicename> no seu
+ <foreignphrase>kernel</foreignphrase> (o
+ <foreignphrase>kernel</foreignphrase> GENERIC tem todos
+ esses suportes, exceto &agrave; device
+ <devicename>vp0</devicename>). Com esses suportes
+ presentes no <foreignphrase>kernel</foreignphrase>, o
+ drive de Porta Paralela deve estar dispon&iacute;vel em
+ <devicename>/dev/da0s4</devicename>. Os discos ZIP podem
+ ser montados usando o comando <command>mount /dev/da0s4
+ /mnt</command> OU (discos formatados como DOS)
+ <command>mount_msdos /dev/da0s4 /mnt</command>, como
+ &eacute; de costume.</para>
+
+ <para>Verifique tamb&eacute;m o <link
+ linkend="jaz"><literal>FAQ</literal> sobre discos
+ remov&iacute;veis</link> dispon&iacute;vel ainda nesse
+ cap&iacute;tulo, e <link linkend="disklabel">as notas
+ sobre <quote>formata&ccedil;&atilde;o</quote></link> no
+ cap&iacute;tulo de Administra&ccedil;&atilde;o.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="jaz-zip-removable-support">
+ <para>O FreeBSD suporta discos JAZ, EZ ou outras unidades
+ remov&iacute;veis?</para>
+ </question>
+
+ <answer>
+ <para>Fora a vers&atilde;o IDE dos discos EZ, os outros
+ discos s&atilde;o todos do tipo SCSI, e portanto devem
+ todos ser reconhecidos como discos SCSI no FreeBSD. O
+ drive EZ tipo IDE deve ser reconhecido como disco
+ IDE.</para>
+
+ <para><anchor id="jaz">N&atilde;o h&aacute; uma certeza
+ quanto &agrave; forma que o FreeBSD trata uma
+ altera&ccedil;&atilde;o de m&iacute;dia enquanto o sistema
+ est&aacute; em pleno uso, ent&atilde;o &eacute;
+ necess&aacute;rio desmontar a unidade antes de trocar de
+ disco e garantir que qualquer unidade externa esteja
+ ligada quando o sistema for bootado, de forma que o
+ FreeBSD possa reconhec&ecirc;-las.</para>
+
+ <para>Veja essa <link linkend="disklabel">nota sobre
+ <quote>formata&ccedil;&atilde;o</quote></link>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="multiport-serial-support">
+ <para>Que dispositivos seriais de m&uacute;ltiplas portas
+ s&atilde;o suportados pelo FreeBSD?</para>
+ </question>
+
+ <answer>
+ <para>Existe uma lista dessas unidades na
+ se&ccedil;&atilde;o de <ulink
+ URL="../handbook/install.html#INSTALL-MISC">Dispositivos
+ Diversos</ulink> do &a.ptbr.p.handbook;.</para>
+
+ <para>Alguns dispositivos clones parecem tamb&eacute;m
+ funcionar normalmente no sistema, em especial equipamentos
+ que se dizem ser AST compat&iacute;veis.</para>
+
+ <para>Verifique a p&aacute;gina de manual do &man.sio.4; para
+ obter mais informa&ccedil;&otilde;es quanto &agrave;
+ configura&ccedil;&atilde;o desses dispositivos.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="usbkbd">
+ <para>O FreeBSD suporta meu teclado USB?</para>
+ </question>
+
+ <answer>
+ <para>O suporte a dispositivos USB foi adicionado no FreeBSD
+ desde a vers&atilde;o 3.1. Contudo, na vers&atilde;o 3.1,
+ o suporte ainda &eacute; muito preliminar, e alguns
+ equipamentos podem n&atilde;o funcionar antes da
+ vers&atilde;o 3.2. Caso voc&ecirc; queira usar o suporte
+ a teclados USB, tente o seguinte.</para>
+
+ <procedure>
+ <step>
+ <para>No FreeBSD 3.2 ou posterior.</para>
+ </step>
+
+ <step>
+ <para>Adicione as seguintes linhas no arquivo de
+ configura&ccedil;&atilde;o do seu
+ <foreignphrase>kernel</foreignphrase>, e
+ recompile-o.</para>
+
+ <programlisting>device uhci
+device ohci
+device usb
+device ukbd
+options KBD_INSTALL_CDEV</programlisting>
+
+ <para>Em vers&otilde;es anteriores &agrave; 4.0,
+ use:</para>
+
+ <programlisting>controller uhci0
+controller ohci0
+controller usb0
+controller ukbd0
+options KBD_INSTALL_CDEV</programlisting>
+ </step>
+
+ <step>
+ <para>No diret&oacute;rio <filename>/dev</filename>,
+ crie os seguintes devices:</para>
+
+ <screen>&prompt.root; <userinput>cd /dev</userinput>
+&prompt.root; <userinput>./MAKEDEV kbd0 kbd1</userinput></screen>
+ </step>
+
+ <step>
+ <para>Edite o <filename>/etc/rc.conf</filename> e
+ adicione as seguintes linhas:</para>
+
+ <programlisting>usbd_enable="YES"
+usbd_flags=""</programlisting>
+ </step>
+ </procedure>
+
+ <para>Depois de reiniciado(rebooting) o sistema, o teclado
+ AT aparece como <devicename>/dev/kbd0i</devicename> e o
+ teclado USB aparece como
+ <devicename>/dev/kbd1</devicename> , se ambos estiverem
+ conectados ao sistema. Se estiver somente o teclado USB,
+ ele estar&aacute; como
+ <devicename>/dev/ukbd0</devicename>.</para>
+
+ <para>Caso queira usar o teclado USB no console, &eacute;
+ necess&aacute;rio informar explicitamente ao driver do
+ console que ele deve usar esse teclado. Isso pode ser
+ feito com o seguinte comando em tempo de
+ inicializa&ccedil;&atilde;o do sistema:</para>
+
+ <screen>&prompt.root; <userinput>kbdcontrol -k /dev/kbd1 &lt; /dev/ttyv0 &gt; /dev/null</userinput></screen>
+
+ <para>Note que se o teclado USB for o &uacute;nico teclado
+ dispon&iacute;vel, ele ser&aacute; acessado via
+ <devicename>/dev/kbd0</devicename>, portanto a linha de
+ comando deve-se parecer com:</para>
+
+ <screen>&prompt.root; <userinput>kbdcontrol -k /dev/kbd0 &lt; /dev/ttyv0 &gt; /dev/null</userinput></screen>
+
+ <para>O arquivo <filename>/etc/rc.i386</filename> &eacute;
+ um bom lugar para colocar o comando acima.</para>
+
+ <para>Depois de configurado, o teclado USB deve funcionar
+ tamb&eacute;m no ambiente X, sem nenhuma outra
+ configura&ccedil;&atilde;o especial.</para>
+
+ <para>Conectar e desconectar o teclado USB com o sistema
+ ligado ainda n&atilde;o &eacute; um comportamento
+ completamente suportado, portando &eacute;
+ aconselh&aacute;vel ligar o teclado antes de iniciar o
+ sistema e apenas deslig&aacute;-lo depois que o computador
+ estiver desligado, para evitar poss&iacute;veis
+ problemas.</para>
+
+ <para>Veja a p&aacute;gina de manual do &man.ukbd.4; para
+ maiores informa&ccedil;&otilde;es.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="busmouse">
+ <para>Eu tenho um mouse de barramento n&atilde;o tradicional.
+ Como o configuro?</para>
+ </question>
+
+ <answer>
+ <para>O FreeBSD suporta o barramento de mouse tradicional do
+ tipo InPort fabricados pela Microsoft, Logitech e ATI. O
+ suporte a esse perif&eacute;rico &eacute; compilado por
+ padr&atilde;o no <foreignphrase>kernel</foreignphrase>
+ GENERIC do FreeBSD na vers&atilde;o 2.X, mas n&atilde;o
+ &eacute; suportado por padr&atilde;o na vers&atilde;o 3.0
+ e posteriores. Se voc&ecirc; quer recompilar um
+ <foreignphrase>kernel</foreignphrase> com suporte ao
+ barramento de mouse, adicionando a linha ao seu arquivo de
+ configura&ccedil;&atilde;o:</para>
+
+ <para>No FreeBSD 3.0 e anteriores, adicione:</para>
+
+ <programlisting>device mse0 at isa? port 0x23c tty irq5 vector mseintr</programlisting>
+
+ <para>Na s&eacute;rie 3.X do FreeBSD, a linha deve
+ ser:</para>
+
+ <programlisting>device mse0 at isa? port 0x23c tty irq5</programlisting>
+
+ <para>E na s&eacute;rie 4.X e posteriores, a linha deve
+ ser:</para>
+
+ <programlisting>device mse0 at isa? port 0x23c irq5</programlisting>
+
+ <para>Barramentos de mouse costumam ter uma interface
+ dedicada que permite definir o endere&ccedil;o de
+ mem&oacute;ria e a IRQ que a placa vai funcionar. Nesse
+ caso, refira-se ao manual do seu equipamento e &agrave;
+ p&aacute;gina de manual do &man.mse.4; para maiores
+ informa&ccedil;&otilde;es.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="ps2mouse">
+ <para>Como eu uso o meu mouse (<quote>mouse port</quote> ou
+ <quote>keyboard</quote>) PS/2?</para>
+ </question>
+
+ <answer>
+ <para>Em vers&otilde;es posteriores ao 2.2.5, o
+ <foreignphrase>kernel</foreignphrase> do FreeBSD inclui
+ por padr&atilde;o o suporte ao device
+ <devicename>psm</devicename>, que controlar&aacute; seu
+ mouse PS/2 desde o momento de inicializa&ccedil;&atilde;o
+ do sistema.</para>
+
+ <para>Caso seu FreeBSD seja 2.1.X ou similar, o suporte a
+ PS/2 pode ser inclu&iacute;do no
+ <foreignphrase>kernel</foreignphrase>, no momento da
+ instala&ccedil;&atilde;o, ou mesmo depois desse processo,
+ com a op&ccedil;&atilde;o <option>-c</option> na tela de
+ <command>boot:</command> do sistema. O suporte nesse caso
+ &eacute; desabilitado por padr&atilde;o e por isso deve
+ ser explicitamente habilitado.</para>
+
+ <para>Caso sua vers&atilde;o de FreeBSD seja antiga,
+ adicione a seguinte linha ao seu
+ <foreignphrase>kernel</foreignphrase> e
+ recompile-o:</para>
+
+ <para>No FreeBSD 3.0 e anteriores, a linha &eacute;:</para>
+
+ <programlisting>device psm0 at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr</programlisting>
+
+ <para>No FreeBSD 3.1 e posteriores da mesma s&eacute;rie, a
+ linha deve ser:</para>
+
+ <programlisting>device psm0 at isa? tty irq 12</programlisting>
+
+ <para>No FreeBSD 4.0 e posteriores, a linha &eacute;:</para>
+
+ <programlisting>device psm0 at atkbdc? irq 12</programlisting>
+
+ <para>Veja a se&ccedil;&atilde;o de <ulink
+ URL="../handbook/kernelconfig.html">configura&ccedil;&atilde;o
+ do <foreignphrase>kernel</foreignphrase></ulink> no
+ &a.ptbr.p.handbook; caso voc&ecirc; n&atilde;o tenha
+ experi&ecirc;ncia com a compila&ccedil;&atilde;o do
+ <foreignphrase>kernel</foreignphrase>.</para>
+
+ <para>Uma vez detectado o <devicename>psm0</devicename>
+ durante a inicializa&ccedil;&atilde;o
+ (<foreignphrase>boot</foreignphrase>) do seu sistema,
+ tenha certeza de que existe uma entrada
+ <devicename>psm0</devicename> no
+ <filename>/dev</filename>. Fa&ccedil;a o seguinte:</para>
+
+ <screen>&prompt.root; <userinput>cd /dev; sh MAKEDEV psm0</userinput></screen>
+
+ <para>logado como usu&aacute;rio
+ <username>root</username>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="moused">
+ <para>&Eacute; poss&iacute;vel usar mouse de alguma forma,
+ fora do sistema X Windows?</para>
+ </question>
+
+ <answer>
+ <para>Se estiver utilizando o driver padr&atilde;o de
+ console, o syscons, pode-se usar o mouse para copiar &amp;
+ colar texto. Execute o mouse daemon,
+ <command>moused</command>, para habilitar o mouse nos
+ consoles virtuais da seguinte forma:</para>
+
+ <screen>&prompt.root; <userinput>moused -p /dev/<replaceable>xxxx</replaceable> -t <replaceable>yyyy</replaceable></userinput>
+&prompt.root; <userinput>vidcontrol -m on</userinput></screen>
+
+ <para>Onde <replaceable>xxxx</replaceable> deve ser
+ substitu&iacute;do pelo nome de device do seu mouse e
+ <replaceable>yyyy</replaceable> pelo tipo de protocolo do
+ mesmo. Veja a p&aacute;gina de manual do &man.moused.8;
+ para maiores informa&ccedil;&otilde;es quanto aos tipos de
+ protocolos suportados.</para>
+
+ <para>&Eacute; prov&aacute;vel que voc&ecirc; queira usar o
+ mouse daemon automaticamente, sempre que o FreeBSD for
+ iniciado. Na vers&atilde;o 2.2.1, defina as seguintes
+ vari&aacute;veis, no arquivo
+ <filename>/etc/sysconfig</filename>.</para>
+
+ <programlisting>mousedtype="yyyy"
+mousedport="xxxx"
+mousedflags=""</programlisting>
+
+ <para>Da vers&atilde;o 2.2.2 at&eacute; a 3.0, defina as
+ seguintes vari&aacute;veis no
+ <filename>/etc/rc.conf</filename>.</para>
+
+ <programlisting>moused_type="yyyy"
+moused_port="xxxx"
+moused_flags=""</programlisting>
+
+ <para>Da vers&atilde;o 3.1 em diante, caso voc&ecirc; tenha
+ um mouse PS/2 &eacute; necess&aacute;rio apenas adicionar
+ a op&ccedil;&atilde;o
+ <literal>moused_enable=&quot;YES&quot;</literal> no
+ arquivo <filename>/etc/rc.conf</filename>.</para>
+
+ <para>E se a inten&ccedil;&atilde;o &eacute; usar o mouse em
+ todos os terminais virtuais ao inv&eacute;s de apenas no
+ console, insira a seguinte linha no
+ <filename>/etc/rc.conf</filename>.</para>
+
+ <programlisting>allscreens_flags="-m on"</programlisting>
+
+ <para>Desde a vers&atilde;o 2.2.6 do FreeBSD, o mouse daemon
+ &eacute; capaz de detectar o tipo de protocolo do mouse
+ automaticamente, a n&atilde;o ser que o dispositivo em
+ quest&atilde;o seja um mouse serial muito velho. Defina
+ <literal>auto</literal> para que o programa identifique o
+ protocolo do mouse automaticamente.</para>
+
+ <para>Quando o daemon est&aacute; rodando, o acesso ao
+ dispositivo deve ser coordenado entre ele e qualquer outra
+ aplica&ccedil;&atilde;o, como o X-Windows, por exemplo.
+ Leia uma <link linkend="x-and-moused">outra
+ pergunta</link> sobre esse assunto.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="text-mode-cut-paste">
+ <para>Como eu copio e colo com o mouse em um console modo
+ texto?</para>
+ </question>
+
+ <answer>
+ <para>Uma vez configurado o mouse (<link
+ linkend="moused">veja a pergunta anterior</link>),
+ aperte o bot&atilde;o 1 (bot&atilde;o esquerdo) do mouse e
+ mova o cursor por toda a regi&atilde;o desejada,
+ selecionando o texto em quest&atilde;o. Depois, basta
+ apertar o bot&atilde;o 2 (do meio) ou o bot&atilde;o 3
+ (direito) para colar o conte&uacute;do selecionado
+ anteriormente.</para>
+
+ <para>A partir da vers&atilde;o 2.2.6 o bot&atilde;o 2 cola
+ o texto copiado, enquanto o bot&atilde;o 3 ``extende'' a
+ regi&atilde;o selecionada. Caso seu mouse n&atilde;o
+ tenha o bot&atilde;o do meio, &eacute; poss&iacute;vel
+ remapear (ou emular) os bot&otilde;es do perif&eacute;rico
+ usando algumas op&ccedil;&otilde;es espec&iacute;ficas do
+ mouse daemon. Veja a p&aacute;gina de manual do
+ &man.moused.8; para maiores detalhes.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="usbmouse">
+ <para>O FreeBSD suporta mouse USB?</para>
+ </question>
+
+ <answer>
+ <para>No FreeBSD 3.1 existe um suporte preliminar &agrave;
+ recursos USB que n&atilde;o funciona muito bem dependendo
+ da situa&ccedil;&atilde;o. A partir da vers&atilde;o 4.0
+ o FreeBSD suporta dispositivos USB por padr&atilde;o. Caso
+ queira usar um mouse USB no FreeBSD 3.X, siga as seguintes
+ instru&ccedil;&otilde;es.</para>
+
+ <procedure>
+ <step>
+ <para>Atualize seu sistema para FreeBSD 3.2 ou
+ posterior.</para>
+ </step>
+
+ <step>
+ <para>Adicione o seguinte suporte ao seu
+ <foreignphrase>kernel</foreignphrase>, e
+ recompile-o:</para>
+
+ <programlisting>device uhci
+device ohci
+device usb
+device ums</programlisting>
+
+ <para>Em vers&otilde;es anteriores &agrave; 4.0 o
+ suporte &agrave; ser adicionado &eacute;:</para>
+
+ <programlisting>controller uhci0
+controller ohci0
+controller usb0
+device ums0</programlisting>
+ </step>
+
+ <step>
+ <para>Entre no diret&oacute;rio
+ <filename>/dev</filename> e crie os devices
+ necess&aacute;rios:</para>
+
+ <screen>&prompt.root; <userinput>cd /dev</userinput>
+&prompt.root; <userinput>./MAKEDEV ums0</userinput></screen>
+ </step>
+
+ <step>
+ <para>Edite o <filename>/etc/rc.conf</filename> e
+ adicione as linhas:</para>
+
+ <programlisting>moused_enable="YES"
+moused_type="auto"
+moused_port="/dev/ums0"
+moused_flags=""
+usbd_enable="YES"
+usbd_flags=""</programlisting>
+
+ <para>Veja a <link linkend="moused">se&ccedil;&atilde;o
+ anterior</link> para uma discuss&atilde;o mais
+ detalhada sobre o moused.</para>
+ </step>
+
+ <step>
+ <para>Para configurar o mouse USB no X, edite o
+ <filename>XF86Config</filename> e, caso esteja usando
+ o XFree86 3.3.2 ou posterior, adicione as seguintes
+ linhas na se&ccedil;&atilde;o
+ <emphasis>Pointer</emphasis>:</para>
+
+ <programlisting>Device "/dev/sysmouse"
+Protocol "Auto"</programlisting>
+
+ <para>Caso esteja usando uma vers&atilde;o anterior do
+ Xfree86, adicione tamb&eacute;m na se&ccedil;&atilde;o
+ <emphasis>Pointer</emphasis> as seguintes
+ linhas:</para>
+
+ <programlisting>Device "/dev/sysmouse"
+Protocol "SysMouse"</programlisting>
+ </step>
+ </procedure>
+
+ <para>Leia tamb&eacute;m uma <link
+ linkend="x-and-moused">outra pergunta</link> sobre o uso
+ do mouse em ambiente X.</para>
+
+ <para>Conectar e desconectar o teclado USB com o sistema
+ ligado ainda n&atilde;o &eacute; um comportamento
+ completamente suportado, portando &eacute;
+ aconselh&aacute;vel ligar o teclado antes de iniciar o
+ sistema e apenas deslig&aacute;-lo depois que o computador
+ estiver desligado, para evitar poss&iacute;veis
+ problemas.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="mouse-wheel-buttons">
+ <para>Eu tenho um mouse do tipo Wheel com uma rodinha e
+ bot&otilde;es adicionais. Posso us&aacute;-lo no
+ FreeBSD?</para>
+ </question>
+
+ <answer>
+ <para>A resposta, infelizmente &eacute;,
+ <quote>Depende</quote>. Esse tipo de mouse tem algumas
+ caracter&iacute;sticas especiais que requerem o uso de
+ <foreignphrase>drivers</foreignphrase> especiais na
+ maioria dos casos. A n&atilde;o ser que o device do seu
+ mouse tenha suporte espec&iacute;fico, ou se a
+ aplica&ccedil;&atilde;o em quest&atilde;o reconhecer esse
+ tipo de equipamento, ele ir&aacute; funcionar simplesmente
+ como um mouse tradicional de dois ou tr&ecirc;s
+ bot&otilde;es.</para>
+
+ <para>Mais informa&ccedil;&otilde;es sobre o uso de mouse do
+ tipo Wheel em ambiente X Windows, refira-se a essa <link
+ linkend="x-and-wheel">se&ccedil;&atilde;o</link>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="psmerr">
+ <para>Por que meu mouse PS/2 do tipo Wheel fica louco,
+ pulando pela tela?</para>
+ </question>
+
+ <answer>
+ <para>O suporte ao mouse PS/2 no FreeBSD 3.2 e anteriores
+ &eacute; falho quanto a mouses do tipo Wheel, incluindo o
+ modelo M-S48 da Logitech e seus similares OEM. Aplique o
+ seguinte patch no arquivo
+ <filename>/sys/i386/isa/psm.c</filename> e recompile seu
+ <foreignphrase>kernel</foreignphrase>:</para>
+
+ <programlisting>Index: psm.c
+===================================================================
+RCS file: /src/CVS/src/sys/i386/isa/Attic/psm.c,v
+retrieving revision 1.60.2.1
+retrieving revision 1.60.2.2
+diff -u -r1.60.2.1 -r1.60.2.2
+--- psm.c 1999/06/03 12:41:13 1.60.2.1
++++ psm.c 1999/07/12 13:40:52 1.60.2.2
+@@ -959,14 +959,28 @@
+ sc->mode.packetsize = vendortype[i].packetsize;
+
+ /* set mouse parameters */
++#if 0
++ /*
++ * A version of Logitech FirstMouse+ won't report wheel movement,
++ * if SET_DEFAULTS is sent... Don't use this command.
++ * This fix was found by Takashi Nishida.
++ */
+ i = send_aux_command(sc->kbdc, PSMC_SET_DEFAULTS);
+ if (verbose >= 2)
+ printf("psm%d: SET_DEFAULTS return code:%04x\n", unit, i);
++#endif
+ if (sc->config & PSM_CONFIG_RESOLUTION) {
+ sc->mode.resolution
+ = set_mouse_resolution(sc->kbdc,
+- (sc->config & PSM_CONFIG_RESOLUTION) - 1);
++ (sc->config & PSM_CONFIG_RESOLUTION) - 1);
++ } else if (sc->mode.resolution >= 0) {
++ sc->mode.resolution
++ = set_mouse_resolution(sc->kbdc, sc->dflt_mode.resolution);
++ }
++ if (sc->mode.rate > 0) {
++ sc->mode.rate = set_mouse_sampling_rate(sc->kbdc, sc->dflt_mode.rate);
+ }
++ set_mouse_scaling(sc->kbdc, 1);
+
+ /* request a data packet and extract sync. bits */
+ if (get_mouse_status(sc->kbdc, stat, 1, 3) < 3) {</programlisting>
+
+ <para>Em vers&otilde;es posteriores &agrave; 3.2, o suporte
+ deve funcionar.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="laptop-mouse-trackball">
+ <para>Como eu uso o mouse/bolinha-de-rolagem/touchpad no meu
+ laptop?</para>
+ </question>
+
+ <answer>
+ <para>Por gentileza, <link linkend="ps2mouse">leia a
+ pergunta anterior</link>. Verifique tamb&eacute;m a
+ <ulink
+ url="http://www.FreeBSD.org/docs.html#PAO">p&aacute;gina
+ de Computa&ccedil;&atilde;o M&oacute;vel</ulink> do
+ Projeto.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="tape-support">
+ <para>Que tipos de dispositivos de fitas s&atilde;o
+ suportados pelo FreeBSD?</para>
+ </question>
+
+ <answer>
+ <para>O FreeBSD suporta dispositivos de fitas do tipo SCSI e
+ QIC-36 (com interface QIC-02). Tal suporte inclui drives
+ 8-mm (tamb&eacute;m conhecidos como Exabyte) e unidades de
+ fita DAT.</para>
+
+ <para>Alguns dispositivos 8-mm mais antigos n&atilde;o
+ s&atilde;o compat&iacute;veis com o padr&atilde;o SCSI-2 e
+ por isso podem n&atilde;o funcionar bem no FreeBSD.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="tape-changer-support">
+ <para>O FreeBSD suporta bibliotecas de fitas?</para>
+ </question>
+
+ <answer>
+ <para>O FreeBSD suporta alternadores (tamb&eacute;m
+ conhecidos com carross&eacute;is) SCSI, usando o device
+ &man.ch.4; e o comando &man.chio.1;. Os detalhes
+ relativos a como controlar o alternador de fitas podem ser
+ encontrados na p&aacute;gina de manual do
+ &man.chio.1;.</para>
+
+ <para>Caso voc&ecirc; n&atilde;o esteja usando o
+ <application>AMANDA</application> ou qualquer outro
+ produto que entenda o funcionamento dos alternadores,
+ lembre-se que tal equipamento simplesmente alterna a
+ posi&ccedil;&atilde;o da fita, de um compartimento para
+ outro, e portanto deve-se saber em qual compartimento a
+ fita est&aacute; e para qual ela deve voltar.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="sound-card-support">
+ <para>Quais placas de som s&atilde;o suportadas pelo
+ FreeBSD?</para>
+ </question>
+
+ <answer>
+ <para>O FreeBSD suporta as placas SoundBlaster, SoundBlaster
+ Pro, SoundBlaster 16, Pro Audio Spectrum 16, AdLib e
+ Gravis UltraSound. Existe ainda um suporte - limitado,
+ &eacute; verdade - para as placas MPU-401 e placas MIDI
+ compat&iacute;veis. Placas de som que estiverem em
+ conformidade com a especifica&ccedil;&atilde;o MSS
+ (Microsoft Sound System) tamb&eacute;m s&atilde;o
+ suportadas pela controladora pcm do
+ <foreignphrase>kernel</foreignphrase>.</para>
+
+ <note>
+ <para>Esse suporte &eacute; espec&iacute;fico para apenas
+ som! Exceto no caso das placas SoundBlaster, o suporte
+ n&atilde;o inclui controle de joysticks, CDROMs ou SCSI.
+ A interface SCSI da SoundBlaster e alguns CDROMs
+ n&atilde;o-SCSI s&atilde;o suportados, mas o sistema
+ n&atilde;o pode iniciar(booting) a partir desses
+ dispositivos.</para>
+ </note>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="es1370-silent-pcm">
+ <para>Qual a solu&ccedil;&atilde;o para falta de som da
+ minha placa es1370 com o controlador pcm?</para>
+ </question>
+
+ <answer>
+ <para>Basta aumentar o volume do seu som ;-) Use os
+ seguintes comandos, sempre que o sistema iniciar:</para>
+
+ <screen>&prompt.root; <userinput>mixer pcm 100 vol 100 cd 100</userinput></screen>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="network-cards">
+ <para>Quais placas de rede o FreeBSD suporta?</para>
+ </question>
+
+ <answer>
+ <para>Veja a se&ccedil;&atilde;o de <ulink
+ URL="../handbook/install.html#INSTALL-NICS">Placas
+ Ethernet</ulink> do &a.ptbr.p.handbook; para uma lista
+ detalhada dos dispostivos suportados.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="no-math-coprocessor">
+ <para>Eu n&atilde;o tenho um co-processador
+ matem&aacute;tico. Isso &eacute; ruim?</para>
+ </question>
+
+ <answer>
+ <note>
+ <para>Vale apenas para propriet&aacute;rios de
+ 386/486SX/486SLC - outras m&aacute;quinas ter&atilde;o
+ um co-processador integrado &agrave; CPU.</para>
+ </note>
+
+ <para>No geral, a falta de um co-processador
+ matem&aacute;tico n&atilde;o traz nenhum problema, mas
+ existem algumas circunst&acirc;ncias onde voc&ecirc;
+ encontrar&aacute; s&eacute;rias limita&ccedil;&otilde;es,
+ seja no desempenho ou na precis&atilde;o da
+ emula&ccedil;&atilde;o dos seus c&aacute;lculos (veja a
+ se&ccedil;&atilde;o de <link
+ linkend="emul">emula&ccedil;&atilde;o FP</link>). Por
+ exemplo, a renderiza&ccedil;&atilde;o de c&iacute;rculos e
+ arcos no ambiente gr&aacute;fico ser&aacute; uma tarefa
+ muito lenta. &Eacute; recomend&aacute;vel comprar um
+ co-processador matem&aacute;tico; vale a pena.</para>
+
+ <note>
+ <para>Alguns co-processadores matem&aacute;ticos
+ s&atilde;o melhores que outros. &Eacute; estranho ter
+ que dizer isso, mas ningu&eacute;m nunca se deu mal ao
+ comprar co-processadores Intel, portanto tenha certeza
+ absoluta que o produto vai funcionar com o FreeBSD antes
+ de comprar um clone.</para>
+ </note>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="other-device-support">
+ <para>Que outros dispositivos o FreeBSD suporta?</para>
+ </question>
+
+ <answer>
+ <para>Veja o <ulink
+ URL="../handbook/install.html#INSTALL-MISC">&a.ptbr.p.handbook;</ulink>
+ para obter uma listagem dos outros dispostivos
+ suportados.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="power-management-support">
+ <para>O FreeBSD suporta gerenciamento de energia no meu
+ laptop?</para>
+ </question>
+
+ <answer>
+ <para>O FreeBSD suporta <acronym>APM</acronym> em alguns
+ computadores. Por gentileza, refira-se ao arquivo
+ <filename>LINT</filename> de configura&ccedil;&atilde;o do
+ <foreignphrase>kernel</foreignphrase>; procure pela
+ palavra <acronym>APM</acronym>. Mais
+ informa&ccedil;&otilde;es na p&aacute;gina de manual do
+ &man.apm.4;.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="micron-hang-boot">
+ <para>Por que placas Micron travam na
+ inicializa&ccedil;&atilde;o(boot)?</para>
+ </question>
+
+ <answer>
+ <para>Algumas placas-m&atilde;e Micron n&atilde;o tem
+ conformidade na implementa&ccedil;&atilde;o de sua BIOS e
+ por isso confundem o FreeBSD no momento da
+ inicializa&ccedil;&atilde;o(boot), pois os equipamentos em
+ quest&atilde;o n&atilde;o foram configurados nos
+ endere&ccedil;os que a BIOS reportou.</para>
+
+ <para>Procure a op&ccedil;&atilde;o <quote>Plug and Play
+ Operating System</quote> - ou algo parecido - na sua
+ BIOS e desabilite-a para corrigir o problema. Mais
+ informa&ccedil;&otilde;es sobre esse problema podem ser
+ encontradas em <ulink
+ URL="http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron">http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron</ulink>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="newer-adaptec-support">
+ <para>Por que o FreeBSD n&atilde;o reconhece nenhuma
+ controladora SCSI Adaptec?</para>
+ </question>
+
+ <answer>
+ <para>As s&eacute;ries mais novas (AIC789x) dos chips
+ Adaptec tem suporte no modo CAM SCSI, que ser&aacute;
+ redefinido na vers&atilde;o 3.0 do FreeBSD. Na
+ vers&atilde;o 2.2-STABLE, voc&ecirc; pode aplicar as
+ corre&ccedil;&otilde;es dispon&iacute;veis em <ulink
+ URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/development/cam/">ftp://ftp.FreeBSD.org/pub/FreeBSD/development/cam/</ulink>.
+ Caso voc&ecirc; precise instalar um sistema com essas
+ controladoras, existe um disquete de
+ inicializa&ccedil;&atilde;o(boot) com suporta a CAM,
+ dispon&iacute;vel em <ulink
+ URL="http://people.FreeBSD.org/~abial/cam-boot/">
+ http://people.FreeBSD.org/~abial/cam-boot/</ulink>. Nos
+ dois casos leia o arquivo README antes de tomar qualquer
+ a&ccedil;&atilde;o.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="internal-plugnplay-modem">
+ <para>Por que o FreeBSD n&atilde;o encontra o meu Modem Plug
+ &amp; Play interno?</para>
+ </question>
+
+ <answer>
+ <para>Ser&aacute; necess&aacute;rio adicionar o ID PnP do
+ modem na lista de drivers seriais do sistema para que ele
+ reconhe&ccedil;a-o normalmente. Isso requer hackear um
+ pouco o sistema. Pra habilitar o suporte Plug &amp; Play,
+ compile um novo <foreignphrase>kernel</foreignphrase> com
+ a op&ccedil;&atilde;o <literal>controller pnp0</literal> e
+ reinicie o seu FreeBSD. O
+ <foreignphrase>kernel</foreignphrase> ir&aacute; mostrar
+ os IDs PnP de todos os dispositivos que ele encontrar, no
+ momento da inicializa&ccedil;&atilde;o(boot). Copie o ID
+ PnP do modem em quest&atilde;o para a tabela no arquivo
+ <filename>/sys/i386/isa/sio.c</filename>, por volta da
+ linha 2777. Procure a express&atilde;o
+ <literal>SUP1310</literal> na estrutura
+ <literal>siopnp_ids[]</literal> para encontrar essa
+ tabela. Recompile o seu
+ <foreignphrase>kernel</foreignphrase>, instale-o e
+ reinicie o sistema. Seu modem deve ser encontrado.</para>
+
+ <para>Provavelmente ser&aacute; necess&aacute;rio configurar
+ o dispositivo PnP manualmente, usando o comando
+ <literal>pnp</literal> no momento do boot, como a
+ seguir:</para>
+
+ <programlisting>pnp 1 0 enable os irq0 3 drq0 0 port0 0x2f8</programlisting>
+
+ <para>para for&ccedil;ar detec&ccedil;&atilde;o do
+ modem.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="support-winmodem">
+ <para>O FreeBSD suporta software modems, como os
+ Winmodems?</para>
+ </question>
+
+ <answer>
+ <para>O FreeBSD suporta alguns software modems por meio de
+ programas adicionais. A aplica&ccedil;&atilde;o <filename
+ role="package">comms/ltmdm</filename> dispon&iacute;vel
+ na cole&ccedil;&atilde;o de <literal>Ports</literal> do
+ FreeBSD suporta os modems baseados no popular chipset
+ Lucent LT. A aplica&ccedil;&atilde;o <filename
+ role="package">comms/mwavem</filename> suporta o modem
+ em laptops IBM Thinkpad 600 e 700.</para>
+
+ <para>N&atilde;o &eacute; poss&iacute;vel instalar o FreeBSD
+ via software modem, visto que os programas adicionais para
+ controlar esse equipamento s&oacute; podem ser
+ configurados depois que o sistema operacional j&aacute;
+ est&aacute; instalado.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="serial-console-prompt">
+ <para>Como eu fa&ccedil;o para o interpretador(prompt) de
+ inicializa&ccedil;&atilde;o(boot): aparecer no console
+ serial?</para>
+ </question>
+
+ <answer>
+ <orderedlist>
+ <listitem>
+ <para>Construa um <foreignphrase>kernel</foreignphrase>
+ com a op&ccedil;&atilde;o <literal>options
+ COMCONSOLE</literal>.</para>
+ </listitem>
+
+ <listitem>
+ <para>Crie o arquivo /boot.config e coloque os
+ caracteres <option>-P</option> como o &uacute;nico
+ texto no arquivo. </para>
+ </listitem>
+
+ <listitem>
+ <para>Desligue o teclado do computador.</para>
+ </listitem>
+ </orderedlist>
+
+ <para>Leia o arquivo
+ <filename>/usr/src/sys/i386/boot/biosboot/README.serial</filename>
+ para mais informa&ccedil;&otilde;es.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="micron-3comnic-failure">
+ <para>Por que a placa de rede PCI da 3Com n&atilde;o
+ funciona com motherboards Micron?</para>
+ </question>
+
+ <answer>
+ <para>Algumas placas-m&atilde;e Micron n&atilde;o tem
+ conformidade na implementa&ccedil;&atilde;o de sua BIOS e
+ por isso confundem o FreeBSD no momento do boot, pois os
+ equipamentos em quest&atilde;o n&atilde;o foram
+ configurados nos endere&ccedil;os que a BIOS
+ reportou.</para>
+
+ <para>Procure a op&ccedil;&atilde;o <quote>Plug and Play
+ Operating System</quote> - ou algo parecido - na sua
+ BIOS e desabilite-a para corrigir o problema.</para>
+
+ <para>Mais informa&ccedil;&otilde;es sobre esse problema
+ podem ser encontradas em <ulink
+ URL="http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron">http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron</ulink></para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="smp-support">
+ <para>O FreeBSD suporta Multiprocessamento Sim&eacute;trico
+ (SMP)?</para>
+ </question>
+
+ <answer>
+ <para>SMP &eacute; suportado a partir do FreeBSD 3.0-STABLE.
+ O suporte ao SMP (multiprocessamento sim&eacute;trico)
+ n&atilde;o est&aacute; dispon&iacute;vel por padr&atilde;o
+ no <foreignphrase>kernel</foreignphrase>
+ <emphasis>GENERIC</emphasis>, portanto &eacute;
+ necess&aacute;rio compilar um novo
+ <foreignphrase>kernel</foreignphrase> para habilitar o
+ suporte SMP. Veja o arquivo
+ <filename>/sys/i386/conf/LINT</filename> para descobrir
+ quais op&ccedil;&otilde;es s&atilde;o necess&aacute;rias
+ adicionar ao seu
+ <foreignphrase>kernel</foreignphrase>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="asusk7v-boot-failure">
+ <para>O disquete de inicializa&ccedil;&atilde;o(boot) trava
+ em um computador cuja placa-m&atilde;e &eacute; a ASUS
+ K7V. O que eu fa&ccedil;o?</para>
+ </question>
+
+ <answer>
+ <para>Entre na configura&ccedil;&atilde;o da BIOS da sua
+ placa e desligue a op&ccedil;&atilde;o <quote>boot virus
+ protection</quote>.</para>
+ </answer>
+ </qandaentry>
+ </qandaset>
+ </chapter>
+
+ <chapter id="troubleshoot">
+ <title>Resolu&ccedil;&atilde;o de Problemas</title>
+
+ <qandaset>
+ <qandaentry>
+ <question id="awre">
+ <para>O que fazer quando meu disco r&iacute;gido tiver bad
+ blocks?
+ </para>
+ </question>
+
+ <answer>
+ <para>Com controladoras SCSI, o drive (HD) deveria ser capaz
+ de remapear blocos ruins e corrig&iacute;-los
+ automaticamente. Por&eacute;m, muitos desses discos
+ mant&eacute;m essa fun&ccedil;&atilde;o desabilitada por
+ alguma raz&atilde;o misteriosa...</para>
+
+ <para>Para habilitar essa fun&ccedil;&atilde;o &eacute;
+ necess&aacute;rio editar o primeiro modo de p&aacute;gina
+ do dispositivo, o qual pode ser feito com o comando abaixo
+ (como <username>root</username>)</para>
+
+ <screen>&prompt.root; <userinput>scsi -f /dev/rsd0c -m 1 -e -P 3</userinput></screen>
+
+ <para>E mudando os valores de AWRE e ARRE de 0 para
+ 1:-</para>
+
+ <programlisting>AWRE (Auto Write Reallocation Enbld): 1
+ARRE (Auto Read Reallocation Enbld): 1</programlisting>
+
+ <para>Os par&aacute;grafos seguintes foram enviados por Ted
+ Mittelstaedt <email>tedm@toybox.placo.com</email>:</para>
+
+ <para>Para os discos IDE, qualquer bad block &eacute;
+ considerado um sinal de dificuldade em potencial. Todos
+ os discos IDE modernos j&aacute; v&ecirc;m com um
+ remapeador interno que realoca bad blocks por outros
+ blocos em bom estado, automaticamente. Todos os disco
+ r&iacute;gido IDE fabricados hoje em dia oferecem
+ garantias extensas.</para>
+
+ <para>Se ainda quiser tentar salvar um drive IDE com bad
+ blocks, pode fazer um download do programa de
+ diagn&oacute;stico e corre&ccedil;&atilde;o do
+ pr&oacute;prio fabricante do disco r&iacute;gido.
+ &Agrave;s vezes estes programas podem fixar e
+ for&ccedil;ar eletronicamente o disco a marcar estes
+ blocos ruins e desativ&aacute;-los.</para>
+
+ <para>Em discos ESDI, RLL e MFM, a exist&ecirc;ncia de bad
+ blocks &eacute; normal e n&atilde;o representa nenhum
+ sinal de dificuldade,geralmente. Em um PC, a placa
+ controladora das unidades de disco e, a BIOS se encarregam
+ da tarefa de re-mapear os bad blocks. Isso funciona em
+ sistemas operacionais como DOS que usa c&oacute;digo da
+ BIOS para acessar o disco. Por&eacute;m, o driver
+ (software controlador) do FreeBSD n&atilde;o trabalha ou
+ acessa comandos da BIOS para para interagir com o drive
+ (HD), ent&atilde;o um mecanismo chamado bad144, existente
+ no FreeBSD, acaba substituindo esta funcionalidade. O
+ bad144 s&oacute; trabalha com o drive wd (portanto,
+ n&atilde;o &eacute; suportado no FreeBSD 4.0), e
+ n&atilde;o pode ser usado com drive SCSI. O bad144
+ trabalha marcando e organizando setores ruins encontrados
+ no HD, em um arquivo especial no disco.</para>
+
+ <para>Uma caracter&iacute;stica do bad144 - o bloco
+ danificado &eacute; colocado em um arquivo especial
+ situado na &uacute;ltima trilha do disco. Como este
+ arquivo cont&eacute;m uma lista de setores defeituosos que
+ pode incluir valores perto do in&iacute;cio do disco, onde
+ o /kernel pode estar alocado, esse arquivo dever&aacute;
+ ser acess&iacute;vel ao bootstrap para que o programa -
+ por meio da BIOS - leia o
+ <foreignphrase>kernel</foreignphrase>; isso significa que
+ o disco usado com bad144 n&atilde;o deve exceder 1024
+ cilindros, 16 cabe&ccedil;as, e 63 setores, logo, temos um
+ limite efetivo de 500MB para discos mapeados com o
+ bad144..</para>
+
+ <para>Para ativar o uso do bad144, simplesmente defina a
+ op&ccedil;&atilde;o de procurar por <quote>Bad
+ Block</quote> como ON na tela do fdisk do FreeBSD,
+ durante a instala&ccedil;&atilde;o. Essas
+ instru&ccedil;&otilde;es funcionam a partir do FreeBSD
+ 2.2.7, e o disco deve ter menos que 1024 cilindros.
+ Geralmente recomenda-se que a unidade de disco esteja em
+ opera&ccedil;&atilde;o durante pelo menos 4 horas antes de
+ executar o bad144, permitindo assim a expans&atilde;o
+ t&eacute;rmica do HD.</para>
+
+ <para>Se o disco tem mais de 1024 cilindros (como um disco
+ ESDI grande) a controladora ESDI usa um tipo de
+ tradu&ccedil;&atilde;o especial em modo DOS. A device wd
+ tamb&eacute;m entende esses mesmos modos de
+ tradu&ccedil;&atilde;o e convers&atilde;o, isso se o
+ <quote>tradutor</quote> de geometria for ativado como
+ <quote>geometria fixa</quote>, quando particionado pelo
+ fdisk. Voc&ecirc; tamb&eacute;m n&atilde;o deve usar o
+ modo <quote>dangerously dedicated</quote> para criar
+ parti&ccedil;&otilde;es do FreeBSD, pois isso ignora o
+ tipo de geometria. Embora o fdisk use a geometria
+ definida pelo usu&aacute;rio, ele continua reconhecendo o
+ tamanho verdadeiro do disco, e tentar&aacute; criar uma
+ parti&ccedil;&atilde;o maior para o FreeBSD. Se a
+ geometria de disco for alterada para geometria
+ traduzida(translated geometry), a parti&ccedil;&atilde;o
+ DEVE ser criada manualmente, informando os n&uacute;meros
+ de blocos do HD.</para>
+
+ <para>Um truque r&aacute;pido &eacute; usar um disco grande
+ ESDI com uma controladora ESDI, iniciar(booting) o sistema
+ com um disco DOS e formatar uma parti&ccedil;&atilde;o
+ DOS. Depois reiniciar o sistema com um disco de
+ instala&ccedil;&atilde;o do FreeBSD, e anotar o
+ n&uacute;mero e tamanho dos blocos que ser&atilde;o
+ apresentados na tela do fdisk para a
+ parti&ccedil;&atilde;o DOS. Redefina a geometria do disco
+ com os valores anotados, apague a parti&ccedil;&atilde;o
+ DOS e crie uma parti&ccedil;&atilde;o FreeBSD
+ <quote>cooperativa</quote>. Defina essa
+ parti&ccedil;&atilde;o como boot&aacute;vel e habilite o
+ reconhecimento de bad blocks. Na
+ instala&ccedil;&atilde;o, o bad144 &eacute; carregado
+ antes que qualquer outro sistema de arquivos seja criado
+ (voc&ecirc; pode ver isso com um
+ <keycombo
+ action="simul"><keycap>Alt</keycap><keycap>F2</keycap></keycombo>).
+ Se houver problemas na cria&ccedil;&atilde;o do arquivo de
+ defini&ccedil;&otilde;es de setor danificado (o arquivo de
+ badsector) &eacute; porque a geometria definida &eacute;
+ maior do que o seu valor real - reinicie o sistema e
+ comece todos os procedimentos novamente, inclusive o
+ particionamento e formata&ccedil;&atilde;o da
+ parti&ccedil;&atilde;o DOS.</para>
+
+ <para>Se o remapeamento j&aacute; estiver habilitado e os
+ problemas com bad block continuarem, considere a
+ substitui&ccedil;&atilde;o imediata do disco, pois os
+ danos e os bad blocks aumentar&atilde;o consideravelmente
+ com o passar do tempo.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="bustek742a-eisa-scsi">
+ <para>Por que o FreeBSD n&atilde;o reconhece a minha
+ controladora SCSI EISA Bustek 742a?</para>
+ </question>
+
+ <answer>
+ <para>As informa&ccedil;&otilde;es a seguir s&atilde;o para
+ o modelo 742a, mas provavelmente tamb&eacute;m servem para
+ as placas Buslogic. (Bustek = Buslogic).</para>
+
+ <para>Existem duas <quote>vers&otilde;es</quote>
+ tradicionais da placa 742a. S&atilde;o os equipamentos de
+ revis&atilde;o A-G e de revis&atilde;o H; as letras de
+ cada revis&atilde;o s&atilde;o colocadas depois do
+ n&uacute;mero de fabrica&ccedil;&atilde;o, ao lado das
+ placas. A placa 742a possui 2 chips ROM acoplados, o
+ primeiro &eacute; o chip da BIOS e o segundo &eacute; o do
+ Firmware. Para o FreeBSD a vers&atilde;o da BIOS &eacute;
+ irrelevante, mas a vers&atilde;o do Firmware &eacute; uma
+ informa&ccedil;&atilde;o fundamental. &Eacute;
+ interessante dizer que, se voc&ecirc; fizer uma chamada ao
+ departamento de suporte da Buslogic, eles ir&atilde;o te
+ enviar um upgrade desses ROMs, e &eacute; muito bom sempre
+ manter a vers&atilde;o mais recente do ROM do seu Firmware
+ para a vers&atilde;o de revis&atilde;o do seu
+ equipamento.</para>
+
+ <para>As placas cuja letra de revis&atilde;o &eacute; A-G
+ aceitam apenas atualiza&ccedil;&otilde;es da BIOS/Firmware
+ de vers&atilde;o 2.41/2.21 respectivamente. A
+ revis&atilde;o H (REV H) aceita as vers&otilde;es mais
+ recentes da BIOS/Firmware at&eacute; a vers&atilde;o
+ 4.70/3.37. A principal diferen&ccedil;a entre as
+ vers&otilde;es do Firmware &eacute; que a vers&atilde;o
+ 3.37 tem suporte a<quote>round robin</quote>.</para>
+
+ <para>As placas Buslogic tamb&eacute;m tem um n&uacute;mero
+ serial. Caso seu equipamento seja antigo, tente abrir uma
+ chamada no departamento de RMA da Buslogic e informe-os o
+ n&uacute;mero de s&eacute;rie da sua placa. Se ela
+ estiver entre os seriais de abrang&ecirc;ncia, a Buslogic
+ vai aceitar seu equipamento para revis&atilde;o.</para>
+
+ <para>O FreeBSD 2.1 aceita apenas as revis&otilde;es de
+ Firmware at&eacute; o 2.21. Caso o seu Firmware seja mais
+ antigo do que o 2.21 sua placa n&atilde;o ser&aacute;
+ reconhecida como Buslogic. Contudo, &eacute;
+ poss&iacute;vel que o equipamento seja reconhecido como
+ Adaptec 1540, j&aacute; que os Firmware mais antigos da
+ Buslogic possuem um modo de
+ <quote>emula&ccedil;&atilde;o</quote> da AHA1540, o que
+ n&atilde;o &eacute; uma boa coisa, para uma placa
+ EISA.</para>
+
+ <para>Caso seu Firmware seja antigo e voc&ecirc; conseguiu
+ obter uma revis&atilde;o para a vers&atilde;o 2.21,
+ n&atilde;o se esque&ccedil;a que &eacute;
+ necess&aacute;rio alterar o jumper W1 da
+ posi&ccedil;&atilde;o A-B (padr&atilde;o) para
+ posi&ccedil;&atilde;o B-C ao atualizar a placa.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="hpnetserver-scsi-failure">
+ <para>Por que o FreeBSD n&atilde;o detecta a controladora
+ SCSI do Netserver HP??</para>
+ </question>
+
+ <answer>
+ <para>Isso j&aacute; &eacute; um problema conhecido. A
+ controladora SCSI on-board EISA dos servidores HP
+ Netserver est&atilde;o no slot EISA n&uacute;mero 11,
+ portanto todos os <quote>verdadeiros</quote> slots EISA
+ est&atilde;o na sua frente. O endere&ccedil;o definido
+ para os slots EISA &gt;= 10 ocupa um endere&ccedil;o
+ compartilhado com o barramento PCI, e portanto entra em
+ conflito com seus recursos. Essa &eacute; uma
+ situa&ccedil;&atilde;o onde a configura&ccedil;&atilde;o
+ autom&aacute;tica do FreeBSD n&atilde;o se comporta muito
+ bem.</para>
+
+ <para>Portanto o que voc&ecirc; deve fazer, &eacute; fingir
+ que n&atilde;o existe limita&ccedil;&atilde;o quanto ao
+ intervalo de endere&ccedil;os, definindo a
+ op&ccedil;&atilde;o option <literal>EISA_SLOTS</literal>
+ do <foreignphrase>kernel</foreignphrase> para o valor 12.
+ Configure e compile um novo
+ <foreignphrase>kernel</foreignphrase>, conforme descrito
+ no <ulink
+ URL="../handbook/kernelconfig.html">cap&iacute;tulo de
+ configura&ccedil;&atilde;o do
+ <foreignphrase>kernel</foreignphrase> no
+ &a.ptbr.p.handbook;</ulink>.</para>
+
+ <para>Obviamente esse problema &eacute; ainda maior quando
+ se trata de uma nova instala&ccedil;&atilde;o. Para
+ corrigir esse problema &eacute; necess&aacute;rio uma
+ pequena altera&ccedil;&atilde;o no modo
+ <emphasis>UserConfig</emphasis>. N&atilde;o use a
+ interface de configura&ccedil;&atilde;o
+ <quote>visual</quote> do
+ <foreignphrase>kernel</foreignphrase>, use a Interface de
+ Linha de Comando (CLI), simplesmente digitando:</para>
+
+ <programlisting>eisa 12
+quit</programlisting>
+
+ <para>na tela do modo CLI, e continue a
+ instala&ccedil;&atilde;o do FreeBSD como de costume. De
+ qualquer forma, &eacute; recomend&aacute;vel recompilar e
+ instalar um novo <foreignphrase>kernel</foreignphrase>
+ depois da instala&ccedil;&atilde;o do sistema..</para>
+
+ <para>Futuras vers&otilde;es do FreeBSD ter&atilde;o esse
+ problema corrigido automaticamente.</para>
+
+ <note>
+ <para>N&atilde;o use discos em modo <literal>dangerously
+ dedicated</literal> com um HP Netserver. Veja <link
+ linkend="dedicate">essa nota</link> para maiores
+ informa&ccedil;&otilde;es.</para>
+ </note>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="cmd640-ide">
+ <para>O que est&aacute; havendo com minha controladora IDE
+ CMD640?</para>
+ </question>
+
+ <answer>
+ <para>Est&aacute; com defeito! N&atilde;o suporta mais
+ comandos nos dois canais de forma simult&acirc;nea.</para>
+
+ <para>Existe uma corre&ccedil;&atilde;o dispon&iacute;vel e
+ automaticamente habilitada, se voc&ecirc; usa uma
+ controladora com esse chip. Para maiores detalhes,
+ refira-se a p&aacute;gina de manual da controladora de
+ disco (&man.wd.4;).</para>
+
+ <para>Se o FreeBSD em quest&atilde;o &eacute; o FreeBSD
+ 2.2.1 ou 2.2.2 com essa controladora em quest&atilde;o, e
+ voc&ecirc; quer usar o segundo canal, compile um novo
+ <foreignphrase>kernel</foreignphrase> com a
+ op&ccedil;&atilde;o <literal>options "CMD640"</literal>
+ habilitada. Essa configura&ccedil;&atilde;o &eacute;
+ padr&atilde;o para o FreeBSD 2.2.5 e posteriores.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="ed1-timeout">
+ <para>Eu sempre vejo mensagens como <errorname>ed1:
+ timeout</errorname>. O que elas significam?</para>
+ </question>
+
+ <answer>
+ <para>Normalmente esse problema &eacute; causado por um
+ conflito de interrup&ccedil;&otilde;es (por exemplo, duas
+ placas usando a mesma IRQ). O FreeBSD at&eacute; a
+ vers&atilde;o 2.0.5R costumava ser tolerante quanto a esse
+ problema e a placa de rede continuava funcionando mesmo
+ com IRQ conflitantes. Contudo desde a vers&atilde;o
+ 2.0.5R os conflitos de interrup&ccedil;&otilde;es
+ n&atilde;o s&atilde;o mais tolerados. Inicie o sistema
+ com a op&ccedil;&atilde;o de boot -c e mude as device
+ ed0/de0/... para o valor correspondente ao da
+ placa.</para>
+
+ <para>Caso esteja usando um conector BNC na sua placa de
+ rede, &eacute; prov&aacute;vel que existam device timeout
+ por causa de m&aacute; termina&ccedil;&atilde;o do
+ barramento. Pra tirar isso a limpo coloque um terminador
+ direto na placa (sem cabos) e veja se as mensagens de erro
+ param.</para>
+
+ <para>Algumas placas compat&iacute;veis NE2000
+ apresentar&atilde;o esse problema caso a porta UTP
+ n&atilde;o receba sinal de link, ou se o cabo estiver
+ desconectado.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="bad-3c509">
+ <para>Por que minha placa 3COM 3C509 parou de funcionar sem
+ motivo aparente?</para>
+ </question>
+
+ <answer>
+ <para>Esse cart&atilde;o tem um h&aacute;bito
+ horr&iacute;vel de perder suas informa&ccedil;&otilde;es
+ de configura&ccedil;&atilde;o. Redefina as
+ informa&ccedil;&otilde;es da placa usando o programa de
+ DOS chamado <command>3c5x9.exe</command>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="printer-slow">
+ <para>Minha impressora paralela est&aacute; ridiculamente
+ lenta. O que devo fazer?</para>
+ </question>
+
+ <answer>
+ <para>Se o &uacute;nico problema &eacute; a lerdeza
+ terr&iacute;vel da sua impressora, tente mudar seu <ulink
+ url="../handbook/printing-intro-setup.html#PRINTING-PARALLEL-PORT-MODE">modo
+ da porta de impress&atilde;o</ulink> conforme discutido
+ na se&ccedil;&atilde;o de <ulink
+ url="../handbook/printing-intro-setup.html">Configura&ccedil;&atilde;o
+ de Impressoras</ulink> no &a.ptbr.p.handbook;.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="signal11">
+ <para>Por que alguns programas ocasionalmente morrem com
+ erro de <errorname>Signal 11</errorname> ?</para>
+ </question>
+
+ <answer>
+ <para>Erros de sinal 11 s&atilde;o fruto de tentativas de
+ acesso indevido a mem&oacute;ria. Esse acesso normalmente
+ &eacute; controlado pelo sistema operacional, e quando o
+ sistema n&atilde;o permite acessar determinados
+ endere&ccedil;os, o processo &eacute; morto com signal 11.
+ Se isso estiver acontecendo em intervalos
+ aleat&oacute;rios de tempo, &eacute; preciso investigar as
+ causas com cuidado.</para>
+
+ <para>Esse problema normalmente &eacute; atribu&iacute;do
+ a:</para>
+
+ <orderedlist>
+ <listitem>
+ <para>Se o problema ocorre apenas em um programa
+ espec&iacute;fico que voc&ecirc; mesmo esta
+ desenvolvendo, se trata de um bug no c&oacute;digo do
+ seu programa.</para>
+ </listitem>
+
+ <listitem>
+ <para>Se o problema &eacute; com algum programa que faz
+ parte da base do FreeBSD, &eacute; poss&iacute;vel que
+ tamb&eacute;m seja um problema de bug no c&oacute;digo
+ em quest&atilde;o. Contudo, esses problemas costumam
+ ser corrigidos antes que os usu&aacute;rios
+ tradicionais percebam sua exist&ecirc;ncia - e
+ necessitem ler este <literal>FAQ</literal> - afinal,
+ &eacute; para isso que o -CURRENT existe.</para>
+ </listitem>
+ </orderedlist>
+
+ <para>Em especial, uma indica&ccedil;&atilde;o que esse
+ problema <emphasis>n&atilde;o</emphasis> &eacute; um bug
+ do FreeBSD, &eacute; um erro repetitivo no mesmo instante
+ da compila&ccedil;&atilde;o, mas o problema que o
+ compilador apresenta muda de linha a cada nova
+ compila&ccedil;&atilde;o.</para>
+
+ <para>Por exemplo, suponha que voc&ecirc; esteja executando
+ um <quote>make buildworld</quote>, e a
+ compila&ccedil;&atilde;o falha na hora de compilar o
+ <filename>ls.c</filename> em <filename>ls.o</filename>. Se
+ voc&ecirc; rodar o <quote>make buildworld</quote> de novo
+ e a compila&ccedil;&atilde;o falha exatamente no mesmo
+ trecho do c&oacute;digo, ent&atilde;o o problema realmente
+ &eacute; com o fonte da aplica&ccedil;&atilde;o, nesse
+ caso atualize os fontes do FreeBSD e tente novamente.
+ Agora se a compila&ccedil;&atilde;o falhar em um trecho
+ diferente do c&oacute;digo, &eacute; quase certo que o
+ problema seja f&iacute;sico, ou seja, com o seu
+ equipamento.</para>
+
+ <para>O que deve ser feito:</para>
+
+ <para>Em primeiro lugar, deve-se usar um debugador, como o
+ gdb, por exemplo, para encontrar o ponto exato do
+ c&oacute;digo que est&aacute; tentando acessar um
+ endere&ccedil;o problem&aacute;tico de mem&oacute;ria, e
+ corrigi-lo.</para>
+
+ <para>Em segundo lugar, verifique se a culpa n&atilde;o
+ &eacute; do seu equipamento.</para>
+
+ <para>As causas mais comuns para o problema incluem::</para>
+
+ <orderedlist>
+ <listitem>
+ <para>Os seus discos r&iacute;gidos podem estar
+ superaquecidos: Verifique se o sistema de
+ ventila&ccedil;&atilde;o do seu PC est&aacute;
+ funcionando. Verifique coolers internos (da fonte) e
+ externos, e verifique se n&atilde;o existe
+ superaquecimento de outros componentes do
+ computador.</para>
+ </listitem>
+
+ <listitem>
+ <para>O processador est&aacute; superaquecido: Pode ser
+ porque foi feito um overclock no processador em
+ quest&atilde;o, ou no caso mais tradicional, pode ser
+ que o cooler tenha parado de funcionar ou que esteja
+ sujo e portanto funcionando em rota&ccedil;&atilde;o
+ baixa. Em ambos os casos, o primeiro passo &eacute;
+ garantir que o processador esteja rodando sob as
+ mesmas condi&ccedil;&otilde;es que ele foi
+ constru&iacute;do para funcionar - por exemplo, com a
+ velocidade do clock original e com a
+ ventila&ccedil;&atilde;o adequada.</para>
+
+ <para>Caso tenha sido feito overclock no processador,
+ lembre-se que &eacute; mais barato usar um computador
+ um pouco mais lento, do que trocar o processador da
+ m&aacute;quina por causa de um chip fritado ;-)
+ Al&eacute;m do que a maioria das pessoas n&atilde;o
+ s&atilde;o simpatizantes de overclock, mesmo que
+ voc&ecirc; considere a a&ccedil;&atilde;o segura ou
+ n&atilde;o.</para>
+ </listitem>
+
+ <listitem>
+ <para>Caso tenha m&uacute;ltiplos pentes de
+ mem&oacute;ria SIMM/DIMM, tente deslig&aacute;-los e
+ experimente usar cada pente de uma vez,
+ indiviualmente. Com isso &eacute; poss&iacute;vel
+ descobrir se o problema &eacute; com algum chip
+ DIMM/SIMM ou se o problema &eacute; a
+ combina&ccedil;&atilde;o entre os pentes.</para>
+ </listitem>
+
+ <listitem>
+ <para>Configura&ccedil;&otilde;es super otimistas na
+ BIOS da sua placa m&atilde;e s&atilde;o outra causa
+ prov&aacute;vel. Algumas BIOS tem
+ op&ccedil;&otilde;es que permitem alterar a velocidade
+ e frequ&ecirc;ncia de v&aacute;rios recursos.
+ Normalmente os valores padr&atilde;o na BIOS
+ s&atilde;o os mais conservadores, e portanto devem ser
+ o bastante para controlar corretamente o equipamento;
+ contudo algumas op&ccedil;&otilde;es como por exemplo
+ <quote>RAM Speed: Turbo</quote> ou alguma
+ op&ccedil;&atilde;o parecida coloca o estado de espera
+ para o acesso a mem&oacute;ria em um valor muito
+ baixo, e as vezes, por mais otimista que voc&ecirc;
+ seja, sua mem&oacute;ria pode n&atilde;o ser
+ r&aacute;pida o bastante. O ideal &eacute; definir os
+ valores padr&atilde;o da sua BIOS, mas &eacute;
+ interessante anotar os valores atuais primeiro!</para>
+ </listitem>
+
+ <listitem>
+ <para>Alimenta&ccedil;&atilde;o insuficiente de energia
+ na placa-m&atilde;e. Caso exista alguma placa que
+ n&atilde;o esteja sendo utilizada, algum disco
+ r&iacute;gido ou CDROM, &eacute; interessante
+ desliga-los temporariamente do computador, ou
+ simplesmente remover o cabo de energia desses
+ equipamentos. Mesmo em sub utiliza&ccedil;&atilde;o,
+ essas placas e discos est&atilde;o sob constante
+ alimenta&ccedil;&atilde;o e talvez sua fonte consiga
+ suprir uma carga menor. Ou tente trocar a fonte do
+ seu PC, de prefer&ecirc;ncia por uma com maior poder
+ de alimenta&ccedil;&atilde;o (por exemplo, se a sua
+ fonte &eacute; de 250 Watts troque por uma de 300
+ Watts).</para>
+ </listitem>
+
+ </orderedlist>
+
+ <para>Leia ainda o <literal>FAQ</literal> SIG11
+ (dispon&iacute;vel a seguir) que tem outras boas
+ explica&ccedil;&otilde;es sobre esses problemas. O
+ <literal>FAQ</literal> tamb&eacute;m discute como alguns
+ programas de teste de mem&oacute;ria podem pensar que um
+ pente problem&aacute;tico est&aacute; funcionando
+ corretamente.</para>
+
+ <para>Finalmente, se nenhum dos casos acima ajudou a
+ solucionar seu problema, pode ser que exista um bug no
+ FreeBSD. Voc&ecirc; deve seguir as
+ intru&ccedil;&otilde;oes para enviar um relat&oacute;rio
+ de problemas para o Projeto FreeBSD.</para>
+
+ <para>Existe um <literal>FAQ</literal> extenso que cobre
+ esse assunto, dispon&iacute;vel <ulink
+ URL="http://www.bitwizard.nl/sig11/"> no
+ <literal>FAQ</literal> dos problemas com
+ SIG11.</ulink></para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="trap-12-panic">
+ <para>O meu sistema trava com o erro <errorname>Fatal trap
+ 12: page fault in kernel mode</errorname>, ou
+ <errorname>panic:</errorname>, e sai mostrando uma
+ quantidade enorme de informa&ccedil;&otilde;es. O que eu
+ fa&ccedil;o?</para>
+ </question>
+
+ <answer>
+ <para>A equipe de desenvolvimento do FreeBSD tem muito
+ interesse nesse tipo de erro, mas &eacute;
+ necess&aacute;rio obter algumas informa&ccedil;&otilde;es
+ suplementares, do que apenas o erro que voc&ecirc;
+ est&aacute; tendo. Copie sua mensagem de erro inteira,
+ consulte o <literal>FAQ</literal> sobre <link
+ linkend="KERNEL-PANIC-TROUBLESHOOTING"><foreignphrase>kernel</foreignphrase>
+ panics</link>, compile um
+ <foreignphrase>kernel</foreignphrase> em modo de
+ debuga&ccedil;&atilde;o e tente analisar o problema.
+ Parece uma tarefa dif&iacute;cil, mas n&atilde;o &eacute;
+ necess&aacute;rio conhecimento de
+ programa&ccedil;&atilde;o; basta seguir as
+ instru&ccedil;&otilde;es.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="screen-loses-sync">
+ <para>Por que a tela fica preta e perde sincronia quando eu
+ inicio o sistema?</para>
+ </question>
+
+ <answer>
+ <para>Esse &eacute; um problema conhecido da placa de
+ v&iacute;deo ATI Mach 64. O problema &eacute; que essa
+ placa usa o endere&ccedil;o <literal>2e8</literal>, o
+ mesmo utilizado pela quarta porta serial dos computadores
+ pessoais. Devido a um bug (ou uma vantagem?) da
+ &man.sio.4; ,essa porta ser&aacute; sempre reconhecida,
+ ainda que n&atilde;o exista a quarta porta serial no seu
+ computador, ou <emphasis>mesmo</emphasis> se o sio3 (a
+ quarta porta) estiver desabilitado.</para>
+
+ <para>At&eacute; que o bug seja corrigido, voc&ecirc; pode
+ usar essa solu&ccedil;&atilde;o:</para>
+
+ <orderedlist>
+ <listitem>
+ <para>Entre no modo de configura&ccedil;&atilde;o do
+ <foreignphrase>kernel</foreignphrase> com
+ op&ccedil;&atilde;o <option>-c</option> na tela de
+ inicializa&ccedil;&atilde;o(boot). (Isto colocara o
+ <foreignphrase>kernel</foreignphrase> no modo de
+ configura&ccedil;&atilde;o).</para>
+ </listitem>
+
+ <listitem>
+ <para>Desabilite a <devicename>sio0</devicename>,
+ <devicename>sio1</devicename>,
+ <devicename>sio2</devicename> e
+ <devicename>sio3</devicename> (todas elas). Dessa
+ forma ser&aacute; ativada, logo, voc&ecirc; n&atilde;o
+ ter&aacute; -&gt; problemas.</para>
+ </listitem>
+
+ <listitem>
+ <para>Digite exit para continuar o boot.</para>
+ </listitem>
+ </orderedlist>
+
+ <para>Caso queira usar as portas seriais, ser&aacute;
+ necess&aacute;rio construir um
+ <foreignphrase>kernel</foreignphrase> customizado, com as
+ seguintes altera&ccedil;&otilde;es: no fonte
+ <filename>/usr/src/sys/i386/isa/sio.c</filename> encontre
+ a ocorr&ecirc;ncia da express&atilde;o
+ <literal>0x2e8</literal> e apague essa express&atilde;o e
+ a v&iacute;rgula que a antecede (mantenha a outra).
+ Depois compile o novo
+ <foreignphrase>kernel</foreignphrase> normalmente.</para>
+
+ <para>Mesmo depois dessa corre&ccedil;&atilde;o, &eacute;
+ prov&aacute;vel que o X Windows ainda n&atilde;o funcione
+ como esperado. Se for o caso, garanta que a vers&atilde;o
+ do Xfree86 em quest&atilde;o seja ao menos o XFree86 3.3.3
+ ou uma vers&atilde;o superior. Esse XFree86 e os
+ posteriores tem suporte nativo &agrave;s placas de
+ v&iacute;deo Mach64, e tem inclusive um X Server dedicado
+ para tal equipamento.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="reallybigram">
+ <para>Por que o FreeBSD s&oacute; detecta 64MB de
+ mem&oacute;ria RAM se eu tenho 128MB instalados?</para>
+ </question>
+
+ <answer>
+ <para>Devido &agrave; maneira que o FreeBSD obt&eacute;m as
+ informa&ccedil;&otilde;es quanto ao tamanho da
+ mem&oacute;ria dispon&iacute;vel por interm&eacute;dio da
+ BIOS, pode acontecer de apenas 16 bits v&aacute;lidos
+ serem detectados (65535 Kbytes = 64MB) ou at&eacute;
+ menos, dependendo da BIOS (em alguns casos, apenas 16MB).
+ Mesmo nessa situa&ccedil;&atilde;o o FreeBSD tenta
+ detectar mais que 64MB de mem&oacute;ria, mas esse
+ reconhecimento pode falhar.</para>
+
+ <para>Pra corrigir esse problema pode ser usada a
+ op&ccedil;&atilde;o do
+ <foreignphrase>kernel</foreignphrase> descrita a seguir.
+ Existe uma forma de obter informa&ccedil;&otilde;es
+ completas quanto ao tamanho da mem&oacute;ria, a partir da
+ BIOS, mas devido a algumas limita&ccedil;&otilde;es isso
+ nem sempre &eacute; poss&iacute;vel hoje em dia.
+ Futuramente ser&aacute;. De qualquer forma, temos ainda a
+ op&ccedil;&atilde;o do
+ <foreignphrase>kernel</foreignphrase> para
+ situa&ccedil;&otilde;es onde toda a mem&oacute;ria
+ n&atilde;o puder ser reconhecida.</para>
+
+ <para><literal>options
+ "MAXMEM=<replaceable>n</replaceable>"</literal></para>
+
+ <para>Onde <replaceable>n</replaceable> equivale &agrave;
+ mem&oacute;ria (em Kilobytes) dispon&iacute;vel no
+ sistema. Para 128 MB de mem&oacute;ria, use o valor
+ <literal>131072</literal>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="panic-kmemmap-too-small">
+ <para>Por que o FreeBSD 2.0 entre em p&acirc;nico com a
+ mensagem <errorname>kmem_map too
+ small!</errorname>?</para>
+ </question>
+
+ <answer>
+ <note>
+ <para>A mensagem em quest&atilde;o tamb&eacute;m pode ser
+ <literal>mb_map too small!</literal></para>
+ </note>
+
+ <para>Essa mensagem de p&acirc;nico indica que o sistema
+ ficou sem mem&oacute;ria suficiente pros buffers de rede
+ (especificamente, os mbuf clusters). A quantidade de
+ mem&oacute;ria virtual dispon&iacute;vel para os clusters
+ mbuf pode ser elevada com a op&ccedil;&atilde;o::</para>
+
+ <para><literal>options
+ "NMBCLUSTERS=<replaceable>n</replaceable>"</literal></para>
+
+ <para>no arquivo de configura&ccedil;&atilde;o do seu
+ <foreignphrase>kernel</foreignphrase>, onde
+ <replaceable>n</replaceable> equivale ao valor entre
+ 512-4096, dependendo do n&uacute;mero de conex&otilde;es
+ TCP simult&acirc;neas que voc&ecirc; espera poder
+ suportar. O valor 2048 &eacute; recomend&aacute;vel, e
+ provavelmente ser&aacute; o bastante para sanar o problema
+ que causa o p&acirc;nico em quest&atilde;o O n&uacute;mero
+ de clusters mbuf em uso pode ser monitorado com o comando
+ <command>netstat -m</command> (veja &man.netstat.1;). O
+ valor padr&atilde;o para a vari&aacute;vel NMBCLUSTERS no
+ <foreignphrase>kernel</foreignphrase> do FreeBSD &eacute;
+ <literal>512 + MAXUSERS * 16</literal>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="proc-table-full">
+ <para>Por que o erro <errorname>/kernel: proc: table is
+ full</errorname>ocorre?</para>
+ </question>
+
+ <answer>
+ <para>O <foreignphrase>kernel</foreignphrase> do FreeBSD
+ limita o n&uacute;mero m&aacute;ximo de processos
+ simult&acirc;neos existentes no sistema. O n&uacute;mero
+ em quest&atilde;o &eacute; baseado na op&ccedil;&atilde;o
+ <literal>MAXUSERS</literal>. do sistema. A
+ op&ccedil;&atilde;o <literal>MAXUSERS</literal> afeta
+ ainda in&uacute;meros outros limites do
+ <foreignphrase>kernel</foreignphrase> do FreeBSD, como por
+ exemplo os buffers dispon&iacute;veis para o stack de rede
+ do sistema (veja <link
+ linkend="panic-kmemmap-too-small">esta</link> resposta
+ anterior). Se o computador estiver sob grande carga,
+ provavelmente ser&aacute; necess&aacute;rio aumentar o
+ <literal>MAXUSERS</literal>. Essa altera&ccedil;&atilde;o
+ aumentar&aacute; os limites do sistema em
+ adi&ccedil;&atilde;o ao n&uacute;mero de processos
+ permitido.</para>
+
+ <para>Desde a vers&atilde;o 4.4 do FreeBSD, o valor para
+ <literal>MAXUSERS</literal> se tornou configur&aacute;vel,
+ n&atilde;o sendo mais necess&aacute;rio recompilar o
+ <foreignphrase>kernel</foreignphrase> para
+ alter&aacute;-lo, bastando definir a vari&aacute;vel
+ <varname>kern.maxusers</varname> no arquivo
+ <filename>/boot/loader.conf</filename>. Em
+ vers&otilde;oes mais recentes do FreeBSD, deve-se ajustar
+ o <literal>MAXUSERS</literal> em sua
+ configura&ccedil;&atilde;o do
+ <foreignphrase>kernel</foreignphrase>.</para>
+
+ <para>Caso seu sistema n&atilde;o esteja muito carregado,
+ mas o n&uacute;mero de processos simult&acirc;neos ainda
+ assim &eacute; alto basta definir a vari&aacute;vel
+ <varname>kern.maxproc</varname> com o sysctl. Em casos
+ especiais, onde esses in&uacute;meros processos
+ est&atilde;o sendo executados por um &uacute;nico
+ usu&aacute;rio, ser&aacute; preciso alterar ainda alterar
+ o valor da vari&aacute;vel
+ <varname>kern.maxprocperuid</varname> para um a menos do
+ que o valor de <varname>kern.maxproc</varname>. (deve ser
+ ao menos 1 processo a menos, visto que ao menos o
+ &man.init.8; do sistema vai estar sempre em
+ execu&ccedil;&atilde;o.)</para>
+
+ <para>Para tornar uma altera&ccedil;&atilde;o de
+ vari&aacute;vel do sysctl permanente, defina-a no arquivo
+ <filename>/etc/sysctl.conf</filename> nas vers&otilde;es
+ mais recentes do FreeBSD, ou ent&atilde;o no arquivo
+ <filename>/etc/rc.local</filename> em vers&otilde;es mais
+ antigas do sistema.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="cmap-busy-panic">
+ <para>Por que acontece o erro <errorname>CMAP
+ busy</errorname> quando eu reinicio com um novo
+ <foreignphrase>kernel</foreignphrase>?</para>
+ </question>
+
+ <answer>
+ <para>A l&oacute;gica que tenta detectar uma data errada nos
+ arquivos <filename>/var/db/kvm_*.db</filename> as vezes
+ &eacute; falha, o que leva o sistema a entrar em
+ p&acirc;nico.</para>
+
+ <para>Se for o caso, reinicie seu sistema em modo
+ monousu&aacute;rio e fa&ccedil;a:</para>
+
+ <screen>&prompt.root; <userinput>rm /var/db/kvm_*.db</userinput></screen>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="brkadrint-illegal-host-access">
+ <para>O que a mensagem <errorname>ahc0: brkadrint, Illegal
+ Host Access at seqaddr 0x0</errorname>
+ significa??</para>
+ </question>
+
+ <answer>
+ <para>Trata-se de um conflito com o Ultrastor SCSI Host
+ Adapter.</para>
+
+ <para>Durante o processo de
+ inicializa&ccedil;&atilde;o(boot), entre no menu de
+ configura&ccedil;&atilde;o do
+ <foreignphrase>kernel</foreignphrase> e desabilite a
+ <devicename>uha0</devicename>, que esta causando o
+ problema.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="aci0-illegal-cable">
+ <para>Quando eu inicio o sistema, encontro o erro
+ <errorname>ahc0: illegal cable configuration</errorname>,
+ mas o meu cabo est&aacute; certo. O que est&aacute;
+ havendo?</para>
+ </question>
+
+ <answer>
+ <para>A placa-m&atilde;e em quest&atilde;o n&atilde;o
+ consegue se dar bem com o suporte a
+ termina&ccedil;&atilde;o autom&aacute;tica do barramento.
+ Altere sua BIOS SCSI para a termina&ccedil;&atilde;o
+ correta, de acordo com a configura&ccedil;&atilde;o do
+ equipamento, ao inv&eacute;s de usar
+ termina&ccedil;&atilde;o autom&aacute;tica. O driver
+ AIC7XXX n&atilde;o consegue descobrir se o reconhecimento
+ externo dos cabos (e conseq&uuml;ente
+ auto-termina&ccedil;&atilde;o) est&aacute;
+ dispon&iacute;vel, e portanto ele simplesmente assume que
+ o suporte existe, caso a configura&ccedil;&atilde;o da
+ EEPROM serial esteja definida como automatic termination.
+ Sem o reconhecimento de cabo externo o driver ir&aacute;
+ sempre configurar a termina&ccedil;&atilde;o de forma
+ incorreta, o que compromete a confiabilidade do barramento
+ SCSI.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="mail-loopback">
+ <para>Por que o Sendmail retorna um erro que diz
+ <quote><errorname>mail loops back to
+ myself</errorname></quote>?</para>
+ </question>
+
+ <answer>
+ <para>Essa pergunta &eacute; respondida no
+ <literal>FAQ</literal> do pr&oacute;prio Sendmail, e
+ diz:-</para>
+
+<literallayout> * Eu estou tendo problemas de configura&ccedil;&otilde;es local "Local configuration error" como essas:
+
+ 553 relay.domain.net config error: mail loops back to myself
+ 554 &lt;user@domain.net&gt;... Local configuration error
+
+ Como posso resolver esse problema?
+
+ Voc&ecirc; definiu que as mensagens enviadas para o dom&iacute;nio
+ em quest&atilde;o (domain.net) devem ser repassadas para uma outra
+ esta&ccedil;&atilde;o espec&iacute;fica (nesse caso para
+ relay.domain.net) usando um registro MX, mas essa m&aacute;quina de
+ relay n&atilde;o se reconhece como a esta&ccedil;&atilde;o
+ respons&aacute;vel pelas mensagens do dom&iacute;nio domain.net.
+ Adicione domain.net no arquivo /etc/mail/local-host-names
+ (caso voc&ecirc; esteja usando FEATURE(use_cw_file)) ou ent&atilde;o
+ adicione a linha "Cw domain.net" em /etc/mail/sendmail.cf.
+ </literallayout>
+
+ <para>Atualmente a vers&atilde;o mais recente do <ulink
+ URL="ftp://rtfm.mit.edu/pub/usenet/news.answers/mail/sendmail-faq"><literal>FAQ</literal>
+ do sendmail</ulink> &eacute; mantida em sincronia com as
+ vers&otilde;es mais atuais do MTA, mas ela ainda &eacute;
+ enviada regularmente para os grupos de not&iacute;cias
+ <ulink
+ URL="news:comp.mail.sendmail">comp.mail.sendmail</ulink>,
+ <ulink URL="news:comp.mail.misc">comp.mail.misc</ulink>,
+ <ulink URL="news:comp.mail.smail">comp.mail.smail</ulink>,
+ <ulink URL="news:comp.answers">comp.answers</ulink>, e
+ <ulink URL="news:news.answers">news.answers</ulink>.
+ Ainda &eacute; poss&iacute;vel receber um c&oacute;pia por
+ e-mail do <literal>FAQ</literal>, enviando uma mensagem
+ para <email>mail-server@rtfm.mit.edu</email> com o comando
+ <literal>send
+ usenet/news.answers/mail/sendmail-faq</literal> no corpo
+ da mensagem.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="remote-fullscreen">
+ <para>Porque algumas aplica&ccedil;&otilde;es que usam tela
+ inteira n&atilde;o se comportam muito bem em
+ esta&ccedil;&otilde;es remotas?</para>
+ </question>
+
+ <answer>
+ <para>A esta&ccedil;&atilde;o remota deve estar definindo o
+ terminal como algum tipo diferente do
+ <literal>cons25</literal> que &eacute; o tipo de terminal
+ usado pelo console do FreeBSD.</para>
+
+ <para>Existem in&uacute;meras corre&ccedil;&otilde;es para
+ esse problema:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Depois de logar-se na esta&ccedil;&atilde;o
+ remota, defina a vari&aacute;vel de ambiente TERM como
+ <literal>ansi</literal> ou <literal>sco</literal> caso
+ a m&aacute;quina em quest&atilde;o tenha
+ informa&ccedil;&otilde;es quanto a esse tipo de
+ terminal.</para>
+ </listitem>
+
+ <listitem>
+ <para>Use um emulador VT100 como o
+ <application>screen</application> no console do
+ FreeBSD. O <application>screen</application> oferece
+ a possibilidade de usar m&uacute;ltiplas
+ sess&otilde;es concorrentes em um mesmo terminal, e
+ &eacute; um grande programa. Cada janela do
+ <application>screen</application> se comporta como um
+ terminal VT100, portanto a vari&aacute;vel TERM deve
+ ser definida como <literal>vt100</literal>.</para>
+ </listitem>
+
+ <listitem>
+ <para>Instale a base do <literal>cons25</literal> na
+ esta&ccedil;&atilde;o remota. A maneira correta de
+ faze-lo depende do sistema operacional em
+ quest&atilde;o na esta&ccedil;&atilde;o remota.
+ Consulte os manuais de administra&ccedil;&atilde;o do
+ sistema remoto em quest&atilde;o para descobrir como
+ faze-lo.</para>
+ </listitem>
+
+ <listitem>
+ <para>Levante um X server do lado FreeBSD da coisa e
+ acesse a esta&ccedil;&atilde;o remota usando um
+ terminal baseado no ambiente X, como o
+ <command>xterm</command> ou o <command>rxvt</command>.
+ A vari&aacute;vel TERM deve ser definida
+ como<literal>xterm</literal> ou
+ <literal>vt100</literal> no lado remoto.</para>
+ </listitem>
+ </itemizedlist>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="calcru-negative">
+ <para>Por que meu computador apresenta a mensagem
+ <errorname>calcru: negative time...</errorname>?</para>
+ </question>
+
+ <answer>
+ <para>Esse comportamento pode ser causado por diversos
+ motivos relacionados a interrup&ccedil;&otilde;es de
+ <foreignphrase>hardware</foreignphrase> e/ou software.
+ Pode ser devido a algum bug, mas tamb&eacute;m pode
+ acontecer por causa da natureza de alguns devices. Por
+ exemplo, usar TCP/IP via porta paralela com uma MTU muito
+ grande &eacute; uma boa forma de provocar esse
+ comportamento. Aceleradores gr&aacute;ficos tamb&eacute;m
+ s&atilde;o eficientes para criar esse tipo de problema,
+ nesse caso, sendo necess&aacute;rio analisar as
+ configura&ccedil;&otilde;es de interrup&ccedil;&otilde;es
+ do software.</para>
+
+ <para>Um efeito colateral desse problema s&atilde;o
+ processos que morrem<quote>SIGXCPU exceeded cpu time
+ limit</quote>.</para>
+
+ <para>No FreeBSD 3.0 e sistemas posteriores a 29 de Novembro
+ de 1998, caso o problema n&atilde;o possa ser solucionado
+ de outra forma, uma corre&ccedil;&atilde;o pode ser
+ definir a seguinte vari&aacute;vel do sysctl:</para>
+
+ <screen>&prompt.root; <userinput>sysctl -w kern.timecounter.method=1</userinput></screen>
+
+ <para>Isso causa um impacto de performance, mas dependendo
+ do problema que causava esse comportamento, &eacute;
+ prov&aacute;vel que nem consiga-se notar a mudan&ccedil;a
+ nessa performance. Se o problema continuar, mantenha a
+ vari&aacute;vel do sysctl habilitada e defina a
+ op&ccedil;&atilde;o <literal>NTIMECOUNTER</literal> no
+ <foreignphrase>kernel</foreignphrase> para valores
+ crescentes. Se chegar a um ponto em que foi
+ necess&aacute;rio definir
+ <literal>NTIMECOUNTER=20</literal> e o problema ainda
+ n&atilde;o tiver sido resolvido, as
+ interrup&ccedil;&otilde;es s&atilde;o serias demais e seu
+ comportamento n&atilde;o &eacute; confi&aacute;vel.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="pcm0-not-found">
+ <para>Acontece da pcm n&atilde;o ser encontrada, com a
+ mensagem <errorname>pcm0 not found</errorname> ou
+ ent&atilde;o minha placa de som &eacute; encontrada na
+ <devicename>pcm1</devicename> mas no meu
+ <foreignphrase>kernel</foreignphrase> a entrada se refere
+ a <literal>device pcm0</literal>. O que est&aacute;
+ havendo?</para>
+ </question>
+
+ <answer>
+ <para>Isso acontece no FreeBSD 3.X com placas de som PCI. A
+ <devicename>pcm0</devicename> &eacute; reservada
+ exclusivamente para placas de som ISA e por isso se a
+ placa em quest&atilde;o &eacute; PCI, ela ser&aacute;
+ reconhecida como <devicename>pcm1</devicename> e a
+ mensagem em quest&atilde;o pode acontecer.
+ </para>
+
+ <note>
+ <para>N&atilde;o &eacute; poss&iacute;vel evitar a
+ mensagem de advert&ecirc;ncia simplesmente alterando o
+ seu <foreignphrase>kernel</foreignphrase> e definindo
+ <literal>device pcm1</literal> pois isso
+ resultar&aacute; na <devicename>pcm1</devicename> sendo
+ reservada para placas ISA, e o seu equipamento PCI
+ ser&aacute; reconhecido na <devicename>pcm2</devicename>
+ (e a mensagem de advert&ecirc;ncia <errorname>pcm1 not
+ found</errorname> continuar&aacute;).</para>
+ </note>
+
+ <para>
+ Caso sua placa de som seja PCI ainda ser&aacute; preciso
+ criar a device <devicename>snd1</devicename> ao
+ inv&eacute;s da <devicename>snd0</devicename>:</para>
+
+ <screen>&prompt.root; <userinput>cd /dev</userinput>
+&prompt.root; <userinput>./MAKEDEV snd1</userinput></screen>
+
+ <para>Esse comportamento n&atilde;o ocorre na s&eacute;rie
+ 4.X do FreeBSD, muito trabalho foi feito para tornar o
+ sistema mais <emphasis>PnP-centric</emphasis> e a device
+ <devicename>pcm0</devicename> n&atilde;o &eacute; mais
+ reservada exclusivamente para placas ISA.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="pnp-not-found">
+ <para>Porque a minha placa PnP n&atilde;o &eacute; mais
+ encontrada (ou &eacute; encontrada como
+ <literal>unknown</literal>) desde a
+ atualiza&ccedil;&atilde;o para o FreeBSD 4.X?</para>
+ </question>
+
+ <answer>
+ <para>O FreeBSD 4.X &eacute; muito mais
+ <emphasis>PnP-centric</emphasis> do que as vers&otilde;es
+ anteriores, e isso causou alguns efeitos distintos em
+ algumas placas PnP (como algumas placas de som e alguns
+ modems interno por exemplo) que n&atilde;o funcionam mais
+ da forma como funcionavam no FreeBSD 3.X.</para>
+
+ <para>O motivo para esse comportamento &eacute; explicado no
+ seguinte e-mail, que foi enviada na lista
+ freebsd-questions pelo Reter Wemm, respondendo uma
+ pergunta sobre um modem interno que n&atilde;o era mais
+ reconhecido no FreeBSD depois de atualizar o sistema para
+ vers&atilde;o 4.X (os coment&aacute;rios entre
+ <literal>[]</literal>foram adicionados com a
+ inten&ccedil;&atilde;o de explicar melhor o contexto da
+ mensagem).</para>
+
+ <note>
+ <para>Os &iacute;ndices dessa cita&ccedil;&atilde;o foram
+ atualizados de seu texto original</para>
+ </note>
+
+ <blockquote>
+ <para>A bios PNP configurou ele [o modem] e o deixou
+ conectado na porta em quest&atilde;o, por isso o estilo
+ antigo [no 3.X] <quote>reconhece</quote> o equipamento
+ ISA.</para>
+
+ <para>No FreeBSD 4 o c&oacute;digo ISA &eacute; bem mais
+ PnP-centric. Era poss&iacute;vel [no 3.X] encontrar uma
+ placa ISA que funcionava com <quote>determinada</quote>
+ device e depois, o id PNP da mesma device encontrava a
+ mesma placa novamente, como se fosse uma outra usando os
+ mesmos recursos do sistema, e por isso ele falhava, como
+ se fosse um conflito de recursos. Portanto, agora ele
+ desabilita o suporta &agrave;s placas
+ program&aacute;veis de forma que essa confus&atilde;o e
+ dupla detec&ccedil;&atilde;o de
+ <foreignphrase>hardware</foreignphrase> n&atilde;o
+ ocorra. Essa mudan&ccedil;a implica tamb&eacute;m na
+ necessidade de se saber previamente os ids PnP para cada
+ tipo de equipamento suportado, aumentando um pouco mais
+ a lista de TODO do suporte PnP no sistema.</para>
+ </blockquote>
+
+ <para>Para fazer o equipamento voltar a funcionar, &eacute;
+ necess&aacute;rio encontrar seu PnP id e
+ adicion&aacute;-lo a lista de devices ISA reconhecidas
+ como PnP. Essa informa&ccedil;&atilde;o pode ser obtida
+ usando &man.pnpinfo.8; que detecta a
+ configura&ccedil;&atilde;o dos equipamentos. Por exemplo,
+ veja a sa&iacute;da do &man.pnpinfo.8; de um modem
+ interno:</para>
+
+ <screen>&prompt.root; <userinput>pnpinfo</userinput>
+Checking for Plug-n-Play devices...
+
+Card assigned CSN #1
+Vendor ID PMC2430 (0x3024a341), Serial Number 0xffffffff
+PnP Version 1.0, Vendor Version 0
+Device Description: Pace 56 Voice Internal Plug & Play Modem
+
+Logical Device ID: PMC2430 0x3024a341 #0
+ Device supports I/O Range Check
+TAG Start DF
+ I/O Range 0x3f8 .. 0x3f8, alignment 0x8, len 0x8
+ [16-bit addr]
+ IRQ: 4 - only one type (true/edge)</screen>
+
+ <para>[algumas linhas com TAG foram eliminadas]</para>
+
+ <screen>TAG End DF
+End Tag
+
+Successfully got 31 resources, 1 logical fdevs
+-- card select # 0x0001
+
+CSN PMC2430 (0x3024a341), Serial Number 0xffffffff
+
+Logical device #0
+IO: 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8 0x03e8
+IRQ 5 0
+DMA 4 0
+IO range check 0x00 activate 0x01</screen>
+
+ <para>A informa&ccedil;&atilde;o que voc&ecirc; quer
+ &eacute; a linha <quote>Vendor ID</quote> no come&ccedil;o
+ da sa&iacute;da do comando. O valor hexadecimal entre
+ par&ecirc;nteses (0x3024a341 esse caso) &eacute; PnP id e
+ o conjunto de caracteres que o antecede (PMC2430) &eacute;
+ a identifica&ccedil;&atilde;o ASCII &uacute;nica.</para>
+
+ <para>Alternativamente, se o &man.pnpinfo.8; n&atilde;o
+ listou sua placa em quest&atilde;o, o &man.pciconf.8; pode
+ ser usado preferivelmente. Esta &eacute; a sa&iacute;da
+ do comando <command>pciconf -vl</command> de uma placa de
+ som onboard:</para>
+
+ <screen>&prompt.root; <userinput>pciconf -vl</userinput>
+chip1@pci0:31:5: class=0x040100 card=0x00931028 chip=0x24158086 rev=0x02 hdr=0x00
+ vendor = 'Intel Corporation'
+ device = '82801AA 8xx Chipset AC'97 Audio Controller'
+ class = multimedia
+ subclass = audio</screen>
+
+ <para>Aqui deve-se usar o valor do <varname>chip</varname>,
+ <quote>0x24158086</quote>.</para>
+
+ <para>Tais informa&ccedil;&otilde;es (Vendor ID ou valor do
+ chip) precisam ser adicionadas ao arquivo
+ <filename>/usr/src/sys/isa/sio.c</filename>.</para>
+
+ <para>Primeiro fa&ccedil;a uma c&oacute;pia de
+ seguran&ccedil;a do <filename>sio.c</filename> no caso de
+ algo dar errado e tamb&eacute;m para que voc&ecirc; possa
+ fazer um patch para enviar junto com o seu
+ Relat&oacute;rio de Problemas (voc&ecirc; vai enviar um
+ PR, n&atilde;o vai?) e depois edite o
+ <filename>sio.c</filename> e procure a linha</para>
+
+ <programlisting>static struct isa_pnp_id sio_ids[] = {</programlisting>
+
+ <para>Depois analise as linhas logo abaixo para encontrar o
+ lugar apropriado para sua placa. As entradas na tabela
+ ficam todas parecidas com essa logo abaixo, e s&atilde;o
+ ordenadas de acordo com a identifica&ccedil;&atilde;o
+ ASCII do fabricante do produto a qual deve ser
+ inclu&iacute;da como coment&aacute;rio na coluna do lado
+ do c&oacute;digo em quest&atilde;o, e junto com a
+ <emphasis>descri&ccedil;&atilde;o da placa</emphasis> ou
+ parte dela, conforme identificada na sa&iacute;da do
+ &man.pnpinfo.8;:</para>
+
+ <programlisting>{0x0f804f3f, NULL}, /* OZO800f - Zoom 2812 (56k Modem) */
+{0x39804f3f, NULL}, /* OZO8039 - Zoom 56k flex */
+{0x3024a341, NULL}, /* PMC2430 - Pace 56 Voice Internal Modem */
+{0x1000eb49, NULL}, /* ROK0010 - Rockwell ? */
+{0x5002734a, NULL}, /* RSS0250 - 5614Jx3(G) Internal Modem */</programlisting>
+
+ <para>Adicione o ID hexadecimal do fabricante da placa no
+ local apropriado, salve o arquivo e recompile o
+ <foreignphrase>kernel</foreignphrase>, depois reinicie o
+ sistema. Agora a sua placa deve ter sido encontrada como
+ uma device <literal>sio</literal> exatamente como era
+ encontrada no FreeBSD 3.X</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="nlist-failed">
+ <para>Qual a causa do erro <errorname>nlist
+ failed</errorname> quando eu executo, por exemplo, o
+ <command>top</command> ou o
+ <command>systat</command>?</para>
+ </question>
+
+ <answer>
+ <para>O problema &eacute; que o programa que voc&ecirc;
+ est&aacute; tentando executar tenta ler alguma
+ informa&ccedil;&atilde;o espec&iacute;fica do
+ <foreignphrase>kernel</foreignphrase>, baseando-se no
+ <foreignphrase>kernel</foreignphrase> symbol em
+ quest&atilde;o, mas por algum motivo, essa
+ informa&ccedil;&atilde;o n&atilde;o pode ser encontrada;
+ esse erro &eacute; causado por um dos seguintes
+ problemas:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>O <foreignphrase>kernel</foreignphrase> e o
+ userland do sistema n&atilde;o est&atilde;o em
+ sincronia (por exemplo, voc&ecirc; compilou um
+ <foreignphrase>kernel</foreignphrase> novo e o
+ instalou sem de dar um
+ <maketarget>installworld</maketarget>, ou vice-versa),
+ e por isso a tabela de informa&ccedil;&otilde;es dos
+ <foreignphrase>kernel</foreignphrase> symbols &eacute;
+ diferente do que o programa pensa que &eacute;. Se
+ esse for o caso basta completar os procedimentos de
+ atualiza&ccedil;&atilde;o do sistema (veja o arquivo
+ <filename>/usr/src/UPDATING</filename> para a correta
+ seq&uuml;&ecirc;ncia de a&ccedil;&otilde;es).</para>
+ </listitem>
+
+ <listitem>
+ <para>O <command>/boot/loader</command> n&atilde;o
+ est&aacute; sendo usado para carregar o
+ <foreignphrase>kernel</foreignphrase> dessa
+ esta&ccedil;&atilde;o, ao inv&eacute;s dele, o boot2
+ (veja &man.boot.8;) est&aacute; sendo usado
+ diretamente. Apesar de n&atilde;o ter problema algum
+ deixar de usar o <command>/boot/loader</command>, ele
+ costuma se comportar melhor na hora de tornar os
+ <foreignphrase>kernel</foreignphrase> symbols
+ dispon&iacute;veis para aplica&ccedil;&otilde;es em
+ n&iacute;vel de usu&aacute;rio.</para>
+ </listitem>
+ </itemizedlist>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="connection-delay">
+ <para>Porque demora tanto para a conex&atilde;o se
+ estabelecer via <command>ssh</command> ou
+ <command>telnet</command>?</para>
+ </question>
+
+ <answer>
+ <para>O sintoma: existe um atraso muito grande entre o
+ estabelecimento da conex&atilde;o TCP e o momento que o
+ programa cliente pede a senha (ou no caso do
+ &man.telnet.1;, quando a tela de login aparece).</para>
+
+ <para>O problema: o programa servidor dessa
+ transa&ccedil;&atilde;o leva muito tempo tentando resolver
+ o nome da esta&ccedil;&atilde;o cliente que est&aacute; se
+ conectando. A maioria dos servidores, incluindo os
+ servidores Telnet e SSH que vem junto com o FreeBSD tentam
+ resolver o n&uacute;mero IP do cliente no nome da
+ esta&ccedil;&atilde;o, para, entre outras coisas, gravar
+ essa informa&ccedil;&atilde;o em um arquivo de log para
+ refer&ecirc;ncias futuras por parte do
+ administrador.</para>
+
+ <para>A solu&ccedil;&atilde;o: Se o problema acontece apenas
+ quando voc&ecirc; (o cliente) tenta se conectar no
+ servidor, o problema &eacute; com o lado cliente da
+ transa&ccedil;&atilde;o; se o problema acontece com
+ qualquer esta&ccedil;&atilde;o que tente se conectar ao
+ computador (servidor) ent&atilde;o o problema &eacute; do
+ lado servidor.</para>
+
+ <para>Se o problema &eacute; com o cliente, a &uacute;nica
+ maneira de corrigir o problema &eacute; configurar
+ corretamente o servidor DNS que responde autoritativamente
+ pelo endere&ccedil;o da esta&ccedil;&atilde;o. Se for uma
+ rede local considere esse comportamento um problema do
+ servidor, e continue lendo; se a conex&atilde;o deve ser
+ estabelecida na rede global (internet) , ent&atilde;o
+ entre em contato com o seu Provedor de Servi&ccedil;os
+ Internet e solicite que eles corrijam o problema.</para>
+
+ <para>Se o problema &eacute; do lado servidor, e a rede em
+ quest&atilde;o, se trata de uma rede local, ser&aacute;
+ necess&aacute;rio configurar o servidor de forma que ele
+ consiga resolver os endere&ccedil;os dos clientes em
+ nomes. Veja as p&aacute;ginas de manual do &man.hosts.5;
+ e &man.named.8; para obter mais informa&ccedil;&otilde;es.
+ Se a conex&atilde;o &eacute; na Internet, provavelmente o
+ resolvedor (lado cliente do servi&ccedil;o de nomes) do
+ seu servidor n&atilde;o est&aacute; funcionando
+ corretamente. Pra fazer o teste, tente descobrir o
+ endere&ccedil;o IP do site <hostid>www.yahoo.com</hostid>
+ por exemplo. Se n&atilde;o funcionar, esta ai o
+ problema.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="stray-irq">
+ <para>O que a mensagem <errorname>stray IRQ</errorname> quer
+ dizer?</para>
+ </question>
+
+ <answer>
+ <para>Stray IRQs s&atilde;o sintomas de
+ <foreignphrase>hardware</foreignphrase> que interrompe o
+ pedido de interrup&ccedil;&atilde;o no meio de um ciclo de
+ autoriza&ccedil;&atilde;o de
+ interrup&ccedil;&atilde;o.</para>
+
+ <para>Existem tr&ecirc;s formas de tratar o problema:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Aprenda a conviver com as mensagens de
+ advert&ecirc;ncia. De qualquer forma, todas as
+ mensagens exceto as 5 primeiras para cada IRQ
+ s&atilde;o suprimidas pelo sistema mesmo.</para>
+ </listitem>
+
+ <listitem>
+ <para>Evite o inconveniente alterando de 5 para 0 na
+ fun&ccedil;&atilde;o
+ <function>isa_strayintr()</function> o n&uacute;mero
+ de mensagens antes de suprimir as
+ advert&ecirc;ncias.</para>
+ </listitem>
+
+ <listitem>
+ <para>Evite as advert&ecirc;ncias instalando algum
+ equipamento de porta paralela que use a IRQ 7 e o
+ driver PPP (&eacute; o usual, na maioria dos sistemas)
+ e instale algum driver IDE ou qualquer outro
+ dispositivo que use a IRQ 15 e seu respectivo
+ suporte.</para>
+ </listitem>
+ </itemizedlist>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="file-table-full">
+ <para>Por que a mensagem <errorname>file: table is
+ full</errorname> aparece repetidas vezes no
+ dmesg?</para>
+ </question>
+
+ <answer>
+ <para>
+ Esse erro indica que voc&ecirc; excedeu o n&uacute;mero
+ m&aacute;ximo de descrevedores (descriptors) de arquivos
+ no sistema. Leia a se&ccedil;&atilde;o <ulink
+ url="../handbook/configtuning-kernel-limits.html#KERN-MAXFILES">
+ kern.maxfiles </ulink>da<ulink
+ url="../handbook/configtuning-kernel-limits.html">
+ cap&iacute;tulo de Ajuste de Limites do
+ <foreignphrase>Kernel</foreignphrase></ulink> no
+ &a.ptbr.p.handbook; do FreeBSD para obter mais
+ informa&ccedil;&otilde;es sobre o problema.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="laptop-clock-skew">
+ <para>Por que o rel&oacute;gio do meu laptop mantem a hora
+ incorreta?</para>
+ </question>
+
+ <answer>
+ <para>Rode o comando &man.dmesg.8;, e procure algumas linhas
+ com a express&atilde;o <literal>Timecounter</literal>. A
+ &uacute;ltima linha encontrada ser&aacute; o
+ rel&oacute;gio que o FreeBSD escolheu, e com certeza ele
+ ser&aacute; <literal>TSC</literal>.</para>
+
+ <screen>&prompt.root; <userinput>dmesg | grep Timecounter</userinput>
+Timecounter "i8254" frequency 1193182 Hz
+Timecounter "TSC" frequency 595573479 Hz</screen>
+
+ <para>Essa informa&ccedil;&atilde;o pode ser confirmada ao
+ verificar a vari&aacute;vel
+ <varname>kern.timecounter.hardware</varname> do
+ &man.sysctl.3;.</para>
+
+ <screen>&prompt.root; <userinput>sysctl kern.timecounter.hardware</userinput>
+kern.timecounter.hardware: TSC</screen>
+
+ <para>A BIOS do laptop altera a frequ&ecirc;ncia do
+ rel&oacute;gio TSC de forma a modificar a velocidade do
+ processador quando o computador estiver sendo utilizado
+ com baterias, ou se o mesmo entrar em modo de economia de
+ energia. O FreeBSD n&atilde;o faz distin&ccedil;&atilde;o
+ entre frequ&ecirc;ncia do clock e modos especiais de
+ trabalho, e por isso pode atrasar ou adiantar a hora do
+ sistema.</para>
+
+ <para>Esse exemplo, o laptop em quest&atilde;o tem dois
+ rel&oacute;gios; portanto o <literal>i8254</literal> pode
+ ser definido como padr&atilde;o na vari&aacute;vel
+ <varname>kern.timecounter.hardware</varname> do
+ &man.sysctl.3;.</para>
+
+ <screen>&prompt.root; <userinput>sysctl -w kern.timecounter.hardware=i8254</userinput>
+kern.timecounter.hardware: TSC -&gt; i8254</screen>
+
+ <para>Agora o seu laptop deve conseguir manter a data e hora
+ de forma mais precisa.</para>
+
+ <para>Pra tornar essa altera&ccedil;&atilde;o
+ autom&aacute;tica, adicione a seguinte linha no arquivo
+ <filename>/etc/sysctl.conf</filename>.</para>
+
+ <programlisting>kern.timecounter.hardware=i8254</programlisting>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="null-null">
+ <para>Por que o meu laptop n&atilde;o funciona muito bem na
+ hora de identificar cart&otilde;es PCMCIA?</para>
+ </question>
+
+ <answer>
+ <para>Esse problema &eacute; comum em laptops que tem mais
+ de um sistema operacional instalado. Alguns sistemas
+ n&atilde;o-BSD fazem os cart&otilde;es PCMCIA ficarem em
+ um estado inconsistente, causando um reconhecimento
+ problem&aacute;tico dos dispositivos por parte do
+ <command>pccardd</command>, como por exemplo, detectando
+ os cart&otilde;es como
+ <errorname>"(null)""(null)"</errorname> ao inv&eacute;s da
+ sua marca e modelo verdadeiros.</para>
+
+ <para>&Eacute; necess&aacute;rio desligar completamente a
+ alimenta&ccedil;&atilde;o de energia do equipamento para
+ garantir que o mesmo seja completamente resetado.
+ Desligue completamente o laptop (n&atilde;o suspenda seu
+ funcionamento, n&atilde;o o deixe entrar em modo de
+ espera, conhecido como standby, a
+ alimenta&ccedil;&atilde;o deve ser completamente
+ interrompida), espere alguns - poucos - minutos e reinicie
+ o laptop. Tudo deve correr bem.</para>
+
+ <para>Alguns laptops s&atilde;o grandes mentirosos quando
+ afirmam estar desligados. Se o procedimento acima
+ n&atilde;o funcionar, tire a bateria do laptop, espere
+ alguns minutos e ligue o sistema novamente.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="boot-read-error">
+ <para>Por que o bootloader do FreeBSD mostra a mensagem
+ <errorname>Read error</errorname> e p&aacute;ra
+ completamente logo ap&oacute;s a tela da BIOS?</para>
+ </question>
+
+ <answer>
+ <para>O inicializador do FreeBSD reconheceu a geometria de
+ disco de forma incorreta e por isso esse valor deve ser
+ definido manualmente com o fdisk(8) ao criar ou modificar
+ uma parti&ccedil;&atilde;o FreeBSD.</para>
+
+ <para>A geometria correta do disco pode ser verificada na
+ BIOS do computador. Procure pelo n&uacute;mero de
+ cilindros, cabe&ccedil;as e de setores do disco em
+ quest&atilde;o.
+ </para>
+
+ <para>No fdisk do &man.sysinstall.8;, aperte a tecla
+ <keycap>G</keycap> para definir a geometria do disco
+ manualmente.
+ </para>
+
+ <para>Ir&aacute; aparecer uma janela de di&aacute;logo
+ perguntando o n&uacute;mero de cilindros, cabe&ccedil;as e
+ setores do disco. Defina esses valores, conforme anotados
+ da BIOS do sistema e separados por barras.</para>
+
+ <para>5000 cilindros, 250 cabe&ccedil;as e 60 setores, por
+ exemplo, seria definido como
+ <userinput>5000/250/60.</userinput>
+ </para>
+
+ <para>Aperte ENTER para confirmar os valores e depois aperte
+ a tecla <keycap>W</keycap> para escrever as novas
+ informa&ccedil;&otilde;es na tabela de
+ parti&ccedil;&otilde;es do disco.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="bootmanager-restore">
+ <para>Outro sistema operacional destruiu o meu gerenciador
+ de inicializa&ccedil;&atilde;o(Boot Manager). Como eu o
+ recupero?
+ </para>
+ </question>
+
+ <answer>
+ <para>Entre no &man.sysinstall.8; e escolha o menu
+ Configure, seguido do Fdisk. Escolha o disco onde o
+ gerenciador de boot costumava ficar e aperte a barra de
+ <keycap>espa&ccedil;os(space)</keycap>. Depois aperte a
+ tecla <keycap>W</keycap> para escrever as novas
+ informa&ccedil;&otilde;es no disco. Vai aparecer uma
+ tela, perguntando o que deve ser instalado na MBR do
+ disco. Escolha o Gerenciador de
+ inicializa&ccedil;&atilde;o(Boot Manager), e ele
+ ser&aacute; reinstalado.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="indefinite-wait-buffer">
+ <para>O que o erro <errorname>swap_pager: indefinite wait
+ buffer:</errorname> quer dizer?</para>
+ </question>
+
+ <answer>
+ <para>Quer dizer que existe um processo tentando paginar uma
+ &aacute;rea da mem&oacute;ria para o disco, e que esse
+ processo demorou mais de 20 segundos; portanto falhou.
+ &Eacute; prov&aacute;vel que a causa desse erro sejam
+ blocos defeituosos no disco, falha nos cabos, ou
+ at&eacute; mesmo algum outro erro de I/O relacionado ao
+ <foreignphrase>hardware</foreignphrase>. Se o disco
+ estiver danificado, ser&atilde;o apresentadas mensagens de
+ erro referentes ao mesmo em
+ <filename>/var/log/messages</filename> e tamb&eacute;m na
+ sa&iacute;da do <command>dmesg</command>. Do
+ contr&aacute;rio, verifique seus cabos e
+ conectores.</para>
+ </answer>
+ </qandaentry>
+ </qandaset>
+ </chapter>
+
+ <chapter id="commercial">
+ <title>Aplica&ccedil;&otilde;es Comerciais</title>
+
+ <note>
+ <para>Esta se&ccedil;&atilde;o se encontra ainda muito
+ escassa, embora esperamos, naturalmente, que as empresas
+ fa&ccedil;am adi&ccedil;&otilde;es a ela! :) Os
+ desenvolvedores do FreeBSD n&atilde;o tem interesses
+ financeiros em nenhuma das empresas listadas aqui, mas apenas
+ as listam como um servi&ccedil;o p&uacute;blico (e sente que o
+ interesse comercial no FreeBSD pode ter muitos efeitos
+ positivos na viabilidade do uso do sistema a longo prazo).
+ N&oacute;s encorajamos que os vendedores de softwares
+ comerciais mandem seus softwares para inclus&atilde;o.
+ Consulte <ulink URL="../../../../commercial/index.html"> a
+ p&aacute;gina de Fabricantes</ulink> para obter uma lista
+ maior.</para>
+ </note>
+
+ <qandaset>
+ <qandaentry>
+ <question id="officesuite">
+ <para>Onde eu posso conseguir <foreignphrase>Office
+ Suite</foreignphrase>) para o FreeBSD?</para>
+ </question>
+ <answer>
+ <itemizedlist>
+ <listitem>
+ <para><ulink url="http://www.freebsdmall.com/">A FreeBSD
+ Mall</ulink> oferece uma vers&atilde;o nativa do
+ <ulink
+ url="http://www.vistasource.com/">VistaSource</ulink>
+ ApplixWare 5 para o FreeBSD.</para>
+
+ <para>O ApplixWare &eacute; uma poderosa su&iacute;te
+ comercial de aplica&ccedil;&otilde;es para
+ escrit&oacute;rio no FreeBSD. Ela cont&eacute;m um
+ processador de texto, planilha de c&aacute;lculos, um
+ programa de apresenta&ccedil;&atilde;o e um pacote
+ para desenho vetorial e outros aplicativos.</para>
+
+ <para>O ApplixWare &eacute; vendido com parte integrante
+ da edi&ccedil;&atilde;o de Desktops BSD da FreeBSD
+ Mall.</para>
+ </listitem>
+
+ <listitem>
+ <para>A vers&atilde;o para Linux do <ulink
+ url="http://www.sun.com/staroffice/">StarOffice</ulink>
+ funciona sem problemas no FreeBSD. A maneira mais
+ f&aacute;cil de instalar a vers&atilde;o para Linux do
+ StarOffice &eacute; pela <ulink
+ url="../handbook/ports.html">Cole&ccedil;&atilde;o
+ de <literal>Ports</literal> do FreeBSD</ulink>.
+ Vers&otilde;es futuras da su&iacute;te Open-Source de
+ escrit&oacute;rio,<ulink
+ url="http://www.openoffice.org/">OpenOffice</ulink>
+ dever&atilde;o funcionar tamb&eacute;m.</para>
+ </listitem>
+ </itemizedlist>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="motif">
+ <para>Onde posso conseguir o Motif para o FreeBSD?</para>
+ </question>
+
+ <answer>
+ <para>O Open Group lan&ccedil;ou o c&oacute;digo fonte do
+ Motif 2.1.30, que pode ser instalado como o pacote
+ <literal>open-motif</literal>, ou ent&atilde;o ser
+ compilado pelo <literal>Ports</literal>. Consulte a
+ <ulink url="../handbook/ports.html"> se&ccedil;&atilde;o
+ sobre o <literal>Ports</literal> no
+ &a.ptbr.p.handbook;</ulink> para obter mais
+ informa&ccedil;&otilde;es sobre o assunto.
+
+ <note>
+ <para>O Open Motif pode ser redistribu&iacute;do apenas
+ se sua distribui&ccedil;&atilde;o estiver sendo usada
+ em sistemas operacionais <ulink
+ url="http://www.opensource.org/">open
+ source</ulink>.</para>
+ </note>
+ </para>
+
+ <para>Em contrapartida, existem distribui&ccedil;&otilde;es
+ comerciais do Motif dispon&iacute;veis. Tais
+ distribui&ccedil;&otilde;es contudo n&atilde;o s&atilde;o
+ gratuitas, mas suas licen&ccedil;as permitem que ele seja
+ utilizando em softwares de c&oacute;digo fechado. Contate
+ a <link linkend="apps2go">Apps2go</link> para obter
+ informa&ccedil;&otilde;es quanto a vers&atilde;o mais
+ barata do ELF Motif 2.1.20 para FreeBSD (tanto para i386
+ quanto para Alpha).<anchor id="apps2go"></para>
+
+ <para>Existem duas distribui&ccedil;&otilde;es, a
+ <quote>development edition</quote> e a <quote>runtime
+ edition</quote> (bem mais barata). Tais
+ distribui&ccedil;&otilde;es incluem:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>OSF/Motif manager, xmbind, panner, wsm.</para>
+ </listitem>
+
+ <listitem>
+ <para>Kit de Desenvolvimento com uil, mrm, xm, xmcxx,
+ arquivos include e arquivos.</para>
+ </listitem>
+
+ <listitem>
+ <para>Bibliotecas ELF est&aacute;ticas e din&acirc;micas
+ (para serem usadas com FreeBSD 3.0 e
+ superiores).</para>
+ </listitem>
+
+ <listitem>
+ <para>Applets de demonstra&ccedil;&atilde;o.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Lembre-se de especificar que voc&ecirc; quer a
+ vers&atilde;o para FreeBSD do Motif quando encomendado
+ (n&atilde;o esque&ccedil;a de mencionar a arquitetura que
+ voc&ecirc; quer tamb&eacute;m)! Vers&otilde;es para
+ NetBSD e OpenBSD tamb&eacute;m s&atilde;o vendidas pela
+ <emphasis>Apps2go</emphasis>. Atualmente o produto
+ &eacute; apenas dispon&iacute;vel para download via
+ FTP.</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>Mais informa&ccedil;&otilde;es:</term>
+ <listitem>
+ <para><ulink URL="http://www.apps2go.com/">
+ P&aacute;gina WWW da Apps2go</ulink></para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>ou</term>
+ <listitem>
+ <para>
+ <email>sales@apps2go.com</email> ou
+ <email>support@apps2go.com</email>
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>ou</term>
+ <listitem>
+ <para>fone [EUA] (817) 431 8775 ou +1 817
+ 431-8775</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>Contate <link linkend="metrox">Metro Link</link> para
+ obter informa&ccedil;&otilde;es quanto a vers&atilde;o ELF
+ ou a vers&atilde;o a.out do Motif 2.1 para o
+ FreeBSD.</para>
+
+ <para>Tal distribui&ccedil;&atilde;o inclui:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Gerenciador OSF/Motif, xmbind, panner, wsm.</para>
+ </listitem>
+
+ <listitem>
+ <para>Kit de desenvolvimento com uil, mrm, xm, xmcxx,
+ arquivos include e arquivos Imake.</para>
+ </listitem>
+
+ <listitem>
+ <para>Bibliotecas est&aacute;ticas e din&acirc;micas
+ (n&atilde;o se esque&ccedil;a de especificar que
+ voc&ecirc; quer o formato ELF, caso queira usar com o
+ FreeBSD 3.0 e posteriores; ou o formato a.out para
+ usar com FreeBSD 2.2.8 e anteriores).</para>
+ </listitem>
+
+ <listitem>
+ <para>Applets de Demonstra&ccedil;&atilde;o.</para>
+ </listitem>
+
+ <listitem>
+ <para>P&aacute;ginas de manual previamente
+ formatadas.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Certifique-se de especificar que voc&ecirc; quer a
+ vers&atilde;o para FreeBSD do Motif quando
+ encomend&aacute;-lo! Vers&otilde;es para Linux
+ tamb&eacute;m s&atilde;o vendidas pela <emphasis>Metro
+ Link</emphasis>. O produto est&aacute;
+ dispon&iacute;vel em CDROM ou download via FTP.</para>
+
+ <para>Contate a <link linkend="xig">Xi Graphics</link> para
+ obter informa&ccedil;&otilde;es quanto a vers&atilde;o
+ a.out do Motif 2.0 para o FreeBSD.</para>
+
+ <para>A distribui&ccedil;&atilde;o inclui:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Gerenciador OSF/Motif, xmbind, panner, wsm.</para>
+ </listitem>
+
+ <listitem>
+ <para>Kit de desenvolvimento com uil, mrm, xm, xmcxx,
+ arquivos include e arquivos Imake.</para>
+ </listitem>
+
+ <listitem>
+ <para>Bibliotecas est&aacute;ticas e din&acirc;micas
+ (para o FreeBSD 2.2.8 e anteriores).</para>
+ </listitem>
+
+ <listitem>
+ <para>Applets de Demonstra&ccedil;&atilde;o.</para>
+ </listitem>
+
+ <listitem>
+ <para>P&aacute;ginas de manual previamente
+ formatadas.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>certifique-se de especificar que voc&ecirc; quer a
+ vers&atilde;o para FreeBSD do Motif quando
+ encomend&aacute;-lo! Vers&otilde;es para BSDI e para
+ Linux tamb&eacute;m s&atilde;o vendidas pela <emphasis>Xi
+ Graphics</emphasis>. Atualmente o produto se trata de
+ um conjunto de 4 disquetes... futuramente se
+ tornar&aacute; uma distribui&ccedil;&atilde;o &uacute;nica
+ em CD, como o CDE da mesma empresa.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="cde">
+ <para>Onde posso adquirir o CDE para o FreeBSD?</para>
+ </question>
+
+ <answer>
+ <para><link linkend="xig">A Xi Graphics</link> costumava
+ vender o CDE para o FreeBSD, mas n&atilde;o o faz
+ mais.</para>
+
+ <para><ulink URL="http://www.kde.org/">O KDE</ulink>
+ &eacute; um Desktop de c&oacute;digo fonte aberto para X11
+ similar ao CDE em muitos aspectos. Talvez voc&ecirc;
+ tamb&eacute;m aprecie o visual e as caracter&iacute;sticas
+ do <ulink URL="http://www.xfce.org/">xfce</ulink>. KDE e
+ xfce est&atilde;o ambos dispon&iacute;veis no <ulink
+ URL="../../../../ports/index.html">sistema de
+ <literal>ports</literal> do FreeBSD</ulink>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="commercial-xserver">
+ <para>Existe algum servidor X comercial de
+ alta-performance?</para>
+ </question>
+
+ <answer>
+ <para>Sim, a <ulink URL="http://www.xig.com/">Xi
+ Graphics</ulink> e a <ulink
+ URL="http://www.metrolink.com/">Metro Link</ulink>
+ vendem produtos da Accelerated-X para o FreeBSD e para
+ outros sistemas baseados em Intel.</para>
+
+ <para>O que a Metro Link oferece &eacute; um servidor X de
+ alta-performance que possui um esquema de
+ configura&ccedil;&atilde;o extremamente f&aacute;cil,
+ fazendo uso da su&iacute;te de ferramentas de
+ gerenciamento de pacotes do FreeBSD, com suporte a
+ m&uacute;ltiplas placas de v&iacute;deo simult&acirc;neas
+ e &eacute; distribu&iacute;do apenas em forma
+ bin&aacute;ria, por meio conveniente de um download via
+ FTP. Sem esquecer que, o produto oferecido pela Metro
+ Link est&aacute; dispon&iacute;vel a um pre&ccedil;o muito
+ razo&aacute;vel, $39 d&oacute;lares.<anchor
+ id="metrox"></para>
+
+ <para>A Metro Link vende tamb&eacute;m o Motif e formato ELF
+ e a.out para o FreeBSD (veja pergunta anterior).</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>informa&ccedil;&otilde;es:</term>
+ <listitem>
+ <para><ulink URL="http://www.metrolink.com/">
+ P&aacute;gina WWW da Metro Link</ulink></para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>ou</term>
+ <listitem>
+ <para><email>sales@metrolink.com</email> ou
+ <email>tech@metrolink.com</email>
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>ou</term>
+ <listitem>
+ <para>fone [EUA] (954) 938-0283 ou +1 954
+ 938-0283</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>O produto oferecido pela Xi Graphics &eacute; um
+ servidor X de alta performance, que oferece uma interface
+ f&aacute;cil de configura&ccedil;&atilde;o e com suporte a
+ m&uacute;ltiplas placas de v&iacute;deo simult&acirc;neas,
+ e &eacute; distribu&iacute;do apenas de forma
+ bin&aacute;ria em uma distribui&ccedil;&atilde;o
+ &uacute;nica para FreeBSD e Linux. A Xi Graphics oferece
+ ainda um servidor X de alta performance com suporte
+ desenvolvido especificamente para laptops.<anchor
+ id="xig"></para>
+
+ <para>Existe uma vers&atilde;o
+ de<quote>demonstra&ccedil;&atilde;o de
+ compatibilidade</quote> dispon&iacute;vel na
+ vers&atilde;o 5.0 do servidor gr&aacute;fico.</para>
+
+ <para>A Xi Graphics vende ainda o Motif e o CDE para o
+ FreeBSD (veja acima).</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>Mais informa&ccedil;&otilde;es:</term>
+ <listitem>
+ <para><ulink URL="http://www.xig.com/"> P&aacute;gina
+ WWW da Xi Graphics</ulink></para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>ou</term>
+ <listitem>
+ <para><email>sales@xig.com</email> ou
+ <email>support@xig.com</email>
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>ou</term>
+ <listitem>
+ <para>fone [EUA] (800) 946 7433 ou +1 303
+ 298-7478.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="database-systems">
+ <para>Existe algum sistema de Banco de Dados para o
+ FreeBSD?</para>
+ </question>
+
+ <answer>
+ <para>Sim! Veja a se&ccedil;&atilde;o de <ulink
+ URL="../../../../commercial/software_bycat.html#CATEGORY_DATABASE">
+ Fabricantes Comerciais</ulink> do Web site do
+ FreeBSD.</para>
+
+ <para>D&ecirc; uma olhada tamb&eacute;m na
+ se&ccedil;&atilde;o de <ulink
+ URL="../../../../ports/databases.html">
+ Databases</ulink> da Cole&ccedil;&atilde;o de
+ <literal>Ports</literal> do FreeBSD.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="oracle-support">
+ <para>Posso rodar o Oracle no FreeBSD?</para>
+ </question>
+
+ <answer>
+ <para>Pode. As p&aacute;ginas a seguir descrevem exatamente
+ como configurar o Oracle para Linux no FreeBSD:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><ulink
+ URL="http://www.scc.nl/~marcel/howto-oracle.html">
+ http://www.scc.nl/~marcel/howto-oracle.html</ulink></para>
+ </listitem>
+
+ <listitem>
+ <para><ulink
+ URL="http://www.lf.net/lf/pi/oracle/install-linux-oracle-on-freebsd">
+ http://www.lf.net/lf/pi/oracle/install-linux-oracle-on-freebsd</ulink></para>
+ </listitem>
+ </itemizedlist>
+ </answer>
+ </qandaentry>
+ </qandaset>
+ </chapter>
+
+ <chapter id="applications">
+ <title>Aplica&ccedil;&otilde;es de Usu&aacute;rio</title>
+
+ <qandaset>
+ <qandaentry>
+ <question id="user-apps">
+ <para>Ent&atilde;o, onde est&atilde;o todas as
+ aplica&ccedil;&otilde;es de usu&aacute;rios?</para>
+ </question>
+
+ <answer>
+ <para>Por gentileza, d&ecirc; uma olhada <ulink
+ URL="../../../../ports/index.html">na p&aacute;gina do
+ <literal>Ports</literal></ulink> para
+ informa&ccedil;&otilde;es sobre pacotes de programas
+ dispon&iacute;veis na Cole&ccedil;&atilde;o de
+ <literal>Ports</literal> do FreeBSD. A lista atualmente
+ ultrapassa &os.numports; aplica&ccedil;&otilde;es e
+ est&aacute; crescendo diariamente, ent&atilde;o retorne
+ &agrave; p&aacute;gina e verifique freq&uuml;entemente as
+ aplica&ccedil;&otilde;es, ou ent&atilde; inscreva-se na
+ lista de discuss&atilde;o
+ <literal>freebsd-announce</literal> <link
+ linkend="mailing">mailing list</link> para
+ atualiza&ccedil;&otilde;es peri&oacute;dicas ou novas
+ adi&ccedil;&otilde;es.</para>
+
+ <para>A maioria dos <literal>ports</literal> devem estar
+ dispon&iacute;veis para as vers&otilde;es 2.2, 3.x e 4.x,
+ e muitos deles devem funcionar tamb&eacute;m em sistemas
+ 2.1.x. Cada vez que um lan&ccedil;amento do FreeBSD
+ &eacute; produzido, um
+ <foreignphrase>snapshot</foreignphrase> da &aacute;rvore
+ do <literal>ports</literal> do momento da
+ lan&ccedil;amento tamb&eacute;m &eacute; inclu&iacute;da
+ no diret&oacute;rio <filename>ports/</filename>.</para>
+
+ <para>O FreeBSD tamb&eacute;m suporta o conceito de
+ <quote>pacote</quote>, que essencialmente nada mais
+ &eacute; do que uma distribui&ccedil;&atilde;o
+ bin&aacute;ria compactada com o gzip e com um pouco de
+ intelig&ecirc;ncia extra embutido nesse pacote, para fazer
+ o trabalho que &eacute; requerido para uma
+ instala&ccedil;&atilde;o customizada. Um pacote pode ser
+ instalado e desinstalado repetidas vezes de forma
+ f&aacute;cil, sem ter que se conhecer os detalhes
+ horrendos dos arquivos que ele inclui.</para>
+
+ <para>Use o menu de instala&ccedil;&atilde;o de pacotes em
+ <filename>/stand/sysinstall</filename> (sobre a
+ op&ccedil;&atilde;o do pos-configuration menu) ou invoque
+ o comando &man.pkg.add.1; nos arquivos de pacotes
+ espec&iacute;ficos que voc;&ecirc; quer instalar. Os
+ pacotes podem ser identificados normalmente pelo sufixo
+ <filename>.tgz</filename> e o pessoal da
+ distribui&ccedil;&atilde;o em CDROM tem um
+ diret&oacute;rio <filename>/packages/All </filename> no cd
+ que cont&eacute; esses arquivos. Eles podem tamb&eacute;m
+ ser baixados pela rede para v&aacute;rias vers&otilde;es
+ do FreeBSD nos seguintes endere&ccedil;os: do (sobre a
+ op&ccedil;&atilde;o PostConfiguration do menu) ou invoque
+ o comando &man.pkg.add.1;</para>
+
+ <variablelist>
+ <varlistentry>
+ <term>para o 2.2.8-RELEASE/2.2.8-STABLE </term>
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-2.2.8/">
+ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-2.2.8/</ulink></para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>para o 3.X-RELEASE/3.X-STABLE</term>
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-3-stable/">
+ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-3-stable/</ulink></para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>para o 4.X-RELEASE/4-STABLE</term>
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-4-stable/">
+ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-4-stable/</ulink></para>
+
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>para o 5.X-CURRENT</term>
+ <listitem>
+ <para><ulink
+ URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-5-current/">
+ ftp://ftp.FreeBSD.org/pub/FreeBSD/ports/i386/packages-5-current</ulink></para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>ou em um s&iacute;tio espelho mais perto de
+ voc&ecirc;.</para>
+
+ <para>Note que nem todos os <literal>Ports</literal> podem
+ estar dispon&iacute;veis em formato de pacotes, visto que
+ a atualiza&ccedil;&atilde;o da Cole&ccedil;&atilde;o de
+ <literal>Ports</literal> do FreeBSD &eacute; muito
+ freq&uuml;ente, e novos programas s&atilde;o
+ constantemente adicionados, e outros s&atilde;o
+ atualizados. &Eacute; sempre bom verificar periodicamente
+ quais pacotes est&atilde;o dispon&iacute;veis no servidor
+ FTP mestre do projeto FreeBSD, o <ulink
+ URL="ftp://ftp.FreeBSD.org/pub/FreeBSD/">ftp.FreeBSD.org.</ulink>
+ </para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="missing-libcso30">
+ <para>Onde eu encontro a libc.so.3.0?</para>
+ </question>
+
+ <answer>
+ <para>Voc&ecirc; est&aacute; tentando usar um pacote
+ constru&iacute;do para o FreeBSD 2.2 ou para
+ vers&otilde;es posteriores, em um sistema 2.1.X. Por
+ gentileza, d&ecirc; uma olhada na se&ccedil;&atilde;o
+ anterior e pegue o <literal>port</literal>/pacote correto
+ para o seu sistema.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="missing-libcso40">
+ <para> Por que eu estou tendo problemas cuja mensagem de
+ erro mostra <quote>Error: can't find
+ libc.so.4.0</quote>?.</para>
+ </question>
+
+ <answer>
+ <para>Acidentalmente voc&ecirc; pegou um pacote
+ constru&iacute;do para FreeBSD 4.X ou para o 5.X e
+ est&aacute; tentando instala-lo no seu FreeBSD 2.X ou 3.X.
+ Por favor, pegue a vers&atilde;o correta dos
+ pacotes.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="emul">
+ <para> Por que o ghostscript gera um monte de erros no meu
+ 386/486SX?</para>
+ </question>
+
+ <answer>
+ <para>Deixe-me adivinhar. Voc&ecirc; n&atilde;o tem um
+ co-processador matem&aacute;tico, certo? Ser&aacute;
+ necess&aacute;rio adicionar um co-processador
+ matem&aacute;tico alternativo ao seu
+ <foreignphrase>kernel</foreignphrase>; voc&ecirc; pode
+ fazer isso adicionando a seguinte linha no arquivo de
+ configura&ccedil;&atilde;o do seu
+ <foreignphrase>kernel</foreignphrase>, e depois
+ recompil&aacute;-lo:</para>
+
+ <programlisting>options GPL_MATH_EMULATE</programlisting>
+
+ <note>
+ <para>Quando voc&ecirc fizer isto, ser&aacute;
+ necess&aacute;rio remover a op&ccedil;&atilde;o
+ <literal>MATH_EMULATE</literal></para>
+ </note>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="sco-socksys">
+ <para>Por que aplica&ccedil;&otilde;es do SCO/iBCS2
+ bombardeiam o ``socksys''? (FreeBSD 3.0 e anteriores,
+ apenas).</para>
+ </question>
+
+ <answer>
+ <para>Primeiro, &eacute; necess&aacute;rio editar o arquivo
+ <filename>/etc/sysconfig</filename> (ou
+ <filename>/etc/rc.conf</filename>, veja o &man.rc.conf.5;)
+ e modificar a &uacute;ltima se&ccedil;&atilde;o, alterando
+ para <literal>YES</literal> a seguinte
+ vari&aacute;vel:</para>
+
+ <programlisting># Set to YES if you want ibcs2 (SCO) emulation loaded at startup
+ibcs2=NO</programlisting>
+
+ <para>Essa altera&ccedil;&atilde;o far&aacute; o sistema
+ carregar os m&oacute;dulos de
+ <foreignphrase>kernel</foreignphrase> do ibcs2 na
+ inicializa&ccedil;&atilde;o.</para>
+
+ <para>Depois, ser&aacute; necess&aacute;rio alterar o
+ /compat/ibcs2/dev para parecer com:</para>
+
+ <screen>lrwxr-xr-x 1 root wheel 9 Oct 15 22:20 X0R@ -&gt; /dev/null
+lrwxr-xr-x 1 root wheel 7 Oct 15 22:20 nfsd@ -&gt; socksys
+-rw-rw-r-- 1 root wheel 0 Oct 28 12:02 null
+lrwxr-xr-x 1 root wheel 9 Oct 15 22:20 socksys@ -&gt; /dev/null
+crw-rw-rw- 1 root wheel 41, 1 Oct 15 22:14 spx</screen>
+
+ <para>&Eacute; necess&aacute;rio que o socksys aponte para
+ <devicename>/dev/null</devicename> (veja &man.null.4;) para
+ fingir o processo de abertura e fechamento do device. O
+ c&oacute;digo mais recente (<literal>-CURRENT</literal>)
+ se encarregar&aacute; dos outros detalhes. Essa maneira
+ de trabalhar o socksys &eacute; bem mais limpa do que a
+ forma que era usada anteriormente. Se voc&ecirc; quer que
+ o driver <devicename>spx</devicename> fique
+ dispon&iacute;vel para um socket X local, defina a
+ op&ccedil;&atilde;o <literal>SPX_HACK</literal> no
+ <foreignphrase>kernel</foreignphrase> do FreeBSD quando
+ voc&ecirc; o recompilar.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="configure-inn">
+ <para> Como eu configuro um sistema de INN (Internet News)
+ na minha esta&ccedil;&atilde;o?
+ </para>
+ </question>
+
+ <answer>
+ <para>Depois de instalar o pacote <filename
+ role="package">news/inn</filename> ou o
+ <literal>port</literal>, um excelente lugar para iniciar
+ &eacute; <ulink
+ URL="http://www.cis.ohio-state.edu/~barr/INN.html">Dave
+ Barr's INN Page</ulink> onde vo&ccedil;e
+ encontrar&aacute o <literal>FAQ</literal> do INN.
+ </para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="ms-frontpage">
+ <para>Qual vers&atilde;o do Microsoft FrontPage eu devo
+ usar?</para>
+ </question>
+
+ <answer>
+ <para>Use os <literal>Ports</literal>, Luke! Uma
+ vers&atilde;o previamente corrigida do Apache,<filename
+ role="package">apache13-fp</filename>, est&aacute;
+ dispon&iacute;vel na &aacute;rvore do
+ <literal>Ports</literal>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="java">
+ <para>O FreeBSD suporta Java?</para>
+ </question>
+
+ <answer>
+ <para>Veja a p&aacute;gina <ulink
+ URL="../../../../java/index.html">
+ http://www.FreeBSD.org/java/</ulink>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="ports-3x">
+ <para>Por que eu n&atilde;o consigo compilar determinado
+ <literal>port</literal> na minha esta&ccedil;&atilde;o
+ 3.X-STABLE?</para>
+ </question>
+
+ <answer>
+ <para>Caso esteja usando uma vers&atilde;o do FreeBSD
+ significativamente mais velha do que o -CURRENT ou o
+ -STABLE, ser&aacute; necess&aacute;rio usar o kit de
+ atualiza&ccedil;&atilde;o dos <literal>Ports</literal>,
+ dispon&iacute;vel em <ulink
+ URL="../../../../ports/index.html">http://www.FreeBSD.org/ports/</ulink>.
+ Caso esteja atualizado mas ainda assim voc&ecirc; tem
+ dificuldades, &eacute; prov&aacute;vel que algu&eacute;m
+ disponibilizou uma vers&atilde;o do programa que funciona
+ perfeitamente no -CURRENT mas que n&atilde;o compila
+ corretamente no -STABLE. Por gentileza, envie um
+ Relat&oacute;rio de Problemas com o comando &man.send-pr.1;
+ porque a cole&ccedil;&atilde;o de <literal>Ports</literal>
+ deve funcionar tanto no -STABLE quanto no -CURRENT.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="find-ldso">
+ <para>Onde posso encontrar o arquivo ld.so?</para>
+ </question>
+
+ <answer>
+ <para>Algumas aplica&ccedil;&otilde;es cujo formato
+ bin&aacute;rio &eacute; o a.out, como o Netscape
+ Navigator, necessitam das bibliotecas a.out. Uma
+ vers&atilde;o do FreeBSD nativamente constru&iacute;do com
+ bibliotecas ELF n&atilde;o instala as bibliotecas a.out
+ por padr&atilde;o. Voc&ecirc; ter&aacute; problemas por
+ n&atilde;o ter o <filename>/usr/libexec/ld.so</filename>,
+ se esse for o caso do seu sistema. Estas bibliotecas
+ est&atilde;o dispon&iacute;veis embutidas na
+ distribui&ccedil;&atilde;o compat22. Utilize o
+ &man.sysinstall.8; para instal&aacute;-los. Pode-se
+ instal&aacute;-lo apartir do c&oacute;digo fonte do
+ FreeBSD:</para>
+
+ <screen>&prompt.root; <userinput>cd /usr/src/lib/compat/compat22</userinput>
+&prompt.root; <userinput>make install clean</userinput></screen>
+
+ <para>Se quiser instalar as bibliotecas mais recentes do
+ compat22 sempre que executar o <command>make
+ world</command>, edite
+ <filename>/etc/make.conf</filename> para incluir
+ <varname>COMPAT22=YES</varname>. Bibliotecas de
+ compatibilidade antigas raramente sofrem mudan&ccedil;as ,
+ as vezes nunca, ent&atilde;o geralmente n&atilde;o
+ &eacute; necess&aacute;rio.</para>
+ <para> Tamb&eacute;m veja as p&aacute;ginas de ERRATAS para
+ o 3.1-RELEASE e 3.2-RELEASE.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="ports-update">
+ <para>Eu atualizei meus fontes. E agora, como eu atualizo
+ meus <literal>Ports</literal> instalados?</para>
+ </question>
+
+ <answer>
+ <para>FreeBSD n&atilde;o inclui uma ferramenta de
+ atualiza&ccedil;&atilde;o do <literal>ports</literal>, mas
+ existem algumas ferramentas que tornam o processo de
+ atualiza&ccedil;&atilde;o dos <literal>Ports</literal> uma
+ tarefa, digamos, f&aacute;cil. &Eacute; poss&iacute;vel
+ ainda instalar algumas ferramentas adicionais que
+ facilitam o gerenciamento dos <literal>Ports</literal>
+ instalados</para>
+
+ <para>O comando &man.pkg.version.1; pode gerar um script que
+ atualizar&aacute; os <literal>ports</literal> instalados
+ para as &uacute;ltimas vers&otilde;es da &aacute;rvore de
+ <literal>Ports</literal>.</para>
+
+ <screen>&prompt.root; <userinput>pkg_version <option>-c</option> > <replaceable>/tmp/myscript</replaceable></userinput></screen>
+
+ <para>O script de sa&iacute;da <emphasis>deve</emphasis> ser
+ editado manualmente antes de ser usado. As vers&otilde;es
+ mais recentes do &man.pkg.version.1; for&ccedil;am a
+ edi&ccedil;&atilde;o do arquivo, colocando um &man.exit.1;
+ no come&ccedil;o do script.</para>
+
+ <para>A sa&iacute;da do script deve ser salva pois ela gera
+ informa&ccedil;&otilde;es sobre os pacotes que s&atilde;o
+ depend&ecirc;ncias dos que est&atilde;o sendo atualizados.
+ Tais depend&ecirc;ncias podem precisar ser atualizadas ou
+ n&atilde;o, dependendo de cada uma delas. Os casos comuns
+ onde as depend&ecirc;ncias precisam ser atualizadas
+ &eacute; quando a vers&atilde;o das bibliotecas
+ compartilhadas foram alteradas, portanto o
+ <literal>port</literal> que usava aquela biblioteca
+ precisa ser atualizado para que a nova vers&atilde;o seja
+ usada.</para>
+
+ <para>Caso tenha espa&ccedil;o o bastante em disco , pode
+ ser interessante usar a ferramenta
+ <command>portupgrade</command> para automatizar o processo
+ de atualiza&ccedil;&atilde;o das aplica&ccedil;&otilde;es
+ instalados por meio de <literal>ports</literal> ou
+ pacotes. Posto que ele foi programado em Ruby, o
+ <command>portupgrade</command> &eacute; um candidato
+ improv&aacute;vel &agrave; se tornar parte da
+ &aacute;rvore principal do FreeBSD. Mas isso n&atilde;o
+ evita que qualquer pessoa use o programa. Alias, ele
+ &eacute; uma &oacute;tima ferramenta. Ele est&aacute;
+ dispon&iacute;vel em <filename
+ role="package">sysutils/portupgrade</filename>.</para>
+
+ <para>Se a esta&ccedil;&atilde;o fica constantemente
+ conectada, &eacute; interessante usar o sistema
+ &man.periodic.8; para gerar um relat&oacute;rio semanal
+ sobre as vers&otilde;es do <literal>Ports</literal> que
+ podem ser atualizadas. Pra configurar o sistema para
+ isso, insira a linha
+ <literal>weekly_status_pkg_enable="YES"</literal> no
+ <filename>/etc/periodic.conf</filename>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="minimal-sh">
+ <para>Por que o <command>/bin/sh</command> &eacute;
+ t&atilde;o pequeno? Por que o FreeBSD n&atilde;o usa o
+ <command>bash</command> ou outro interpretador de comandos
+ (<foreignphrase>shell</foreignphrase>)?</para>
+ </question>
+
+ <answer>
+ <para>Porque o POSIX diz que &eacute; assim que deve ser um
+ interpretador de comandos
+ (<foreignphrase>shell</foreignphrase>)?</para>
+
+ <para>A reposta mais complicada: muitas pessoas precisam
+ escrever scripts <foreignphrase>shell</foreignphrase> que
+ sejam port&aacute;veis atrav&eacute;s de muitos sistemas.
+ &Eacute; por isso que o POSIX especifica o interpretador
+ de comandos (<foreignphrase>shell</foreignphrase>) e
+ comandos utilit&aacute;rios com tanto detalhe. A maioria
+ dos scripts s&atilde;o escritos para o interpretador de
+ comandos Bourne (Bourne
+ <foreignphrase>shell</foreignphrase>), e v&aacute;rias
+ interfaces importantes de programa&ccedil;&atilde;o
+ (&man.make.1;, &man.system.3;, &man.popen.3; e
+ an&aacute;logos em linguagens de alto-n&iacute;vel como
+ Perl e Tcl) o usam como interpretador de comandos
+ (<foreignphrase>shell</foreignphrase>) padr&atilde;o. Por
+ ser t&atilde;o amplamente utilizado &eacute; importante
+ que o interpretador de comandos
+ (<foreignphrase>shell</foreignphrase>) Bourne seja
+ r&aacute;pido para carregar, seja determin&iacute;stico em
+ seu comportamento, e que tenha uma pequena
+ aloca&ccedil;&atilde;o de mem&oacute;ria.
+ </para>
+
+ <para>A implementa&ccedil;&atilde;o atual &eacute; o nosso
+ melhor esfor&ccedil;o para encontrar a maior parte destes
+ requerimentos simultaneamente. Como forma de manter o
+ <command>/bin/sh</command> do menor tamanho
+ poss&iacute;vel, n&atilde;o inclu&iacute;mos muitas das
+ caracter&iacute;sticas convenientes que outros
+ interpretadores de comando
+ (<foreignphrase>shell</foreignphrase>) possuem. &Eacute;
+ por isso que a Cole&ccedil;&atilde;o de
+ <literal>Ports</literal> disponibiliza outros
+ interpretadores de comandos
+ (<foreignphrase>shell</foreignphrase>) com
+ caracter&iacute;sticas mais abrangentes, como o bash, o
+ csh, o tcsh, e o zsh. (Voc&ecirc; pode comparar a
+ utiliza&ccedil;&atilde;o de mem&oacute;ria entre todos
+ esses interpretadores de comandos
+ (<foreignphrase>shell</foreignphrase>), analisando as
+ colunas <quote>VSZ</quote> e <quote>RSS</quote> na
+ sa&iacute;da do comando <command>ps -u</command>.)</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="netscape-slow-startup">
+ <para>Por que o Netscape e o Opera demoram tanto para
+ iniciar?</para>
+ </question>
+
+ <answer>
+ <para>A resposta tradicional &eacute; que o DNS no seu
+ computador est&aacute; mal configurado. O Netscape e o
+ Opera fazem verifica&ccedil;&atilde;o de DNS ao iniciar, e
+ por isso n&atilde;o se tornar&atilde;o dispon&iacute;veis
+ at&eacute; que obtenham uma resposta do servidor DNS ou
+ at&eacute; que eles determinem que a esta&ccedil;&atilde;o
+ n&atilde;o est&aacute; conectada na rede.</para>
+ </answer>
+ </qandaentry>
+ </qandaset>
+ </chapter>
+
+ <chapter id="kernelconfig">
+ <title>Configura&ccedil;&atilde;ao do
+ <foreignphrase>Kernel</foreignphrase></title>
+
+ <qandaset>
+ <qandaentry>
+ <question id="make-kernel">
+ <para>Eu gostaria de configurar meu
+ <foreignphrase>kernel</foreignphrase>. &Eacute;
+ dif&iacute;cil?</para>
+ </question>
+
+ <answer>
+ <para>De modo algum! Veja a <ulink
+ URL="../handbook/kernelconfig.html">se&ccedil;&atilde;o
+ "kernel config" do &a.ptbr.p.handbook;</ulink>.</para>
+
+ <note>
+ <para>Recomenda-se que voc&ecirc; fa&ccedil;a uma
+ c&oacute;pia datada do seu <filename>kernel</filename>
+ na forma <filename>/kernel.AAMMDD</filename> e o
+ diret&oacute;rio <filename>/modules</filename> para
+ <filename>/modules.AAMMDD</filename> depois que estiver
+ tudo funcionando. Desta forma se voc&ecirc; fizer
+ alguma bobagem quando mexer com a sua
+ configura&ccedil;&atilde;o, pode-se iniciar aquele
+ <foreignphrase>kernel</foreignphrase> ao inv&eacute;s de
+ ter que desfazer tudo novamente no
+ <filename>kernel.GENERIC</filename>. Isso &eacute;
+ particularmente importante se voc&ecirc; estiver dando
+ boot em um equipamento n&atilde;o suportado pelo
+ <foreignphrase>kernel</foreignphrase> gen&eacute;rico
+ (<literal>GENERIC</literal>).</para>
+ </note>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="missing-hw-float">
+ <para>A compila&ccedil;&atilde;o do meu
+ <foreignphrase>kernel</foreignphrase> falha porque
+ est&aacute; faltando o <literal>_hw_float</literal>. Como
+ eu resolvo o problema?</para>
+ </question>
+
+ <answer>
+ <para>Deixa eu adivinhar. Voc&ecirc; removeu o
+ <devicename>npx0</devicename> (veja &man.npx.4;) do
+ arquivo de configura&ccedil;&atilde;o do
+ <foreignphrase>kernel</foreignphrase> porque voc&ecirc;
+ n&atilde;o possui um co-processador aritm&eacute;tico,
+ certo? Errado! :-) O <devicename>npx0</devicename>
+ &eacute; <emphasis>OBRIGAT&Oacute;RIO</emphasis>. Mesmo
+ que voc&ecirc; n&atilde;o tenha um co-processador
+ aritm&eacute;tico, o dispositivo
+ <devicename>npx0</devicename> <emphasis>deve</emphasis>
+ ser incluido.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="why-kernel-big">
+ <para>Por que meu <foreignphrase>kernel</foreignphrase>
+ &eacute; t&atilde;o grande (cerca de 10MB)?</para>
+ </question>
+
+ <answer>
+ <para>Provavelmente, seu
+ <foreignphrase>kernel</foreignphrase> foi compilado em
+ <emphasis>modo de depura&ccedil;&atilde;o
+ (<literal>debug</literal>)</emphasis>. Um
+ <foreignphrase>kernel</foreignphrase> constru&iacute;do em
+ modo de depura&ccedil;&atilde;o (<literal>debug</literal>)
+ cont&ecirc;m muitos s&iacute;mbolos usados para
+ depura&ccedil;&atilde;o que aumentam muito o seu tamanho.
+ Note que se voc&ecirc; est&aacute; executando um FreeBSD
+ 3.0 ou superior, ter&aacute; pouca, ou nenhuma, perda de
+ performance por usar um
+ <foreignphrase>kernel</foreignphrase> em modo de
+ depura&ccedil;&atilde;o (<literal>debug</literal>), sendo
+ &uacute;til ter um para o caso de pane no sistema.
+ </para>
+
+ <para>Entretanto, se voc&ecirc; possui pouco espa&ccedil;o
+ em disco, ou simplesmente n&atilde;o quer executar um
+ <foreignphrase>kernel</foreignphrase> para
+ depura&ccedil;&atilde;o, certifique-se que os dois itens
+ abaixo sejam verdadeiros:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>N&atilde;o existe a seguinte linha no arquivo de
+ configura&ccedil;&atilde;o do
+ <foreignphrase>kernel</foreignphrase></para>
+
+ <programlisting>makeoptions DEBUG=-g</programlisting>
+ </listitem>
+
+ <listitem>
+ <para>Voc&ecirc; n&atilde;o est&aacute; executando
+ &man.config.8; com a op&ccedil;&atilde;o
+ <option>-g</option>.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Ambas as situa&ccedil;&otilde;es acima fazem com que o
+ <foreignphrase>kernel</foreignphrase> seja compilado no
+ modo de depura&ccedil;&atilde;o
+ (<literal>debug</literal>). T&atilde;o logo voc&ecirc;
+ tenha certeza que n&atilde;o se enquadra naqueles itens, o
+ <foreignphrase>kernel</foreignphrase> poder&aacute; ser
+ compilado normalmente e notadamente diminuir&aacute; o
+ tamanho; a maioria dos
+ <foreignphrase>kernels</foreignphrase> tendem a ficar em
+ torno de 1.5MB a 2MB.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="multiport-serial-interrupts">
+ <para>Porque est&atilde;o ocorrendo conflitos de
+ interrup&ccedil;&atilde;o com portas multi-seriais?</para>
+ </question>
+
+ <answer>
+ <para>Quando se compila um
+ <foreignphrase>kernel</foreignphrase> com suporte a porta
+ multi-serial, ele avisa que somente a primeira porta
+ &eacute; testada e as demais s&atilde;o ignoradas devido a
+ conflitos de interrup&ccedil;&atilde;o. Como eu conserto
+ isto?</para>
+
+ <para>O problema, neste caso, &eacute; que o FreeBSD possui
+ c&oacute;digo para evitar que o
+ <foreignphrase>kernel</foreignphrase> fique com lixo
+ (<foreignphrase>trashed kernel</foreignphrase>) por causa
+ de conflitos de hardware ou software. A maneira de
+ corrigir isto &eacute; excluindo as
+ defini&ccedil;&otilde;s de IRQ em todas as portas exceto
+ uma. Veja o exemplo:</para>
+
+ <programlisting>#
+# Multiport high-speed serial line - 16550 UARTS
+#
+device sio2 at isa? port 0x2a0 tty irq 5 flags 0x501 vector siointr
+device sio3 at isa? port 0x2a8 tty flags 0x501 vector siointr
+device sio4 at isa? port 0x2b0 tty flags 0x501 vector siointr
+device sio5 at isa? port 0x2b8 tty flags 0x501 vector siointr</programlisting>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="generic-kernel-build-failure">
+ <para>Porque todo <foreignphrase>kernel</foreignphrase> que
+ eu tento construir falha na compila&ccedil;&atilde;o,
+ mesmo o GENERIC?</para>
+ </question>
+
+ <answer>
+ <para>Existem v&aacute;rias causas poss&iacute;veis para
+ esse problema. Elas s&atilde;o, sem uma ordem particular:
+ </para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Voc&ecirc; n&atilde;o est&aacute; usando os
+ comandos <command>make buildkernel</command> e
+ <command>make installkernel</command>, e seus fontes
+ est&atilde;o estruturados de forma diferente daqueles
+ usados para construir o sistema atual (por exemplo,
+ est&aacute; sendo um 4.3-RELEASE em um sistema
+ 4.0-RELEASE). Se estiver sendo feita uma
+ atualiza&ccedil;&atilde;o, leia o arquivo
+ <filename>/usr/src/UPDATING</filename>, prestando
+ aten&ccedil;&atilde;o ao final da se&ccedil;&atilde;o
+ <quote>COMMON ITEMS</quote>.</para>
+ </listitem>
+
+ <listitem>
+ <para>Voc&ecirc; est&aacute; usando os comandos
+ <command>make buildkernel</command> e <command>make
+ installkernel</command>, mas n&atilde;o garantiu a
+ correta finaliza&ccedil;&atilde;o do comando
+ <command>make buildworld</command>. O <command>make
+ buildkernel</command> depende de arquivos gerados
+ pelo <command>make buildworld</command> para fazer seu
+ trabalho corretamente.</para>
+ </listitem>
+
+ <listitem>
+ <para>Mesmo que voc&ecirc; esteja tentando construir um
+ <link linkend="stable">FreeBSD-STABLE</link>, &eacute;
+ poss&iacute;vel que os fontes tenham sido pegos quando
+ estavam sendo modificados, ou inconsistentes por
+ alguma outra raz&atilde;o; somente os releases
+ s&atilde;o absolutamente garantidos de serem
+ compilados, embora o <link
+ linkend="stable">FreeBSD-STABLE</link> possa ser
+ compilado com sucesso na grande maioria das vezes.
+ Caso j&aacute; n&atilde;o tenha conseguido, tente
+ buscar os fontes novamente e veja se o problema
+ j&aacute; n&atilde;o foi resolvido. Tente um servidor
+ diferente, para o caso daquele que est&aacute; sendo
+ usado estar com problemas.</para>
+ </listitem>
+ </itemizedlist>
+ </answer>
+ </qandaentry>
+ </qandaset>
+ </chapter>
+
+ <chapter id="disks">
+ <title>Discos, Sistemas de Arquivos e Carregadores de
+ Inicializa&ccedil;&atilde;o (<foreignphrase>Boot
+ Loaders</foreignphrase>)</title>
+
+ <qandaset>
+ <qandaentry>
+ <question id="adding-disks">
+ <para>Como procedo para adicionar um novo disco
+ r&iacute;gido no FreeBSD?</para>
+ </question>
+
+ <answer>
+ <para>Veja o Tutorial sobre a Formata&ccedil;&atilde;o de
+ Discos no s&iacute;tio<ulink
+ URL="../../articles/formatting-media/index.html">
+ www.FreeBSD.org</ulink>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="new-huge-disk">
+ <para>Como eu mudo todo o meu sistema operacional para um
+ disco novo?</para>
+ </question>
+
+ <answer>
+ <para>A melhor maneira de migrar seu sistema de um disco
+ para o outro &eacute; reinstalar completamente o SO na
+ nova unidade de armazenamento e depois migrar os dados dos
+ usu&aacute;rios do disco antigo para nova
+ instala&ccedil;&atilde;o. Essa forma &eacute; a mais
+ recomendada, caso o sistema tenha sido -STABLE por mais de
+ uma vers&atilde;o, ou caso tenha atualizado um Release ao
+ inv&eacute;s de ter instalado um novo sistema. O booteasy
+ pode ser facilmente instalado com o comando
+ &man.boot0cfg.8;, de forma a permitir que o sistema possa
+ iniciar dois sistemas distintos, at&eacute; que voc&ecirc;
+ esteja satisfeito com o novo sistema. Pule o
+ pr&oacute;ximo par&aacute;grafo para saber algumas formas
+ seguras de migrar os dados dos usu&aacute;rios para o novo
+ disco.</para>
+
+ <para>Voc&ecirc; pode ter decidido por n&atilde;o refazer
+ uma nova instala&ccedil;&atilde;o; nesse caso ser&aacute;
+ necess&aacute;rio reparticionar o novo disco com o
+ <filename>/stand/sysinstall</filename>, ou &man.fdisk.8;
+ ou &man.disklabel.8;. Tamb&eacute;m &eacute;
+ necess&aacute;rio instalar o booteasy em ambas as unidades
+ com o comando &man.boot0cfg.8;, de forma que voc&ecirc;
+ possa alternar a inicializa&ccedil;&atilde;o entre o novo
+ sistema e a configura&ccedil;&atilde;o atual do mesmo,
+ at&eacute; que a c&oacute;pia dos dados tenha sido
+ efetuada. Veja o artigo <ulink
+ url="../../articles/formatting-media/index.html">
+ </ulink>referente a formata&ccedil;&atilde;o de
+ m&iacute;dias para obter mais detalhes quanto a esse
+ processo.</para>
+
+ <para>Agora, com um novo disco configurado, voc&ecirc;
+ est&aacute; pronto para come&ccedil;ar a mover os dados da
+ antiga para nova unidade de armazenamento. Infelizmente
+ os dados n&atilde;o podem simplesmente ser copiados ao
+ acaso. Existem alguns arquivos especiais (como os
+ arquivos de dispositivos <filename>/dev</filename>),
+ flags, e links que tendem a n&atilde;o funcionar no novo
+ sistema, visto que esses arquivos ocupam inodes ou tem
+ informa&ccedil;&otilde;es espec&iacute;ficas da unidade, e
+ por isso n&atilde;o podem ser copiados como um arquivo
+ comum. &Eacute; necess&aacute;rio usar ferramentas que
+ entendam esse comportamento. Isso significa que
+ voc&ecirc; ter&aacute; que usar o &man.dump.8;. &Eacute;
+ sempre uma boa id&eacute;ia realizar esse processo de
+ c&oacute;pia de dados em modo mono-usu&aacute;rio, contudo
+ tal precau&ccedil;&atilde;o n&atilde;o &eacute;
+ obrigat&oacute;ria - &eacute; apenas sinal de
+ cuidado.</para>
+
+ <para>N&atilde;o &eacute; aconselh&aacute;vel usar nenhuma
+ outra ferramenta a n&atilde;o ser o &man.dump.8; e
+ &man.restore.8; para copiar o sistema de arquivos da
+ parti&ccedil;&atilde;o raiz (&quot;/&quot;). O
+ &man.tar.1; pode funcionar de forma satisfat&oacute;ria,
+ mas pode ser que n&atilde;o. Tamb&eacute;m &eacute;
+ &oacute;tima id&eacute;ia usar o &man.dump.8; e
+ &man.restore.8; para copiar (ou mover completamente) os
+ dados em uma parti&ccedil;&atilde;o para uma outra
+ parti&ccedil;&atilde;o vazia. Os passos
+ necess&aacute;rios para usar o dump para copiar os dados
+ de uma parti&ccedil;&atilde;o existente para uma nova
+ parti&ccedil;&atilde;o s&atilde;o:</para>
+
+ <procedure>
+ <step>
+ <para>Crie um novo sistema de arquivos com o
+ &man.newfs.8 na nova parti&ccedil;&atilde;o.</para>
+ </step>
+
+ <step>
+ <para>Monte a parti&ccedil;&atilde;o em um ponto de
+ montagem tempor&aacute;rio.</para>
+ </step>
+
+ <step>
+ <para>Entre (cd) no ponto de montagem em
+ quest&atilde;o.</para>
+ </step>
+
+ <step>
+ <para>Finalmente mova os dados da parti&ccedil;&atilde;o
+ existente para a nova parti&ccedil;&atilde;o com o
+ &man.dump.8;.</para>
+ </step>
+ </procedure>
+
+ <para>Por exemplo, se a inten&ccedil;&atilde;o &eacute;
+ copiar os dados da parti&ccedil;&atilde;o raiz para a
+ parti&ccedil;&atilde;o
+ <devicename>/dev/ad1s1a</devicename>, cujo ponto de
+ montagem tempor&aacute;rio &eacute; o
+ <filename>/mnt</filename>, fa&ccedil;a o seguinte:</para>
+
+ <screen>&prompt.root; <userinput>newfs /dev/ad1s1a</userinput>
+&prompt.root; <userinput>mount /dev/ad1s1a /mnt</userinput>
+&prompt.root; <userinput>cd /mnt</userinput>
+&prompt.root; <userinput>dump 0af - / | restore xf -</userinput></screen>
+
+ <para>Redefinir a estrutura das parti&ccedil;&otilde;es com
+ o &man.dump.8 &eacute; um processo um pouco mais
+ trabalhoso. Caso voc&ecirc; queira, por exemplo, unir o
+ conte&uacute;do da parti&ccedil;&atilde;o
+ <filename>/var</filename> com as parti&ccedil;&otilde;es
+ de n&iacute;vel acima, crie uma parti&ccedil;&atilde;o que
+ seja grande o bastante para alocar o conte&uacute;do de
+ ambas, copie a parti&ccedil;&atilde;o principal como no
+ exemplo descrito acima e depois copie as
+ sub-parti&ccedil;&otilde;es para os diret&oacute;rios
+ vazios que o primeiro comando deve ter criado:</para>
+
+ <screen>&prompt.root; <userinput>newfs /dev/ad1s1a</userinput>
+&prompt.root; <userinput>mount /dev/ad1s1a /mnt</userinput>
+&prompt.root; <userinput>cd /mnt</userinput>
+&prompt.root; <userinput>dump 0af - / | restore xf -</userinput>
+&prompt.root; <userinput>cd var</userinput>
+&prompt.root; <userinput>dump 0af - /var | restore xf -</userinput></screen>
+
+ <para>Para separar um diret&oacute;rio de sua estrutura
+ atual, ou seja, no mesmo exemplo ainda, alocar os dados de
+ <filename>/var</filename> em uma parti&ccedil;&atilde;o
+ pr&oacute;pria quando na defini&ccedil;&atilde;o atual o
+ /var &eacute; apenas um diret&oacute;rio comum, &eacute;
+ necess&aacute;rio montar a sub parti&ccedil;&atilde;o no
+ diret&oacute;rio apropriado do ponto de montagem
+ tempor&aacute;rio, simulando assim o sistema de arquivos a
+ ser criado a partir da raiz (montada no diret&oacute;rio
+ tempor&aacute;rio), depois basta copiar os dados do
+ diret&oacute;rio antigo para nova
+ parti&ccedil;&atilde;o:</para>
+
+ <screen>&prompt.root; <userinput>newfs /dev/ad1s1a</userinput>
+&prompt.root; <userinput>newfs /dev/ad1s1d</userinput>
+&prompt.root; <userinput>mount /dev/ad1s1a /mnt</userinput>
+&prompt.root; <userinput>mkdir /mnt/var</userinput>
+&prompt.root; <userinput>mount /dev/ad1s1d /mnt/var</userinput>
+&prompt.root; <userinput>cd /mnt</userinput>
+&prompt.root; <userinput>dump 0af - / | restore xf -</userinput></screen>
+
+ <para>Talvez voc&ecirc; prefira usar &man.cpio.1;,
+ &man.pax.1;, &man.tar.1; ao inv&eacute;s de &man.dump.8;
+ na hora de copiar os dados de usu&aacute;rios. Quando
+ este <literal>FAQ</literal> foi escrito, esses comandos
+ costumavam perder atributos especiais dos arquivos ou
+ mesmo alterar algumas permiss&otilde;es ou autoridade
+ (dono dos arquivos), portanto use esses comandos com
+ cuidado.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="dangerously-dedicated">
+ <para>Um disco no modo <quote>dangerously dedicated</quote>
+ pode ser prejudicial a minha sa&uacute;de?</para>
+ </question>
+
+ <answer>
+ <para><anchor id="dedicate">O processo de
+ instala&ccedil;&atilde;o permite a escolha entre dois
+ modos distintos de particionar o(s) disco(s)
+ r&iacute;gido. A maneira tradicional permite que outros
+ sistemas operacionais na mesma esta&ccedil;&atilde;o
+ possam acessar essas parti&ccedil;&otilde;es, criando
+ entradas na tabela do fdisk (entradas chamadas de
+ <quote>slices</quote> no FreeBSD) sob uma
+ parti&ccedil;&atilde;o FreeBSD pr&oacute;pria. Uma
+ caracter&iacute;stica desse particionamento &eacute;
+ permitir m&uacute;ltiplos sistemas operacionais e permitir
+ a instala&ccedil;&atilde;o de um gerenciador de
+ inicializa&ccedil;&atilde;o
+ (<foreignphrase>boot</foreignphrase>) para alternar entre
+ esses sistemas. A segunda maneira, a alternativa ao modo
+ tradicional faz uso do disco todo para o FreeBSD e
+ n&atilde;o faz esfor&ccedil;os para se tornar
+ compat&iacute;vel com outros sistemas operacionais.</para>
+
+ <para>Ent&atilde;o, por que esse modo &eacute; chamado de
+ <quote>modo perigosamente dedicado</quote>? Um disco
+ particionado dessa forma n&atilde;o tem algumas
+ caracter&iacute;sticas tradicionais que os PCs poderiam
+ considerar entradas v&aacute;lidas do fdisk. Dependendo
+ das circunst&acirc;ncias o PC pode reclamar e gerar
+ advert&ecirc;ncias sobre o disco em quest&atilde;o, assim
+ que o primeiro contato com essa unidade seja feito, ou
+ pior, o PC pode ainda danificar o processo de
+ inicializa&ccedil;&atilde;o
+ (<foreignphrase>boot</foreignphrase>) do BSD
+ (<foreignphrase>bootstrap</foreignphrase>) sem pedir
+ confirma&ccedil;&atilde;o da altera&ccedil;&atilde;o ou
+ at&eacute; mesmo sem avisar o usu&aacute;rio dessa
+ mudan&ccedil;a. O <quote>modo perigosamente
+ dedicado</quote> ainda costuma confundir v&aacute;rias
+ BIOS, inclusive as BIOS AWARD (encontradas, por exemplo no
+ HP Netserver e em sistemas Micronics assim como em muitos
+ outros) e as BIOS Symbios/NCR (da popular s&eacute;rie
+ 53C8xx de controladoras SCSI). N&atilde;o s&atilde;o
+ apenas esses dois modelos que podem apresentar
+ dificuldades com esse modo de particionamento de disco, a
+ lista completa &eacute; ainda maior. O principal sintoma
+ desse tipo de confus&atilde;o &eacute; a presen&ccedil;a
+ de mensagens de <errorname>read error</errorname>
+ apresentada pelo <foreignphrase>bootstrap</foreignphrase>
+ do FreeBSD quando ele tem dificuldades de encontrar-se;
+ outro sintoma &eacute; a falta de sistema operacional no
+ momento da inicializa&ccedil;&atilde;o do PC.</para>
+
+ <para>Ent&atilde;o porque esse modo de particionamento de
+ disco existe? Esse modo economiza o uso de alguns poucos
+ kbytes de espa&ccedil;o em disco, e pode, em contrapartida
+ gerar grandes problemas em uma nova
+ instala&ccedil;&atilde;o do sistema. O modo
+ <quote>perigosamente dedicado</quote> em sua origem
+ &eacute; um desejo antigo dos usu&aacute;rios do FreeBSD,
+ especialmente durante a instala&ccedil;&atilde;o, que
+ &eacute; simplesmente poder ignorar a
+ <quote>geometria</quote> de disco reconhecida pela BIOS e
+ usar o disco todo de forma independente, sem prestar
+ satisfa&ccedil;&atilde;o ao sistema b&aacute;sico de
+ entrada/sa&iacute;da do PC.</para>
+
+ <para>O conceito de <quote>Geometria</quote> &eacute;
+ ultrapassado, mas infelizmente ainda faz parte do
+ cora&ccedil;&atilde;o da BIOS dos Computadores Pessoais,
+ sendo extremamente necess&aacute;rio para a
+ intera&ccedil;&atilde;o do computador com seus discos.
+ Quando o FreeBSD cria as parti&ccedil;&otilde;es, ele tem
+ que gravar sua localiza&ccedil;&atilde;o de forma
+ correspondente a maneira que a BIOS ir&aacute;
+ procur&aacute;-la. Se essa informa&ccedil;&atilde;o
+ n&atilde;o &eacute; acess&iacute;vel &agrave; BIOS, pode
+ ser que o sistema n&atilde;o consiga iniciar-se.</para>
+
+ <para><quote>O modo Dangerously dedicated</quote> tenta
+ evitar esse desconforto fazendo a opera&ccedil;&atilde;o
+ se tornar mais simples. Em muitos casos essa forma de
+ particionamento funciona, mas ela foi criada para ser
+ usada como &uacute;ltima alternativa &agrave; necessidade
+ de definir a geometria do disco - em 99% dos casos existem
+ formas mais vantajosas de resolver problemas com
+ geometria.</para>
+
+ <para>Mas ent&atilde;o, como evitar a necessidade do modo
+ <quote>DD</quote> na instala&ccedil;&atilde;o do sistema?
+ Comece anotando os valores pra geometria que a BIOS diz
+ estar usando pros discos locais. Esses valores podem ser
+ apresentados pelo kernel do FreeBSD, especificando a
+ op&ccedil;&atilde;o <option>-v</option> no prompt de
+ <literal>boot:</literal> usando <command>boot
+ -v</command> nas configura&ccedil;&otilde;es do loader
+ do sistema operacional. Antes do programa de
+ instala&ccedil;&atilde;o ser carregado o kernel apresenta
+ a listagem dos valores para a Geometria de discos
+ reconhecida pela BIOS do computador; n&atilde;o se
+ precipite nem se preocupe, essas informa&ccedil;&otilde;es
+ podem ser visualizadas paginando a tela para as
+ nota&ccedil;&otilde;es anteriores, sendo poss&iacute;vel
+ assim verificar esses valores. Normalmente as unidades de
+ disco da BIOS s&atilde;o apresentadas na mesma ordem que o
+ FreeBSD as encontra, sendo primeiro as unidades IDE
+ seguido das SCSI.</para>
+
+ <para>No momento do particionamento do disco, verifique se a
+ geometria apresentada pelo FDISK corresponde ao valor
+ apresentado pela BIOS; caso n&atilde;o corresponda use a
+ tecla <keycap>g</keycap> para redefinir esses valores.
+ Tamb&eacute;m pode ser necess&aacute;rio definir a
+ geometria manualmente em casos onde o disco em
+ quest&atilde;o est&aacute; vazio e sem nenhum outro tipo
+ de parti&ccedil;&atilde;o criada, ou se o disco foi
+ instalado em um outro computador e foi colocado na
+ esta&ccedil;&atilde;o atual recentemente. Note que esse
+ tipo de complica&ccedil;&atilde;o n&atilde;o &eacute;
+ comum, e quando acontece, acontece apenas com o disco onde
+ o FreeBSD est&aacute; iniciando; Qualquer outro disco
+ existente no computador ser&aacute; controlado
+ perfeitamente pelo FreeBSD em qualquer
+ situa&ccedil;&atilde;o.</para>
+
+ <para>Uma vez existindo a concord&acirc;ncia de Geometria
+ entre a BIOS e o FreeBSD, com certeza seus problemas
+ ter&atilde;o acabado, e n&atilde;o existia a necessidade
+ de usar o modo <quote>DD</quote>. Contudo, se em casos
+ extremos ainda ocorrerem erros de <errorname>read
+ error</errorname> ent&atilde;o pode cruzar os dedos e
+ usar o modo dedicado (DD), afinal n&atilde;o h&aacute;
+ nada a perder, visto que das formas tradicionais sua BIOS
+ insiste em n&atilde;o cooperar de forma correta.</para>
+
+ <para>Para voltar um disco particionado em modo
+ <quote>dangerously dedicated</quote> para uso normal em um
+ PC existem duas alternativas. A primeira &eacute; alocar
+ dados nulos (NULL bytes) o bastante na MBR do disco, de
+ forma que qualquer instala&ccedil;&atilde;o posterior
+ acredite que o disco est&aacute; vazio. Isso pode ser
+ feito, por exemplo, da seguinte maneira:</para>
+
+ <screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/rda0 count=15</userinput></screen>
+
+ <para>E a segunda forma, a
+ <quote>op&ccedil;&atilde;o</quote> n&atilde;o documentada
+ do DOS:</para>
+
+ <screen><prompt>C:\&gt;</prompt> <userinput>fdisk /mbr</userinput></screen>
+
+ <para>instalar&aacute; um novo registro mestre de
+ inicializa&ccedil;&atilde;o no disco em quest&atilde;o,
+ sobrepondo inclusive o
+ <foreignphrase>bootstrap</foreignphrase> do BSD.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="safe-softupdates">
+ <para>Em quais parti&ccedil;&otilde;es podemos seguramente
+ usar o softupdates? Eu tenho ouvido falar de problemas em
+ se usar o softupdates na parti&ccedil;&atilde;o
+ <filename>/</filename>?</para>
+ </question>
+
+ <answer>
+ <para>A resposta breve: o softupdates pode ser usado com
+ seguran&ccedil;a em todas as
+ parti&ccedil;&otilde;es.</para>
+
+ <para>A resposta mais completa: existiam algumas
+ restri&ccedil;&otilde;es quanto ao uso do softupdates na
+ parti&ccedil;&atilde;o raiz do sistema. Tais
+ restri&ccedil;&otilde;es se deviam a duas
+ caracter&iacute;sticas causadas pelo softupdates, que eram
+ a pouqu&iacute;ssima chance de perder alguns dados da
+ parti&ccedil;&atilde;o raiz se acontecesse algum system
+ crash; apesar das probabilidades de perda de dados serem
+ m&iacute;nimas, elas existem; n&atilde;o existe uma
+ danifica&ccedil;&atilde;o ou corros&atilde;o do sistema de
+ arquivos, apenas alguns arquivos podem ser simplesmente
+ perdidos. E a segunda caracter&iacute;stica &eacute; a
+ diminui&ccedil;&atilde;o tempor&aacute;ria de
+ espa&ccedil;o em disco.</para>
+
+ <para>Quando o softupdates est&aacute; ativado o kernel pode
+ levar at&eacute; trinta segundos para realmente escrever
+ alguns dados fisicamente em disco. Caso algum arquivo
+ grande seja apagado, ela permanece temporariamente em
+ disco at&eacute; que o kernel realmente o apague, o que
+ pode causar uma condi&ccedil;&atilde;o de corrida
+ simples(simple race condition). Imagine, apenas para
+ ilustrar, que voc&ecirc; apague um arquivo enorme do
+ disco, e logo em seguida crie um outro arquivo t&atilde;o
+ grande quanto o primeiro; a grava&ccedil;&atilde;o de
+ metadados no disco pode n&atilde;o ter sido realizada
+ ainda quando o segundo arquivo &eacute; criado, ou seja o
+ primeiro n&atilde;o foi realmente definido como um arquivo
+ apagado. Nesse caso &eacute; prov&aacute;vel que
+ voc&ecirc; receba uma mensagem dizendo que n&atilde;o
+ existe espa&ccedil;o o bastante em disco para o segundo
+ arquivo, quando voc&ecirc; tem certeza absoluta que o
+ espa&ccedil;o que acabou de ser liberado ao apagar o
+ primeiro arquivo &eacute; o suficiente para alocar o
+ segundo! A&iacute; voc&ecirc; tenta gravar o segundo
+ arquivo mais uma vez, alguns meros segundos depois, e o
+ processo de cria&ccedil;&atilde;o do mesmo, simplesmente
+ funciona como esperado. Esse tipo de comportamento
+ j&aacute; levou mais de um usu&aacute;rio a
+ balan&ccedil;ar sua cabe&ccedil;a e duvidar de sua
+ pr&oacute;pria sanidade, ou mesmo da sanidade do sistema
+ de arquivos do FreeBSD; em caso extremos, de
+ d&uacute;vidas do bom estado de ambos, a sanidade do
+ sistema de arquivos e do pr&oacute;prio usu&aacute;rio
+ ;-)</para>
+
+ <para>Se o sistema falhar antes do kernel aceitar um
+ conjunto de dados que tem que ser escrito no disco antes
+ do mesmo ser gravado, &eacute; prov&aacute;vel que exista
+ perda dos dados em quest&atilde;o. Esse risco &eacute;
+ extremamente baixo, e geralmente &eacute;
+ contorn&aacute;vel. O uso, por exemplo, das
+ op&ccedil;&otilde;es de cache de grava&ccedil;&atilde;o
+ das unidades de disco IDE &eacute; um fator que causa a
+ possibilidade desse tipo de desconforto, portanto &eacute;
+ altamente recomend&aacute;vel que essa op&ccedil;&atilde;o
+ seja desativada nos discos IDE quando for usar o
+ softupdates.</para>
+
+ <para>Esse comportamento afeta todas as
+ parti&ccedil;&otilde;es que estiverem com softupdates.
+ Portanto, o que isso implica para a parti&ccedil;&atilde;o
+ raiz?</para>
+
+ <para>A maioria das informa&ccedil;&otilde;es vitais da
+ parti&ccedil;&atilde;o raiz mudam com pouqu&iacute;ssima
+ freq&uuml;&ecirc;ncia. Arquivos como o
+ <filename>/kernel</filename> e o conte&uacute;do do
+ <filename>/etc</filename> s&atilde;o alterados apenas
+ durante a manuten&ccedil;&atilde;o do sistema operacional,
+ ou quando os usu&aacute;rios alteram suas senhas. Caso o
+ sistema falhe durante essa janela de trinta segundos,
+ depois que uma dessas altera&ccedil;&otilde;es foi feita,
+ &eacute; poss&iacute;vel que alguns dados sejam perdidos.
+ Esse risco &eacute; baix&iacute;ssimo e praticamente
+ indiferente para maioria das aplica&ccedil;&otilde;es, mas
+ deve-se atentar que o risco existe. Caso seu sistema
+ n&atilde;o tolere nem uma possibilidade t&atilde;o baixa
+ de riscos, n&atilde;o use o softupdates na
+ parti&ccedil;&atilde;o raiz!</para>
+
+ <para>A <filename>/</filename> normalmente &eacute; uma das
+ menores parti&ccedil;&otilde;es do sistema. Por
+ padr&atilde;o o FreeBSD coloca o diret&oacute;rio
+ <filename>/tmp</filename> na parti&ccedil;&atilde;o
+ <filename>/</filename>, comportamento este que pode ser
+ modificado por administradores de sistemas mais
+ experientes. Caso seu <filename>/tmp</filename> costume
+ ocupar muito espa&ccedil;o, pode ser criado um link
+ simb&oacute;lico para o <filename>/var/tmp</filename>, o
+ comportamento inverso tamb&eacute;m &eacute; v&aacute;lido
+ e bastante seguro, caso o /tmp seja uma
+ parti&ccedil;&atilde;o grande o bastante para alocar os
+ dados do /var/tmp tamb&eacute;m.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="inappropriate-ccd">
+ <para>O que &eacute; inapropriado no meu ccd?</para>
+ </question>
+
+ <answer>
+ <para>Os sintomas desse tipo de d&uacute;vida:</para>
+
+ <screen>&prompt.root; <userinput>ccdconfig -C</userinput>
+ccdconfig: ioctl (CCDIOCSET): /dev/ccd0c: Inappropriate file type or format</screen>
+
+ <para>Esse problema normalmente ocorre quando se tenta
+ concatenar as parti&ccedil;&otilde;es <literal>c</literal>
+ cujo tipo padr&atilde;o &eacute;
+ <literal>unused</literal>. O ccd requer que a
+ parti&ccedil;&atilde;o que ele esteja usando seja do tipo
+ FS_BSDFFS. Edite o disklabel dos discos em quest&atilde;o
+ e altere o tipo das parti&ccedil;&otilde;es para
+ <literal>4.2BSD</literal>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="ccd-disklabel">
+ <para>Porque eu n&atilde;o posso editar o disklabel do meu
+ ccd?</para>
+ </question>
+
+ <answer>
+ <para>Os sintomas desse tipo de d&uacute;vida:</para>
+
+ <screen>&prompt.root; <userinput>disklabel ccd0</userinput>
+(it prints something sensible here, so let us try to edit it)
+&prompt.root; <userinput>disklabel -e ccd0</userinput>
+(edit, save, quit)
+disklabel: ioctl DIOCWDINFO: No disk label on disk;
+use "disklabel -r" to install initial label</screen>
+
+ <para>Isso acontece por que o disklabel que o ccd retorna
+ &eacute; na verdade um valor <quote>falso</quote>, que
+ n&atilde;o est&aacute; realmente gravado no disco. Esse
+ problema pode ser resolvido ao reescrever explicitamente
+ esse dado, da seguinte forma:</para>
+
+ <screen>&prompt.root; <userinput>disklabel ccd0 &gt; /tmp/disklabel.tmp</userinput>
+&prompt.root; <userinput>disklabel -Rr ccd0 /tmp/disklabel.tmp</userinput>
+&prompt.root; <userinput>disklabel -e ccd0</userinput>
+(agora ir&aacute funcionar)</screen>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="mount-foreign-fs">
+ <para>Posso montar outros tipos de parti&ccedil;&otilde;es
+ externas sobre FreeBSD?</para>
+ </question>
+
+ <answer>
+ <variablelist>
+ <varlistentry>
+ <term>Digital UNIX</term>
+
+ <listitem>
+ <para>CDROMs do tipo UFS podem ser montados
+ diretamente no FreeBSD, j&aacute; a montagem de
+ parti&ccedil;&otilde;es de disco do Digital UNIX que
+ usam o UFS pode ser um pouco mais complexa,
+ dependendo dos detalhes do particionamento de disco
+ para o sistema operacional em quest&atilde;o.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Linux</term>
+
+ <listitem>
+ <para>A partir do 2.2, o FreeBSD suporta
+ parti&ccedil;&otilde;es do tipo
+ <literal>ext2fs</literal>. Veja o
+ &man.mount.ext2fs.8; para obter mais
+ informa&ccedil;&otilde;es.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>NT</term>
+
+ <listitem>
+ <para>Existe suporte somente-leitura as
+ parti&ccedil;&otilde;es NTFS no FreeBSD. Para obter
+ mais informa&ccedil;&otilde;es leia esse tutorial,
+ escrito por Mark Ovens em <ulink
+ URL="http://ukug.uk.FreeBSD.org/~mark/ntfs_install.html">http://ukug.uk.FreeBSD.org/~mark/ntfs_install.html</ulink>.</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>Mais informa&ccedil;&otilde;es sobre esse assunto
+ seriam bem vindas :-)</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="mount-dos">
+ <para>Como montar uma parti&ccedil;&atilde;o DOS
+ secund&aacute;ria?</para>
+ </question>
+
+ <answer>
+ <para>As parti&ccedil;&otilde;es secund&aacute;rias do DOS
+ s&atilde;o encontradas depois que TODAS as
+ parti&ccedil;&otilde;es prim&aacute;rias foram definidas.
+ Por exemplo, se voc&ecirc; tem a parti&ccedil;&atilde;o
+ <quote>E</quote> como a segunda parti&ccedil;&atilde;o
+ DOS no segundo disco SCSI, ser&aacute; necess&aacute;rio
+ criar um arquivo especial para essa <quote>quinta
+ parti&ccedil;&atilde;o</quote> (slice 5) no /dev, depois
+ montar /dev/da1s5:</para>
+
+ <screen>&prompt.root; <userinput>cd /dev</userinput>
+&prompt.root; <userinput>sh MAKEDEV da1s5</userinput>
+&prompt.root; <userinput>mount -t msdos /dev/da1s5 /dos/e</userinput></screen>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="crypto-filesystem">
+ <para>Existe um sistema de arquivos criptografado para o
+ FreeBSD?</para>
+ </question>
+
+ <answer>
+ <para>Sim, veja o <literal>port</literal> <filename
+ role="package">security/cfs</filename>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="nt-bootloader">
+ <para>Como posso usar o carregador do NT para iniciar o
+ FreeBSD?</para>
+ </question>
+
+ <answer>
+ <para>Esse procedimento &eacute; um pouco diferente entre o
+ FreeBSD 2.2.X e o 3.X (que tem um sistema de inic&iacute;o
+ (<foreignphrase>boot</foreignphrase>) de 3 fases).</para>
+
+ <para>A id&eacute;ia geral se consiste em copiar os
+ primeiros setores da parti&ccedil;&atilde;o raiz nativa do
+ FreeBSD e transforma-los em um arquivo, para ser colocado
+ dentro da parti&ccedil;&atilde;o DOS/NT. Se assumir-mos
+ que voc&ecirc; vai chamar esse arquivo de
+ <filename>c:\bootsect.bsd</filename> (inspirado por
+ <filename>c:\bootsect.dos</filename>), pode-se
+ ent&atilde;o editar o arquivo
+ <filename>c:\boot.ini</filename> de forma a
+ carreg&aacute;, mais ou menos assim:</para>
+
+ <programlisting>[boot loader]
+timeout=30
+default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
+[operating systems]
+multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows NT"
+C:\BOOTSECT.BSD="FreeBSD"
+C:\="DOS"</programlisting>
+
+ <para>No 2.2.X esse procedimento assume que o DOS, o NT, o
+ FreeBSD, ou o que quer que seja, tenha sido instalado em
+ suas parti&ccedil;&otilde;es respectivas do fdisk no
+ <emphasis>mesmo</emphasis> disco. Esse exemplo foi
+ testado em um sistema onde o DOS &amp; NT estavam
+ instalados na primeira parti&ccedil;&atilde;o do fdisk, e
+ o FreeBSD na segunda. O FreeBSD havia sido configurado
+ para iniciar a partir de sua parti&ccedil;&atilde;o
+ nativa, e n&atilde;o pela MBR do disco.</para>
+
+ <para>Monte um disquete formatado em DOS (caso ele tenha
+ sido convertido para NTFS) ou em FAT, por exemplo, sob o
+ ponto de montagem <filename>/mnt</filename>.</para>
+
+ <screen>&prompt.root; <userinput>dd if=/dev/rda0a of=/mnt/bootsect.bsd bs=512 count=1</userinput></screen>
+
+ <para>Reinicie o computador no DOS ou NT. Sobre o NTFS,
+ copie o arquivo <filename>bootsect.bsd</filename> e/ou
+ arquivo <filename>bootsect.lnx</filename> do disquete para
+ <filename>C:\</filename>. Modifique os atributos
+ originais(permiss&otilde;es) do
+ <filename>boot.ini</filename> com:</para>
+
+ <screen><prompt>C:\&gt;</prompt> <userinput>attrib -s -r c:\boot.ini</userinput></screen>
+
+ <para>Edite e adicione as entradas apropriadas no
+ <filename>boot.ini</filename> seguindo o exemplo anterior
+ e volte os atributos originais:</para>
+
+ <screen><prompt>C:\&gt;</prompt> <userinput>attrib +s +r c:\boot.ini</userinput></screen>
+
+ <para>Se o FreeBSD estiver inicializando pela MBR,
+ reconstrua-a com o comando <command>fdisk</command> do DOS
+ depois de configurar os sistemas para iniciar a partir de
+ suas parti&ccedil;&otilde;es nativas.</para>
+
+ <para>No FreeBSD 3.X esse procedimento &eacute; mais
+ simples.</para>
+
+ <para>Se o FreeBSD estiver instalado no mesmo disco que a
+ parti&ccedil;&atilde;o de inicializa&ccedil;&atilde;o
+ (<foreignphrase>boot</foreignphrase>) do NT est&aacute;
+ instalada, copie o <filename>/boot/boot1</filename> para
+ <filename>C:\BOOTSECT.BSD</filename>. Contundo, se o
+ FreeBSD estiver em uma parti&ccedil;&atilde;o distinta, o
+ <filename>/boot/boot1</filename> n&atilde;o ir&aacute;
+ funcionar, nesse caso, o <filename>/boot/boot0</filename>
+ ser&aacute; necess&aacute;rio.
+
+ <warning>
+ <para>N&Atilde;O COPIE SIMPLESMENTE O
+ <filename>/boot/boot0</filename> NO LUGAR DO
+ <filename>/boot/boot1</filename>, POIS A TABELA DE
+ PARTI&Ccedil;&Atilde;O SER&Aacute; REESCRITA, E O
+ COMPUTADOR SE TORNAR&Aacute; N&Atilde;O
+ INICIALIZ&Aacute;VEL!!</para>
+ </warning> O <filename>/boot/boot0</filename> precisa ser
+ instalado com o sysinstall, selecionando o gerenciador de
+ inicializa&ccedil;&atilde;o
+ (<foreignphrase>boot</foreignphrase>) do FreeBSD na tela
+ que o programa pergunta se voc&ecirc; deseja usar um
+ gerenciador de inicializa&ccedil;&atilde;o(boot manager).
+ Isso se deve ao fato que o
+ <filename>/boot/boot0</filename> cont&eacute;m
+ informa&ccedil;&otilde;es sobre a &aacute;rea da tabela de
+ parti&ccedil;&otilde;es definidas como caracteres nulos,
+ mas o sysinstall copia a tabela de parti&ccedil;&otilde;es
+ antes de copiar o <filename>/boot/boot0</filename> para a
+ MBR.</para>
+
+ <para>Quando o gerenciador de inicializa&ccedil;&atilde;o
+ (<foreignphrase>boot</foreignphrase>) do FreeBSD &eacute;
+ executado, ele grava qual &uacute;ltimo sistema
+ operacional foi carregado, definindo uma flag de sistema
+ ativo na tabela de parti&ccedil;&atilde;o referente aquele
+ sistema, e depois ele escreve todos os 512 bytes do
+ pr&oacute;prio gerenciador de inicializa&ccedil;&atilde;o
+ (<foreignphrase>boot</foreignphrase>) de volta na MBR,
+ portanto se o <filename>/boot/boot0</filename>
+ simplesmente for copiado para
+ <filename>C:\BOOTSECT.BSD</filename> ser&aacute; definida
+ uma tabela de parti&ccedil;&atilde;o vazia com a flag de
+ parti&ccedil;&atilde;o ativa, na MBR.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="lilo-bootloader">
+ <para>Como posso iniciar o FreeBSD e o Linux com o
+ LILO?</para>
+ </question>
+
+ <answer>
+ <para>Caso o FreeBSD e o Linux estejam no mesmo disco, basta
+ seguir as instru&ccedil;&otilde;es de
+ instala&ccedil;&atilde;o do LILO para carregar sistemas
+ operacionais n&atilde;o-Linux. De forma breve, tais
+ instru&ccedil;&otilde;es s&atilde;o</para>
+
+ <para>Carregue o Linux e adicione as seguintes linhas no
+ <filename>/etc/lilo.conf</filename>:</para>
+
+ <programlisting>other=/dev/hda2
+ table=/dev/hda
+ label=FreeBSD</programlisting>
+
+ <para>(A defini&ccedil;&atilde;o acima assume que a sua
+ parti&ccedil;&atilde;o FreeBSD &eacute; conhecida pelo
+ Linux como <devicename>/dev/hda2</devicename>; altere esse
+ valor para sua necessidade). Depois basta executar o
+ comando <command>lilo</command> como usu&aacute;rio
+ <username>root</username> e deve estar pronto.</para>
+
+ <para>Caso o FreeBSD esteja em um outro disco, ser&aacute;
+ preciso criar uma entrada
+ <literal>loader=/boot/chain.b</literal> no LILO. Por
+ exemplo:</para>
+
+ <programlisting>other=/dev/dab4
+ table=/dev/dab
+ loader=/boot/chain.b
+ label=FreeBSD</programlisting>
+
+ <para>Em alguns casos &eacute; necess&aacute;rio especificar
+ o n&uacute;mero da unidade da BIOS para que o loader do
+ FreeBSD consiga carregar o sistema com sucesso, a partir
+ do segundo disco. Por exemplo, caso o disco SCSI com o
+ FreeBSD seja reconhecido pela BIOS como o disco 1, na tela
+ do carregadir de inicializa&ccedil;&atilde;o
+ (<foreignphrase>boot loader</foreignphrase>) do FreeBSD
+ ser&aacute; necess&aacute;rio definir:</para>
+
+ <screen>Boot: <userinput>1:da(0,a)/kernel</userinput></screen>
+
+ <para>No FreeBSD 2.2.5 e posteriores, o &man.boot.8; pode
+ ser configurado para que ele automaticamente defina essa
+ informa&ccedil;&atilde;o na hora da
+ inicializa&ccedil;&atilde;o
+ (<foreignphrase>boot</foreignphrase>).</para>
+
+ <para>The <ulink
+ URL="http://sunsite.unc.edu/LDP/HOWTO/mini/Linux+FreeBSD.html">
+ Linux+FreeBSD mini-HOWTO</ulink> &eacute; uma boa
+ refer&ecirc;ncia sobre a utiliza&ccedil;&atilde;o do
+ FreeBSD com o Linux.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="booteasy-loader">
+ <para>Como eu inicio o FreeBSD e o Linux usando o
+ BootEasy?</para>
+ </question>
+
+ <answer>
+ <para>Instale o LILO no come&ccedil;o da sua
+ parti&ccedil;&atilde;o de inicializa&ccedil;&atilde;o
+ (<foreignphrase>boot</foreignphrase>) do Linux ao
+ inv&eacute;s de instala-lo na MBR. Agora o LILO pode ser
+ carregado a partir do BootEasy.</para>
+
+ <para>Com Windows 9x e Linux essa &eacute; uma
+ a&ccedil;&atilde;o recomendada sempre, para garantir que o
+ Linux possa ser iniciado de forma mais f&aacute;cil caso
+ seja necess&aacute;rio reinstalar o Windows (que &eacute;
+ um sistema operacional que n&atilde;o espera nenhum outro
+ sistema na MBR).</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="changing-bootprompt">
+ <para>Como eu altero a tela de inicializa&ccedil;&atilde;o
+ (<foreignphrase>boot</foreignphrase>) de
+ <literal>???</literal> para algo mais
+ significativo?</para>
+ </question>
+
+ <answer>
+ <para>Voc&ecirc; n&atilde;o pode alterar esse comportamento
+ no gerenciador de inicializa&ccedil;&atilde;o
+ (<foreignphrase>boot</foreignphrase>) padr&atilde;o sem
+ reescreve-lo. Existem in&uacute;meros outros
+ gerenciadores de inicializa&ccedil;&atilde;o
+ (<foreignphrase>boot</foreignphrase>) na categoria
+ <filename>sysutils</filename> da da cole&ccedil;&atilde;o
+ de <literal>ports</literal>, que oferecem esse
+ recurso.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="removable-drives">
+ <para>Possuo uma nova unidade de disco remov&iacute;vel,
+ como posso usa-la?</para>
+ </question>
+
+ <answer>
+ <para>Ainda que seja uma unidade remov&iacute;vel como um
+ ZIP Drive, um EZ Drive (ou at&eacute; um disquete, caso
+ queira usa-lo dessa maneira), ou um novo disco, uma vez
+ instalado e reconhecido pelo sistema e assim que o
+ cartucho/disquete/outra-coisa esteja ligado a unidade em
+ quest&atilde;o, as coisas passam a funcionar da mesma
+ forma para qualquer tipo de dispositivo.</para>
+
+ <para><anchor id="disklabel">(essa se&ccedil;&atilde;o
+ &eacute; baseada no <ulink
+ URL="http://www.vmunix.com/mark/FreeBSD/ZIP-FAQ.html">ZIP
+ <literal>FAQ</literal> de Mark Mayo</ulink>)</para>
+
+ <para>Caso o dispositivo seja um ZIP Drive ou um disquete
+ cujo sistema de arquivos j&aacute; tenha sido criado como
+ sendo do tipo DOS, o seguinte comando &eacute; o bastante
+ para mont&aacute;-lo:</para>
+
+ <screen>&prompt.root; <userinput>mount -t msdos /dev/fd0c /floppy</userinput></screen>
+
+ <para>caso seja um disquete, ou ent&atilde;o:</para>
+
+ <screen>&prompt.root; <userinput>mount -t msdos /dev/da2s4 /zip</userinput></screen>
+
+ <para>caso seja um disco ZIP com as
+ configura&ccedil;&otilde;es de f&aacute;brica.</para>
+
+ <para>Para outros tipos de disco, veja como eles s&atilde;o
+ tratados, usando o &man.fdisk.8; ou
+ &man.sysinstall.8;.</para>
+
+ <para>Os pr&oacute;ximos exemplos ser&atilde;o para um ZIP
+ Drive controlado pela device da2, ou seja, correspondente
+ ao terceiro disco SCSI.</para>
+
+ <para>A n&atilde;o ser que se trate de um disquete ou de um
+ disco remov&iacute;vel que se planeje compartilhar com
+ outras pessoas, provavelmente &eacute; mais sensata a
+ id&eacute;ia de colocar um sistema de arquivos do tipo BSD
+ nesse disco. Um sistema de arquivos desse tipo
+ possibilita usar o suporte a nomes longos de arquivos, ter
+ uma performance de, pelo menos 2x, e oferece muito mais
+ estabilidade e confian&ccedil;a. O primeiro passo
+ &eacute; redefinir a parti&ccedil;&atilde;o DOS da unidade
+ remov&iacute;vel de forma que a mesma passe a ser do tipo
+ BSD; o &man.fdisk.8; ou
+ <filename>/stand/sysinstall</filename> podem ser usados
+ para esse fim, em um disco pequeno onde n&atilde;o se
+ queira preocupa&ccedil;&otilde;es quanto a possibilidade
+ de manter suporte a m&uacute;ltiplos sistemas
+ operacionais. Nesse caso simplesmente elimine toda a
+ parti&ccedil;&atilde;o FAT do disco e use o particionador
+ do BSD:</para>
+
+ <screen>&prompt.root; <userinput>dd if=/dev/zero of=/dev/rda2 count=2</userinput>
+&prompt.root; <userinput>disklabel -Brw da2 auto</userinput></screen>
+
+ <para>O disklabel ou <filename>/stand/sysinstall</filename>
+ podem ser usados para criar m&uacute;ltiplas
+ parti&ccedil;&otilde;es do tipo BSD. Certamente o
+ usu&aacute;rio vai querer criar mais de uma
+ parti&ccedil;&atilde;o BSD se a inten&ccedil;&atilde;o for
+ criar espa&ccedil;o de Swap. De qualquer forma, esse tipo
+ de a&ccedil;&atilde;o &eacute; irrelevante em um disco
+ remov&iacute;vel do tipo ZIP.</para>
+
+ <para>Finalmente, crie um novo sistema de arquivos como
+ esse, que usa todo o disco em um ZIP Drive:</para>
+
+ <screen>&prompt.root; <userinput>newfs /dev/rda2c</userinput></screen>
+
+ <para>e monte-o:</para>
+
+ <screen>&prompt.root; <userinput>mount /dev/da2c /zip</userinput></screen>
+
+ <para>provavelmente &eacute; uma boa id&eacute;ia adicionar
+ uma entrada no <filename>/etc/fstab</filename> para
+ facilitar o processo de montagem dessa unidade(veja
+ &man.fstab.5;)de forma que seja apenas necess&aacute;rio
+ digitar o comando <command>mount /zip</command> no
+ futuro:</para>
+
+ <programlisting>/dev/da2c /zip ffs rw,noauto 0 0</programlisting>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="mount-cd-superblock">
+ <para>Por que eu tive o erro <errorname>Incorrect super
+ block</errorname> na hora de montar um CDROM?</para>
+ </question>
+
+ <answer>
+ <para>&Eacute; necess&aacute;rio avisar ao &man.mount.8; que
+ tipo de unidade est&aacute; sendo montada. Essa
+ defini&ccedil;&atilde;o &eacute; tratada com mais detalhes
+ em <ulink URL="../handbook/creating-cds.html"> na
+ se&ccedil;&atilde;o de m&iacute;dias &oacute;pticas do
+ &a.ptbr.p.handbook; </ulink>, mais precisamente na
+ se&ccedil;&atilde;o <ulink
+ URL="../handbook/creating-cds.html#MOUNTING-CD">Usando
+ CDs de Dados</ulink>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="cdrom-not-configured">
+ <para><errorname>Device not configured</errorname> ocorre na
+ hora de montar o CDROM?</para>
+ </question>
+
+ <answer>
+ <para>Geralmente esse tipo de comportamento indica que
+ n&atilde;o existe nenhum CD na unidade de CDROM, ou
+ ent&atilde;o, que o CD em quest&atilde;o n&atilde;o
+ &eacute; vis&iacute;vel ao barramento de dados do seu PC,
+ comum quando um CD-RW n&atilde;o pode ser lido por um
+ drive tradicional. Por gentileza, queira referir-se a
+ <ulink
+ URL="../handbook/creating-cds.html#MOUNTING-CD">Usando
+ CDs de Dados </ulink> da se&ccedil;&atilde;o do
+ &a.ptbr.p.handbook; para uma discuss&atilde;o mais
+ detalhada sobre esse assunto.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="cdrom-unicode-filenames">
+ <para>Porque todos caracteres n&atilde;o-Ingl&ecirc;s
+ s&atilde;o apresentados como <quote>?</quote> no sistema
+ de arquivos do CD que acabou de ser montado no
+ FreeBSD?</para>
+ </question>
+
+ <answer>
+ <para>Provavelmente seu CDROM usa extens&otilde;es
+ <quote>Joliet</quote> para armazenar
+ informa&ccedil;&otilde;es sobre tipos de arquivos e
+ diret&oacute;rios. Esse assunto &eacute; discutido no
+ cap&iacute;tulo de <ulink
+ URL="../handbook/creating-cds.html">
+ Cria&ccedil;&atilde;o e Uso de CDROMs do
+ &a.ptbr.p.handbook;</ulink>, mais precisamente na
+ se&ccedil;&atilde;o <ulink
+ URL="../handbook/creating-cds.html#MOUNTING-CD">de Uso
+ de CDs de Dados</ulink>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="burncd-isofs">
+ <para>Eu queimei um CD no FreeBSD e agora esse disco
+ n&atilde;o pode ser lido em nenhum outro sistema
+ operacional. Por que?</para>
+ </question>
+
+ <answer>
+ <para>Provavelmente voc&ecirc; queimou um CD de forma crua
+ (usando raw mode) no seu sistema, ao inv&eacute;s de criar
+ um sistema de arquivos do tipo ISO 9660. D&ecirc; uma
+ olhada no <ulink URL="../handbook/creating-cds.html">
+ Cap&iacute;tulo de Cria&ccedil;&atilde;o de CDROMs do
+ &a.ptbr.p.handbook;</ulink>, em espec&iacute;fico na
+ se&ccedil;&atilde;o <ulink
+ URL="../handbook/creating-cds.html#RAWDATA-CD">criando
+ CDS de dados puros</ulink>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="copy-cd">
+ <para>Como posso criar uma imagem de um CD de dados?</para>
+ </question>
+
+ <answer>
+ <para>A cria&ccedil;&atilde;o de imagens de CDs de dados
+ &eacute; discutida na se&ccedil;&atilde;o <ulink
+ url="../handbook/creating-cds.html#IMAGING-CD">duplicando
+ CDs de dados do &a.ptbr.p.handbook;</ulink>. Para mais
+ informa&ccedil;&otilde;es sobre unidades &oacute;pticas,
+ por gentileza, queira referir-se a se&ccedil;&atilde;o
+ <ulink url="../handbook/creating-cds.html">
+ Cria&ccedil;&atilde;o de CDs</ulink> no cap&iacute;tulo
+ de Armazenamento do &a.ptbr.p.handbook;.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="mount-audio-CD">
+ <para>Por que um CD de &aacute;udio n&atilde;o pode ser
+ montado com o comando <command>mount</command>?</para>
+ </question>
+
+ <answer>
+ <para>Ao tentar montar um CD de &aacute;udio, o mais
+ prov&aacute;vel &eacute; que ocorra um erro do tipo
+ <errorname>cd9660: /dev/acd0c: Invalid
+ argument</errorname>. Isso se deve ao fato que o
+ comando <command>mount</command> trabalha exclusivamente
+ com sistema de arquivos, o que n&atilde;o &eacute; o caso
+ de CDs de &aacute;udio. CDs de &aacute;udio cont&eacute;m
+ apenas dados, e por isso &eacute; necess&aacute;rio alguma
+ aplica&ccedil;&atilde;o capaz de ler tais CDs. Use algum
+ programa como o <filename
+ role="package">audio/xmcd</filename>na
+ cole&ccedil;&atilde;o de <literal>Ports</literal> do
+ FreeBSD para ler dados em CDs desse tipo.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="multi-session-CD">
+ <para>Como eu monto um CD com m&uacute;ltiplas
+ sess&otilde;es de grava&ccedil;&atilde;o?</para>
+ </question>
+
+ <answer>
+ <para>Por padr&atilde;o, o &man.mount.8; tenta montar a
+ &uacute;ltima trilha de dados (sess&atilde;o) de um CD.
+ Caso queira montar uma sess&atilde;o anterior pode-se usar
+ o argumento <option>-s</option> na linha de comando em
+ quest&atilde;o. Por gentileza, refira-se a p&aacute;gina
+ de manual do comando &man.mount.cd9660.8; para obter
+ exemplos espec&iacute;ficos do uso dessa e de outras
+ op&ccedil;&otilde;es.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="user-floppymount">
+ <para>Como posso permitir que usu&aacute;rios comuns montem
+ disquetes, CDROMs e outros tipos de m&iacute;dia
+ remov&iacute;vel?</para>
+ </question>
+
+ <answer>
+ <para>Usu&aacute;rios comuns podem ter a permiss&atilde;o de
+ montar dispositivos. Veja como:</para>
+
+ <procedure>
+ <step>
+ <para>Como <username>root</username> defina a
+ vari&aacute;vel <varname>vfs.usermount</varname> do
+ sysctl para <literal>1</literal>.</para>
+
+ <screen>&prompt.root; <userinput>sysctl -w vfs.usermount=1</userinput></screen>
+ </step>
+
+ <step>
+ <para>Como <username>root</username> defina as
+ permiss&otilde;es apropriadas nos dispositivos
+ associados ao controle da m&iacute;dia
+ remov&iacute;vel.</para>
+
+ <para>Por exemplo, para permitir que os usu&aacute;rios
+ possam montar a primeira unidade de disquete,
+ use:</para>
+
+ <screen>&prompt.root; <userinput>chmod 666 /dev/fd0</userinput></screen>
+
+ <para>Para permitir que os usu&aacute;rios do grupo
+ <groupname>operator</groupname> montem a unidade de
+ CDROM, use:</para>
+
+ <screen>&prompt.root; <userinput>chgrp operator /dev/cd0c</userinput>
+&prompt.root; <userinput>chmod 640 /dev/cd0c</userinput></screen>
+ </step>
+
+ <step>
+ <para>Finalmente, para tornar essa
+ altera&ccedil;&atilde;o permanente, adicione a linha
+ <literal><varname> vfs.usermount</varname>=1</literal>
+ no arquivo
+ <filename>/etc/sysctl.conf</filename>.</para>
+ </step>
+ </procedure>
+
+ <para>Agora todos os usu&aacute;rios podem montar qualquer
+ disquete no <devicename>/dev/fd0</devicename> em algum
+ ponto de montagem que lhes perten&ccedil;a:</para>
+
+ <screen>&prompt.user; <userinput>mkdir ~/my-mount-point</userinput>
+&prompt.user; <userinput>mount -t msdos /dev/fd0 ~/my-mount-point</userinput></screen>
+
+ <para>Os usu&aacute;rios no grupo
+ <groupname>operator</groupname> agora tem permiss&atilde;o
+ para montar os CDs no <devicename>/dev/cd0c</devicename>
+ em qualquer ponto de montagem que lhes
+ perten&ccedil;a:</para>
+
+ <screen>&prompt.user; <userinput>mkdir ~/my-mount-point</userinput>
+&prompt.user; <userinput>mount -t msdos /dev/cd0c ~/my-mount-point</userinput></screen>
+
+ <para>Desmontar o dispositivo &eacute; extremamente
+ simples:</para>
+
+ <screen>&prompt.user; <userinput>umount <filename>~/my-mount-point</></userinput></screen>
+
+ <para>Contudo, habilitar a op&ccedil;&atilde;o
+ <varname>vfs.usermount</varname>, contudo, causa algumas
+ implic&acirc;ncias quanto ao quesito seguran&ccedil;a;. A
+ forma mais racional de acessar m&iacute;dia do tipo MSDOS
+ no FreeBSD &eacute; usando a aplica&ccedil;&atilde;o
+ <ulink
+ URL="http://www.FreeBSD.org/cgi/ports.cgi?query=%5Emtools-&amp;stype=name">mtools
+ </ulink>, dispon&iacute;vel na Cole&ccedil;&atilde;o de
+ <literal>Ports</literal>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="du-vs-df">
+ <para>Os comandos <command>du</command> e
+ <command>df</command> apresentam quantias distintas de
+ espa&ccedil;o em disco dispon&iacute;vel. O que
+ est&aacute; havendo?</para>
+ </question>
+
+ <answer>
+ <para>&Eacute; necess&aacute;rio entender o que os comandos
+ <command>du</command> e <command>df</command> realmente
+ fazem. O <command>du</command> percorre a &aacute;rvore
+ de diret&oacute;rios medindo o tamanho de cada arquivo e
+ apresentando o total da soma de todos os arquivos
+ encontrados em um dado diret&oacute;rio, e posteriormente
+ apresentando a soma de ambos subdiret&oacute;rios no
+ diret&oacute;rio de n&iacute;vel seguinte,
+ <command>df</command> simplesmente pergunta ao sistema de
+ arquivos quanto espa&ccedil;o ainda lhe resta. Parece o
+ mesmo comportamento, mas um arquivo alocado fora de um
+ diret&oacute;rio, por exemplo, afeta os dados apresentados
+ pelo <command>df</command>, mas n&atilde;o afeta o
+ <command>du</command>.</para>
+
+ <para>Quando um programa est&aacute; usando algum arquivo, e
+ este &eacute; apagado, o arquivo n&atilde;o &eacute;
+ retirado do sistema de arquivos at&eacute; que o programa
+ em quest&atilde;o pare de us&aacute;-lo. Contudo, esse
+ arquivo &eacute; imediatamente deletado da listagem de
+ diret&oacute;rios; isso pode ser mais bem observado com
+ algum paginador como o <command>more</command>. Por
+ exemplo, assuma que existe um arquivo grande o bastante
+ que sua presen&ccedil;a seja percept&iacute;vel claramente
+ na sa&iacute;da dos comandos <command>du</command> e
+ <command>df</command>. (Considerando que hoje em dia os
+ discos s&atilde;o bem grandes, o arquivo em quest&atilde;o
+ deve ser um arquivo de tamanho <emphasis>extremamente
+ consider&aacute;vel!</emphasis>) Caso o arquivo seja
+ apagado em quanto ele esteja sendo paginado com o
+ <command>more</command>, pode-se perceber que o
+ <command>more</command> n&atilde;o passa a reclamar que o
+ arquivo n&atilde;o pode mais ser visualizado no mesmo
+ instante. Contudo, a listagem, do diret&oacute;rio em
+ quest&atilde;o n&atilde;o apresentar&aacute; mais esse
+ arquivo, de forma que nenhum usu&aacute;rio ou outro
+ programa possa acess&aacute;-lo. A entrada do arquivo no
+ diret&oacute;rio &eacute; simplesmente removida. O
+ <command>du</command> vai mostrar que esse arquivo
+ n&atilde;o existe mais &mdash; -- afinal, o du percorreu
+ todo o diret&oacute;rio e n&atilde;o encontrou esse
+ arquivo listado -- contudo o <command>df</command> mostra
+ que o arquivo continua no disco, pois o sistema de
+ arquivos sabe que o <command>more</command> continua
+ usando aquele espa&ccedil;o de dados que se encontram no
+ disco. Uma vez terminada a sess&atilde;o do
+ <command>more</command>,<command>du</command> e
+ <command>df</command> concordar&atilde;o entre si.</para>
+
+ <para>Note que em sistemas de arquivos com softupdates, a
+ libera&ccedil;&atilde;o de espa&ccedil;o em disco
+ tamb&eacute;m pode ser atrasada em at&eacute; 30 segundos
+ dependendo da situa&ccedil;&atilde;o; apenas depois desse
+ tempo, a altera&ccedil;&atilde;o em disco ser&aacute;
+ vis&iacute;vel!</para>
+
+ <para>Esse comportamento &eacute; comum e f&aacute;cil de
+ ser observado em Servidores Web. Muitos usu&aacute;rios
+ configuram algum Servidor Web no FreeBSD e se esquecem de
+ rotacionar os arquivos de log da aplica&ccedil;&atilde;o,
+ os quais entopem o <filename>/var</filename>. O novo
+ administrador do sistema deleta os arquivos de log em
+ quest&atilde;o, mas o sistema operacional continua
+ reclamando que a parti&ccedil;&atilde;o est&aacute; cheia,
+ at&eacute; que o Servidor Web seja desligado e religado,
+ de forma que a aplica&ccedil;&atilde;o libera o arquivo e
+ permite que o sistema apague o arquivo, recuperando o
+ espa&ccedil;o em disco em quest&atilde;o. Para prevenir
+ que isso ocorra, configure o &man.newsyslog.8;.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="add-swap-space">
+ <para>Como eu posso adicionar mais espa&ccedil;o para
+ <foreignphrase>swap</foreignphrase>?</para>
+ </question>
+
+ <answer>
+ <para>No cap&iacute;tulo <ulink
+ url="../handbook/config-tuning.html">Configura&ccedil;&atilde;o
+ e Ajuste Fino
+ (<foreignphrase>Tuning</foreignphrase>)</ulink> do
+ &a.ptbr.p.handbook;, pode ser encontrada uma <ulink
+ url="../handbook/adding-swap-space.html">se&ccedil;&atilde;o
+ </ulink> descrevendo como fazer isto.</para>
+ </answer>
+ </qandaentry>
+ </qandaset>
+ </chapter>
+
+ <chapter id="admin">
+ <title>Administra&ccedil;&atilde;o do Sistema</title>
+
+ <qandaset>
+ <qandaentry>
+ <question id="startup-config-files">
+ <para>Onde est&atilde;o os arquivos que configuram a
+ inicializa&ccedil;&atilde;o do sistema ?</para>
+ </question>
+
+ <answer>
+ <para>Do FreeBSD 2.0.5R at&eacute; o 2.2.1R, o arquivo de
+ configura&ccedil;&otilde;es prim&aacute;rio &eacute; o
+ <filename>/etc/sysconfig</filename>. Todas as
+ op&ccedil;&otilde;es devem ser definidas nesse arquivo ou
+ ent&atilde;o em outros, como o
+ <filename>/etc/rc</filename> (veja o manual para o
+ &man.rc.8;) e o <filename>/etc/netstart</filename></para>
+
+ <para>D&ecirc; uma olhada no
+ <filename>/etc/sysconfig</filename> e altere as
+ vari&aacute;veis de acordo com o que voc&ecirc; quer
+ configurar no seu sistema. O arquivo &eacute; repleto de
+ coment&aacute;rios que auxiliam a correta
+ defini&ccedil;&atilde;o dos valores a serem
+ definidos.</para>
+
+ <para>A partir do 2.2.1 at&eacute; o 3.0, o
+ <filename>/etc/sysconfig</filename> foi renomeado para
+ &man.rc.conf.5;, que &eacute; auto-descritivo, e cuja
+ sintaxe foi melhorada no processo de
+ substitui&ccedil;&atilde;o. O
+ <filename>/etc/netstart</filename> agora se chama
+ <filename>/etc/rc.network</filename>, de forma que todos
+ os arquivos possam ser copiados com um simples comando
+ como um <command>cp /usr/src/etc/rc* /etc</command></para>
+
+ <para>E depois, a partir do FreeBSD 3.1, o
+ <filename>/etc/rc.conf</filename> foi alterado para o
+ <filename>/etc/defaults/rc.conf</filename>.
+ <emphasis>N&atilde;o edite esse arquivo!</emphasis> Ao
+ inv&eacute;s disso, para todas as entradas que voc&ecirc;
+ queira alterar no
+ <filename>/etc/defaults/rc.conf</filename>, basta apenas
+ copiar a linha relativa &agrave; essa entrada para o
+ <filename>/etc/rc.conf</filename> e depois modificar seu
+ valor.</para>
+
+ <para>Por exemplo, caso deseje iniciar o named, o servidor
+ DNS dispon&iacute;vel no FreeBSD, a partir do FreeBSD 3.1
+ basta fazer isso:</para>
+
+ <screen>&prompt.root; <userinput>echo named_enable="YES" &gt;&gt; /etc/rc.conf</userinput></screen>
+
+ <para>Para iniciar servi&ccedil;os locais no FreeBSD 3.1 e
+ posteriores, basta colocar os scripts shell de
+ inicializa&ccedil;&atilde;o desses servi&ccedil;os no
+ diret&oacute;rio <filename>/usr/local/etc/rc.d</filename>.
+ Tais shell scripts devem ser execut&aacute;veis e
+ terminarem com a extens&atilde;o .sh. No FreeBSD 3.0 ou
+ anteriores, o arquivo <filename>/etc/rc.local</filename>
+ era a &uacute;nica op&ccedil;&atilde;o para iniciar
+ servi&ccedil;os/processos locais automaticamente.</para>
+
+ <para>O arquivo <filename>/etc/rc.serial</filename> &eacute;
+ usado para a inicializa&ccedil;&atilde;o de portas seriais
+ (por exemplo, para definir as caracter&iacute;sticas das
+ portas, e assim por diante).</para>
+
+ <para>O arquivo <filename>/etc/rc.i386</filename> &eacute;
+ usado para configura&ccedil;&otilde;es espec&iacute;ficas
+ de sistemas Intel e compat&iacute;veis, como por exemplo,
+ emula&ccedil;&atilde;o iBCS2 ou defini&ccedil;&otilde;es
+ do sistema de console dos PC.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="adding-users">
+ <para>Como posso adicionar um usu&aacute;rio de forma
+ simples?</para>
+ </question>
+
+ <answer>
+ <para>Use o comando &man.adduser.8;. Caso prefira uma forma
+ mais complexa (e mais completa), use o comando
+ &man.pw.8;.</para>
+
+ <para>Para remover o usu&aacute;rio do sistema, use o
+ comando &man.rmuser.8;. Mais uma vez, o &man.pw.8;
+ tamb&eacute;m funciona muito bem nesse caso.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="root-not-found-cron-errors">
+ <para>Depois de editar o crontab, mensagens como
+ <errorname>root: not found</errorname> ficam aparecendo
+ sempre. Por que?</para>
+ </question>
+
+ <answer>
+ <para>Normalmente esse &eacute; um problema causado ao se
+ editar o crontab do sistema
+ (<filename>/etc/crontab</filename>) e depois usar o
+ &man.crontab.1; para instala-lo:</para>
+
+ <screen>&prompt.root; <userinput>crontab /etc/crontab</userinput></screen>
+
+ <para>Essa n&atilde;o &eacute; a forma correta de fazer as
+ coisas. O crontab do sistema tem um formato distinto do
+ crontab dos usu&aacute;rios, o qual o &man.crontab.1;
+ atualiza (o manual do &man.crontab.5; explica tais
+ diferen&ccedil;as de forma mais detalhada).</para>
+
+ <para>Caso voc&ecirc; tenha cometido esse engano, o novo
+ crontab &eacute; uma simples c&oacute;pia do
+ <filename>/etc/crontab</filename>, ou seja, com um formato
+ errado. Apague-o com o comando:</para>
+
+ <screen>&prompt.root; <userinput>crontab -r</userinput></screen>
+
+ <para>Da pr&oacute;xima vez que editar o
+ <filename>/etc/crontab</filename>, nenhuma
+ a&ccedil;&atilde;o precisa ser tomada para avisar o
+ &man.cron.8; das altera&ccedil;&otilde;es. Ele vai
+ perceber as mudan&ccedil;as automaticamente.</para>
+
+ <para>Caso queira executar alguma tarefa di&aacute;ria,
+ semanal ou mensal, &eacute; mais indicado adicionar alguns
+ scripts de shell sob o
+ <filename>/usr/local/etc/periodic</filename> e deixar o
+ programa &man.periodic.8;, chamado a partir da tabela cron
+ do sistema, cuidar das suas tarefas assim como ele faz com
+ as outras tarefas pertinentes ao sistema.</para>
+
+ <para>A &uacute;nica raz&atilde;o para esse erro &eacute;
+ que a tabela de cron do sistema tem um campo a mais, que
+ especifica o usu&aacute;rio que deve executar o comando.
+ No crontab do sistema padr&atilde;o do FreeBSD, esse
+ usu&aacute;rio &eacute; o <username>root</username>, em
+ todas as entradas. Quando essa crontab &eacute; usada
+ como a tabela de cron do <username>root</username> (que
+ &eacute; diferente da tabela de cron do sistema), o
+ &man.cron.8; assume que a string <username>root</username>
+ fosse um primeiro comando, mas esse comando n&atilde;o
+ existe, por isso ocorre o erro.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="su-wheel-group">
+ <para>Porque o erro <errorname>you are not in the correct
+ group to su root</errorname> ocorre, quando eu tento
+ virar <username>root</username> com o su ?</para>
+ </question>
+
+ <answer>
+ <para>Essa &eacute; uma caracter&iacute;stica de
+ seguran&ccedil;a do FreeBSD. Para se tornar
+ <username>root</username> com o su (ou qualquer outro
+ usu&aacute;rio com privil&eacute;gios de super
+ usu&aacute;rio), &eacute; preciso fazer parte do grupo
+ <groupname>wheel</groupname>. Sem essa
+ caracter&iacute;stica, qualquer usu&aacute;rio com uma
+ conta v&aacute;lida no sistema que soubesse a senha de
+ <username>root</username> poderia obter privil&eacute;gios
+ de super usu&aacute;rio. Por causa do comportamento
+ atual, essa afirma&ccedil;&atilde;o n&atilde;o &eacute;
+ verdadeira, uma vez que o su n&atilde;o vai nem permitir
+ que o usu&aacute;rio d&ecirc; a senha de
+ <username>root</username>, caso ele n&atilde;o esteja no
+ grupo <groupname>wheel</groupname>.</para>
+
+ <para>Para permitir que algum usu&aacute;rio se torne
+ <username>root</username>, basta que ele fa&ccedil;a parte
+ do grupo <groupname>wheel</groupname>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="rcconf-readonly">
+ <para>Cometi um erro no <filename>rc.conf</filename>, ou em
+ algum outro arquivo de inicializa&ccedil;&atilde;o, e
+ agora n&atilde;o posso corrigir essa
+ altera&ccedil;&atilde;o porque o sistema de arquivos
+ &eacute; apenas-leitura. O que devo fazer?</para>
+ </question>
+
+ <answer>
+ <para>Nessa situa&ccedil;&atilde;o, o comportamento esperado
+ &eacute; que o sistema entre em modo monousu&aacute;rio e
+ pe&ccedil;a o caminho completo para o seu interpretador de
+ comandos (sua shell). Basta confirmar a shell
+ padr&atilde;o, que ele oferece, com um simples
+ <literal>ENTER</literal>, e depois executar um
+ <command>mount /</command> para remontar o sistema de
+ arquivos raiz ( / ) em modo leitura/escrita (rw).
+ Tamb&eacute;m pode ser necess&aacute;rio executar um
+ <command>mount -a -t ufs</command> para montar o sistema
+ de arquivos onde o seu editor de texto preferido vai estar
+ dispon&iacute;vel. Caso seu editor esteja em um sistema
+ de arquivos da rede, ser&aacute; necess&aacute;rio
+ configurar a rede manualmente, ou usar um editor
+ dispon&iacute;vel localmente, como o &man.ed.1;.</para>
+
+ <para>Caso queira usar um editor de tela inteira como o
+ &man.vi.1; ou &man.emacs.1;, ser&aacute; necess&aacute;rio
+ definir a vari&aacute;vel de ambiente TERM como do tipo
+ cons25, bastando um simples export TERM=cons25, de forma
+ que tais editores possam carregar as
+ informa&ccedil;&otilde;es corretas da base de dados do
+ &man.termcap.5;.</para>
+
+ <para>Depois disso, o <filename>/etc/rc.conf</filename> pode
+ ser editado normalmente, e a sintaxe problem&aacute;tica,
+ corrigida. A mensagem de erro apresentada imediatamente
+ ap&oacute;s o carregamento do
+ <foreignphrase>kernel</foreignphrase> indica o
+ n&uacute;mero da linha e o arquivo onde o erro
+ aconteceu.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="printer-setup">
+ <para>Porque estou tendo problemas ao configurar minha
+ impressora?</para>
+ </question>
+
+ <answer>
+ <para>Por gentileza, d&ecirc; uma olhada nas p&aacute;ginas
+ sobre impress&atilde;o do &a.ptbr.p.handbook;. O
+ documento deve responder a maioria de suas d&uacute;vidas.
+ Veja a entrada sobre <ulink
+ URL="../handbook/printing.html">Impress&atilde;o no
+ &a.ptbr.p.handbook;</ulink>.</para>
+
+ <para>Algumas impressoras precisam de um driver local,
+ baseado em esta&ccedil;&otilde;es, para prover qualquer
+ tipo de impress&atilde;o. Essas impressoras s&atilde;o
+ chamadas de <quote>WinPrinters</quote> e n&atilde;o
+ s&atilde;o suportadas nativamente pelo FreeBSD. Se sua
+ impressora n&atilde;o funciona sob DOS ou com Windows NT
+ 4.0, provavelmente ela &eacute; uma WinPrinter. A
+ &uacute;nica esperan&ccedil;a de se obter uma impressora
+ desse tipo funcionando, &eacute; verificar se o
+ <literal>port</literal> <filename
+ role="package">print/pnm2ppa</filename> tem suporte para
+ ela.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="keyboard-mappings">
+ <para>Como posso corrigir o mapeamento de teclados do meu
+ sistema?</para>
+ </question>
+
+ <answer>
+ <para>Por gentileza, refira-se &agrave; se&ccedil;&atilde;o
+ usando <ulink
+ url="../handbook/using-localization.html">localiza&ccedil;&atilde;o
+ do &a.ptbr.p.handbook;</ulink>, mais precisamente na
+ parte sobre a <ulink
+ url="../handbook/using-localization.html#SETTING-CONSOLE">configura&ccedil;&atilde;o
+ do console</ulink>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="pnp-resources">
+ <para>O que causa mensagens como: <errorname>unknown:
+ &lt;PNP0303&gt; can't assign resources</errorname> na
+ inicializa&ccedil;&atilde;o do sistema?</para>
+ </question>
+
+ <answer>
+ <para>O trecho a seguir &eacute; cita&ccedil;&atilde;o de
+ uma mensagem enviada na lista freebsd-current.</para>
+
+ <blockquote>
+ <attribution>&a.wollman;, 24 Abril 2001</attribution>
+
+ <para>A mensagem <quote>can't assign resources</quote>
+ indica que os equipamentos em quest&atilde;o s&atilde;o
+ do tipo ISA, e que n&atilde;o existem entradas indicando
+ drivers n&atilde;o-PnP compiladas no
+ <foreignphrase>kernel</foreignphrase>. Esses
+ equipamentos podem ser controladoras de teclados,
+ controladora de interrup&ccedil;&atilde;o
+ program&aacute;vel e v&aacute;rias outras pe&ccedil;as
+ da infra-estrutura padr&atilde;o do sistema. Os
+ recursos n&atilde;o podem ser atribu&iacute;dos por
+ j&aacute; existirem drivers usando tais
+ endere&ccedil;os.</para>
+ </blockquote>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="user-quotas">
+ <para>Porque eu n&atilde;o consigo fazer as quotas de
+ usu&aacute;rios funcionarem de forma correta?</para>
+ </question>
+
+ <answer>
+ <orderedlist>
+ <listitem>
+ <para>N&atilde;o habilite quotas na
+ <filename>/</filename>,</para>
+ </listitem>
+
+ <listitem>
+ <para>Coloque o arquivo de quotas indicando o sistema de
+ arquivos onde se deseja estabelecer as quotas, por
+ exemplo:</para>
+
+ <informaltable frame="none">
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Sistemas de arquivos</entry>
+
+ <entry>Arquivos de quotas</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry><filename>/usr</filename></entry>
+
+ <entry><filename>/usr/admin/quotas</filename></entry>
+ </row>
+
+ <row>
+ <entry><filename>/home</filename></entry>
+
+ <entry><filename>/home/admin/quotas</filename></entry>
+ </row>
+
+ <row>
+ <entry>&hellip;</entry>
+
+ <entry>&hellip;</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </listitem>
+ </orderedlist>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="sysv-ipc">
+ <para>O FreeBSD suporta as primitivas de IPC do System
+ V?</para>
+ </question>
+
+ <answer>
+ <para>Sim, o FreeBSD suporta IPC ao estilo do System V.
+ Esse suporte inclui compartilhamento de mem&oacute;ria,
+ mensagens e sem&aacute;foros. &Eacute; necess&aacute;rio
+ adicionar as seguintes linhas no arquivo de
+ configura&ccedil;&otilde;es do seu
+ <foreignphrase>kernel</foreignphrase>, para ativar o
+ suporte:</para>
+
+ <programlisting>options SYSVSHM # habilita mem&oacute;ria compartilhada
+options SYSVSEM # habilita sem&aacute;foros
+options SYSVMSG # habilita mensagens</programlisting>
+
+ <note>
+ <para>No FreeBSD 3.2 e posteriores, tais
+ op&ccedil;&otilde;es j&aacute; fazem parte do
+ <foreignphrase>kernel</foreignphrase>
+ <emphasis>GENERIC</emphasis>, o que significa que tal
+ suporte j&aacute; deve estar compilado no seu
+ sistema.</para>
+ </note>
+
+ <para>Recompile e instale o novo
+ <foreignphrase>kernel</foreignphrase>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="uucpmail">
+ <para>Como posso usar o sendmail para entregar mensagens com
+ UUCP?</para>
+ </question>
+
+ <answer>
+ <para>A configura&ccedil;&atilde;o do sendmail
+ dispon&iacute;vel por padr&atilde;o no FreeBSD &eacute;
+ direcionada para sites que estejam conectados &agrave;
+ Internet. Servidores que pretendem entregar suas
+ mensagens via UUCP devem instalar um novo arquivo de
+ configura&ccedil;&otilde;es do sendmail.</para>
+
+ <para>Alterar o <filename>/etc/mail/sendmail.cf</filename>
+ manualmente &eacute; considerado tarefa para os mais
+ puristas. A vers&atilde;o 8 do sendmail tem uma nova
+ abordagem de arquivos de configura&ccedil;&atilde;o por
+ meio de pr&eacute; processamento com o &man.m4.1;, onde os
+ modelos de configura&ccedil;&atilde;o s&atilde;o
+ manipulados em um n&iacute;vel mais alto de
+ abstra&ccedil;&atilde;o. Use os arquivos de
+ configura&ccedil;&atilde;o dispon&iacute;veis sob
+ /usr/src/usr.sbin/sendmail/cf.</para>
+
+ <para>Caso seu sistema n&atilde;o tenha sido instalado com
+ os fontes, os arquivos de configura&ccedil;&atilde;o do
+ sendmail foram divididos em pacotes separados. Assumindo
+ que voc&ecirc; tenha o CDROM do FreeBSD montado,
+ fa&ccedil;a o seguinte:</para>
+
+ <screen>&prompt.root; <userinput>cd /cdrom/src</userinput>
+&prompt.root; <userinput>cat scontrib.?? | tar xzf - -C /usr/src contrib/sendmail</userinput></screen>
+
+ <para>N&atilde;o se desespere, s&atilde;o apenas algumas
+ centenas de Kilobytes em tamanho. O arquivo README no
+ diret&oacute;rio cf serve de introdu&ccedil;&atilde;o
+ b&aacute;sica ao uso do m4.</para>
+
+ <para>Para entregar mensagens via UUCP, o melhor conselho
+ &eacute; usar o <literal>mailtertable</literal>. Trata-se
+ de uma base de dados que o sendmail usa para basear suas
+ decis&otilde;es de roteamento de mensagens.</para>
+
+ <para>Primeiro, &eacute; necess&aacute;rio criar seu arquivo
+ <filename>.mc</filename>. O diret&oacute;rio
+ <filename>/usr/src/usr.sbin/sendmail/cf/cf</filename>
+ &eacute; o diret&oacute;rio home para esse tipo de
+ arquivo. D&ecirc; uma olhada, j&aacute; existem alguns
+ exemplos dispon&iacute;veis por l&aacute;. Se assumirmos
+ que voc&ecirc; chamou o arquivo de
+ <filename>foo.mc</filename>, para converte-lo para um
+ arquivo <filename>sendmail.cf</filename> v&aacute;lido
+ basta:</para>
+
+ <screen>&prompt.root; <userinput>cd /usr/src/usr.sbin/sendmail/cf/cf</userinput>
+&prompt.root; <userinput>make foo.cf</userinput>
+&prompt.root; <userinput>cp foo.cf /etc/mail/sendmail.cf</userinput></screen>
+
+ <para>Um arquivo <filename>.mc</filename> t&iacute;pico, se
+ parece com algo mais ou menos assim:</para>
+
+ <programlisting>VERSIONID(`<replaceable>N&uacute;mero da sua vers&atilde;o</replaceable>')
+OSTYPE(bsd4.4)
+
+FEATURE(accept_unresolvable_domains)
+FEATURE(nocanonify)
+FEATURE(mailertable, `hash -o /etc/mail/mailertable')
+
+define(`UUCP_RELAY', <replaceable>your.uucp.relay</replaceable>)
+define(`UUCP_MAX_SIZE', 200000)
+define(`confDONT_PROBE_INTERFACES')
+
+MAILER(local)
+MAILER(smtp)
+MAILER(uucp)
+
+Cw <replaceable>your.alias.host.name</replaceable>
+Cw <replaceable>youruucpnodename.UUCP</replaceable></programlisting>
+
+ <para>As linhas contendo as entradas
+ <literal>accept_unresolvable_domains</literal>,
+ <literal>nocanonify</literal>, e
+ <literal>confDONT_PROBE_INTERFACES</literal> previnem o
+ uso do DNS durante a entrega das mensagens. A
+ cl&aacute;usula <literal>UUCP_RELAY</literal> &eacute;
+ necess&aacute;ria por raz&otilde;es bizarras, nem pergunte
+ quais. Apenas coloque o nome de uma esta&ccedil;&atilde;o
+ que possa manipular endere&ccedil;os com
+ pseudo-dom&iacute;nio .UUCP; normalmente o
+ endere&ccedil;o de relay de e-mail do seu Provedor de
+ Servi&ccedil;o Internet deve servir.</para>
+
+ <para>Depois disso, &eacute; necess&aacute;rio usar o
+ arquivo <filename>/etc/mail/mailertable</filename>. Caso
+ exista apenas um link para fora, por onde todos os e-mails
+ s&atilde;o roteados, as seguintes defini&ccedil;&otilde;es
+ s&atilde;o o bastante:</para>
+
+ <programlisting>#
+# makemap hash /etc/mail/mailertable.db &lt; /etc/mail/mailertable
+. uucp-dom:<replaceable>your.uucp.relay</replaceable></programlisting>
+
+ <para>Um exemplo mais complexo, se pareceria com:</para>
+
+ <programlisting>#
+# makemap hash /etc/mail/mailertable.db &lt; /etc/mail/mailertable
+#
+horus.interface-business.de uucp-dom:horus
+.interface-business.de uucp-dom:if-bus
+interface-business.de uucp-dom:if-bus
+.heep.sax.de smtp8:%1
+horus.UUCP uucp-dom:horus
+if-bus.UUCP uucp-dom:if-bus
+. uucp-dom:</programlisting>
+
+ <para>Como pode-se perceber, se trata de um arquivo usado na
+ vida real. As primeiras tr&ecirc;s linhas tratam
+ situa&ccedil;&otilde;es especiais onde as mensagens
+ endere&ccedil;adas aquele dom&iacute;nio n&atilde;o devem
+ ser roteadas pela sa&iacute;da padr&atilde;o, mas ao
+ inv&eacute;s disso, ser entregues para algum servidor UUCP
+ vizinho, de forma a encurtar o caminho para entrega dos
+ e-mails. A linha seguinte trata mensagens para rede
+ Ethernet local, para dom&iacute;nios onde os mails possam
+ ser entregues via SMTP. Finalmente, os vizinhos UUCP
+ s&atilde;o mencionados na nota&ccedil;&atilde;o do
+ pseudo-dom&iacute;nio .UUCP, que permite um
+ <literal><replaceable>uucp-neighbor</replaceable>!<replaceable>recipient</replaceable></literal>
+ sobrescrever as regras padr&atilde;o. A &uacute;ltima
+ linha &eacute; sempre um ponto, que indica que todos os
+ e-mails que n&atilde;o foram tratados pelas entradas
+ anteriores cuja entrega seja do tipo UUCP, devem ser
+ tratados por um dos vizinhos UUCP que sirva como gateway
+ universal com o resto do mundo. Todas as
+ esta&ccedil;&otilde;es antecedendo a entrada
+ <literal>uucp-dom:</literal> devem ser nomes de vizinhos
+ UUCP v&aacute;lidos, que podem ser checados com o comando
+ <literal>uuname</literal>.</para>
+
+ <para>Para lembrar que esse arquivo precisa ser convertido
+ em base de dados do tipo DBM, o comando necess&aacute;rio
+ para tomar essa a&ccedil;&atilde;o est&aacute; comentado
+ no in&iacute;cio do arquivo mailertable. Esse comando
+ deve ser executado sempre que o mailertable for
+ alterado.</para>
+
+ <para>Dica final: caso tenha d&uacute;vidas se uma rota de
+ e-mail em particular ir&aacute; funcionar, lembre-se que a
+ op&ccedil;&atilde;o <option>-bt</option> do sendmail
+ permite que ele seja iniciado em modo de testes de
+ endere&ccedil;o; simplesmente digite
+ <literal>3,0</literal> seguido do endere&ccedil;o que
+ voc&ecirc; quer testar o roteamento de mensagens. A
+ &uacute;ltima linha ir&aacute; indicar o agente de
+ transfer&ecirc;ncia interno que foi usado, a
+ esta&ccedil;&atilde;o de destino com a qual esse agente de
+ entrega ir&aacute; se comunicar, e o seu endere&ccedil;o.
+ Para sair desse modo, digite Control-D.</para>
+
+ <screen>&prompt.user; <userinput>sendmail -bt</userinput>
+ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
+Enter &lt;ruleset&gt; &lt;address&gt;
+<prompt>&gt;</prompt> <userinput>3,0 foo@example.com</userinput>
+canonify input: foo @ example . com
+...
+parse returns: $# uucp-dom $@ <replaceable>your.uucp.relay</replaceable> $: foo &lt; @ example . com . &gt;
+<prompt>&gt;</prompt> <userinput>^D</userinput></screen>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="ispmail">
+ <para>Como eu configuro e-mail em uma conex&atilde;o dialup
+ com a rede?</para>
+ </question>
+
+ <answer>
+ <para>Se a sua conex&atilde;o discada lhe atribui um
+ endere&ccedil;o IP est&aacute;tico, n&atilde;o &eacute;
+ necess&aacute;rio configurar nenhuma op&ccedil;&atilde;o
+ extra. Ajuste o nome da sua esta&ccedil;&atilde;o para o
+ nome que a identifica na Internet, e o sendmail
+ far&aacute; o resto.</para>
+
+ <para>Mas se a conex&atilde;o PPP lhe atribui
+ endere&ccedil;os din&acirc;micos, provavelmente o seu
+ Provedor de Servi&ccedil;o Internet oferece uma conta de
+ correio eletr&ocirc;nico em seus servidores. Vamos
+ assumir que o nome do dom&iacute;nio do seu provedor
+ &eacute; <hostid role="domainname">example.net</hostid>, e
+ que o nome do seu usu&aacute;rio &eacute;
+ <username>user</username>. Vamos assumir tamb&eacute;m
+ que o nome da sua esta&ccedil;&atilde;o seja <hostid
+ role="fqdn">bsd.home</hostid> e que o Provedor de
+ Servi&ccedil;o Internet defina que o endere&ccedil;o
+ <hostid role="fqdn">relay.example.net</hostid> deva ser
+ usado para relay de mensagens eletr&ocirc;nicas.</para>
+
+ <para>Para acessar as mensagens da sua caixa de correio,
+ &eacute; necess&aacute;rio usar um agente de busca. O
+ <application>Fetchmail</application> &eacute; uma boa
+ escolha, j&aacute; que ele suporta v&aacute;rios
+ protocolos distintos. Normalmente o provedor em
+ quest&atilde;o oferece servi&ccedil;o de POP3. Caso sua
+ conex&atilde;o PPP seja estabelecida &agrave; n&iacute;vel
+ de usu&aacute;rio (user-PPP), para acessar suas mensagens
+ automaticamente ao estabelecer-se uma conex&atilde;o com a
+ rede, basta adicionar a seguinte entrada no arquivo
+ <filename>/etc/ppp/ppp/linkup</filename>:</para>
+
+ <programlisting>MYADDR:
+ !bg su user -c fetchmail</programlisting>
+
+ <para>Caso esteja usando o
+ <application>sendmail</application> (como foi descrito
+ anteriormente) para entregar suas mensagens para
+ endere&ccedil;os n&atilde;o-locais, insira o
+ comando:</para>
+
+ <programlisting> !bg su user -c "sendmail -q"</programlisting>
+
+ <para>depois da entrada apresentada anteriormente. Esse
+ comando ir&aacute; for&ccedil;ar o
+ <application>sendmail</application> a processar sua fila
+ de e-mail t&atilde;o logo uma conex&atilde;o com a&nbsp;
+ rede seja estabelecida.</para>
+
+ <para>Assumindo que exista uma conta para o
+ <username>user</username> na m&aacute;quina <hostid
+ role="fqdn">bsd.home</hostid>. No diret&oacute;rio home
+ do <username>user</username> na esta&ccedil;&atilde;o
+ <hostid role="fqdn">bsd.home</hostid>, crie um arquivo
+ <filename>.fetchmailrc</filename> com o seguinte
+ conte&uacute;do:</para>
+
+ <programlisting>poll example.net protocol pop3 fetchall pass MySecret</programlisting>
+
+ <para>Esse arquivo n&atilde;o deve ter permiss&atilde;o de
+ leitura para nenhum outro usu&aacute;rio, a n&atilde;o ser
+ o <username>user</username> j&aacute; que ele
+ cont&eacute;m a <literal>sua senha</literal>.</para>
+
+ <para>Para garantir que o cabe&ccedil;alho
+ <literal>from:</literal> esteja sempre correto, &eacute;
+ necess&aacute;rio indicar ao
+ <application>sendmail</application> que o endere&ccedil;o
+ <literal>user@example.net</literal> deve ser usado ao
+ inv&eacute;s de <literal>user@bsd.home</literal>.
+ Tamb&eacute;m &eacute; interessante configurar o
+ <application>sendmail</application> para entregar suas
+ mensagens via <hostid
+ role="fqdn">relay.example.net</hostid>, permitindo
+ transmiss&atilde;o de mensagens de forma mais
+ r&aacute;pida.</para>
+
+ <para>O seguinte arquivo <filename>.mc</filename> deve ser o
+ bastante:</para>
+
+ <programlisting>VERSIONID(`bsd.home.mc version 1.0')
+OSTYPE(bsd4.4)dnl
+FEATURE(nouucp)dnl
+MAILER(local)dnl
+MAILER(smtp)dnl
+Cwlocalhost
+Cwbsd.home
+MASQUERADE_AS(`example.net')dnl
+FEATURE(allmasquerade)dnl
+FEATURE(masquerade_envelope)dnl
+FEATURE(nocanonify)dnl
+FEATURE(nodns)dnl
+define(`SMART_HOST', `relay.example.net')
+Dmbsd.home
+define(`confDOMAIN_NAME',`bsd.home')dnl
+define(`confDELIVERY_MODE',`deferred')dnl</programlisting>
+
+ <para>Por gentileza, refira-se &agrave; se&ccedil;&atilde;o
+ anterior para obter detalhes sobre como transformar esse
+ arquivo <filename>.mc</filename> em um arquivo
+ <filename>sendmail.cf</filename>. N&atilde;o se
+ esque&ccedil;a tamb&eacute;m de reiniciar o
+ <application>sendmail</application> depois de alterar o
+ <filename>sendmail.cf</filename>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="sendmail-alternative">
+ <para>Que outros servidores de correio eletr&ocirc;nico
+ posso usar no lugar do Sendmail?</para>
+ </question>
+
+ <answer>
+ <para>O <ulink
+ url="http://www.sendmail.org/">Sendmail</ulink> &eacute;
+ o programa servidor de correio eletr&ocirc;nico
+ padr&atilde;o no FreeBSD, mas ele pode ser facilmente
+ substitu&iacute;do por qualquer outro MTA (por
+ inst&acirc;ncia, um MTA instalado a partir do
+ <literal>ports</literal>).</para>
+
+ <para>Existem v&aacute;rios MTA's que servem de alternativa
+ ao Sendmail na Cole&ccedil;&atilde;o de
+ <literal>Ports</literal> do FreeBSD, sendo o <filename
+ role="package">mail/exim</filename>, <filename
+ role="package">mail/postfix</filename>, <filename
+ role="package">mail/qmail</filename>, <filename
+ role="package">mail/zmailer</filename>, os mais
+ populares.</para>
+
+ <para>A diversidade &eacute; sempre uma boa
+ indica&ccedil;&atilde;o, e o fato de ter v&aacute;rios
+ servidores de e-mail dispon&iacute;veis &eacute;
+ &oacute;timo. Conte&uacute;do, evite perguntas como
+ <quote>O Sendmail &eacute; melhor que o Qmail?</quote> nas
+ listas de discuss&atilde;o. Se voc&ecirc; realmente quer
+ saber, procure no hist&oacute;rico das listas. As
+ vantagens e desvantagens de cada MTA j&aacute; foram
+ discutidas in&uacute;meras vezes.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="forgot-root-pw">
+ <para>Esqueci a senha de root! O que eu fa&ccedil;o?</para>
+ </question>
+
+ <answer>
+ <para>Em primeiro lugar, n&atilde;o entre em p&acirc;nico!
+ Reinicie o seu FreeBSD, digite <userinput>boot
+ -s</userinput> na tela do Boot: (ou apenas
+ <userinput>-s</userinput> para as vers&otilde;es
+ anteriores &agrave; 3.2 do FreeBSD) para entrar e modo
+ monousu&aacute;rio. Quando o sistema perguntar sobre que
+ shell usar, aperte ENTER. Voc&ecirc; estar&aacute; em uma
+ prompt de comandos; digite <command>mount -u /</command>
+ para montar o sistema de arquivos raiz com
+ leitura/escrita, e depois <command>mount -a</command> para
+ remontar todos os seus sistemas de arquivos. Execute o
+ comando <command>passwd root</command> para modificar a
+ senha de root do sistema, e depois digite &man.exit.1;
+ para continuar &nbsp;a inicializa&ccedil;&atilde;o em modo
+ multiusu&aacute;rio.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="CAD-reboot">
+ <para>Como posso evitar que a seq&uuml;&ecirc;ncia de teclas
+ <keycombo
+ action="simul"><keycap>Control</keycap><keycap>Alt</keycap><keycap>Delete</keycap></keycombo>
+ reinicie o sistema?</para>
+ </question>
+
+ <answer>
+ <para>Caso esteja usando o syscons (o driver padr&atilde;o
+ para o console) em um sistema FreeBSD 2.2.7 ou posterior,
+ construa e instale um novo
+ <foreignphrase>kernel</foreignphrase> com a
+ op&ccedil;&atilde;o:</para>
+
+ <programlisting>options SC_DISABLE_REBOOT</programlisting>
+
+ <para>Caso use o driver de console PCVT em um FreeBSD 2.2.5
+ ou posterior, use a seguinte linha:</para>
+
+ <programlisting>options PCVT_CTRL_ALT_DEL</programlisting>
+
+ <para>Em vers&otilde;es anteriores &agrave;s citadas, edite
+ o mapeamento do seu teclado, usado para o console, e
+ substitua a palavra <literal>boot</literal> por
+ <literal>nop</literal>. O mapeamento de teclado
+ padr&atilde;o est&aacute; em
+ <filename>/usr/share/syscons/keymaps/us.iso.kbd</filename>.
+ O <filename>/etc/rc.conf</filename> deve ser
+ instru&iacute;do de forma que esse arquivo seja lido. Se
+ voc&ecirc; estiver usando um outro mapa espec&iacute;fico
+ para o seu pa&iacute;s, edite esse mapa ao inv&eacute;s do
+ padr&atilde;o.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="dos-to-unix-txt">
+ <para>Como posso converter arquivos de texto do DOS para o
+ formato do Unix?</para>
+ </question>
+
+ <answer>
+ <para>Use esse comando do perl:</para>
+
+ <screen>&prompt.user; <userinput>perl -i.bak -npe 's/\r\n/\n/g' file... </userinput></screen>
+
+ <para>onde <literal>file</literal> indica o arquivo ou
+ arquivos a serem processados. As
+ modifica&ccedil;&otilde;es s&atilde;o feitas no
+ pr&oacute;prio arquivo e o original &eacute; salvo com a
+ extens&atilde;o .bak.</para>
+
+ <para>O comando &man.tr.1; tamb&eacute;m pode ser
+ usado:</para>
+
+ <screen>&prompt.user; <userinput>tr -d '\r' &lt; <replaceable>dos-text-file</replaceable> &gt; <replaceable>unix-file</replaceable></userinput></screen>
+
+ <para>Onde <replaceable>dos-text-file</replaceable> &eacute;
+ o arquivo com o texto em formato DOS, enquanto o
+ <replaceable>unix-file</replaceable> armazenar&aacute; a
+ sa&iacute;da convertida. Usar o &man.tr.1; &eacute; um
+ pouco mais r&aacute;pido do que usar o perl.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="kill-by-name">
+ <para>Como eu mato processos pelo seu nome?</para>
+ </question>
+
+ <answer>
+ <para>Use o comando &man.killall.1;.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="root-acl">
+ <para>Por que motivos o su est&aacute; me atazanando pelo
+ fato de n&atilde;o pertencer &agrave; ACL do
+ <username>root</username>?</para>
+ </question>
+
+ <answer>
+ <para>Esse erro &eacute; proveniente do sistema de
+ autentica&ccedil;&atilde;o da distri&ccedil;&atilde;o do
+ Kerberos. O problema n&atilde;o &eacute; uma
+ perturba&ccedil;&atilde;o fatal. Basta executar o su com
+ a op&ccedil;&atilde;o -K ou ent&atilde;o desinstalar o
+ Kerberos, como ser&aacute; descrito na pr&oacute;xima
+ quest&atilde;o.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="uninstall-kerberos">
+ <para>Como eu desinstalo o Kerberos?</para>
+ </question>
+
+ <answer>
+ <para>Para remover o Kerberos do sistema, reinstale a
+ distribui&ccedil;&atilde;o <literal>bin</literal> da
+ vers&atilde;o que est&aacute; sendo usada. Caso tenha o
+ CDROM do FreeBSD, monte-o (vamos assumir, em /cdrom) e
+ execute os comandos:</para>
+
+ <screen>&prompt.root; <userinput>cd /cdrom/bin</userinput>
+&prompt.root; <userinput>./install.sh</userinput></screen>
+
+ <para>Ou ent&atilde;o, apague todas as op&ccedil;&otilde;es
+ <quote>MAKE_KERBEROS</quote> do
+ <filename>/etc/make.conf</filename> e recompile todo o
+ sistema com um build world.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="add-pty">
+ <para>Como posso adicionar pseudo-terminais ao
+ sistema?</para>
+ </question>
+
+ <answer>
+ <para>Caso tenha in&uacute;meras conex&otilde;es telnet,
+ ssh, X, ou tela de usu&aacute;rio, &eacute;
+ prov&aacute;vel que voc&ecirc; atingir&aacute; o limite
+ dos seus pseudo-terminais. Aqui est&atilde;o as
+ instru&ccedil;&otilde;es de como adicionar mais
+ pseudo-terminais:</para>
+
+ <procedure>
+ <step>
+ <para>Construa e instale um novo
+ <foreignphrase>kernel</foreignphrase> com a
+ linha</para>
+ <programlisting>pseudo-device pty 256</programlisting>
+ <para>em seu arquivo de
+ configura&ccedil;&otilde;es.</para>
+ </step>
+
+ <step>
+ <para>Execute os comandos</para>
+ <screen>&prompt.root; <userinput>cd /dev</userinput>
+&prompt.root; <userinput>sh MAKEDEV pty{1,2,3,4,5,6,7}</userinput></screen>
+ <para>de forma a criar 256 novos devices para os novos
+ terminais.</para>
+ </step>
+
+ <step>
+ <para>Edite o <filename>/etc/ttys</filename> e adicione
+ uma linha para cada um dos 256 terminais. Tais
+ entradas devem ter o formato correspondente &agrave;s
+ entradas j&aacute; existentes, por exemplo:</para>
+ <programlisting>ttyqc none network</programlisting>
+ <para>A ordem de defini&ccedil;&atilde;o das letras
+ &eacute; expressa como
+ <literal>tty[pqrsPQRS][0-9a-v]</literal>, ao
+ ilustrarmos em express&otilde;es regulares.</para>
+ </step>
+
+ <step>
+ <para>Reinicie o sistema com o novo
+ <foreignphrase>kernel</foreignphrase>, e
+ pronto.</para>
+ </step>
+ </procedure>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="create-snd0">
+ <para>Por que motivo n&atilde;o consigo criar a device
+ snd0?</para>
+ </question>
+
+ <answer>
+ <para>Simples, porque n&atilde;o existe a device
+ <devicename>snd</devicename>. Esse nome &eacute; usado
+ para identificar o conjunto de devices que comp&otilde;em
+ os drivers de som do FreeBSD, como as devices
+ <devicename>mixer</devicename>,
+ <devicename>sequencer</devicename>, e
+ <devicename>dsp</devicename>.</para>
+
+ <para>Para criar tais devices, basta executar:</para>
+
+ <screen>&prompt.root; <userinput>cd /dev</userinput>
+&prompt.root; <userinput>sh MAKEDEV snd0</userinput></screen>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="reread-rc">
+ <para>Como posso reler o <filename>/etc/rc.conf</filename> e
+ reiniciar o <filename>/etc/rc</filename> sem rebootar o
+ sistema?</para>
+ </question>
+
+ <answer>
+ <para>V&aacute; para o modo monousu&aacute;rio e volte para
+ o modo multiusu&aacute;rio.</para>
+
+ <para>&Eacute; simples; no console, fa&ccedil;a:</para>
+
+ <screen>&prompt.root; <userinput>shutdown now</userinput>
+(Note: without -r or -h)
+
+&prompt.root; <userinput>return</userinput>
+&prompt.root; <userinput>exit</userinput></screen>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="sandbox">
+ <para>O que &eacute; uma sandbox?</para>
+ </question>
+
+ <answer>
+ <para><quote>Sandbox</quote> &eacute; um jarg&atilde;o usado
+ em discuss&otilde;es pertinentes &agrave; seguran&ccedil;a
+ de sistemas. Pode significar duas coisas:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Um processo enquadrado em um conjunto de paredes
+ virtuais que s&atilde;o criadas para prevenir que
+ algum usu&aacute;rio, ao explorar alguma
+ inconformidade do processo, possa tamb&eacute;m
+ explorar e obter privil&eacute;gios no sistema
+ operacional como um todo.</para>
+
+ <para>O processo deve conseguir <quote>rodar</quote>
+ dentro dessas paredes, ou seja, nada que o processo
+ possa fazer ao executar seu c&oacute;digo, pode ser
+ capaz de violar tais paredes. Dessa forma n&atilde;o
+ &eacute; necess&aacute;ria uma auditoria detalhada do
+ c&oacute;digo e das a&ccedil;&otilde;es do processo
+ para que se possa realizar algumas
+ afirma&ccedil;&otilde;es pertinentes &agrave;
+ seguran&ccedil;a de tal sistema.</para>
+
+ <para>Tais paredes podem ser a
+ identifica&ccedil;&atilde;o de um usu&aacute;rio
+ (userid), por exemplo. Essa &eacute; a
+ defini&ccedil;&atilde;o de sandbox usada nas
+ p&aacute;ginas de manuais do named e de
+ security.</para>
+
+ <para>Observe o servi&ccedil;o <literal>ntalk</literal>,
+ como exemplo (veja o /etc/inetd.conf). Esse
+ servi&ccedil;o costumava ser executado com userid do
+ <username>root</username>. Hoje em dia o processo
+ roda com o userid do <username>tty</username>. O
+ usu&aacute;rio <username>tty</username>, portanto,
+ &eacute; uma sandbox criada para dificultar qualquer
+ atividade de um usu&aacute;rio malicioso que por
+ ventura consiga acesso ao sistema por meio do ntalk.
+ Com essa sandbox, uma viola&ccedil;&atilde;o de
+ seguran&ccedil;a bem sucedida via
+ <literal>ntalk</literal> dificultaria qualquer
+ a&ccedil;&atilde;o tomada al&eacute;m das
+ poss&iacute;veis com o userid do
+ <username>tty</username>.</para>
+ </listitem>
+
+ <listitem>
+ <para>Um processo criado dentro de um ambiente de
+ simula&ccedil;&atilde;o. Essa &eacute; uma
+ situa&ccedil;&atilde;o mais complexa. Basicamente
+ implica que qualquer pessoa m&aacute; intencionada que
+ consiga explorar tal processo, acreditar&aacute; que
+ pode obter acesso &agrave; todo o ambiente, nas na
+ verdade, estar&aacute; apenas acessando um sistema de
+ simula&ccedil;&atilde;o, n&atilde;o alterando nenhum
+ dado real.</para>
+
+ <para>A forma mais comum de conseguir criar um ambiente
+ simulado como esse, &eacute; criando um
+ subdiret&oacute;rio &agrave; partir de onde o processo
+ consiga acessar (uma c&oacute;pia de) qualquer arquivo
+ do sistema que por ventura ele precise, e executar
+ esse processo simulando um diret&oacute;rio raiz (ou
+ seja, para o processo, o <filename>/</filename>
+ ser&aacute; o subdiret&oacute;rio determinado, e
+ n&atilde;o o verdadeiro <filename>/</filename> do
+ sistema).</para>
+
+ <para>Outra situa&ccedil;&atilde;o comum &eacute; montar
+ um sistema de arquivos base com apenas
+ permiss&atilde;o de leitura, e depois criar um outro
+ sistema de arquivos em uma camada superior, com acesso
+ de escrita/leitura, dando ao processo a
+ impress&atilde;o de poder ler/escrever em todo o
+ sistema de arquivos. Apenas o processo em
+ quest&atilde;o percebe esse ambiente, enquanto os
+ outros n&atilde;o s&atilde;o necessariamente
+ ludibriados.</para>
+
+ <para>A inten&ccedil;&atilde;o &eacute; que tais sandbox
+ sejam t&atilde;o transparentes que qualquer
+ usu&aacute;rio (ou hacker) n&atilde;o consiga perceber
+ que est&aacute; dentro de uma.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Os sistemas Unix costumam implementar esses dois
+ principais tipos de sandbox, um em n&iacute;vel de
+ processo e o outro, muito comum, em n&iacute;vel de
+ userid.</para>
+
+ <para>Cada processo Unix &eacute; completamente separado dos
+ outros, por meio de algum tipo de parede de
+ seguran&ccedil;a. Um processo nunca modifica o
+ espa&ccedil;o de endere&ccedil;amento de outro, diferente
+ do ambiente Windows onde cada processo pode facilmente
+ sobrescrever endere&ccedil;os de outros processos, fazendo
+ o sistema travar.</para>
+
+ <para>Cada processo Unix &eacute; de propriedade de um
+ userid em particular. Caso o userid n&atilde;o seja do
+ <username>root</username>, ele serve de parede de
+ seguran&ccedil;a em rela&ccedil;&atilde;o aos processos
+ pertencentes a outros usu&aacute;rios. Os userid
+ tamb&eacute;m s&atilde;o usados para proteger dados
+ armazenados em disco.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="securelevel">
+ <para>O que &eacute; <literal>securelevel</literal>
+ (n&iacute;vel de seguran&ccedil;a do sistema)?</para>
+ </question>
+
+ <answer>
+ <para><literal>securelevel</literal> (n&iacute;vel de
+ seguran&ccedil;a do sistema) &eacute; um mecanismo de
+ seguran&ccedil;a implementado no
+ <foreignphrase>kernel</foreignphrase> do FreeBSD.
+ Basicamente, quando o <literal>securelevel</literal>
+ &eacute; positivo, o <foreignphrase>kernel</foreignphrase>
+ restringe algumas tarefas do sistema; nem mesmo o
+ superusu&aacute;rio (por exemplo, o
+ <username>root</username>) tem permiss&atilde;o de
+ realizar tais tarefas. Na data que este
+ <literal>FAQ</literal> foi escrito, o mecanismo de
+ <literal>securelevel</literal> do FreeBSD era capaz de,
+ entre outras coisas, limitar as habilidades de:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>retirar algumas flags de arquivos, como a
+ <literal>schg</literal> (flag de imutabilidade do
+ sistema),</para>
+ </listitem>
+
+ <listitem>
+ <para>escrever na mem&oacute;ria do
+ <foreignphrase>kernel</foreignphrase> por meio do
+ <devicename>/dev/mem</devicename> e
+ <devicename>/dev/kmem</devicename>,</para>
+ </listitem>
+
+ <listitem>
+ <para>carregar m&oacute;dulos do
+ <foreignphrase>kernel</foreignphrase>, e</para>
+ </listitem>
+
+ <listitem>
+ <para>alterar regras de Firewall do
+ &man.ipfirewall.4;.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Para verificar o estado do
+ <literal>securelevel</literal> (n&iacute;vel de
+ seguran&ccedil;a do sistema) em um sistema em funcionando,
+ simplesmente execute o seguinte comando:</para>
+
+ <screen>&prompt.root; <userinput>sysctl kern.securelevel</userinput></screen>
+
+ <para>A sa&iacute;da apresentar&aacute; o nome da
+ vari&aacute;vel do &man.sysctl.8; (nesse caso,
+ <varname>kern.securelevel</varname>) e um n&uacute;mero.
+ Esse &uacute;ltimo ser&aacute; o valor atual do
+ n&iacute;vel de seguran&ccedil;a do
+ <foreignphrase>kernel</foreignphrase> do FreeBSD. Caso
+ esse valor seja positivo (maior que 0), ao menos algumas
+ das caracter&iacute;sticas dos n&iacute;veis de
+ seguran&ccedil;a estar&atilde;o habilitadas.</para>
+
+ <para>Os n&iacute;veis de seguran&ccedil;a n&atilde;o podem
+ ser diminu&iacute;dos em um sistema que est&aacute;
+ funcionando se isso fosse poss&iacute;vel o
+ <literal>securelevel</literal> (n&iacute;vel de
+ seguran&ccedil;a do sistema) perderia sua funcionalidade.
+ Caso seja necess&aacute;rio executar alguma tarefa que
+ necessite que o n&iacute;vel de seguran&ccedil;a seja
+ n&atilde;o-positivo (por exemplo, um
+ <maketarget>installworld</maketarget> ou alterar a data do
+ sistema) ser&aacute; preciso alterar as
+ defini&ccedil;&otilde;es de <literal>securelevel</literal>
+ (n&iacute;vel de seguran&ccedil;a do sistema) no
+ <filename>/etc/rc.conf</filename> (mais precisamente, as
+ vari&aacute;veis <varname>kern_securelevel</varname> e
+ <varname>kern_securelevel_enable</varname>) e reiniciar o
+ sistema.</para>
+
+ <para>Para obter mais informa&ccedil;&otilde;es quanto aos
+ n&iacute;veis de seguran&ccedil;a e sobre as
+ fun&ccedil;&otilde;es espec&iacute;ficas de cada
+ n&iacute;vel, por gentileza, consulte a p&aacute;gina de
+ manual do &man.init.8;.</para>
+
+ <warning>
+ <para>O <literal>securelevel</literal> (n&iacute;vel de
+ seguran&ccedil;a do sistema) n&atilde;o &eacute; uma
+ bala de prata; ele tem v&aacute;rias defici&ecirc;ncias
+ &oacute;bvias. A mais frequ&ecirc;nte &eacute; provocar
+ uma falsa sensa&ccedil;&atilde;o de
+ seguran&ccedil;a.</para>
+
+ <para>Um dos maiores problemas, e portanto que deve ser
+ bem observada pelo administrador do sistema, &eacute;
+ que, para que o <literal>securelevel</literal>
+ (n&iacute;vel de seguran&ccedil;a do sistema) se torne
+ efetivo, todos os arquivos usados pelo processo de
+ inicializa&ccedil;&atilde;o at&eacute; que os
+ n&iacute;veis de seguran&ccedil;a se tornem positivos,
+ devem estar seguros. Se um usu&aacute;rio que deseja
+ atacar o sistema, conseguir que seu c&oacute;digo seja
+ executado antes que o n&iacute;vel de seguran&ccedil;a
+ seja definido (o que ocorre pouco depois do processo de
+ inicializa&ccedil;&atilde;o, visto que algumas
+ fun&ccedil;&otilde;es que o sistema precisa realizar,
+ n&atilde;o podem ser iniciadas com um n&iacute;vel
+ elevado de seguran&ccedil;a), a prote&ccedil;&atilde;o
+ do <literal>securelevel</literal> (n&iacute;vel de
+ seguran&ccedil;a do sistema) ser&aacute; invalidada.
+ Por outro lado, a tarefa de assegurar que todos os
+ arquivos necess&aacute;rios pelo processo de
+ inicializa&ccedil;&atilde;o estejam em conformidade,
+ n&atilde;o &eacute; tecnicamente imposs&iacute;vel, mas,
+ O processo de manuten&ccedil;&atilde;o de um ambiente em
+ tais condi&ccedil;&otilde;es se tornaria um pesadelo,
+ visto que seria necess&aacute;rio baixar o sistema, no
+ m&iacute;nimo para modo monousu&aacute;rio sempre que
+ fosse necess&aacute;rio modificar os arquivos de
+ configura&ccedil;&atilde;o do mesmo.</para>
+
+ <para>Esse e outros pontos s&atilde;o freq&uuml;entemente
+ discutidos nas listas do FreeBSD, em especial na
+ freebsd-security. Por gentileza, queira fazer uma busca
+ no hist&oacute;rico da lista, <ulink
+ url="../../../../search/index.html">clicando
+ aqui</ulink>, para uma discuss&atilde;o extensa sobre
+ o assunto. Algumas pessoas est&atilde;o
+ esperan&ccedil;osas de que o securelevel logo
+ ser&aacute; afastado, em favor de um mecanismo de
+ seguran&ccedil;a mais refinado, mas as coisas ainda
+ est&atilde;o confusas a este respeito.</para>
+
+ <para>Considere-se advertido.</para>
+ </warning>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="release-candidate">
+ <para>Tentei atualizar meu sistema para o &uacute;ltimo
+ -STABLE, mas ele se tornou -RC ou -PRERELEASE! O que
+ est&aacute; havendo?</para>
+ </question>
+
+ <answer>
+ <para>A resposta mais curta: &Eacute; s&oacute; um nome, RC
+ &eacute; um acr&ocirc;nimo para <quote>Release
+ Candidate</quote>. Significa que uma nova vers&atilde;o
+ est&aacute; eminente. No FreeBSD, -PRERELEASE &eacute;
+ tipicamente um sinonimo de c&oacute;digo congelado antes
+ de uma nova vers&atilde;o. (Em algumas vers&otilde;es, o
+ t&iacute;tulo -BETA foi usado sob as mesmas
+ circunst&acirc;ncias em que o -PRERELEASE seria).</para>
+
+ <para>A resposta longa: O FreeBSD normalmente deriva suas
+ vers&otilde;es de duas fontes de origem. As
+ vers&otilde;es principais, ponto-zero, como o 3.0-RELEASE
+ e o 4.0-RELEASE que s&atilde;o marcadas inicialmente como
+ o topo da cadeia de desenvolvimento, normalmente chamados
+ de <link linkend="current">-CURRENT</link>. As
+ vers&otilde;es menores (como 3.1-RELEASE ou 4.2-RELEASE),
+ s&atilde;o criados a partir do
+ <foreignphrase>snapshot</foreignphrase> mais recente da
+ ramifica&ccedil;&atilde;o ativa marcada como <link
+ linkend="stable">-STABLE</link>. A partir do
+ 4.3-RELEASE, cada vers&atilde;o conta tamb&eacute;m com
+ sua pr&oacute;pria ramifica&ccedil;&atilde;o, que pode ser
+ acessada por usu&aacute;rios que queiram apenas um
+ n&iacute;vel extremamente conservador de desenvolvimento
+ (tipicamente, apenas consultores de
+ seguran&ccedil;a).</para>
+
+ <para>Quando uma vers&atilde;o est&aacute; para ser criada,
+ a ramifica&ccedil;&atilde;o de onde ela se derivar&aacute;
+ deve passar por um certo processo. Parte desse processo
+ &eacute; o congelamento do c&oacute;digo. Quando o
+ processo de congelamento do c&oacute;digo se inicia, o
+ nome desta ramifica&ccedil;&atilde;o &eacute; alterado
+ para indicar que ela est&aacute; para se tornar uma
+ vers&atilde;o. Por exemplo, se a
+ ramifica&ccedil;&atilde;o usada chamava-se 4.5-STABLE, ela
+ passa a se chamar 4.6-PRERELEASE para indicar que o
+ c&oacute;digo est&aacute; congelado, e indicar que testes
+ extras, pr&eacute; vers&atilde;o, est&atilde;o
+ acontecendo. Durante esse per&iacute;odo
+ altera&ccedil;&otilde;es pertinentes a
+ corre&ccedil;&otilde;es de problemas s&atilde;o
+ realizadas. Quando o novo c&oacute;digo est&aacute;
+ pronto para ser lan&ccedil;ado, ele passa a ser chamado de
+ -RC (nesse exemplo, 4.6-RC), indicando que provavelmente a
+ nova vers&atilde;o ser&aacute; criada a partir do
+ c&oacute;digo atual. Nesse est&aacute;gio, apenas os
+ problemas mais s&eacute;rios s&atilde;o corrigidos.
+ Depois que a vers&atilde;o &eacute; finalmente
+ lan&ccedil;ado (4.6-RELEASE nesse exemplo) e a nova
+ ramifica&ccedil;&atilde;o com o nome dessa vers&atilde;o
+ foi criada, ela passa a se chamar -STABLE; 4.6-STABLE no
+ nosso exemplo.</para>
+
+ <para>Para obter mais informa&ccedil;&otilde;es sobre a
+ numera&ccedil;&atilde;o das vers&otilde;es e sobre as
+ v&aacute;rias ramifica&ccedil;&otilde;es CVS, por
+ gentileza, refira-se ao artigo sobre a <ulink
+ url="../../articles/releng/article.html">Engenharia de
+ Releases</ulink>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="kernel-chflag-failure">
+ <para>Tentei instalar um novo
+ <foreignphrase>kernel</foreignphrase>, mas a rotina de
+ chflags falhou. O que posso fazer?</para>
+ </question>
+
+ <answer>
+ <para>A resposta curta: provavelmente voc&ecirc; est&aacute;
+ com o <literal>securelevel</literal> (n&iacute;vel de
+ seguran&ccedil;a do sistema) acima do 0. Reinicie o
+ sistema em modo mono usu&aacute;rio e instale o
+ <foreignphrase>kernel</foreignphrase>.</para>
+
+ <para>A resposta mais completa: O FreeBSD n&atilde;o permite
+ que as flags do sistema sejam alteradas caso o
+ <literal>securelevel</literal> (n&iacute;vel de
+ seguran&ccedil;a do sistema) seja maior que 0. O
+ n&iacute;vel atual do <literal>securelevel</literal>
+ (n&iacute;vel de seguran&ccedil;a do sistema) pode ser
+ verificado com o comando:</para>
+
+ <screen>&prompt.root; <userinput>sysctl kern.securelevel</userinput></screen>
+
+ <para>O <literal>securelevel</literal> (n&iacute;vel de
+ seguran&ccedil;a do sistema) n&atilde;o pode ser
+ diminu&iacute;do; &eacute; necess&aacute;rio iniciar o
+ sistema em modo mono usu&aacute;rio, ou alterar o
+ n&iacute;vel de seguran&ccedil;a em
+ <filename>/etc/rc.conf</filename>, depois reiniciar. Veja
+ a p&aacute;gina de manual do &man.init.8; para obter
+ informa&ccedil;&otilde;es mais detalhadas sobre o
+ <literal>securelevel</literal> (n&iacute;vel de
+ seguran&ccedil;a do sistema), e veja tamb&eacute;m o
+ <filename>/etc/defaults/rc.conf</filename> e a
+ p&aacute;gina de manual do &man.rc.conf.5; para obter mais
+ informa&ccedil;&otilde;es quanto ao rc.conf.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="kernel-securelevel-time">
+ <para>N&atilde;o consigo alterar mais de um segundo na hora
+ no meu sistema. O que posso fazer?</para>
+ </question>
+
+ <answer>
+ <para>A resposta curta: provavelmente o sistema est&aacute;
+ com <literal>securelevel</literal> (n&iacute;vel de
+ seguran&ccedil;a do sistema) acima do 1. Reinicie o
+ sistema em modo mono usu&aacute;rio e altere a
+ data.</para>
+
+ <para>A resposta mais completa: O FreeBSD n&atilde;o permite
+ que a hora do sistema seja alterada por mais de um segundo
+ quando o <literal>securelevel</literal> (n&iacute;vel de
+ seguran&ccedil;a do sistema) do
+ <foreignphrase>kernel</foreignphrase> &eacute; maior que
+ 1. O n&iacute;vel atual do <literal>securelevel</literal>
+ (n&iacute;vel de seguran&ccedil;a do sistema) pode ser
+ verificado com o comando:</para>
+
+ <screen>&prompt.root; <userinput>sysctl kern.securelevel</userinput></screen>
+
+ <para>O <literal>securelevel</literal> (n&iacute;vel de
+ seguran&ccedil;a do sistema) n&atilde;o pode ser
+ diminu&iacute;do; &eacute; necess&aacute;rio iniciar o
+ sistema em modo mono usu&aacute;rio, ou alterar o
+ n&iacute;vel de seguran&ccedil;a em
+ <filename>/etc/rc.conf</filename>, depois reiniciar. Veja
+ a p&aacute;gina de manual do &man.init.8; para obter
+ informa&ccedil;&otilde;es mais detalhadas sobre o
+ <literal>securelevel</literal> (n&iacute;vel de
+ seguran&ccedil;a do sistema), e veja tamb&eacute;m o
+ <filename>/etc/defaults/rc.conf</filename> e a
+ p&aacute;gina de manual do &man.rc.conf.5; para obter mais
+ informa&ccedil;&otilde;es quanto ao rc.conf.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="statd-mem-leak">
+ <para>Por que motivo o <command>rpc.statd</command>
+ est&aacute; usando 256 megabytes de mem&oacute;ria?</para>
+ </question>
+
+ <answer>
+ <para>N&atilde;o, m&atilde;o existe nenhuma falha no uso da
+ mem&oacute;ria, e ele n&atilde; &eacute; usando 256MB de
+ RAM. Ele simplesmente gosta de (ele sempre faz isso)
+ mapear uma quantia obscena de mem&oacute;ria em seu
+ endere&ccedil;amento, simplesmente por conveni&ecirc;ncia.
+ N&atilde;o existe nada terrivelmente errado com esse
+ comportamento, de um ponto de vista t&eacute;cnico; a
+ &uacute;nica quest&atilde;o &eacute; que assim o
+ &man.top.1; e o &man.ps.1; ficam completamente
+ perdidos.</para>
+
+ <para>O &man.rpc.statd.8; mapeia seu arquivo de status
+ (localizado sob o <filename>/var</filename>) no seu
+ endere&ccedil;amento para economiza
+ preocupa&ccedil;&otilde;es sobre esse remapeamento em um
+ segundo momento, quando o arquivo precisa crescer. O
+ mapeamento &eacute; feito a um valor enorme. Analisando o
+ c&oacute;digo fonte, podemos evidenciar que o tamanho do
+ argumento do &man.mmap.2; &eacute;
+ <literal>0x10000000</literal>, ou exatos 256MB em sistemas
+ de arquitetura IA32.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="unsetting-schg">
+ <para>Por que eu n&atilde;o posso retirar a flag
+ <literal>schg</literal> dos arquivos?</para>
+ </question>
+
+ <answer>
+ <para>O sistema est&aacute; sendo executado em um
+ n&iacute;vel de seguran&ccedil;a elevado (maior que 0).
+ Diminua o n&iacute;vel de seguran&ccedil;a e tente
+ novamente. Para obter mais informa&ccedil;&otilde;es, por
+ gentileza, refira-se &agrave; se&ccedil;&atilde;o sobre
+ <link linkend="securelevel"><literal>securelevel</literal>
+ (n&iacute;vel de seguran&ccedil;a do sistema)</link> do
+ <literal>FAQ</literal>, e &agrave; p&aacute;gina de manual
+ do &man.init.8;</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="ssh-shosts">
+ <para>Por que a autentica&ccedil;&atilde;o do SSH via
+ <filename>.shosts</filename> n&atilde;o funciona por
+ padr&atilde;o nas vers&otilde;es recentes do
+ FreeBSD?</para>
+ </question>
+
+ <answer>
+ <para>O motivo &eacute; simples. A
+ autentica&ccedil;&atilde;o via
+ <filename>.shosts</filename> n&atilde;o funciona mais por
+ padr&atilde;o porque o &man.ssh.1; n&atilde;o est&aacute;
+ instalado com suid de root por padr&atilde;o.
+ Raz&otilde;es &oacute;bvias de seguran&ccedil;a. Para
+ <quote>corrigir</quote> isto, pode-se fazer o
+ seguinte:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Para uma altera&ccedil;&atilde;o permanente,
+ defina <makevar>ENABLE_SUID_SSH</makevar> como
+ <literal>true</literal> no arquivo
+ <filename>/etc/make.conf</filename> e recompile o ssh
+ (ou execute um make world).</para>
+ </listitem>
+
+ <listitem>
+ <para>Uma corre&ccedil;&atilde;o tempor&aacute;ria pode
+ ser mudar os modos de permiss&atilde;o do&nbsp;
+ <filename>/usr/bin/ssh</filename> para
+ <literal>4555</literal> simplesmente executando o
+ comando <command>chmod 4555 /usr/bin/ssh</command>
+ logado como <username>root</username>. Depois, defina
+ <makevar>ENABLE_SUID_SSH= true</makevar> no
+ <filename>/etc/make.conf</filename> para que as
+ altera&ccedil;&otilde;es tenham efeito todas as vezes
+ que um make world for feito.</para>
+ </listitem>
+ </itemizedlist>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="vnlru">
+ <para>O que &eacute; o <literal>vnlru</literal>?</para>
+ </question>
+
+ <answer>
+ <para>O <literal>vnlru</literal> limpa e libera os vnodes
+ quando o sistema atinge o limite do
+ <varname>kern.maxvnodes</varname>. Essa thread do
+ <foreignphrase>kernel</foreignphrase> se mant&eacute;m
+ inativa a maior parte do tempo, e s&oacute; se inicia caso
+ exista uma grande quantidade de mem&oacute;ria RAM, e o
+ sistema esteja acessando dezenas de milhares de arquivos
+ pequenos.</para>
+ </answer>
+ </qandaentry>
+ </qandaset>
+ </chapter>
+
+ <chapter id="x">
+ <title>O sistema X, sistema de interface gr&aacute;fica e os
+ Consoles Virtuais</title>
+
+ <qandaset>
+ <qandaentry>
+ <question id="running-X">
+ <para>Quero rodar a interface gr&aacute;fica X, como
+ procedo?</para>
+ </question>
+
+ <answer>
+ <para>A maneira mais f&aacute;cil &eacute; simplesmente
+ especificar o desejo de usar o X durante o processo de
+ instala&ccedil;&atilde;o do FreeBSD.</para>
+
+ <para>Depois disso, leia e siga as instru&ccedil;&otilde;es
+ documentadas na ferramenta <command>xf86config</command>,
+ que auxilia o usu&aacute;rio a configurar o XFree86 para
+ os diversos monitores, placas de v&iacute;deo, mouse e
+ etc, suportados pelo X, sistema de interface
+ gr&aacute;fica.</para>
+
+ <para>Tamb&eacute;m pode ser interessante dar uma olhada no
+ servidor Xaccel. Confira a se&ccedil;&atilde;o do
+ <literal>FAQ</literal> pertinente &agrave; <link
+ linkend="xig">Xi Graphics</link> ou <link
+ linkend="metrox">Metro Link</link> para obter mais
+ detalhes.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="running-X-securelevels">
+ <para><emphasis>Tentei</emphasis> rodar o X, mas o erro
+ <errorname>KDENABIO failed (Operation not
+ permitted)</errorname> sempre aparece, quando eu digito
+ o comando <command>startx</command>. O que posso
+ fazer?</para>
+ </question>
+
+ <answer>
+ <para>Seu sistema est&aacute; rodando com um
+ <literal>securelevel</literal> (n&iacute;vel de
+ seguran&ccedil;a do sistema) elevado, n&atilde;o
+ est&aacute;? &Eacute; imposs&iacute;vel iniciar o X com um
+ secureleve elevado. Para saber exatamente os motivos
+ dessa inviabilidade, por gentileza, de uma olhada na
+ p&aacute;gina de manual do &man.init.8;.</para>
+
+ <para>Ent&atilde;o, a pergunta pode ser sobre o que
+ voc&ecirc; deve fazer nesse caso; basicamente, existem
+ duas escolhas: diminua seu <literal>securelevel</literal>
+ (n&iacute;vel de seguran&ccedil;a do sistema), colocando-o
+ de volta para zero (normalente via
+ <filename>/etc/rc.conf</filename>), ou ent&atilde;o inicie
+ o &man.xdm.1; durante o processo de
+ inicializa&ccedil;&atilde;o do sistema (antes que o
+ <literal>securelevel</literal> (n&iacute;vel de
+ seguran&ccedil;a do sistema) seja elevado).</para>
+
+ <para>Veja a pergunta <xref linkend="xdm-boot">, para obter
+ mais informa&ccedil;&otilde;es sobre como iniciar o
+ &man.xdm.1; durante o boot.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="x-and-moused">
+ <para>Por que meu mouse n&atilde;o funciona com o X?</para>
+ </question>
+
+ <answer>
+ <para>Caso esteja usando o syscons (o driver padr&atilde;o
+ do console), o FreeBSD pode ser configurado para suportar
+ um cursor de mouse em cada tela virtual. Com o
+ int&uacute;ito de evitar conflitos com o X, o syscons
+ suporta um dispositivo virtual, chamado
+ <devicename>/dev/sysmouse</devicename>. Todos os eventos
+ relacionados ao mouse, que o sistema recebe, s&atilde;o
+ antes enviados para o device sysmouse, por meio do moused.
+ Se a inten&ccedil;&atilde;o &eacute; usar o mouse em um ou
+ mais consoles virtuais, e tamb&eacute;m usar o X, leia
+ <xref linkend="moused" remap="another section"> e
+ configure o moused.</para>
+
+ <para>Depois, edite o <filename>/etc/XF86Config</filename> e
+ garanta que existam as seguintes linhas no arquivo:</para>
+
+ <programlisting>Section Pointer
+Protocol "SysMouse"
+Device "/dev/sysmouse"
+.....</programlisting>
+
+ <para>O exemplo acima refere-se ao XFree86 3.3.2 e
+ posteriores. Para vers&otilde;es anteriores, a
+ cl&aacute;usula <emphasis>Protocol</emphasis> deve ser
+ substitu&iacute;da por
+ <emphasis>MouseSystems</emphasis>.</para>
+
+ <para>Alguns preferem usar a device
+ <devicename>/dev/mouse</devicename> sob o X. Para que
+ isso funcione, fa&ccedil;a um link de
+ <devicename>/dev/mouse</devicename> para
+ <devicename>/dev/sysmouse</devicename> (veja a
+ p&aacute;gina de manual do &man.sysmouse.4;).</para>
+
+ <screen>&prompt.root; <userinput>cd /dev</userinput>
+&prompt.root; <userinput>rm -f mouse</userinput>
+&prompt.root; <userinput>ln -s sysmouse mouse</userinput></screen>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="x-and-wheel">
+ <para>Meu mouse possui aquela bolinha (esfera)
+ simp&aacute;tica de scroll. Posso usa-lo no X?</para>
+ </question>
+
+ <answer>
+ <para>Pode, mas &eacute; necess&aacute;rio customizar os
+ programas do X. Veja a p&aacute;gina do Colas Nahaboo
+ sobre o assunto (<ulink
+ URL="http://www.inria.fr/koala/colas/mouse-wheel-scroll/">
+ http://www.inria.fr/koala/colas/mouse-wheel-scroll/</ulink>.</para>
+
+ <para>Caso queira usar o programa
+ <application>imwheel</application>, simplesmente siga os
+ seguintes passos:</para>
+
+ <orderedlist>
+ <listitem>
+ <para>Traduza os eventos da esfera de scroll:</para>
+ <para>O programa <application>imwheel</application>
+ funciona assim: ele traduz os bot&otilde;es 4 e 5 do
+ mouse em eventos do teclado do computador. Dessa
+ forma &eacute; necess&aacute;rio assegurar que o
+ driver do mouse esteja traduzindo os eventos da esfera
+ de scroll para os eventos dos bot&otilde;es 4 e 5, ou
+ seja assimilar suas fun&ccedil;&otilde;es. Existem
+ duas formas de fazer isso, a primeira &eacute; usando
+ o &man.moused.8; para fazer essas
+ assimila&ccedil;&otilde;es, e a segunda, &eacute; usar
+ o pr&oacute;prio X para traduzir os eventos.</para>
+
+ <orderedlist>
+ <listitem>
+ <para>Usando o &man.moused.8; para traduzir os
+ eventos da bolinha de scroll.</para>
+
+ <para>Para que o &man.moused.8; fa&ccedil;a as
+ assimila&ccedil;&otilde;es de eventos, basta
+ adicionar as op&ccedil;&otilde;es <option>-z
+ 4</option> nas op&ccedil;&otilde;es de linhas de
+ comando, usadas para iniciar o &man.moused.8;.
+ Por exemplo, se normalmente voc&ecirc; inicia o
+ &man.moused.8; via <command>moused -p
+ /dev/psm0</command> basta substituir o comando
+ por <command>moused -p /dev/psm0 -z 4</command>.
+ Se o &man.moused.8; &eacute; executado
+ automaticamente durante o processo de
+ inicializa&ccedil;&atilde;o do FreeBSD, por meio
+ das entradas definidas no
+ <filename>/etc/rc.conf</filename>, basta adicionar
+ <option>-z 4</option> na vari&aacute;vel
+ <varname>moused_flags</varname> do
+ <filename>/etc/rc.conf</filename>.</para>
+
+ <para>Voc&ecirc; precisa agora dizer para o X que
+ voc&ecirc; tem o bot&atilde;o 5 no mouse. Para
+ fazer isto, simplesmente adicione a linha
+ <literal>Buttons 5</literal> para a
+ se&ccedil;&atilde;o <quote>Pointer</quote> do
+ <filename>/etc/XF86Config</filename>. Por
+ exemplo, voc&ecirc; pode seguir a
+ se&ccedil;&atilde;o <quote>Pointer</quote> em
+ <filename>/etc/XF86Config</filename>.</para>
+
+ <example>
+ <title>Se&ccedil;&atilde;o <quote>Pointer</quote>
+ no XF86Config para o mouse com bolinha de
+ scroll, da s&eacute;rie 3.3.x do XFree86, usando
+ a tradu&ccedil;&atilde;o se;rie 3.3.x do
+ XFree86, usando a tradu&ccedil;&atilde;o por
+ meio do moused</title>
+
+ <programlisting>Section "Pointer"
+Protocol "SysMouse"
+Device "/dev/sysmouse"
+Buttons 5
+EndSection</programlisting>
+ </example>
+
+ <example>
+ <title>Se&ccedil;&atilde;o
+ <quote>InputDevice</quote> do XF86Config para
+ usar a tradu&ccedil;&atilde;o do X Server na
+ s&eacute;rie 4.X do XFree86.</title>
+
+ <programlisting>Section "InputDevice"
+Identifier "Mouse1"
+Driver "mouse"
+Option "Protocol" "auto"
+Option "Device" "/dev/sysmouse"
+Option "Buttons" "5"
+EndSection</programlisting>
+ </example>
+
+ <example>
+ <title>Exemplo de <quote>.emacs</quote> para usar
+ paginamento em mouse com bolinha de
+ scroll.</title>
+
+ <programlisting>;; wheel mouse
+(global-set-key [mouse-4] 'scroll-down)
+(global-set-key [mouse-5] 'scroll-up)</programlisting>
+ </example>
+ </listitem>
+
+ <listitem>
+ <para>Usando o X Server para traduzir os eventos da
+ esfera de scroll.</para>
+
+ <para>Se voc&ecirc; n&atilde;o usa o &man.moused.8;
+ ou simplesmente n&atilde;o quer que ele
+ fa&ccedil;a a tradu&ccedil;&atilde;o de eventos,
+ &eacute; poss&iacute;vel que o servidor X
+ fa&ccedil;a o trabalho, no lugar do
+ &man.moused.8;. Essa a&ccedil;&atilde;o requer
+ algumas altera&ccedil;&otilde;es no seu arquivo
+ <filename>/etc/XF86Config</filename>. Primeiro,
+ &eacute; necess&aacute;rio definir o protocolo
+ apropriado para o mouse. A maioria dos mouses com
+ esferas de scroll usam o protocolo
+ <quote>IntelliMouse</quote>. De qualquer forma, o
+ XFree86 n&atilde;o suporta outros protocolos como
+ o <quote>MouseManPlusPS/2</quote> dos MouseMan+
+ Logitechfor. Uma vez definido o protocolo,
+ &eacute; necess&aacute;rio criar uma entrada
+ apropriada na se&ccedil;&atilde;o
+ <quote>Pointer</quote>.</para>
+
+ <para>Depois, &eacute; preciso definir que o
+ servidor X deve remapear os eventos 4 e 5 do
+ mouse. A op&ccedil;&atilde;o
+ <varname>ZAxisMapping</varname> &eacute; usada
+ para essa finalidade.</para>
+
+ <para>Por exemplo, caso n&atilde;o estejas usando o
+ &man.moused.8; e exista um IntelliMouse ligado na
+ PS/2 do seu computador, use o seguinte, no
+ <filename>/etc/XF86Config</filename>.</para>
+
+ <example>
+ <title>Se&ccedil;&atilde;o <quote>Pointer</quote>
+ do <filename>XF86Config</filename> com um mouse
+ com scroll na s&eacute;rie 3.3.x do
+ XFree86.</title>
+
+ <programlisting>Section "Pointer"
+Protocol "IntelliMouse"
+Device "/dev/psm0"
+ZAxisMapping 4 5
+EndSection</programlisting>
+ </example>
+
+ <example>
+ <title>Se&ccedil;&atilde;o
+ <quote>InputDevice</quote> do
+ <filename>XF86Config</filename> com um mouse com
+ scroll na s&eacute;rie 4.x do XFree86.</title>
+
+ <programlisting>Section "InputDevice"
+Identifier "Mouse1"
+Driver "mouse"
+Option "Protocol" "auto"
+Option "Device" "/dev/psm0"
+Option "ZAxisMapping" "4 5"
+EndSection</programlisting>
+ </example>
+
+ <example>
+ <title>Arquivo <quote>.emacs</quote> para usar
+ paginamento em mouse com bolinha de
+ scroll.</title>
+
+ <programlisting>;; wheel mouse
+(global-set-key [mouse-4] 'scroll-down)
+(global-set-key [mouse-5] 'scroll-up)</programlisting>
+ </example>
+ </listitem>
+ </orderedlist>
+ </listitem>
+
+ <listitem>
+ <para>Instale o
+ <application>imwheel</application></para>
+
+ <para>Depois, instale o
+ <application>imwheel</application> &agrave; partir da
+ cole&ccedil;&atilde;o de <literal>ports</literal> do
+ FreeBSD; ele pode ser encontrado sob a categoria
+ <filename>x11</filename>. A finalidade desse programa
+ &eacute; assimilar os eventos dos bot&otilde;es 4 e 5
+ do mouse, com os eventos de alguma tecla do teclado.
+ Por exemplo, o programa deve enviar o evento da tecla
+ <keycap>Page Up</keycap> quando a esfera for deslocada
+ para frente. O <application>imwheel</application> usa
+ um arquivo de configura&ccedil;&otilde;es para
+ assimilar esses eventos &agrave; uma tecla, de forma
+ que possam ser configuradas a&ccedil;&otilde;es
+ diferentes (teclas diferentes) para
+ aplica&ccedil;&otilde;es diferentes. O arquivo de
+ configura&ccedil;&atilde;o padr&atilde;o do
+ <application>imwheel</application> &eacute; instalado
+ em <filename>/usr/X11R6/etc/imwheelrc</filename>. Ele
+ pode ser copiado para
+ <filename>~/.imwheelrc</filename> e editado, caso se
+ deseja customizar o arquivo de
+ configura&ccedil;&atilde;o. O formato esperado para o
+ arquivo &eacute; documentado na p&aacute;gina de
+ manual do &man.imwheel.1;.</para>
+ </listitem>
+
+ <listitem>
+ <para>Configure o <application>Emacs</application> para
+ trabalhar em conjunto com o
+ <application>Imwheel</application>
+ (<emphasis>optional</emphasis>)</para>
+
+ <para>Se voc&ecirc; usa o
+ <application>emacs</application> ou o
+ <application>Xemacs</application>, ser&aacute;
+ necess&aacute;rio adicionar uma breve
+ se&ccedil;&atilde;o ao arquivo
+ <filename>~/.emacs</filename>. No
+ <application>emacs</application>, adicione o
+ seguinte:</para>
+
+ <example>
+ <title>Configura&ccedil;&atilde;o do
+ <application>Emacs</application> para
+ <application>Imwheel</application></title>
+
+ <programlisting>;;; For imwheel
+(setq imwheel-scroll-interval 3)
+(defun imwheel-scroll-down-some-lines ()
+ (interactive)
+ (scroll-down imwheel-scroll-interval))
+(defun imwheel-scroll-up-some-lines ()
+ (interactive)
+ (scroll-up imwheel-scroll-interval))
+(global-set-key [?\M-\C-\)] 'imwheel-scroll-up-some-lines)
+(global-set-key [?\M-\C-\(] 'imwheel-scroll-down-some-lines)
+;;; end imwheel section</programlisting>
+ </example>
+
+ <para>Pro <application>Xemacs</application>, adicione o
+ seguinte, no seu arquivo
+ <filename>~/.emacs</filename>:</para>
+
+ <example>
+ <title>Configura&ccedil;&atilde;o do
+ <application>Xemacs</application> para
+ <application>Imwheel</application></title>
+
+ <programlisting>;;; For imwheel
+(setq imwheel-scroll-interval 3)
+(defun imwheel-scroll-down-some-lines ()
+ (interactive)
+ (scroll-down imwheel-scroll-interval))
+(defun imwheel-scroll-up-some-lines ()
+ (interactive)
+ (scroll-up imwheel-scroll-interval))
+(define-key global-map [(control meta \))] 'imwheel-scroll-up-some-lines)
+(define-key global-map [(control meta \()] 'imwheel-scroll-down-some-lines)
+;;; end imwheel section</programlisting>
+ </example>
+ </listitem>
+
+ <listitem>
+ <para>Execute o
+ <application>Imwheel</application></para>
+
+ <para>Basta digitar <command>imwheel</command> em algum
+ terminal X (xterm) para inicia-lo, uma vez que tudo
+ esteja pronto. Imediatamente o programa vai estar
+ efetivo e vai se tornar um processo em segundo plano.
+ Caso queira sempre iniciar o
+ <application>imwheel</application>, basta adicionar o
+ comando no seu arquivo <filename>.xinitrc</filename>
+ ou no <filename>.xsession</filename>. &Eacute;
+ poss&iacute;vel que o
+ <application>imwheel</application> mostre algumas
+ mensagens de advert&ecirc;ncia sobre arquivos PID;
+ elas podem ser seguramente ignoradas, visto que
+ s&atilde;o mensagens que se aplicam &agrave;
+ vers&atilde;o para Linux.</para>
+ </listitem>
+ </orderedlist>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="window-menu-weird">
+ <para>Por qu&ecirc; os menus e caixas de di&aacute;logo do
+ X, sistema de interface gr&aacute;fica n&atilde;o
+ funcionam direito?</para>
+ </question>
+
+ <answer>
+ <para>Tente desativar a tecla <keycap>Num
+ Lock</keycap>.</para>
+
+ <para>Se por padr&atilde;o seu <keycap>Num Lock</keycap>
+ &eacute; ativo na hora do processo de
+ inicializa&ccedil;&atilde;o, adicione a seguinte linha a
+ se&ccedil;&atilde;o <literal>Keyboard</literal> do seu
+ arquivo <filename>XF86Config</filename>.</para>
+
+ <programlisting># Deixar o servidor fazer o trabalho do NumLock. Deve ser usado apenas em versoes anteriores a R6
+ ServerNumLock</programlisting>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="virtual-console">
+ <para>O que &eacute; um console virtual, e como eu crio mais
+ consoles?</para>
+ </question>
+
+ <answer>
+ <para>Consoles virtuais simplesmente permitem que se tenha
+ v&aacute;rias sess&otilde;es simult&acirc;neas em uma
+ mesma m&aacute;quina, sem a necessidade de fazer nada
+ complicado como configurar uma rede ou usar um servidor
+ X.</para>
+
+ <para>Quando o sistema &eacute; iniciado, a primeira
+ a&ccedil;&atilde;o &eacute; apresentar um prompt de login
+ na tela do usu&aacute;rio, t&atilde;o logo todas as
+ mensagens do processo de inicializa&ccedil;&atilde;o sejam
+ apresentadas. Nesse momento &eacute; poss&iacute;vel
+ entrar com seu nome de usu&aacute;rio e senha para
+ come&ccedil;ar trabalhar (ou brincar!) no primeiro console
+ virtual.</para>
+
+ <para>Em algum momento, &eacute; prov&aacute;vel que se
+ deseje iniciar uma outra sess&atilde;o, talvez para ler a
+ documenta&ccedil;&atilde;o de alguma
+ aplica&ccedil;&atilde;o que est&aacute; sendo usada, ou
+ para ler e-mail enquanto a transfer&ecirc;ncia FTP se
+ concl&uacute;i, enfim, qualquer a&ccedil;&atilde;o
+ (a)t&iacute;pica de um sistema multitarefa. Nesse caso,
+ basta pressionar <keycombo
+ action="simul"><keycap>Alt</keycap><keycap>F2</keycap></keycombo>
+ (segure a tecla <keycap>Alt</keycap> e depois aperte a
+ tecla <keycap>F2</keycap>), e outro prompt de login
+ estar&aacute; esperando voc&ecirc; no segundo
+ <quote>console virtual</quote>! Quando quizer alternar de
+ volta &agrave; sess&atilde;o original, digite <keycombo
+ action="simul"><keycap>Alt</keycap><keycap>F1</keycap></keycombo>.</para>
+
+ <para>A instala&ccedil;&atilde;o padr&atilde;o do FreeBSD
+ oferece tr&ecirc;s consoles virtuais j&aacute; habilitados
+ (8 a partir do 3.3-RELEASE), e as teclas <keycombo
+ action="simul"><keycap>Alt</keycap><keycap>F1</keycap></keycombo>,
+
+ <keycombo
+ action="simul"><keycap>Alt</keycap><keycap>F2</keycap></keycombo>,
+ e <keycombo
+ action="simul"><keycap>Alt</keycap><keycap>F3</keycap></keycombo>
+ ir&aacute; alternar entre esses consoles.</para>
+
+ <para>Para habilitar mais consoles, edite o
+ <filename>/etc/ttys</filename> (veja a p&aacute;gina de
+ manual do &man.ttys.5;) e adicione as entradas da
+ <devicename>ttyv4</devicename> &agrave;
+ <devicename>ttyvc</devicename> depois do coment&aacute;rio
+ sobre <quote>Virtual terminals</quote>:</para>
+
+ <programlisting># Edite as entradas existentes para ttyv3 e mude de "off" para "on"
+ttyv3 "/usr/libexec/getty Pc" cons25 on secure
+ttyv4 "/usr/libexec/getty Pc" cons25 on secure
+ttyv5 "/usr/libexec/getty Pc" cons25 on secure
+ttyv6 "/usr/libexec/getty Pc" cons25 on secure
+ttyv7 "/usr/libexec/getty Pc" cons25 on secure
+ttyv8 "/usr/libexec/getty Pc" cons25 on secure
+ttyv9 "/usr/libexec/getty Pc" cons25 on secure
+ttyva "/usr/libexec/getty Pc" cons25 on secure
+ttyvb "/usr/libexec/getty Pc" cons25 on secure</programlisting>
+
+ <para>Use quantos consoles desejar. Quanto mais, maior o
+ uso de recursos; essa &eacute; uma
+ considera&ccedil;&atilde;o relevante quando se tem 8MB de
+ RAM ou menos. Tamb&eacute;m pode ser interessante mudar o
+ terminal de <literal>secure</literal> para
+ <literal>insecure</literal>.</para>
+
+ <important>
+ <para>Caso se deseje usar um servidor X, &eacute;
+ necess&aacute;rio garantir que exista ao menos um
+ terminal virtual fora de uso (ou desligado). Com isso,
+ entenda que, se sua inte&ccedil;&atilde;o for usar
+ consoles virtuais nas suas doze teclas de
+ fun&ccedil;&otilde;es, nada feito; apenas onze
+ poder&atilde;o ser usadas caso deseje-se usar o X na
+ mesma m&aacute;quina.</para>
+ </important>
+
+ <para>A maneira mais simples de desabilitar um console,
+ &eacute; desligando-o. Por exemplo, caso existam 12
+ terminais definidos, como mencionado na
+ situa&ccedil;&atilde;o acima, e se queira usar o servidor
+ X, o mais interessante &eacute; mudar as
+ configura&ccedil;&otilde;es do terminal 12 de:</para>
+
+ <programlisting>ttyvb "/usr/libexec/getty Pc" cons25 on secure</programlisting>
+
+ <para>para:</para>
+
+ <programlisting>ttyvb "/usr/libexec/getty Pc" cons25 off secure</programlisting>
+
+ <para>Caso seu teclado tenha apenas dez teclas de
+ fun&ccedil;&otilde;es, basta encerrar as
+ defini&ccedil;&otilde;es com:</para>
+
+<programlisting>ttyv9 "/usr/libexec/getty Pc" cons25 off secure
+ttyva "/usr/libexec/getty Pc" cons25 off secure
+ttyvb "/usr/libexec/getty Pc" cons25 off secure</programlisting>
+
+ <para>(Claro que as linhas poderiam simplesmente ser
+ apagadas.)</para>
+
+ <para>Uma vez editado o <filename>/etc/ttys</filename>, o
+ passo seguinte &eacute; garantir que existam devices o
+ bastante pros terminais virtuais. A forma mais
+ f&aacute;cil de fazer isso &eacute;:</para>
+
+ <screen>&prompt.root; <userinput>cd /dev</userinput>
+&prompt.root; <userinput>sh MAKEDEV vty12</userinput></screen>
+
+ <para>Em seguida, a maneira mais f&aacute;cil (e mais limpa)
+ de ativar cada um dos consoles virtuais &eacute; reiniciar
+ o sistema. Mas se reiniciar o FreeBSD n&atilde;o &eacute;
+ a inten&ccedil;&atilde;o, basta desligar o servidor X,
+ sistema de interface gr&aacute;fica e executar (logado
+ como <username>root</username>):</para>
+
+ <screen>&prompt.root; <userinput>kill -HUP 1</userinput></screen>
+
+ <para>&Eacute; obrigat&oacute;rio tirar por completo o X,
+ sistema de interface gr&aacute;fica do ar antes de dar
+ esse comando, caso o X esteja sendo usado. Se isso
+ n&atilde;o for feito, o sistema vai parecer que
+ travou.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="vty-from-x">
+ <para>Como posso acessar os consoles virtuais quando eu
+ estiver no X?</para>
+ </question>
+
+ <answer>
+ <para>Use <keycombo action="simul">
+ <keycap>Ctrl</keycap>
+ <keycap>Alt</keycap>
+ <keycap>F<replaceable>n</replaceable></keycap>
+ </keycombo> para alternar de volta para algum console
+ virtual. Por exemplo,
+ <keycombo action="simul">
+ <keycap>Ctrl</keycap>
+ <keycap>Alt</keycap>
+ <keycap>F1</keycap>
+ </keycombo> retornaria ao primeiro console virtual.</para>
+
+ <para>Uma vez de volta ao console textual, pode-se usar
+ <keycombo action="simul">
+ <keycap>Alt</keycap>
+ <keycap>F<replaceable>n</replaceable></keycap>
+ </keycombo> normalmente, para alternar entre os consoles
+ virtuais.</para>
+
+ <para>Pra voltar para sess&atilde;o X basta alternar para o
+ console virtual onde o X est&aacute; sendo executado.
+ Caso o X tenha sido iniciado por linha de comando (por
+ exemplo, com o comando <command>startx</command>) a
+ sess&atilde;o ter&aacute; sido assimilada ao
+ pr&oacute;ximo console virtual fora de uso, e n&atilde;o
+ ao console onde o comando foi digitado. Caso existam oito
+ terminais virtuais ativos, o X estar&aacute; sendo
+ executado no nono. Nesse caso as teclas
+ <keycombo action="simul">
+ <keycap>Alt</keycap>
+ <keycap>F9</keycap>
+ </keycombo> retornar&atilde;o ao sistema
+ gr&aacute;fico.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="xdm-boot">
+ <para>Como eu inicio o XDM no processo de
+ inicializa&ccedil;&atilde;o?</para>
+ </question><answer>
+
+ <para>Existem duas formas cl&aacute;ssicas de iniciar o
+ <ulink
+ URL="http://www.FreeBSD.org/cgi/man.cgi?manpath=xfree86&amp;query=xdm">xdm</ulink>.
+ A primeira consiste em inci&aacute;-lo a partir do
+ <filename>/etc/ttys</filename> (veja a p&aacute;gina de
+ manual do &man.ttys.5;) usando o exemplo dispon&iacute;vel
+ no arquivo; a segunda forma &eacute; simplesmente executar
+ o xdm a partir do <filename>rc.local</filename> (veja a
+ p&aacute;gina de manual do &man.rc.8;) ou ent&atilde;o por
+ um script <filename>X.sh</filename> em
+ <filename>/usr/local/etc/rc.d</filename>. As duas
+ maneiras s&atilde;o igualmente v&aacute;lidas, mas algumas
+ podem ser mais eficientes em algumas
+ situa&ccedil;&otilde;es, onde a outra forma n&atilde;o
+ seria ideal. Nos dois casos, o resultado ser&aacute; o
+ mesmo: o X iniciar&aacute; o mostrando uma tela de login:
+ gr&aacute;fica.</para>
+
+ <para>O m&eacute;todo de inicializa&ccedil;&atilde;o via
+ ttys oferece a vantagem de definir explicitamente em qual
+ vtyX o servidor gr&aacute;fico vai ser carregado, passando
+ a responsabilidade da reinicializa&ccedil;&atilde;o do X
+ para o init, no momento do logout. O m&eacute;todo via
+ rc.local oferece facilidades caso seja necess&aacute;rio
+ encerrar o processo xdm, no caso, por exemplo, de
+ ocorrerem problemas ao carregar o servidor
+ gr&aacute;fico.</para>
+
+ <para>Ao usar o rc.local para carregar o
+ <command>xdm</command>, ele n&atilde;o deve ser
+ acompanhado de nenhum argumento (deve ser iniciado como um
+ daemon e deve ser iniciado DEPOIS que o getty j&aacute;
+ estiver em execuss&atilde;o, sen&atilde;o &eacute;
+ prov&aacute;vel que ocorram conflitos entre ambos, podendo
+ travar o console. A melhor forma de assegurar o correto
+ funcionamento desse m&eacute;todo &eacute; fazer com que o
+ script espere 10 segundos (por exemplo, com um sleep 10;)
+ antes de iniciar o xdm.</para>
+
+ <para>Se a inte&ccedil;&atilde;o &eacute; iniciar o
+ <command>xdm</command> a partir do
+ <filename>/etc/ttys</filename>, ainda existe a
+ probabilidade de conflitos entre o <command>xdm</command>
+ e o &man.getty.8;. Uma forma interessante de evitar esse
+ tipo de desconforto, &eacute; definir, no arquivo
+ <filename>/usr/X11R6/lib/X11/xdm/Xservers</filename>, o
+ n&uacute;mero do <literal>vt</literal> onde o X deve ser
+ iniciado, da seguinte forma:</para>
+
+ <programlisting>:0 local /usr/X11R6/bin/X vt4</programlisting>
+
+ <para>O exemplo acima indica que o servidor X ser&aacute;
+ ativado no <devicename>/dev/ttyv3</devicename>. Note que
+ existe um offset de um vt, j&aacute; que o X come&ccedil;a
+ a contar os terminais (vty) a partir do um, enquando o
+ <foreignphrase>kernel</foreignphrase> do FreeBSD os conta
+ a partir do zero.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="xconsole-failure">
+ <para>Por que eu enfrento um <errorname>Couldn't open
+ console</errorname> ao executar o xconsole? </para>
+ </question>
+
+ <answer>
+ <para>Se o <application>X</application> for iniciado com um
+ <command>startx</command>, as permiss&otilde;es do
+ <devicename>/dev/console</devicename> n&atilde;o
+ ser&atilde;o redefinidas, resultando em
+ situa&ccedil;&otilde;es onde um <command>xterm
+ -C</command> ou mesmo o <command>xconsole</command>
+ n&atilde;o funcionar&atilde;o corretamente.</para>
+
+ <para>O motivo disso &eacute; a forma como as
+ permiss&otilde;es s&atilde;o definidas por padr&atilde;o.
+ Em sistemas multiusu&aacute;rio, normalmente n&atilde;o se
+ espera que qualquer pessoa possa escrever no console do
+ sistema. Para os usu&aacute;rios que est&atilde;o se
+ logando diretamente na m&aacute;quina, em algum VTY,
+ existe o arquivo &man.fbtab.5; que resolve esse tipo de
+ problema.</para>
+
+ <para>Se for apropriado, garanta que exista uma linha
+ assim</para>
+
+ <programlisting>/dev/ttyv0 0600 /dev/console</programlisting>
+
+ <para>No arquivo <filename>/etc/fbtab</filename> (veja a
+ p&aacute;gina de manual do &man.fbtab.5;). Essa linha
+ garantir&aacute; que qualquer usu&aacute;rio que se logar
+ no <devicename>/dev/ttyv0</devicename> ser&aacute;
+ tamb&eacute;m propriet&aacute;rio do console.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="xfree86-root">
+ <para>Antes eu conseguia usar o XFree86 com um
+ usu&aacute;rio sem privil&eacute;gios. Porque agora o
+ servidor diz que eu tenho que ser
+ <username>root</username>?</para>
+ </question>
+
+ <answer>
+ <para>Todo servidor gr&aacute;fico precisa ser executado
+ como <username>root</username> para que o sistema permita
+ acesso direto aos equipamentos de v&iacute;deo. Acontece
+ que nas vers&otilde;es mais antigas, o XFree86
+ (vers&otilde;es &lt;= 3.3.6) instalava o servidor de forma
+ que ele era automaticamente executado como
+ <username>root</username> (setuid de
+ <username>root</username>). &Oacute;bviamente esse
+ comportamente implica em riscos de seguran&ccedil;a em
+ qualquer caso onde o programa em quest&atilde;o seja
+ complexo e grande; esse &eacute; o caso dos servidores X.
+ As vers&otilde;es mais atuais do XFree86 n&atilde;o
+ instalam os servidores gr&aacute;ficos com todo esse
+ poder, exatamente por esse motivo.</para>
+
+ <para>&Eacute; claro que rodar o X como usu&aacute;rio
+ <username>root</username> n&atilde;o &eacute; uma
+ id&eacute;ia muito aceit&aacute;vel, especialmente em
+ rela&ccedil;&atilde;o &agrave; seguran&ccedil;a. Existem
+ duas formas de usar o X como usu&aacute;rio comum. A
+ primeira &eacute; usar o <command>xdm</command> ou
+ qualquer outro gerenciador de display (como o
+ <command>kdm</command>); a segunda &eacute; usar o
+ <command>Xwrapper</command>.</para>
+
+ <para>O <command>xdm</command> &eacute; um daemon que
+ controla logins gr&aacute;ficos. Normalmente ele &eacute;
+ iniciado no processo de inicializa&ccedil;&atilde;o e
+ &eacute; respons&aacute;vel pela
+ autentica&ccedil;&atilde;o dos usu&aacute;rios, e por
+ inciar suas sess&otilde;es; essencialmente &eacute; a
+ uni&atilde;o gr&aacute;fica do &man.getty.8; como o
+ &man.login.1;. Para mais informa&ccedil;&otilde;es sobre
+ o <command>xdm</command>, por gentileza, refira-se
+ &agrave; <ulink
+ url="http://www.xfree86.org/support.html">documenta&ccedil;&atilde;o
+ do XFree86</ulink> e &agrave; quest&atilde;o do <link
+ linkend="xdm-boot"><literal>FAQ</literal> sobre
+ xdm</link>.</para>
+
+ <para>O <command>Xwrapper</command> &eacute; um
+ intermediador do servidor gr&aacute;fico; &eacute; um
+ programa bem pequeno que possibilita a
+ inicializa&ccedil;&atilde;o manual do servidor
+ gr&aacute;fico por qualquer usu&aacute;rio, garantindo
+ razo&aacute;vel seguran&ccedil;a &agrave;
+ opera&ccedil;&atilde;o. O programa ainda faz algumas
+ verifica&ccedil;&otilde;es na linha de comando definida
+ pelo usu&aacute;rio, para garantir a sanidade das
+ inten&ccedil;&otilde;es do mesmo. Se todas as
+ inten&ccedil;&otilde;es forem aprovadas, ele executa o X.
+ Se por qualquer raz&atilde;o, a id&eacute;ia de usar um
+ gerenciador de displays n&atilde;o te agrada, o
+ <command>Xwrapper</command> &eacute; feito para
+ voc&ecirc;. Caso a cole&ccedil;&atilde;o de
+ <literal>Ports</literal> esteja instalada, o programa pode
+ ser encontrado em
+ <filename>/usr/ports/x11/wrapper</filename>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="ps2-x">
+ <para>Por que meu mouse PS/2 n&atilde;o se comporta
+ corretamente no X?</para>
+ </question>
+
+ <answer>
+ <para>O seu mouse e a device que o controla devem ter
+ desincronizado.</para>
+
+ <para>Nas vers&otilde;es 2.2.5 e anteriores, a simples
+ altern&acirc;ncia entre o X e o terminal, e voltar para o
+ X, for&ccedil;a a resincroniza&ccedil;&atilde;o do mouse.
+ Se o problema se tornar frequ&ecirc;nte, adicione a
+ seguinte op&ccedil;&atilde;o ao arquivo de
+ configura&ccedil;&atilde;o do seu
+ <foreignphrase>kernel</foreignphrase>, e o
+ recompile:</para>
+
+ <programlisting>options PSM_CHECKSYNC</programlisting>
+
+ <para>Veja a se&ccedil;&atilde;o sobre a <link
+ linkend="make-kernel">compila&ccedil;&atilde;o do
+ <foreignphrase>kernel</foreignphrase></link>, caso
+ voc&ecirc; n&atilde;o tenha experi&ecirc;ncia com
+ isso.</para>
+
+ <para>Com essa op&ccedil;&atilde;o as chances de ter
+ problemas com a sincronia do mouse s&atilde;o bem
+ pequenas. Contudo, se ainda assim o problema persistir,
+ clique em qualquer bot&atilde;o durante o movimento do
+ mouse. &Eacute; o bastante para resincroniza-lo.</para>
+
+ <para>Infelizmente essa op&ccedil;&atilde;o pode n&atilde;o
+ funcionar em alguns sistemas, dependendo de qual driver
+ controle o seu mouse PS/2; especialmente se a device de
+ controle for do tipo ALPS GlidePoint.</para>
+
+ <para>Na vers&atilde;o 2.2.6 e posteriores, a
+ verifica&ccedil;&atilde;o de sincronia se tornou
+ razo&aacute;velmente melhor, e &eacute; padr&atilde;o nos
+ mouses PS/2. Deve funcionar corretamente com GlidePoint,
+ inclusive (como o c&oacute;digo de
+ verifica&ccedil;&atilde;o de sincronia ter se tornado
+ padr&atilde;o, a op&ccedil;&atilde;o PSM_CHECKSYNC
+ n&atilde;o existe mais). Contudo, em
+ situa&ccedil;&otilde;es muito raras, o driver de controle
+ do mouse pode, err&ocirc;neamente reportar problemas de
+ sincroniza&ccedil;&atilde;o, mostrando a seguinte mensagem
+ do <foreignphrase>kernel</foreignphrase>:</para>
+
+ <programlisting>psmintr: out of sync (xxxx != yyyy)</programlisting>
+
+ <para>Pensando que seu mouse n&atilde;o est&aacute;
+ funcionando corretamente.</para>
+
+ <para>Se for o caso, desligue o c&oacute;digo de
+ verifica&ccedil;&atilde;o de sincronia do mouse PS/2,
+ definindo a flag 0x100 na device de controle do mesmo.
+ Entre no modo <emphasis>UserConfig</emphasis> definindo a
+ op&ccedil;&atilde;o <option>-c</option> na tela do
+ processo de inicializa&ccedil;&atilde;o:</para>
+
+ <screen>boot: <userinput>-c</userinput></screen>
+
+ <para>Depois, na linha de comando do
+ <emphasis>UserConfig</emphasis>, digite:</para>
+
+ <screen>UserConfig&gt; <userinput>flags psm0 0x100</userinput>
+UserConfig&gt; <userinput>quit</userinput></screen>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="ps2-mousesystems">
+ <para>Por que meu mouse PS/2 da MouseSystems n&atilde;o
+ funciona?</para>
+ </question>
+
+ <answer>
+ <para>Existem not&iacute;cias que alguns modelos de mouse
+ PS/2 da MouseSystems funcionam corretamente apenas em modo
+ de alta resolu&ccedil;&atilde;o. Do contr&aacute;rio, o
+ cursor do mouse costuma pular para diagonal superior
+ esquerda da tela com certa frequ&ecirc;ncia.</para>
+
+ <para>Infelizmente n&atilde;o existe solu&ccedil;&atilde;o
+ &agrave; esse problema, nas vers&otilde;es 2.0.X e 2.1.X.
+ Contudo, das vers&otilde;es 2.2 &agrave; 2.2.5, basta
+ aplicar o seguinte patch, no
+ <filename>/sys/i386/isa/psm.c</filename> e recompilar o
+ <foreignphrase>kernel</foreignphrase>. Veja a
+ se&ccedil;&atilde;o sobre <link linkend="make-kernel">
+ compila&ccedil;&atilde;o do
+ <foreignphrase>kernel</foreignphrase></link> caso
+ n&atilde;o tenha experi&ecirc;ncia com o assunto.</para>
+
+ <programlisting>@@ -766,6 +766,8 @@
+ if (verbose &gt;= 2)
+ log(LOG_DEBUG, "psm%d: SET_DEFAULTS return code:%04x\n",
+ unit, i);
++ set_mouse_resolution(sc-&gt;kbdc, PSMD_RES_HIGH);
++
+ #if 0
+ set_mouse_scaling(sc-&gt;kbdc); /* 1:1 scaling */
+ set_mouse_mode(sc-&gt;kbdc); /* stream mode */</programlisting>
+
+ <para>Na vers&atilde;o 2.2.6 e vers&otilde;es posteriores,
+ basta especificar a flag 0x04 para device de controle do
+ mouse PS/2, colocando-o em modo de alta
+ resolu&ccedil;&atilde;o. Entre no modo
+ <emphasis>UserConfig</emphasis> com a op&ccedil;&atilde;p
+ <option>-c</option> na tela do processo de
+ inicializa&ccedil;&atilde;o:</para>
+
+ <screen>boot: <userinput>-c</userinput></screen>
+
+ <para>Depois, na linha de comando do
+ <emphasis>UserConfig</emphasis> digite:</para>
+
+ <screen>UserConfig&gt; <userinput>flags psm0 0x04</userinput>
+UserConfig&gt; <userinput>quit</userinput></screen>
+
+ <para>Veja a pergunta anterior, sobre outra causa
+ poss&iacute;vel de problemas com o mouse.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="imake-tmpl">
+ <para>Ao compilar uma aplica&ccedil;&atilde;o X, o
+ <command>imake</command> n&atilde;o consegue encontrar o
+ <filename>Imake.tmpl</filename>. Onde ele
+ est&aacute;?</para>
+ </question>
+
+ <answer>
+ <para>O <filename>Imake.tmpl</filename> &eacute; parte do
+ pacote Imake, uma aplica&ccedil;&atilde;o padr&atilde;o
+ para constru&ccedil;&atilde;o de aplica&ccedil;&otilde;es
+ gr&aacute;ficas. O <filename>Imake.tmpl</filename>, assim
+ como v&aacute;rios outros arquivos de cabe&ccedil;alhos
+ necess&aacute;rios para compilar aplica&ccedil;&otilde;es
+ gr&aacute;ficas, &eacute; parte da
+ distribui&ccedil;&atilde;o do X. Eles podem ser
+ instalados pelo sysinstall ou manualmente a partir dos
+ arquivos da distribui&ccedil;&atilde;o.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="xfree86-version">
+ <para>Estou construindo uma aplica&ccedil;&atilde;o
+ gr&aacute;fica que depende do XFree86 3.3.X, mas eu estou
+ com o XFree86 4.X instalado. O que fazer?</para>
+ </question>
+
+ <answer>
+ <para>Pra definir que a constru&ccedil;&atilde;o do
+ <literal>Port</literal> deve ser linkada &agrave;s
+ bibliotecas do XFree86 4.X, adicione o seguinte, no seu
+ <filename>/etc/make.conf</filename>, (se o arquivo
+ n&atilde;o existir, crie-o):</para>
+
+ <programlisting>XFREE86_VERSION= 4</programlisting>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="mouse-button-reverse">
+ <para>Como posso inverter as fun&ccedil;&otilde;es dos
+ bot&otilde;es do mouse?</para>
+ </question>
+ <answer>
+ <para>Execute o comando <command>xmodmap -e "pointer = 3 2
+ 1"</command> &agrave; partir do
+ <filename>.xinitrc</filename> ou do
+ <filename>.xsession</filename>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="install-splash">
+ <para>Como instalar uma Splash Screen e onde posso
+ encontra-las?</para>
+ </question>
+
+ <answer>
+ <para>A partir da lan&ccedil;amento do FreeBSD 3.1, uma nova
+ caracter&iacute;stica foi adicionada ao sistema,
+ permitindo que alguns arquivos de imagens sejam usados
+ como <quote>Splash Screens</quote> durante as mensagens do
+ processo de inicializa&ccedil;&atilde;o. Tais imagens
+ devem ser arquivos do tipo bitmap com 256 cores
+ (<filename>*.BMP</filename>) ou ent&atilde;o ZSoft PCX
+ (<filename>*.PCX</filename>). Devem ainda ter
+ resolu&ccedil;&atilde;o de 320x200 pixels (ou menos), para
+ funcionarem corretamente em adaptadores de v&iacute;deo
+ VGA tradicionais. Caso o
+ <foreignphrase>kernel</foreignphrase> tenha sido compilado
+ com suporte &agrave; VESA, ent&atilde;o podem ser usados
+ bitmaps maiores, at&eacute; 1024.768 px. O suporte
+ &agrave; VESA pode ser diretamente compilado no
+ <foreignphrase>kernel</foreignphrase>, com a
+ op&ccedil;&atilde;o VESA no arquivo de
+ configura&ccedil;&atilde;o, ou carregado como
+ m&oacute;dulo, com o kld, durante o processo de
+ inicializa&ccedil;&atilde;o do sistema.</para>
+
+ <para>Para definir a <quote>Splash Screens</quote>, basta
+ modificar alguns arquivos de inicializa&ccedil;&atilde;o
+ que controlam o processo de inicializa&ccedil;&atilde;o do
+ FreeBSD. Tais arquivos foram alterados na vers&atilde;o
+ 3.2 do FreeBSD, existindo portanto duas formas de carregar
+ uma <quote>Splash Screens</quote>:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>No FreeBSD 3.1</para>
+
+ <para>O primeiro passo &eacute; escolher o seu bitmap, e
+ sua vers&atilde;o. At&eacute; o FreeBSD 3.1, apenas
+ os bitmaps do tipo Windows eram suportados. Assim que
+ escolher (ou criar) sua <quote>Splash Screens</quote>,
+ copie-a para <filename>/boot/splash.bmp</filename>.
+ Depois, basta editar (ou criar, caso n&atilde;o
+ exista) o arquivo <filename>/boot/loader.rc</filename>
+ e adicionar as seguintes linhas:</para>
+
+ <programlisting>load kernel
+load -t splash_image_data /boot/splash.bmp
+load splash_bmp
+autoboot</programlisting>
+ </listitem>
+
+ <listitem>
+ <para>No FreeBSD 3.2 e posteriores</para>
+
+ <para>Al&eacute;m de adicionar suporte a <quote>Splash
+ Screens</quote> de formato PCX, o FreeBSD 3.2 passou
+ a oferecer uma maneira mais interessante de configurar
+ o processo de inicializa&ccedil;&atilde;o. Caso
+ prefira, o m&eacute;todo descrito acima, para o
+ FreeBSD 3.1 tamb&eacute;m funciona. Nesse caso, se a
+ imagem for do tipo PCX basta substituir a entrada
+ <literal>splash_bmp</literal> por
+ <literal>splash_pcx</literal>. Caso queira usar a
+ nova configura&ccedil;&atilde;o do processo de
+ inicializa&ccedil;&atilde;o, basta criar um arquivo
+ <filename>/boot/loader.rc</filename> com o seguinte
+ conte&uacute;do:</para>
+
+ <programlisting>include /boot/loader.4th
+start</programlisting>
+
+ <para>e depois, um
+ <filename>/boot/loader.conf</filename> com o
+ seguinte:</para>
+
+ <programlisting>splash_bmp_load="YES"
+bitmap_load="YES"</programlisting>
+
+ <para>Essa configura&ccedil;&atilde;o assume que o
+ <filename>/boot/splash.bmp</filename> deve ser usado
+ como sua <quote>Splash Screens</quote>. Caso prefira
+ usar um arquivo PCX, copie para o
+ <filename>/boot/splash.pcx</filename>, e crie um
+ <filename>/boot/loader.rc</filename>, da forma como
+ foi indicado anteriormente; depois crie um
+ <filename>/boot/loader.conf</filename> com o
+ seguinte:</para>
+
+ <programlisting>splash_pcx_load="YES"
+bitmap_load="YES"
+bitmap_name="/boot/splash.pcx"</programlisting>
+ </listitem>
+ </itemizedlist>
+
+ <para>Agora voc&ecirc; s&oacute; precisa de uma imagem, para
+ servir de <quote>Splash Screens</quote>. Pra isso,
+ d&ecirc; uma navegada na galeria dispon&iacute;vel em
+ <ulink
+ URL="http://www.baldwin.cx/splash/">http://www.baldwin.cx/splash/</ulink>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="windows-keys">
+ <para>Posso usar as teclas do Windows&reg; que meu teclado
+ possui, sob o X?</para>
+ </question>
+
+ <answer>
+ <para>Pode. Basta usar o &man.xmodmap.1; para redefinir a
+ fun&ccedil;&atilde;o das teclas.</para>
+
+ <para>Assumindo que todos os teclados <quote><trademark
+ class="registered">Windows</trademark></quote> sejam
+ padr&atilde;o, os c&oacute;digos de mapeamento pras 3
+ teclas s&atilde;o:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>115 - <trademark
+ class="registered">Windows</trademark>, entre a
+ tecla Ctr e a Alt do lado esquerdo.</para>
+ </listitem>
+
+ <listitem>
+ <para>116 - <trademark
+ class="registered">Windows</trademark>, &agrave;
+ direita a tecla AltGr.</para>
+ </listitem>
+
+ <listitem>
+ <para>117 - <keycap>Menu</keycap>, do lado esquerdo da
+ tecla Ctrl esquerda</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>Por exemplo, para fazer com que a tecla Windows&reg;
+ esquerda imprima uma v&iacute;rgula, fa&ccedil;a o
+ seguinte:</para>
+
+ <screen>&prompt.root; <userinput>xmodmap -e "keycode 115 = comma"</userinput></screen>
+
+ <para>&Eacute; prov&aacute;vel que seu gerenciador de
+ janelas tenha que ser reiniciado, para visualizar o
+ resultado.</para>
+
+ <para>Pra for&ccedil;ar o carregamento autom&aacute;tico do
+ mapeamento das teclas <trademark
+ class="registered">Windows</trademark>, coloque os
+ comandos do <command>xmodmap</command> no arquivo
+ <filename>~/.xinitrc</filename> ou de prefer&ecirc;ncia,
+ crie um arquivo <filename>~/.xmodmaprc</filename> e inclua
+ as op&ccedil;&otilde;es do <command>xmodmap</command> uma
+ por linha, nesse arquivo. Depois adicione:</para>
+
+ <programlisting>xmodmap $HOME/.xmodmaprc</programlisting>
+
+ <para>No seu <filename>~/.xinitrc</filename>.</para>
+
+ <para>Por exemplo, pode-se mapear as 3 teclas em
+ quest&atilde;o para fazer o papel das teclas
+ <keycap>F13</keycap>, <keycap>F14</keycap>, e
+ <keycap>F15</keycap>, respectivamente. Dessa forma, seria
+ f&aacute;cil mapear as aplica&ccedil;&otilde;es de forma
+ que as teclas tivessem a&ccedil;&otilde;es no seu sistema,
+ como veremos agora.</para>
+
+ <para>Adicione o seguinte conte&uacute;do, no arquivo
+ <filename>~/.xmodmaprc</filename>.</para>
+
+ <programlisting>keycode 115 = F13
+keycode 116 = F14
+keycode 117 = F15</programlisting>
+
+ <para>Se o gerenciador de janelas em quest&atilde;o for o
+ <command>fvwm2</command>, por exemplo, pode-se mapear as
+ teclas de forma que o <keycap>F13</keycap> minimize (ou
+ maximize) a janela que o cursor est&aacute; apontando, a
+ tecla <keycap>F14</keycap> de forma que ela traga a janela
+ marcada pelo cursor para frente (ou volte para
+ tr&aacute;s, caso j&aacute; esteja &agrave; frente), e o
+ <keycap>F15</keycap> pode alternar o menu da &aacute;rea
+ detrabalho principal, o que &eacute; bem &uacute;til
+ quando a tela n&atilde;o &eacute; vis&iacute;vel.</para>
+
+ <para>As seguintes defini&ccedil;&otilde;es no
+ <filename>~/.fvwmrc</filename> implementam a
+ configura&ccedil;&atilde;o acima descrita:</para>
+
+ <programlisting>Key F13 FTIWS A Iconify
+Key F14 FTIWS A RaiseLower
+Key F15 A A Menu Workplace Nop</programlisting>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="x-3d-acceleration">
+ <para>Como posso obter a acelera&ccedil;&atilde;o de
+ equipamentos 3D para o OpenGL?</para>
+ </question>
+
+ <answer>
+ <para>A disponibilidade da acelera&ccedil;&atilde;o 3D
+ depende da vers&atilde;o do XFree86 e da placa de
+ v&iacute;deo. Caso a placa seja NVIDIA, verifique a
+ p&aacute;gina da <ulink
+ url="http://nvidia.netexplorer.org/">Iniciativa de
+ Driver NVIDIA para o FreeBSD</ulink>, que discute a
+ acelera&ccedil;&atilde;o 3D em chips NVIDIA com XFree86-4.
+ Pra outras placas em conjunto com o XFree86-4, incluindo a
+ Matrox G200/G400, a ATI Rage 128/Radeon, as 3dfx Voodoo 3,
+ 4, 5, e Banshee, refira-se &agrave; p&aacute;gina sobre
+ <ulink
+ url="http://gladstone.uoregon.edu/~eanholt/dri/">Renderiza&ccedil;&atilde;o
+ Direta do XFree86-4 no FreeBSD</ulink>. Usu&aacute;rios
+ do XFree86 na vers&atilde;o 3.3 podem usar o
+ <literal>port</literal> do Utah-GLX que pode ser
+ encontrado em <filename
+ role="package">graphics/utah-glx</filename> para
+ conseguir alguma (limitada) acelera&ccedil;&atilde;o 3D
+ para o OpenGL em placas Matrox Gx00, ATI Rage Pro, SiS
+ 6326, i810, Savage, e algumas NVIDIA antigas.</para>
+ </answer>
+ </qandaentry>
+ </qandaset>
+ </chapter>
+
+ <chapter id="networking">
+ <title>Redes</title>
+
+ <qandaset>
+ <qandaentry>
+ <question id="diskless-booting">
+ <para>Onde obter informa&ccedil;&otilde;es a respeito do
+ processo de processo de inicializa&ccedil;&atilde;o sem
+ disco r&iacute;gido (<foreignphrase>diskless
+ booting</foreignphrase>)?</para>
+ </question>
+
+ <answer>
+ <para>O processo de processo de inicializa&ccedil;&atilde;o
+ sem disco implica na possibilidade de uma m&aacute;quina
+ FreeBSD ser inicializada atrav&eacute;s da rede, lendo os
+ arquivos necess&aacute;rios &agrave; partir de um
+ servidor, ao inv&eacute;s de um disco r&iacute;gido. Para
+ maiores detalhes, por favor, consulte o &iacute;tem <ulink
+ URL="../handbook/diskless.html"><foreignphrase>diskless
+ booting</foreignphrase> no
+ &a.ptbr.p.handbook;</ulink>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="router">
+ <para>Um sistema FreeBSD pode ser utilizado como roteador
+ dedicado para uma rede?</para>
+ </question>
+
+ <answer>
+ <para>Pode. Por gentileza, refira-se &agrave; <ulink
+ url="../handbook/routing.html">documenta&ccedil;&atilde;o
+ do &a.ptbr.p.handbook; sobre configura&ccedil;&otilde;es
+ avan&ccedil;adas de rede</ulink>, mais especificamente,
+ a se&ccedil;&atilde;o sobre <ulink
+ url="../handbook/routing.html#DEDICATED-ROUTER">roteamento
+ e gateways</ulink>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="win95-connection">
+ <para>Posso conectar minha m&aacute;quina com Win95 &agrave;
+ Internet, atrav&eacute;s do meu FreeBSD?</para>
+ </question>
+
+ <answer>
+ <para>Normalmente, as pessoas que prop&otilde;em esse tipo
+ de quest&atilde;o possuem dois computadores em casa, um
+ com FreeBSD e outro com Win95. A id&eacute;ia &eacute;
+ utilizar a maquina com FreeBSD para se conectar &agrave;
+ Internet, e ent&atilde;o oferecer acesso Internet a
+ m&aacute;quina Win95 atrav&eacute;s do FreeBSD. Essa
+ &eacute; apenas uma extens&atilde;o especial da
+ quest&atilde;o anterior.</para>
+
+ <para>... e a resposta &eacute; sim! No FreeBSD 3.x, o
+ &man.ppp.8; em modo usu&aacute;rio oferece a
+ op&ccedil;&atilde;o <option>-nat</option>. Se o
+ &man.ppp.8; for executado com essa op&ccedil;&atilde;o,
+ basta definir a vari&aacute;vel
+ <literal>gateway_enable</literal> para
+ <emphasis>YES</emphasis> no arquivo
+ <filename>/etc/rc.conf</filename>, e configurar
+ corretamente a m&aacute;quina Windows. Isso &eacute; o
+ bastante.</para>
+
+ <para>Para obter mais informa&ccedil;&otilde;es, por
+ gentileza, refira-se a p&aacute;gina de manual do
+ &man.ppp.8;</para>
+
+ <para>Se o &man.ppp.8; estiver sendo usado em modo
+ <foreignphrase>kernel</foreignphrase>
+ (<foreignphrase>kernel-mode</foreignphrase>) ou a
+ conex&atilde;o com a Internet for via Ethernet, a
+ op&ccedil;&atilde;o mais vi&aacute;vel ser&aacute;
+ utilizar o &man.natd.8;. Por favor, consulte a
+ se&ccedil;&atilde;o <link linkend="natd">natd</link> dessa
+ documenta&ccedil;&atilde;o.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="slip-ppp-support">
+ <para>O FreeBSD suporta SLIP e PPP?</para>
+ </question>
+
+ <answer>
+ <para>Claro. Veja as p&aacute;ginas de manual do
+ &man.slattach.8;, &man.sliplogin.8;, &man.ppp.8;, e
+ &man.pppd.8;. O &man.ppp.8; e o &man.pppd.8; oferecem
+ suporte &agrave; conex&otilde;es entrantes e de
+ sa&iacute;da (conex&otilde;es incoming/outgoing), enquanto
+ o &man.slattach.8; &agrave; conex&otilde;es de
+ sa&iacute;da (outgoing).</para>
+
+ <para>Para obter mais informa&ccedil;&otilde;es sobre a
+ correta utiliza&ccedil;&atilde;o desses recursos, por
+ gentileza, refira-se ao Cap&iacute;tulo sobre <ulink
+ url="../handbook/ppp-and-slip.html">PPP e SLIP do
+ &a.ptbr.p.handbook;</ulink>.</para>
+
+ <para>Se o seu acesso &agrave; Internet for apenas por meio
+ de uma conta Shell, pode ser interessante dar uma olhada
+ no <literal>port</literal> da aplica&ccedil;&atilde;o
+ <filename role="package">net/slirp</filename>. Esse
+ <literal>port</literal> oferece acesso (limitado) &agrave;
+ servi&ccedil;os como FTP e HTTP direto da m&aacute;quina
+ local.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="natd">
+ <para>O FreeBSD suporta NAT ou Masquerading?</para>
+ </question>
+
+ <answer>
+ <para>Se no seu caso, existe uma subrede (uma ou mais
+ m&aacute;quinas locais interconectadas em rede), mas o seu
+ Provedor de Internet disponibiliza apenas um IP (ou se o
+ endere&ccedil;o IP em quest&atilde;o &eacute;
+ din&acirc;mico), com certeza &eacute; interessante dar uma
+ olhada no &man.natd.8;. O &man.natd.8; possibilita que
+ uma subrede inteira acesse a Internet atrav&eacute;s de um
+ &uacute;nico endere&ccedil;o IP.</para>
+
+ <para>O &man.ppp.8; oferece suporte interno &agrave; essa
+ mesma funcionalidade, atrav&eacute;s da
+ op&ccedil;&atilde;o <option>-nat</option> do programa. A
+ biblioteca &man.libalias.3; &eacute; usada tanto pelo
+ &man.ppp.8; quanto pelo &man.natd.8;.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="parallel-connect">
+ <para>Como posso conectar duas esta&ccedil;&otilde;es
+ FreeBSD por linha paralela, usando o PLIP?</para>
+ </question>
+
+ <answer>
+ <para>Por gentileza, refira-se &agrave; se&ccedil;&atilde;o
+ sobre <ulink url="../handbook/plip.html">PLIP do
+ &a.ptbr.p.handbook;</ulink>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="create-dev-net">
+ <para>Por que eu n&atilde;o posso criar um dispositivo
+ /dev/ed0?</para>
+ </question>
+
+ <answer>
+ <para>Porque n&atilde;o &eacute; preciso! Na estrutura de
+ redes de Berkeley, as interfaces de rede s&atilde;o
+ acessadas somente (e diretamente) pelo c&oacute;digo do
+ <foreignphrase>kernel</foreignphrase>. Por favor
+ verifique o arquivo <filename>/etc/rc.network</filename> e
+ as p&aacute;ginas do manual para os diversos programas de
+ rede ali mencionados, para maiores
+ informa&ccedil;&otilde;es. Se isto deix&aacute;-lo
+ completamente confuso, consulte um livro que descreva a
+ administra&ccedil;&atilde;o de rede em um outro sistema
+ operacional baseado no modelo BSD. Com poucas
+ exce&ccedil;&otilde;es significativas, a
+ administra&ccedil;&atilde;o de rede em sistemas FreeBSD
+ &eacute; basicamente a mesma da utilizada em sistemas como
+ o SunOS 4.0 ou o Ultrix.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="ethernet-aliases">
+ <para>Como eu configuro aliases (apelidos) de
+ Ethernet?</para>
+ </question>
+
+ <answer>
+ <para>Se a inten&ccedil;&atilde;o &eacute; definir um
+ apelido IP para uma subrede previamente configurada, basta
+ adicionar a m&aacute;scara <literal>0xffffffff</literal>
+ junto &agrave; sintaxe usual para defini&ccedil;&atilde;o
+ de alias no &man.ifconfig.8;:</para>
+
+ <screen>&prompt.root; <userinput>ifconfig ed0 alias 192.0.2.2 netmask 0xffffffff</userinput></screen>
+
+ <para>Do contr&aacute;rio, basta definir o endere&ccedil;o
+ de rede e a netmask em quest&atilde;o, da forma
+ tradicional:</para>
+
+ <screen>&prompt.root; <userinput>ifconfig ed0 alias 172.16.141.5 netmask 0xffffff00</userinput</screen>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="port-3c503">
+ <para>Como eu configuro minha placa 3Com 3C503 para utilizar
+ outra interface de conex&atilde;o ?</para>
+ </question>
+
+ <answer>
+ <para>Se voc&ecirc; deseja utilizar uma outra interface de
+ conex&atilde;o, dever&aacute; especificar alguns
+ par&acirc;metros adicionais na linha de comando do
+ &man.ifconfig.8;. A porta padr&atilde;o &eacute; a
+ <literal>link0</literal>. Para usar a porta AUI ao
+ inv&eacute;s da porta BNC utilize a flag
+ <literal>link2</literal>. Tais flags devem ser definidas
+ atrav&eacute;s das vari&aacute;veis ifconfig_* no arquivo
+ <filename>/etc/rc.conf</filename>. (consulte o
+ &man.rc.conf.5;).</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="nfs">
+ <para>Por que eu tenho problemas com NFS no FreeBSD?</para>
+ </question>
+
+ <answer>
+ <para>Certas interfaces de rede para PC s&atilde;o melhores
+ do que outras (para adotarmos um eufemismo) e as vezes
+ podem causar problemas em aplica&ccedil;&otilde;es que
+ utilizam a rede de modo intensivo, como o NFS.</para>
+
+ <para>Consulte o item <ulink
+ URL="../handbook/nfs.html">NFS</ulink> do
+ &a.ptbr.p.handbook; para obter mais
+ informa&ccedil;&otilde;es sobre o assunto.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="nfs-linux">
+ <para>Por que n&atilde;o &eacute; poss&iacute;vel montar
+ sistemas de arquivos NFS de m&aacute;quinas Linux?</para>
+ </question>
+
+ <answer>
+ <para>Algumas vers&otilde;es do c&oacute;digo NFS do Linux
+ aceitam requisi&ccedil;&otilde;es de montagem provenientes
+ apenas de portas privilegiadas, experimente o
+ comando:</para>
+
+ <screen>&prompt.root; <userinput>mount -o -P linuxbox:/blah /mnt</userinput></screen>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="nfs-sun">
+ <para>Por que n&atilde;o &eacute; poss&iacute;vel montar
+ sistemas de arquivos NFS de m&aacute;quinas Sun?</para>
+ </question>
+
+ <answer>
+ <para>Esta&ccedil;&otilde;es de trabalho Sun rodando SunOS
+ 4.X aceitam requisi&ccedil;&otilde;es de montagem
+ provenientes apenas de portas privilegiadas, experimente o
+ comando:</para>
+
+ <screen>&prompt.root; <userinput>mount -o -P sunbox:/blah /mnt</userinput></screen>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="exports-errors">
+ <para>Por que o <command>mountd</command> informa
+ repetidamente que <errorname>can't change
+ attributes</errorname> e <errorname>bad exports
+ list</errorname> utilizando o servidor de NFS do
+ FreeBSD?</para>
+ </question>
+
+ <answer>
+ <para>O problema mais freq&uuml;ente &eacute; o n&atilde;o
+ entendimento correto do formato do arquivo
+ <filename>/etc/exports</filename>. Por gentileza, leia
+ com aten&ccedil;&atilde;o a p&aacute;gina de manual do
+ &man.exports.5; e a documenta&ccedil;&atilde;o sobre
+ <ulink url="../handbook/nfs.html">NFS</ulink> no
+ &a.ptbr.p.handbook;, especialmente a se&ccedil;&atilde;o
+ sobre a <ulink
+ url="../handbook/nfs.html#CONFIGURING-NFS">configura&ccedil;&atilde;o
+ do NFS</ulink>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="ppp-nextstep">
+ <para>Por que existem problemas na comunica&ccedil;&atilde;o
+ (via protocolo PPP) com m&aacute;quinas NeXTStep?</para>
+ </question>
+ <answer>
+ <para>Experimente desabilitar a vari&aacute;vel TCP
+ extensions no arquivo <filename>/etc/rc.conf</filename>
+ (consulte &man.rc.conf.5;) alterando a vari&aacute;vel
+ abaixo para NO:</para>
+
+ <programlisting>tcp_extensions=NO</programlisting>
+
+ <para>M&aacute;quinas Annex da Xylogic tamb&eacute;m
+ apresentam um problema similar neste aspecto, e voc&ecirc;
+ deve adotar a mesma solu&ccedil;&atilde;o para conectar-se
+ a estes sistemas.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="ip-multicast">
+ <para>Como habilitar o suporte a IP multicast?</para>
+ </question>
+
+ <answer>
+ <para>Desde o FreeBSD 2.0 que opera&ccedil;&otilde;es
+ Multicast s&atilde;o completamente suportadas por
+ padr&atilde;o. Se a iten&ccedil;&atilde;o &eacute; fazer
+ o sistema FreeBSD atuar como um roteador multicast,
+ ser&aacute; necess&aacute;rio que o
+ <foreignphrase>kernel</foreignphrase> do sistema seja
+ recompilado com a op&ccedil;&atilde;o
+ <literal>MROUTING</literal> e que o &man.mrouted.8; seja
+ executado. O FreeBSD, &agrave; partir da vers&atilde;o
+ 2.2, pode iniciar o &man.mrouted.8; durante o processo de
+ inicializa&ccedil;&atilde;o se a vari&aacute;vel
+ <literal>mrouted_enable</literal> estiver configurada com
+ o par&acirc;metro <literal>"YES"</literal> no arquivo
+ <filename>/etc/rc.conf</filename>.</para>
+
+ <para>As ferramentas MBONE est&atilde;o dispon&iacute;veis
+ em sua pr&oacute;pria categoria na cole&ccedil;&atilde;o
+ de <literal>ports</literal>, <ulink
+ url="http://www.FreeBSD.org/ports/mbone.html">mbone</ulink>.
+ Se voc&ecirc; est&aacute; procurando as ferramentas de
+ confer&ecirc;ncia <command>vic</command> e
+ <command>vat</command>, procure neste
+ diret&oacute;rio!</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="dec-pci-chipset">
+ <para>Quais interfaces de rede s&atilde;o baseadas no
+ chipset DEC PCI?</para>
+ </question>
+
+ <answer>
+ <para>Esta &eacute; uma lista compilada por Glen Foster
+ <email>gfoster@driver.nsta.org</email>, com algumas
+ adi&ccedil;&otilde;es recentes:</para>
+
+ <table>
+ <title>Interfaces de rede baseadas no chipset DEC
+ PCI</title>
+ <tgroup cols=2>
+ <thead>
+ <row>
+ <entry>Vendedor</entry>
+
+ <entry>Modelo</entry>
+ </row>
+ </thead>
+
+ <tbody>
+ <row>
+ <entry>ASUS</entry>
+
+ <entry>PCI-L101-TB</entry>
+ </row>
+
+ <row>
+ <entry>Accton</entry>
+
+ <entry>ENI1203</entry>
+ </row>
+
+ <row>
+ <entry>Cogent</entry>
+
+ <entry>EM960PCI</entry>
+ </row>
+
+ <row>
+ <entry>Compex</entry>
+
+ <entry>ENET32-PCI</entry>
+ </row>
+
+ <row>
+ <entry>D-Link</entry>
+
+ <entry>DE-530</entry>
+ </row>
+
+ <row>
+ <entry>Dayna</entry>
+
+ <entry>DP1203, DP2100</entry>
+ </row>
+
+ <row>
+ <entry>DEC</entry>
+
+ <entry>DE435, DE450</entry>
+ </row>
+
+ <row>
+ <entry>Danpex</entry>
+
+ <entry>EN-9400P3</entry>
+ </row>
+
+ <row>
+ <entry>JCIS</entry>
+
+ <entry>Condor JC1260</entry>
+ </row>
+
+ <row>
+ <entry>Linksys</entry>
+
+ <entry>EtherPCI</entry>
+ </row>
+
+ <row>
+ <entry>Mylex</entry>
+
+ <entry>LNP101</entry>
+ </row>
+
+ <row>
+ <entry>SMC</entry>
+
+ <entry>EtherPower 10/100 (Model 9332)</entry>
+ </row>
+
+ <row>
+ <entry>SMC</entry>
+
+ <entry>EtherPower (Model 8432)</entry>
+ </row>
+
+ <row>
+ <entry>TopWare</entry>
+
+ <entry>TE-3500P</entry>
+ </row>
+
+ <row>
+ <entry>Znyx (2.2.x)</entry>
+
+ <entry>ZX312, ZX314, ZX342, ZX345, ZX346,
+ ZX348</entry>
+ </row>
+
+ <row>
+ <entry>Znyx (3.x)</entry>
+
+ <entry>ZX345Q, ZX346Q, ZX348Q, ZX412Q, ZX414, ZX442,
+ ZX444, ZX474, ZX478, ZX212, ZX214
+ (10mbps/hd)</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="fqdn-hosts">
+ <para>Por que preciso utilizar um FQDN (Nomes de
+ dom&iacute;nio completamente qualificados) pras
+ esta&ccedil;&otilde;es da minha rede?</para>
+ </question>
+
+ <answer>
+ <para>Provavelmente voc&ecirc; vai estar trabalhando com
+ esta&ccedil;&otilde;es em dom&iacute;nios diferentes. Por
+ exemplo, se voc&ecirc; esta em foo.bar.edu e deseja
+ alcan&ccedil;ar uma esta&ccedil;&atilde;o chamada
+ <hostid>mumble</hostid> no dom&iacute;nio <hostid
+ role="domainname">foo.bar.edu</hostid>, dever&aacute;
+ referir-se &agrave; essa esse host atrav&eacute;s do seu
+ nome de dom&iacute;nio qualificado, <hostid
+ role="fqdn">mumble.foo.bar.edu</hostid>, ao inv&eacute;s
+ de apenas <hostid>mumble</hostid>.</para>
+
+ <para>Normalmente era poss&iacute;vel alcan&ccedil;ar a
+ esta&ccedil;&atilde;o apenas por seu nome. Essa
+ fun&ccedil;&atilde;o era realizada pelos resolvedores BIND
+ do ISC. Contudo, as vers&otilde;es atuais do
+ <application>BIND</application> (veja o &man.named.8;) que
+ acompanham o FreeBSD n&atilde;o oferecem mais
+ abrevia&ccedil;&otilde;es padr&atilde;o para
+ dom&iacute;nios que n&atilde;o sejam FQDN, com a
+ &uacute;nica exce&ccedil;&atilde;o do dom&iacute;nio que
+ sua pr&oacute;pria esta&ccedil;&atilde;o faz parte. Dessa
+ forma, o host <hostid>mumble</hostid>, se n&atilde;o for
+ localizado como <hostid
+ role="fqdn">mumble.foo.bar.edu</hostid>, ser&aacute;
+ localizado atrav&eacute;s de uma busca direta &agrave;
+ partir da raiz dos servidores de
+ resolu&ccedil;&atilde;o.</para>
+
+ <para>Este comportamento &eacute; diferente do verificado
+ anteriormente onde a pesquisa continuaria atrav&eacute;s
+ de <hostid role="domainname">mumble.bar.edu</hostid> e
+ <hostid role="domainname">mumble.edu</hostid>. Consulte a
+ RFC 1535 para descobrir porque isso &eacute; considerado
+ uma pr&aacute;tica ru&iacute;m, e at&eacute; mesmo uma
+ brecha de seguran&ccedil;a.</para>
+
+ <para>Uma alternativa &eacute; adicionar a linha
+ abaixo:</para>
+
+ <programlisting>search foo.bar.edu bar.edu</programlisting>
+
+ <para>ao inv&eacute;s da linha previamente existente</para>
+
+ <programlisting>domain foo.bar.edu</programlisting>
+
+ <para>em seu arquivo <filename>/etc/resolv.conf</filename>
+ (consulte &man.resolv.conf.5;). Contudo verifique se a
+ ordem de pesquisa n&atilde;o vai al&eacute;m da fronteira
+ entre a administra&ccedil;&atilde;o p&uacute;blica e a
+ local, conforme definido na RFC 1535.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="network-permission-denied">
+ <para>Por que obtenho o erro, <errorname>Permission
+ denied</errorname>, para todas as
+ opera&ccedil;&otilde;es de rede?</para>
+ </question>
+
+ <answer>
+ <para>Se o <foreignphrase>kernel</foreignphrase> do seu
+ FreeBSD foi compilado com a op&ccedil;&atilde;o
+ <literal>IPFIREWALL</literal>, voc&ecirc; deve compreender
+ que a pol&iacute;tica padr&atilde;o, &agrave; partir da
+ vers&atilde;o 2.1.7 (atualmente alterada durante o
+ desenvolvimento da vers&atilde;o 2.1-STABLE) &eacute;
+ negar todos os pacotes que n&atilde;o forem explicitamente
+ permitidos.</para>
+
+ <para>A seu firewall foi erroneamente configurado, de forma
+ n&atilde;o intencional, a operacionalidade do sistema pode
+ ser restaurada, simplesmente digitando o seguinte
+ (conectado como <username>root</username>):</para>
+
+ <screen>&prompt.root; <userinput>ipfw add 65534 allow all from any to any</userinput></screen>
+
+ <para>A vari&aacute;vel
+ <literal>firewall_type="open"</literal> tamb&eacute;m pode
+ ser definida, no arquivo
+ <filename>/etc/rc.conf</filename>.</para>
+
+ <para>Para maiores informa&ccedil;&otilde;es sobre a
+ configura&ccedil;&atilde;o de firewall, por gentileza,
+ consulte a se&ccedil;&atilde;o correspondente no <ulink
+ URL="../handbook/firewalls.html">&a.ptbr.p.handbook;</ulink>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="ipfw-overhead">
+ <para>Qual o acr&eacute;scimo de sobrecarga ocasionado pelo
+ IPFW?</para>
+ </question>
+
+ <answer>
+ <para>Por gentileza, refira-se ao cap&iacute;tulo sobre
+ <ulink url="../handbook/firewalls.html">Firewalls</ulink>
+ do &a.ptbr.p.handbook; mais espec&iacute;ficamente, a
+ se&ccedil;&atilde;o sobre <ulink
+ url="../handbook/firewalls.html#IPFW-OVERHEAD">Overhead
+ &amp; Otimiza&ccedil;&atilde;o do IPFW</ulink>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="ipfw-fwd">
+ <para>Minha regra de fwd do IPFW, que deveria redirecionar
+ um servi&ccedil;o para outra esta&ccedil;&atilde;o,
+ n&atilde;o est&aacute; funcionando. Por que?</para>
+ </question>
+
+ <answer>
+ <para>Provavelmente porque a verdadeira
+ inten&ccedil;&atilde;o &eacute; traduzir os pacotes que
+ chegam na sua esta&ccedil;&atilde;o, e rescrev&ecirc;-los
+ para renviar para a outra m&aacute;quina, e n&atilde;o
+ simplesmente redirecionar o pacote. Normalmente o ideal
+ &eacute; fazer NAT (tradu&ccedil;&atilde;o de
+ endere&ccedil;os de rede). Uma regra de reenvio de
+ pacotes, faz exatamente o que ela deve fazer: reenviar
+ pacotes. As regras n&atilde;o alteram (rescrevem) o
+ conte&uacute;do ou cabe&ccedil;alhos dos dados presentes
+ no pacote. Por exemplo, digamos que a quest&atilde;o seja
+ a seguinte regra:</para>
+
+ <screen>01000 fwd <replaceable>10.0.0.1</replaceable> from any to <replaceable>foo 21</replaceable></screen>
+
+ <para>Quando um pacote destinado &agrave;
+ esta&ccedil;&atilde;o <replaceable>foo</replaceable>
+ chegar no FreeBSD que filtra essa regra, ele ser&aacute;
+ encaminhado para a m&aacute;quina cujo endere&ccedil;o IP
+ &eacute; <replaceable>10.0.0.1</replaceable>, mas o
+ endere&ccedil;o de destino original do pacote ser&aacute;
+ mantido, ou seja, os pacotes chegando em
+ <replaceable>10.0.0.1</replaceable> ainda ter&atilde;o a
+ esta&ccedil;&atilde;o <replaceable>foo</replaceable> como
+ destino final, marcado em seu cabe&ccedil;alho TCP. O
+ endere&ccedil;o de destino n&atilde;o &eacute; alterado
+ (reescrito) para a m&aacute;quina
+ <replaceable>10.0.0.1</replaceable>, o que propicia um
+ comportamento de verifica&ccedil;&atilde;o de checksum do
+ cabe&ccedil;alho IP. O comportamento normal &eacute; que
+ a m&aacute;quina <replaceable>10.0.0.1</replaceable>
+ descarte o pacote, j&aacute; que o endere&ccedil;o de
+ destino do mesmo n&atilde;o &eacute; o endere&ccedil;o da
+ esta&ccedil;&atilde;o em quest&atilde;o. Esse
+ comportamento costuma confundir alguns usu&aacute;rios
+ menos experientes, n&atilde;o correspondendo a
+ a&ccedil;&atilde;o com suas expectativas. Essa &eacute;
+ uma caracter&iacute;stica do IPFW, e n&atilde;o um
+ problema.</para>
+
+ <para>Consulte o <literal>FAQ</literal> sobre <link
+ linkend="service-redirect">Redirecionamento de
+ Servi&ccedil;os</link>, a p&aacute;gina de manual do
+ &man.natd.8;, ou uma das diversas ferramentas de
+ redirecionamento dispon&iacute;veis na
+ Cole&ccedil;&atilde;o de <literal>Ports</literal>, para
+ verificar a forma correta de obter o comportamento
+ desejado.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="service-redirect">
+ <para>Como redirecionar requisi&ccedil;&otilde;es de
+ servi&ccedil;o de uma m&aacute;quina para outra?</para>
+ </question>
+
+ <answer>
+ <para>Servi&ccedil;os como FTP (e outros) podem ser
+ redirecionados com o pacote <literal>socket</literal>,
+ dispon&iacute;vel na &aacute;rvore de
+ Cole&ccedil;&atilde;o do <literal>Ports</literal>, sob a
+ categoria <quote>sysutils</quote>. Simplesmente substitua
+ a linha de comando do servi&ccedil;o a ser redirecionado
+ para executar a ferramenta <literal>socket</literal>, como
+ no exemplo abaixo:</para>
+
+ <programlisting>ftp stream tcp nowait nobody /usr/local/bin/socket socket <replaceable>ftp.example.com</replaceable> <replaceable>ftp</replaceable></programlisting>
+
+ <para>Onde ftp.foo.com e ftp s&atilde;o a m&aacute;quina
+ (host) e a porta de conex&atilde;o que ser&aacute;
+ utilizada para o redirecionamento, respectivamente.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="bandwidth-mgr-tool">
+ <para>Onde obtenho uma ferramenta de gerenciamento de
+ banda?</para>
+ </question>
+
+ <answer>
+ <para>Existem tr&ecirc;s ferramentas de gerenciamento de
+ banda dispon&iacute;veis para o FreeBSD. O
+ &man.dummynet.4;, integrada ao FreeBSD (ou mais
+ especificamente ao &man.ipfw.4;);, o <ulink
+ URL="http://www.csl.sony.co.jp/person/kjc/programs.html">ALTQ</ulink>,
+ dispon&iacute;vel gratuitamente, e o <ulink
+ URL="http://www.etinc.com/">Bandwidth Manager da
+ Emerging Technologies</ulink>, um produto
+ comercial.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="bpf-not-configured">
+ <para>O que causa o erro <errorname>/dev/bpf0: device not
+ configured</errorname>?</para>
+ </question>
+
+ <answer>
+ <para>Voc&ecirc; est&aacute; tentando usar um programa que
+ precisa do Berkeley Packet Filter (veja a p&aacute;gina de
+ manual do &man.bpf.4; para obter maiores
+ informa&ccedil;&otilde;es), mas ele n&atilde;o est&aacute;
+ compilado no <foreignphrase>kernel</foreignphrase>.
+ Adicione a seguinte linha no arquivo de
+ configura&ccedil;&atilde;o do seu
+ <foreignphrase>kernel</foreignphrase> e
+ recompile-o:</para>
+
+ <programlisting>pseudo-device bpf # Berkeley Packet Filter</programlisting>
+
+ <para>Depois que reiniciar o sistema com o novo
+ <foreignphrase>kernel</foreignphrase>, basta criar a
+ interface do dispositivo, o que pode ser feito ao executar
+ o seguinte comando, no diret&oacute;rio
+ <filename>/dev</filename>:</para>
+
+ <screen>&prompt.root; <userinput>sh MAKEDEV bpf0</userinput></screen>
+
+ <para>Por gentileza, refira-se &agrave; se&ccedil;&atilde;o
+ sobre <ulink
+ URL="../handbook/kernelconfig-nodes.html">Cria&ccedil;&atilde;o
+ de interface de Dispositivos</ulink> do
+ &a.ptbr.p.handbook;, para obter mais
+ informa&ccedil;&otilde;es sobre o assunto.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="mount-smb-share">
+ <para>Como montar o disco de uma esta&ccedil;&atilde;o
+ Windows na minha rede, de forma semelhante ao smbmount em
+ sistemas Linux?</para>
+ </question>
+
+ <answer>
+ <para>Use o conjunto de ferramentas
+ <application>SMBFS</application>. Se trata de um conjunto
+ de modifica&ccedil;&otilde;es no
+ <foreignphrase>kernel</foreignphrase>, e uma s&eacute;rie
+ de aplica&ccedil;&otilde;es espec&iacute;ficas. O
+ programa e outras informa&ccedil;&otilde;es podem ser
+ obtidos na Cole&ccedil;&atilde;o de
+ <literal>Ports</literal> do FreeBSD, em <filename
+ role="package">net/smbfs</filename>, ou no sistema base
+ do FreeBSD a partir da vers&atilde;o 4.5-RELEASE.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="icmp-response-bw-limit">
+ <para>O que s&atilde;o as mensagens sobre
+ <quote>icmp-response bandwidth limit 300/200 pps</quote>
+ em meus registros de logs?</para>
+ </question>
+
+ <answer>
+ <para>&Eacute; o resultado de seu
+ <foreignphrase>kernel</foreignphrase> informando-o que
+ alguma atividade esta provocando o envio de um
+ n&uacute;mero de respostas ICMP ou TCP reset (RST)
+ superior ao n&uacute;mero que o
+ <foreignphrase>kernel</foreignphrase> julga adequado.
+ Respostas ICMP s&atilde;o, geralmente, comportamento
+ ocasionado pela tentativa de conex&atilde;o em portas UDP
+ n&atilde;o utilizadas. As respostas TCP reset s&atilde;o
+ o resultado gerado pelas tentativas de conex&atilde;o em
+ portas TCP n&atilde;o pon&iacute;veis. Entre outras
+ causas, algumas das atividades que podem ocasionar esse
+ tipo de mensage, s&atilde;o:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Ataques de nega&ccedil;&atilde;o de servi&ccedil;o
+ (DoS) por for&ccedil;a bruta (em
+ oposi&ccedil;&atilde;o a ataques baseados em um
+ &uacute;nico pacote que visa explorar uma
+ vulnerabilidade espec&iacute;fica).</para>
+ </listitem>
+
+ <listitem>
+ <para>Varreduras de porta (<foreignphrase>port
+ scans</foreignphrase>) que visam rastrear um elevado
+ n&uacute;mero de portas (em oposi&ccedil;&atilde;o a
+ ataques que tentam varrer apenas um pequeno
+ n&uacute;mero de portas conhecidas).</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>O primeiro n&uacute;mero (valor) na mensagem indica
+ quantos pacotes foram enviados pelo
+ <foreignphrase>kernel</foreignphrase> antes do limite
+ passar a vigorar e o segundo valor indica o limite
+ estabelecido no <foreignphrase>kernel</foreignphrase>.
+ Voc&ecirc; pode controlar este limite atrav&eacute;s da
+ vari&aacute;vel <varname>net.inet.icmp.icmplim</varname>
+ do sysctl com instru&ccedil;&otilde;es como esta abaixo,
+ onde estabelecemos um limite de 300 pacotes por
+ segundo:</para>
+
+ <screen>&prompt.root; <userinput>sysctl -w net.inet.icmp.icmplim=300</userinput></screen>
+
+ <para>Se a inten&ccedil;&atilde;o &eacute; n&atilde;o
+ registrar essas mensagens nos arquivos de registros, mas
+ ainda assim manter a capacidade do
+ <foreignphrase>kernel</foreignphrase> limitar as
+ respostas, a vari&aacute;vel
+ <varname>net.inet.icmp.icmplim_output</varname> do sysctl
+ pode ser usada para desabilitar o registro:</para>
+
+ <screen>&prompt.root; <userinput>sysctl -w net.inet.icmp.icmplim_output=0</userinput></screen>
+
+ <para>Finalmente se a inte&ccedil;&atilde;o &eacute;
+ desabilitar esse comportamento por completo, basta definir
+ a vari&aacute;vel <varname>net.inet.icmp.icmplim</varname>
+ do sysctl (conforme o exemplo acima) como 0. Desabilitar
+ o recurso de limite de resposta &eacute; desencorajado
+ pelas raz&otilde;es acima expostas.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="unknown-hw-addr-format">
+ <para>Do que se trata estas mensagens de erro
+ <errorname>arp: unknown hardware address
+ format</errorname>?</para>
+ </question>
+
+ <answer>
+ <para>Significa que alguma interface de rede no mesmo
+ barramento Ethernet que voc&ecirc;, est&aacute; usando um
+ endere&ccedil;o de MAC cujo formato n&atilde;o &eacute;
+ reconhecido pelo FreeBSD. Provavelmente isso deve estar
+ sendo causado por algum outro usu&aacute;rio, fazendo
+ experi&ecirc;ncias com placas Ethernet em algum lugar na
+ sua mesma rede. Em redes com Cable Modens esse
+ comportamento &eacute; ainda mais comum; n&atilde;o
+ &eacute; prejudicial e n&atilde;o atrapalha a performance
+ do seu FreeBSD.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="cvsup-missing-libs">
+ <para>Acabei de instalar o CVSup, mas ao tentar us&aacute;-lo,
+ aparecem erros. O que est&aacute; havendo?</para>
+ </question>
+
+ <answer>
+ <para>Primeiro, verifique se as mensagens de erro em
+ quest&atilde;o s&atilde;o como essas:</para>
+
+ <programlisting>/usr/libexec/ld-elf.so.1: Shared object "libXaw.so.6" not found</programlisting>
+
+ <para>Esse tipo de erro se deve &agrave;
+ instala&ccedil;&atilde;o do <literal>port</literal>
+ <filename role="package">net/cvsup</filename> em
+ esta&ccedil;&otilde;es sem o XFree86. Se a
+ inte&ccedil;&atilde;o &eacute; usar a interface
+ gr&aacute;fica oferecida pelo
+ <application>CVSup</application>, ent&atilde;o instale o
+ <application>XFree86</application> imediatamente. Do
+ contr&aacute;rio, se a inten&ccedil;&atilde;o &eacute;
+ usar o <application>CVSup</application> apenas por linha
+ de comando, basta desinstalar a aplica&ccedil;&atilde;o
+ anterior e instalar o <literal>port</literal> <filename
+ role="package">net/cvsup-without-gui</filename>. A
+ se&ccedil;&atilde;o sobre <ulink
+ url="http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/cvsup.html">CVSup</ulink>
+ do &a.ptbr.p.handbook; cobre essas quest&otilde;es de
+ forma mais detalhada.</para>
+ </answer>
+ </qandaentry>
+ </qandaset>
+ </chapter>
+
+ <chapter id="security">
+ <title>Seguran&ccedil;a</title>
+ <qandaset>
+ <qandaentry>
+ <question id="extra-named-port">
+ <para>O BIND (<command>named</command>) est&aacute;
+ escutando na porta 53 e em outras portas elevadas. O que
+ est&aacute; havendo?</para>
+ </question>
+
+ <answer>
+ <para>O FreeBSD, a partir da vers&atilde;o 3.0, utiliza
+ portas n&atilde;o privilegiadas e elevadas,
+ aleatoriamente, para responder &agrave;
+ requisi&ccedil;&otilde;es de DNS. Se a
+ inten&ccedil;&atilde;o &eacute; usar a porta 53 para
+ responder a estas requisi&ccedil;&otilde;es, para adequar
+ o comportamento do BIND &agrave; um
+ <foreignphrase>firewall</foreignphrase> ou apenas para
+ sentir-se melhor, experimente acrescentar a
+ instru&ccedil;&otilde;o abaixo no arquivo
+ <filename>/etc/namedb/named.conf</filename>:</para>
+
+ <programlisting>options {
+ query-source address * port 53;
+ };</programlisting>
+
+ <para>O <literal>*</literal> deve ser substitu&iacute;do por
+ um endere&ccedil;o IP &uacute;nico, caso se deseje
+ restringir ainda mais este comportamento.</para>
+
+ <para>De qualquer forma, parab&eacute;ns. &Eacute; uma
+ pratica saud&aacute;vel verificar registros n&atilde;o
+ usuais no conte&uacute;do de sa&iacute;da do
+ &man.sockstat.1; </para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="sendmail-port-587">
+ <para>O Sendmail est&aacute; ouvindo na porta 587
+ al&eacute;m da tradicional porta 25! O que est&aacute;
+ havendo?</para>
+ </question>
+
+ <answer>
+ <para>As vers&otilde;es mais novas do Sendmail tem suporte
+ &agrave; uma caracter&iacute;stica que se chama
+ <foreignphrase>Mail Submission</foreignphrase>, que ouve
+ na porta 587. Esse servi&ccedil;o n&atilde;o &eacute;
+ completamente suportado ainda, mas sua popularidade vem
+ crescendo.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="toor-account">
+ <para>O que &eacute; a conta do usu&aacute;rio
+ <username>toor</username> que tem UID 0? Meu sistema foi
+ comprometido?</para>
+ </question>
+
+ <answer>
+ <para>N&atilde;o se preocupe. O usu&aacute;rio
+ <username>toor</username> &eacute; uma conta
+ <quote>alternativa</quote> com poderes de super
+ usu&aacute;rio (toor &eacute; root escrito ao
+ contr&aacute;rio). Normalmente esse usu&aacute;rio era
+ criado quando o interpretador de comandos &man.bash.1; era
+ instalado, mas agora o usu&aacute;rio existe por
+ padr&atilde;o no sistema. A inten&ccedil;&atilde;o
+ &eacute; que o usu&aacute;rio seja usado com um
+ interpretador de comandos fora do padr&atilde;o, de forma
+ que o ambiente de linha de comando do usu&aacute;rio
+ <username>root</username> n&atilde;o tenha que ser
+ alterada. Essa &eacute; uma situa&ccedil;&atilde;o
+ importante quando nos referimos &agrave; interpretadores
+ de comandos que n&atilde;o fazem parte da base do sistema
+ operacional (por exemplo, que foram instaladas do
+ <literal>Ports</literal> ou como pacotes, j&aacute; que
+ normalmente, elas s&atilde;o instaladas sob o
+ <filename>/usr/local/bin</filename> que por padr&atilde;o
+ est&aacute; em um sistema de arquivos diferente da raiz do
+ sistema. Em uma situa&ccedil;&atilde;o onde o
+ interpretador de comandos do usu&aacute;rio estiver sob
+ <filename>/usr/local/bin</filename> ou sob
+ <filename>/usr</filename> (ou onde quer que seja) e esse
+ sistema de arquivos n&atilde;o puder ser montado por
+ alguma raz&atilde;o, o usu&aacute;rio
+ <username>root</username> estar&aacute; impossibilitado de
+ se logar no sistema para corrigir o problema (contudo, ao
+ entrar em modo mono tarefa, o sistema pede o caminho
+ completo para algum interpretador de comandos.
+ </para>
+
+ <para>Alguns administradores costumam usar o
+ <username>toor</username> para tarefas do dia-a-dia, com
+ um interpretador de comandos
+ (<foreignphrase>shell</foreignphrase>) n&atilde;o comum, e
+ deixando o <username>root</username> com seu interpretador
+ de comandos (<foreignphrase>shell</foreignphrase>)
+ padr&atilde;o para realizar tarefas de emerg&ecirc;ncia ou
+ de modo mono usu&aacute;rio. Por padr&atilde;o, o
+ usu&aacute;rio <username>toor</username> n&atilde;o pode
+ ser usado, j&aacute; que ele n&atilde;o tem uma senha
+ definida. Para habilitar a conta, logue-se como
+ <username>root</username> no sistema e defina uma senha
+ para o <username>toor</username>.
+ </para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="suidperl">
+ <para>Por que o <command>suidperl</command> n&atilde;o
+ est&aacute; funcionando corretamente?</para>
+ </question>
+
+ <answer>
+ <para>Por motivos de seguran&ccedil;a, a
+ instala&ccedil;&atilde;o padr&atilde;o do
+ <command>suidperl</command> n&atilde;o tem o bit suid
+ definido. Os administradores de sistemas podem reaver o
+ comportamento esperado com o seguinte comando:</para>
+
+ <screen>&prompt.root; <userinput>chmod u+s /usr/bin/suidperl</userinput></screen>
+
+ <para>Se a inten&ccedil;&atilde;o &eacute; que o
+ <command>suidperl</command> seja compilado com suid
+ durante as atualiza&ccedil;&otilde;es do sistema, edite o
+ <filename>/etc/make.conf</filename> e adicione a linha
+ <varname>ENABLE_SUIDPERL=true</varname> no arquivo, antes
+ de come&ccedil;ar um <command>make
+ buildworld</command>.</para>
+ </answer>
+ </qandaentry>
+ </qandaset>
+ </chapter>
+
+ <chapter id="ppp">
+ <title>PPP</title>
+
+ <qandaset>
+ <qandaentry>
+ <question id="userppp">
+ <para>N&atilde;o consigo fazer meu &man.ppp.8; funcionar. O
+ que estou fazendo de errado?</para>
+ </question>
+
+ <answer>
+ <para>Deve-se primeiro ler a man page do &man.ppp.8; e <ulink
+ URL="../handbook/ppp-and-slip.html#USERPPP">
+ se&ccedil;&atilde;o PPP do &a.ptbr.p.handbook;</ulink>.
+ Habilite os logs com o comando</para>
+
+ <programlisting>set log Phase Chat Connect Carrier lcp ipcp ccp command</programlisting>
+
+ <para>Este comando pode ser digitado no prompt do &man.ppp.8;
+ ou pode ser colocado no
+ <filename>/etc/ppp/ppp.conf</filename> (A
+ se&ccedil;&atilde;o <literal>default</literal> no
+ in&iacute;cio do arquivo &eacute; o melhor lugar para
+ colocar isso). Tenha certeza de que
+ seu<filename>/etc/syslog.conf</filename> (veja
+ &man.syslog.conf.5;) tenha as linhas</para>
+
+ <programlisting>!ppp *.*/var/log/ppp.log</programlisting>
+
+ <para>e que o arquivo <filename>/var/log/ppp.log</filename>
+ exista. Agora pode-se ver o que est&aacute; acontecendo
+ analisando seu arquivo de log. N&atilde;o se preocupe se
+ isso n&atilde;o faz sentido mas se precisar de ajuda, esta
+ informa&ccedil;&atilde;o far&aacute; sentido a
+ eles.</para>
+
+ <para>Se a sua vers&atilde;o do &man.ppp.8; n&atilde;o
+ suporta o comando set log ,deve-se fazer o download da
+ <ulink URL="http://people.FreeBSD.org/~brian/">
+ vers&atilde;o mais recente</ulink>. O FreeBSD 2.1.5 (e
+ posteriores) suporta a compila&ccedil;&atilde;o do
+ c&oacute;digo mais recente.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="ppp-hangs">
+ <para>Por que o &man.ppp.8; fica pendurado quando eu o
+ inicializo?</para>
+ </question>
+
+ <answer>
+ <para>Isso normalmente acontece porque seu hostname
+ n&atilde;o esta sendo resolvido. A melhor maneira de
+ corrigir isso &eacute; certificar-se de que o
+ <filename>/etc/hosts</filename> est&aacute; sendo
+ consultado pelo resolvedor; editando primeiro o
+ <filename>/etc/host.conf</filename> e colocando
+ <literal>hosts</literal> na primeira linha. Para isso,
+ simplesmente adicione no <filename>/etc/hosts/</filename>
+ uma entrada para sua m&aacute;quina local. Se n&atilde;o
+ tem nenhuma rede local, mude a linha do
+ <hostid>localhost</hostid>:</para>
+
+ <programlisting>127.0.0.1 foo.example.com foo localhost</programlisting>
+
+ <para>Sen&atilde;o, adicione uma outra entrada para seu
+ host. Consulte as man pages relevantes para maiores
+ detalhes.</para>
+
+ <para>Ao terminar, deve ser poss&iacute;vel dar um
+ <command>ping -c1 `nomedohost`</command> com sucesso.
+ </para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="ppp-nodial-auto">
+ <para>Porque o &man.ppp.8; n&atilde;o disca em
+ modo<literal>-auto</literal>
+ </para>
+ </question>
+
+ <answer>
+ <para>Primeiro verifique se h&aacute; uma rota
+ padr&atilde;o. Ao executar um <command>netstat
+ -rn</command> (veja &man.netstat.1;), devem aparecer duas
+ entradas como essas:</para>
+
+ <programlisting>Destination Gateway Flags Refs Use Netif Expire
+default 10.0.0.2 UGSc 0 0 tun0
+10.0.0.2 10.0.0.1 UH 0 0 tun0</programlisting>
+
+ <para>Assume-se o uso do endere&ccedil;o recomendado pelo
+ &a.ptbr.p.handbook;, p&aacute;ginas de manual ou no
+ arquivo ppp.conf.sample. Se a rota padr&atilde;o
+ n&atilde;o foi definida, &eacute poss&iacute;vel que a
+ vers&atilde;o do &man.ppp.8; seja antiga, uma vez que
+ n&atilde;o entendem a palavra <literal>HISADDR</literal>
+ no arquivo ppp.conf. Se a vers&atilde;o do seu FreeBSD
+ for anterior a 2.2.5, mude a linha</para>
+
+ <programlisting>add 0 0 HISADDR</programlisting>
+
+ <para>para</para>
+
+ <programlisting>add 0 0 10.0.0.2</programlisting>
+
+ <para>Outra raz&atilde;o para a rota padr&atilde;o estar
+ ausente, pode ser porqu&ecirc; voc&ecirc; equivocadamente
+ definiu uma rota default em seu arquivo
+ <filename>/etc/rc.conf</filename> (veja &man.rc.conf.5;)
+ (este arquivo era chamado
+ <filename>/etc/sysconfig</filename> nas vers&otilde;es
+ anteriores a 2.2.2) e omitiu a linha</para>
+
+ <programlisting>delete ALL</programlisting>
+
+ <para>no <filename>ppp.conf</filename>. Se este for o
+ problema, volte para <ulink
+ URL="../handbook/ppp-and-slip.html#USERPPP-FINAL">
+ se&ccedil;&atilde;o de configura&ccedil;&otilde;es
+ Finais do &a.ptbr.p.handbook;.</ulink></para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="no-route-to-host">
+ <para>O que <errorname>No route to host</errorname>
+ significa?</para>
+ </question>
+
+ <answer>
+ <para>Este erro &eacute; causado pela falta das linhas</para>
+
+ <programlisting>MYADDR:
+ delete ALL
+ add 0 0 HISADDR</programlisting>
+
+ <para>no seu arquivo
+ <filename>/etc/ppp/ppp.linkup</filename>. Isso somente
+ &eacute; necess&aacute;rio se voc&ecirc; tem um IP
+ din&acirc;mico ou n&atilde;o sabe o endere&ccedil;o do seu
+ gateway. Se voc&ecirc; esta usando o modo interativo,
+ pode-se digitar o seguinte, depois de ter entrado no
+ <literal>modo packet</literal> (O modo packet &eacute;
+ indicado pelo <acronym>PPP</acronym> mai&iacute;sculo no
+ prompt):
+ </para>
+
+ <programlisting>delete ALL
+add 0 0 HISADDR</programlisting>
+
+ <para>Consulte a <ulink
+ URL="../handbook/ppp-and-slip.html#USERPPP-DYNAMICIP">
+ se&ccedil;&atilde;o PPP e Endere&ccedil;os IPs
+ din&acirc;micos</ulink> do &a.ptbr.p.handbook; para
+ maiores detalhes
+ </para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="connection-threeminutedrop">
+ <para>Porque minha conex&atilde;o cai depois de (em m&eacute;dia)
+ 3 minutos?</para>
+ </question>
+
+ <answer>
+ <para>O default timeout do PPP &eacute; de 3 minutos. Isso pode
+ ser ajustado com a linha</para>
+
+ <programlisting>set timeout <replaceable>NNN</replaceable></programlisting>
+
+ <para>Onde NNN &eacute; o n&uacute;mero em
+ segundos de inatividade antes da conex&atilde;o ser
+ fechada. Se <replaceable>NNN</replaceable> &eacute; zero a conex&atilde;o
+ nunca ser&aacute; fechada devido a um timeout. &Eacute;
+ poss&iacute;vel colocar esse comando no
+ <filename>ppp.conf</filename> ou digit&aacute;-lo no modo
+ interativo. Tamb&eacute;m &eacute;
+ poss&iacute;vel que isso seja ajustado enquanto sua
+ conex&atilde;o esta ativa conectando
+ pelo socket do servidor <application>ppp</application> usando
+ &man.telnet.1; ou &man.pppctl.8;. Consulte a man
+ page do &man.ppp.8; para maiores detalhes.
+ </para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="ppp-drop-heavy-load">
+ <para>Por que minha conex&atilde;o cai quando est&aacute;
+ sobrecarregada?</para>
+ </question>
+
+ <answer>
+ <para>Se voc&ecirc; tem o relat&oacute;rio da qualidade da
+ liga&ccedil;&atilde;o (op&ccedil;&atilde;o LPR)
+ configurado &eacute; poss&iacute;vel que muitos pacotes
+ LQR entre sua m&aacute;quina e a origem estejam sendo
+ perdidos. O ppp deduz que sua linha deve ser ruim e
+ desconecta. Antes da vers&atilde;o 2.2.5 do FreeBSD, o
+ LQR era habilitado por default. Agora ele &eacute;
+ desabilitado por default. O LQR pode ser desabilitado com
+ a linha</para>
+
+ <programlisting>disable lqr</programlisting>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="ppp-drop-random">
+ <para>Por que minha conex&atilde;o cai ap&oacute;s um
+ per&iacute;odo aleat&oacute;rio de tempo?</para>
+ </question>
+
+ <answer>
+ <para>&Agrave;s vezes, em uma linha telef&ocirc;nica com
+ ru&iacute;dos, ou quando a linha tem espera de
+ liga&ccedil;&otilde;es, seu modem pode desligar, pensando
+ (incorretamente) que perdeu o sinal de linha.</para>
+
+ <para>Existem ajustes em grande parte dos modems
+ determinando o qu&atilde;o tolerante ele deve ser a
+ respeito de perdas de sinal de linha. No USR Sportster,
+ por exemplo, isso &eacute; medido pelo registrador S10 em
+ d&eacute;cimos de segundo. Para fazer com que seu modem
+ n&atilde;o caia, poderia-se adicionar a seguinte string
+ dial up para envio/espera:</para>
+
+ <programlisting>set dial "...... ATS10=10OK......"
+ </programlisting>
+
+ <para>Consulte o manual do seu modem para detalhes.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="ppp-hangs-random">
+ <para>Por que minha conex&atilde;o fica pendurada depois de
+ um per&iacute;odo aleat&oacute;rio de tempo?</para>
+ </question><answer>
+
+ <para>Muitas pessoas experimentam conex&otilde;es presas sem
+ aparentemente nenhuma explica&ccedil;&atilde;o.</para>
+
+ <para>Se voc&ecirc; usa um modem externo, voc&ecirc;
+ simplesmente pode tentar um &man.ping.8; para ver se a luz
+ <acronym>TD</acronym> fica piscando quando voc&ecirc;
+ transmite dados. Se piscar (e a luz do
+ <acronym>RD</acronym> n&atilde;o), o problema &eacute; com
+ a extremidade remota. Se o <acronym>TD</acronym>
+ n&atilde;o piscar, o problema &eacute; local. Com um
+ modem interno voc&ecirc; precisar&aacute; usar o comando
+ <literal>set server</literal> no seu arquivo ppp.conf.
+ Quando ocorrer de cair, conecte com o &man.ppp.8; usando o
+ &man.pppctl.8;. Se a conex&atilde;o de sua rede voltar de
+ repente (o ppp voltou devido a atividade no
+ diagn&oacute;stico do socket) ou se voc&ecirc; n&atilde;o
+ consegue conectar (assumindo que o comando <literal>set
+ socket</literal> foi iniciado com sucesso) o problema
+ &eacute; local. Se voc&ecirc; puder conectar e ainda as
+ coisas estiverem "penduradas" habilite os logs do async
+ local com o comando <literal>set log local async</literal>
+ e use o &man.ping.8; de outra janela ou terminal para
+ for&ccedil;ar a atividade da conex&atilde;o. Os logs
+ async ir&atilde;o mostrar os dados que est&atilde;o sendo
+ transmitidos e recebidos durante a liga&ccedil;&atilde;o.
+ Se os dados est&atilde;o indo e n&atilde;o est&atilde;o
+ voltando, o problema &eacute; remoto.</para>
+
+ <para>Tendo estabelecido que o problema &eacute; local ou
+ remoto, voc&ecirc; tem agora duas possibilidades:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>Se o problema &eacute; remoto, leia a
+ sec&ccedil;&atilde;o <xref
+ linkend="ppp-remote-not-responding">.</para>
+ </listitem>
+
+ <listitem>
+ <para>Se o problema for remoto, leia a
+ sec&ccedil;&atilde;o <xref linkend="ppp-hung">.</para>
+ </listitem>
+ </itemizedlist>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="ppp-remote-not-responding">
+ <para>A extremidade remota n&atilde;o est&aacute;
+ respondendo. O que eu posso fazer?</para>
+ </question>
+
+ <answer>
+ <para>H&aacute; muito pouco que pode ser feito em
+ rela&ccedil;&atilde;o a isso. A maioria dos provedores
+ ir&atilde;o recusar ajuda-lo se voc&ecirc; n&atilde;o usar
+ o Windows. Voc&ecirc; pode habilitar a
+ <literal>lqr</literal> no seu arquivo
+ <filename>ppp.conf</filename>, permitindo ao &man.ppp.8;
+ detectar a falha remota e desligar-se, mas essa
+ detec&ccedil;&atilde;o &eacute; relativamente lenta e
+ consequentemente in&uacute;til. Pode-se querer evitar
+ dizer ao seu provedor que voc&ecirc; est&aacute; rodando o
+ user-ppp....</para>
+
+ <para>Primeiro tente desabilitar toda compress&atilde;o
+ local adicionando o seguinte em sua
+ configura&ccedil;&atilde;o:</para>
+
+ <programlisting>disable pred1 deflate deflate24 protocomp acfcomp shortseq vj
+deny pred1 deflate deflate24 protocomp acfcomp shortseq vj</programlisting>
+
+ <para>Ent&atilde;o reconecte para assegurar de que isso
+ n&atilde;o fez diferen&ccedil;a. Se as coisas melhoraram
+ ou se o problema foi resolvido completamente, determine
+ quais ajustes fizeram a diferen&ccedil;a atrav&eacute;s de
+ tentativas e erros. Isto fornecer&aacute; uma boa cartada
+ quando voc&ecirc; contactar seu provedor (embora possa
+ parecer que voc&ecirc; n&atilde;o esteja rodando um
+ produto Microsoft).</para>
+
+ <para>Antes de contactar seu provedor, habilite o log async
+ localmente e aguarde at&eacute; que sua conex&atilde;o
+ caia novamente. Isto pode usar um bocado de espa&ccedil;o
+ em disco. A &uacute;ltima leitura de dados da porta pode
+ ser de seu interesse. S&atilde;o geramente dados em
+ ascii, e podem mesmo descrever o problema (<quote>Memory
+ fault, core dumped</quote>?).</para>
+
+ <para>Se seu provedor for prestativo, ele deve ser capaz de
+ habilitar o log da extremidade da conex&atilde;o dele,
+ ent&atilde;o quando a proxima queda de link ocorrer, eles
+ podem ser capazes de dizer porque o seu lado esta tendo
+ problemas. Sinta-se livre para enviar os detalhes para
+ &a.brian ou pe&ccedil;a para seu provedor
+ contact&aacute;-lo diretamente.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="ppp-hung">
+ <para>O &man.ppp.8; est&aacute; travado. O que eu posso
+ fazer?</para>
+ </question>
+
+ <answer>
+ <para>A melhor coisa a fazer aqui &eacute; recompilar o
+ &man.ppp.8; adicionando <literal>CFLAGS+=-g </literal>e
+ <literal>STRIP=</literal> no final do Makefile, depois
+ fa&ccedil;a <command>make clean &amp;&amp; make &amp;&amp;
+ make install</command>. Quando o &man.ppp.8; ficar
+ travado, procure o id do processo com um <command>ps ajxww
+ | fgrep ppp</command> e execute <command>gdb ppp
+ </command>PID. No prompt do gdb voc&ecirc; pode
+ ent&atilde;o usar o <command>bt</command> para obter um
+ rastreamento da pilha.</para>
+
+ <para>Envie os resultados para:
+ <email>brian@Awfulhak.org</email>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="ppp-loginok-thennothing">
+ <para>Por que n&atilde;o acontece nada depois da mensagem
+ <quote>Login OK!</quote>?</para>
+ </question>
+
+ <answer>
+ <para>Antes da vers&atilde;o 2.2.5 do FreeBSD, uma vez que a
+ conex&atilde;o foi estabelecida, o &man.ppp.8; espera que o
+ modem remoto inicie o protocolo do controle de linha
+ (LCP), Muitos provedores n&atilde;o iniciar&atilde;o a
+ negocia&ccedil;&atilde;o e esperar&ccedil;&atilde;o que o
+ cliente a fa&ccedil;a. Para for&ccedil;ar o &man.ppp.8;
+ para iniciar o LCP, use a seguinte linha:</para>
+
+ <programlisting>set openmode active</programlisting>
+
+ <note>
+ <para>Nota: isto geralmente n&atilde;o prejudica em nada
+ se a negocia&ccedil;&atilde;o for iniciada por ambos os
+ lados, assim, a op&ccedil;&atilde;o openmode &eacute;
+ agora ativada por padr&atilde;o. Entretanto, na
+ pr&oacute;xima se&ccedil;&atilde;o ser&aacute; explicado
+ quando isso realmente <emphasis>proporciona</emphasis>
+ algum problema.</para>
+ </note>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="ppp-same-magic">
+ <para>Eu vejo os mesmos erros sobre <literal>magic is the
+ same</literal>. O que significa?</para>
+ </question>
+
+ <answer>
+ <para>Ocasionalmente, depois da conex&atilde;o, voc&ecirc;
+ pode ver mensagens no log dizendo <quote>"magic is the
+ same"</quote>. &Agrave;s vezes essas mensagens
+ s&atilde;o sem import&acirc;ncia e as vezes um lado ou o
+ outro sai. A maioria das implementa&ccedil;&otilde;es do
+ ppp n&atilde;o consegue continuar com esse problema, e
+ mesmo se a conex&atilde;o estiver para ser estabelecida,
+ voc&ecirc; ver&aacute; repetidas requisi&ccedil;&otilde;es
+ de configura&ccedil;&atilde;o e reconhecimentos de
+ configura&ccedil;&atilde;o no arquivo de log at&eacute;
+ que o &man.ppp.8; eventualmente desista e feche a
+ conex&atilde;o.</para>
+
+ <para>Isto normalmente acontece em m&aacute;quinas com
+ discos lentos que est&atilde;o dando spawning getty na
+ porta e executam o &man.ppp.8; atrav&eacute;s de um login
+ script ou programa depois do login. Eu tamb&eacute;m ouvi
+ relat&oacute;rios disso estar acontecendo consistentemente
+ ao usar slirp. A raz&atilde;o &eacute; que no tempo entre
+ sa&iacute;da do &man.getty.8; e a
+ inicializa&ccedil;&atilde;o do &man.ppp.8;, o &man.ppp.8; do
+ lado cliente come&ccedil;a a emitir pacotes do protocolo
+ do controle da linha LCP). Porque o ECHO ainda esta
+ ligado na porta do servidor, o cliente ent&atilde;o
+ v&ecirc; esses pacotes serem <quote>refletidos</quote> de
+ volta.</para>
+
+ <para>Uma parte da negocia&ccedil;&atilde;o LCP deve
+ estabelecer um n&uacute;mero m&aacute;gico para cada lado
+ da liga&ccedil;&atilde;o de modo que as
+ <quote>reflex&otilde;es</quote> possam ser detectadas. O
+ protocolo diz que quando um ponto tenta negociar o mesmo
+ n&uacute;mero m&aacute;gico, um NAK deve ser emitido e um
+ novo n&uacute;mero m&aacute;gico deve ser escolhido.
+ Durante o per&iacute;odo que a porta do server tem o ECHO
+ ligado, o &man.ppp.8; cliente manda pacotes LCP, v&ecirc; o
+ mesmo n&uacute;mero m&aacute;gico nos pacotes refletidos e
+ manda NAKs a ele. Ve-se tamb&eacute;m o NAK que foi
+ refletido (que significa que o &man.ppp.8; deve mudar o seu
+ n&uacute;mero m&aacute;gico). Isto produz um
+ n&uacute;mero potencialmente enorme de mudan&ccedil;as de
+ n&uacute;meros m&aacute;gicos que est&atilde;o sendo
+ empilhados no buffer do tty do servidor. T&atilde;o logo
+ o &man.ppp.8; se inicia no servidor, ele &eacute; inundado
+ com mudan&ccedil;as de n&uacute;meros m&aacute;gicos
+ imediatamente ao negociar o LCP, e desiste. Enquanto
+ isso, o cliente n&atilde;o v&ecirc; por muito tempo as
+ reflex&otilde;es e fica feliz apenas por algum tempo,
+ at&eacute; receber a desconex&atilde;o do servidor.</para>
+
+ <para>Isto pode ser evitado permitindo que a
+ negocia&ccedil;&atilde;o seja iniciada pelo servidor
+ (peer), adicionando a seguinte linha no seu arquivo
+ ppp.conf:</para>
+
+ <programlisting>set openmode passive</programlisting>
+
+ <para>Isso diz ao &man.ppp.8; para esperar que o servidor
+ inicie as negocia&ccedil;&otilde;es LCP. Alguns
+ servidores, entretanto, podem nunca iniciar as
+ negocia&ccedil;&otilde;es. Se este for o caso, voc&ecirc;
+ deve fazer algo como:</para>
+
+ <programlisting>set openmode active 3</programlisting>
+
+ <para>Isto diz ao &man.ppp.8; para ser passivo durante 3
+ segundos, e ent&atilde;o come&ccedil;ar a enviar
+ requisi&ccedil;&otilde;es LCP. Se o servidor (peer)
+ come&ccedil;ar a enviar requisi&ccedil;&otilde;es durante
+ esse per&iacute;odo, o &man.ppp.8; ir&aacute; responder
+ imediatamente, ao inv&eacute;s de aguardar pelo
+ per&iacute;odo completo de 3 segundos.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="ppp-lcp-constant">
+ <para>As negocia&ccedil;&otilde;es LCP continuam at&eacute;
+ que a conex&atilde;o seja fechada. O que est&aacute;
+ errado?</para>
+ </question>
+
+ <answer>
+ <para>H&aacute; atualmente uma caracter&iacute;stica
+ faltando no ppp onde ele n&atilde;o associa respostas LCP
+ , CCP &amp; IPCP com suas requisi&ccedil;&otilde;es
+ originais. Como consequ&ecirc;ncia, se uma
+ implementa&ccedil;&atilde;o ppp &eacute; 6 segundos mais
+ lenta do que o outro lado, esse lado emitir&aacute duas
+ requis&otilde;es adicionais de configura&ccedil;&atilde;o
+ LCP. Isto &eacute; fatal.</para>
+
+ <para>Considere duas implementa&ccedil;&otilde;es,
+ <hostid>A</hostid> e <hostid>B</hostid>.
+ <hostid>A</hostid> emite requisi&ccedil;&otilde;es LCP
+ imediatamente ap&oacute;s a conex&atilde;o e
+ <hostid>B</hostid> leva 7 segundos para iniciar. Quando
+ <hostid>B</hostid> inicia, <hostid>A</hostid> emitiu 3 LCP
+ REQs. N&oacute;s estamos supondo que a linha ECHO esteja
+ desabilitada, sen&atilde;o n&oacute;s ver&iacute;amos
+ problemas com n&uacute;mero m&aacute;gico como descritos
+ na se&ccedil;&atilde;o anterior. <hostid>B</hostid> emite
+ um REQ, entao um ACK para o primeiro dos REQs de
+ <hostid>A</hostid>. Isto resulta em <hostid>A</hostid>
+ entrando no estado <acronym>OPENED</acronym> e enviando um
+ ACK (o primeiro) de volta a <hostid>B</hostid>. Enquanto
+ isso, <hostid>B</hostid> envia de volta mais dois ACKs em
+ resposta aos dois REQs adicionais enviados por
+ <hostid>A</hostid> antes de <hostid>B</hostid> ter
+ iniciado. <hostid>B</hostid> ent&atilde;o recebe o
+ primeiro ACK de <hostid>A</hostid> e tamb&eacute;m entra
+ no estado de <acronym>OPENED</acronym>.
+ <hostid>A</hostid> recebe o segundo ACK de
+ <hostid>B</hostid> e retorna ao estado de
+ <acronym>REQ-SENT</acronym>, enviando um outro (seguinte)
+ REQ conforme a RFC ordena. Ent&atilde;o, recebe o
+ terceiro ACK e entra no estado OPENED. Enquanto isso,
+ <hostid>B</hostid> recebe REQ (posterior) de
+ <hostid>A</hostid>, tendo como resultado uma
+ revers&atilde;o para o estado <acronym>ACK-SENT</acronym>
+ e enviando um outro (segundo) REQ e (depois) ACK conforme
+ a RFC. Conseguindo o REQ, <hostid>A</hostid> entra em
+ <acronym>REQ-SENT</acronym> e envia outro REQ.
+ Imediatamente recebe o ACK seguinte e entra em
+ <acronym>OPENED</acronym>.</para>
+
+ <para>Isto continuar&aacute; at&eacute; que um dos lados
+ descubra que eles n&atilde;o est&atilde;o indo a lugar
+ algum e desista.</para>
+
+ <para>A melhor maneira de evitar isso &eacute; configurar um
+ lado para ser <literal>passivo</literal> - isso faz com
+ que um lado espere pelo outro para iniciar uma
+ negocia&ccedil;&atilde;o. Isto pode ser feito com o
+ comando</para>
+
+ <programlisting>set openmode passive</programlisting>
+
+ <para>Deve-se ter cuidado com esta op&ccedil;&atilde;o.
+ Voc&ecirc; tamb&eacute;m deve usar o comando</para>
+
+ <programlisting>set stopped N</programlisting>
+
+ <para>para limitar a quantidade de tempo que o &man.ppp.8;
+ esperar&aacute; pelo outro lado iniciar a
+ negocia&ccedil;&atilde;o. Alternativamente o
+ comando</para>
+
+ <programlisting>set openmode active N</programlisting>
+
+ <para>(onde <replaceable>N</replaceable> &eacute; o
+ n&uacute;mero de segundos para esperar antes de iniciar as
+ negocia&ccedil;&otilde;es) pode ser usado. Consulte as
+ p&aacute;ginas de manual para detalhes.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="ppp-lockups">
+ <para>Por que o &man.ppp.8; trava logo ap&oacute; a
+ conex&atilde;o?</para>
+ </question>
+
+ <answer>
+ <para>Antes da vers&atilde;o 2.2.5 do FreeBSD, era
+ poss&iacute;vel que sua liga&ccedil;&atilde;o fosse
+ desabilitada logo ap&oacute;s a conex&atilde;o, devido a
+ incapacidade de negocia&ccedil;&atilde;o da
+ compress&atilde;o Predictor1 do &man.ppp.8;. Isto
+ aconteceria somente se ambos os lados tentassem negociar
+ protocolos diferentes do controle da compress&atilde;o
+ (CCP). Este problema atualmente esta corrigido, mas se
+ voc&ecirc; ainda roda uma vers&atilde;o antiga do
+ &man.ppp.8;, o problema pode ser resolvido com a
+ linha:</para>
+
+ <programlisting>disable pred1</programlisting>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="ppp-shell-test-lockup">
+ <para>Por que o &man.ppp.8; trava quando executo
+ comandos shell pelo &man.ppp.8;?</para>
+ </question>
+
+ <answer>
+ <para>Quando executa-se o <command>shell</command> com o
+ comando <command>!</command> , o &man.ppp.8; executa um
+ shell (ou se voc&ecirc; passar quaisquer argumentos, o
+ &man.ppp.8; executar&aacute; aqueles argumentos). Ppp
+ aguardar&aacute; o comando terminar antes de continuar.
+ Se voc&ecirc; tentar usar a sua liga&ccedil;o ppp enquanto
+ &eacute; executado o comando, a liga&ccedil;&atilde;o
+ aparacer&aacute; congelada. Isto porque o ppp
+ estar&aacute; esperando pelo finaliza&ccedil;&atilde;o da
+ comando.</para>
+
+ <para>Se voc&ecirc; desejar executar comandos assim, use o
+ comando <command>!bg</command>. Ele executar&aacute; o
+ comando em background e o &man.ppp.8; poder&aacute;
+ continuar a servir a conex&atilde;o normalmente.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="ppp-nullmodem">
+ <para>Como uma conex&atilde;o por &man.ppp.8; usando um nunca
+ termina?</para>
+ </question>
+
+ <answer>
+ <para>N&atilde;o h&aacute; nenhuma maneira para que o
+ &man.ppp.8; determine automaticamente que uma
+ conex&atilde;o direta caiu. Isto &eacute; devido
+ &agrave;s linhas que s&atilde;o usadas na s&eacute;rie de
+ cable null modems. Ao usar esse tipo de conex&atilde;o o
+ LQR deve sempre ser habilitado com a linha:</para>
+
+ <programlisting>enable lqr</programlisting>
+
+ <para>A LQR &eacute; aceita por padr&atilde;o, se negociada
+ com o outro lado.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="ppp-auto-noreasondial">
+ <para>Por que o &man.ppp.8; disca sem nenhuma raz&atilde;o no
+ modo -auto?</para>
+ </question>
+
+ <answer>
+ <para>Se o &man.ppp.8; esta discando inesperadamente,
+ voc&ecirc; deve determinar a causa, e setar os filtros de
+ discagem (dfilters) para evitar esse comportamento.</para>
+
+ <para>Para determinar a causa, use a seguinte linha:</para>
+
+ <programlisting>set log +tcp/ip</programlisting>
+
+ <para>Isto registrar&aacute; todo o tr&aacute;fego
+ atrav&eacute;s da conex&atilde;o. A pr&oacute;xima vez
+ que a linha acima for ativada, voc&ecirc; ver&aacute; a
+ raz&atilde;o logada.</para>
+
+ <para>Voc&ecirc; pode agora desabilitar a discagem sob estas
+ circunst&acirc;ncias. Geralmente, este tipo de problema
+ ocorre devido aos lookups do DNS. Para evitar que os
+ lookups do DNS estabele&ccedil;am uma conex&atilde;o (isto
+ <emphasis>n&atilde;o</emphasis> impedir&aacute; que o
+ &man.ppp.8; passe os pacotes atrav&eacute;s de uma
+ conex&atilde;o j&aacute; estabelecida) use o
+ seguinte:</para>
+
+ <programlisting>set dfilter 1 deny udp src eq 53
+set dfilter 2 deny udp dst eq 53
+set dfilter 3 permit 0/0 0/0</programlisting>
+
+ <para>Nem sempre isso &eacute; apropriado, porque ir&aacute;
+ interromper suas capacidades de discagem por demanda - a
+ maioria dos programas precisar&atilde;o de lookup do DNS
+ antes de fazer alguma outra coisa relacionada a
+ rede.</para>
+
+ <para>No caso do DNS, voc&ecirc; deve tentar determinar o
+ que esta realmente tentando resolver um hostname. Na
+ maioria das vezes o &man.sendmail.8; &eacute; o culpado.
+ Voc&ecirc; deve certificar-se que o sendmail n&atilde;o
+ deve fazer nenhum DNS lookup em seu arquivo de
+ configura&ccedil;&atilde;o. Veja na se&ccedil;&atilde;o
+ <link linkend="ispmail">Configura&ccedil;&atilde;o de
+ Mail</link> para detalhes de como criar seu
+ pr&oacute;prio arquivo de configura&ccedil;&atilde;o e o
+ que deve conter nele. Voc&ecirc; pode tamb&eacute;m
+ adicionar a seguinte linha ao seu arquivo
+ <filename>.mc</filename>:</para>
+
+ <programlisting>define(`confDELIVERY_MODE', `d')dnl
+ </programlisting>
+
+ <para>Isto far&aacute; o sendmail enfileirar tudo,
+ at&eacute; que a fila esteja funcionando (normalmente o
+ sendmail &eacute; invocado com <option>-bd -q30m</option>,
+ dizendo a ele para rodar a fila (queue) a cada 30minutos)
+ ou at&eacute; que o <command>sendmail</command> -q seja
+ feito (talvez do arquivo ppp.linkup)</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="ccp-errors">
+ <para>O que estes erros de CCP significam?</para>
+ </question>
+
+ <answer>
+ <para>Eu estou vendo os seguintes erros em
+ meus logs:</para>
+
+ <programlisting>CCP: CcpSendConfigReq
+CCP: Received Terminate Ack (1) state = Req-Sent (6)</programlisting>
+
+ <para>Isto &eacute; porque o &man.ppp.8; esta tentando
+ negociar a compress&atilde;o Predictor1, e o outro ponto
+ n&atilde;o quer negociar nenhuma compress&atilde;o. As
+ mensagens s&atilde;o inofensivas, mas se voc&ecirc;
+ desejar remove-las, poder&aacute; desabilitar a
+ compress&atilde;o Predictor1 tamb&eacute;m
+ localmente:</para>
+
+ <programlisting>disable pred1</programlisting>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="ppp-lockup-ioerrors">
+ <para>Por que o &man.ppp.8; trava durante a
+ transfer&ecirc;ncia de arquivo com erros de
+ IO(Input/Output)?</para>
+ </question>
+
+ <answer>
+ <para>No FreeBSD 2.2.2 e anteriores, havia um bug no driver
+ tun, que impedia pacotes de entrada de um tamanho maior do
+ que o MTU da interface. O O recebimento de pacotes
+ maiores que o MTU da interface resulta em erro de IO que
+ &eacute; logado atrav&eacute;s do syslogd.</para>
+
+ <para>A especifica&ccedil;&atilde;o do ppp diz que um MTU de
+ 1500 deve ser <emphasis>sempre</emphasis> aceito como
+ m&iacute;nimo. Apesar de todas as
+ negocia&ccedil;&otilde;es de LCP, &eacute; poss&iacute;vel
+ diminuir o MTU para menos de 1500, independentemente
+ disso, seu provedor ir&aacute; transmitir pacotes de 1500
+ para voc&ecirc;, e isso travar&aacute; sua
+ conex&atilde;o.</para>
+
+ <para>O problema pode ser contornado por nunca ajustar um
+ MTU menor que 1500 sobre o FreeBSD 2.2.2 ou
+ anteriores.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="ppp-connectionspeed">
+ <para>Por que o &man.ppp.8; n&atilde;o loga minha velocidade
+ de conex&atilde;o?</para>
+ </question>
+
+ <answer>
+ <para>A fim de logar todas as linhas de
+ <quote>conversa&ccedil;&atilde;o</quote> de seu modem
+ voc&ecirc; deve habilitar o seguinte:</para>
+
+ <programlisting>set log +connect</programlisting>
+
+ <para>Isto ir&aacute; fazer o &man.ppp.8; logar tudo,
+ at&eacute; a ultima requisi&ccedil;&atilde;o
+ <quote>expect</quote>.</para>
+
+ <para>Se voc&ecirc; desejar ver sua velocidade de
+ conex&atilde;o e estiver usando PAP ou CHAP (e
+ consequentemente n&atilde;o tenha qualquer coisa para o
+ <quote>chat</quote> depois do CONNECT no script de
+ discagem - no <literal>set login</literal> script),
+ voc&ecirc; deve certificar-se que instruiu o &man.ppp.8; a
+ ``a esperar" a linha inteira CONNECT, algo como:</para>
+
+ <programlisting>set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 4 \
+ \"\" ATZ OK-ATZ-OK ATDT\\T TIMEOUT 60 CONNECT \\c \\n"</programlisting>
+
+ <para>Aqui nosso CONNECT, n&atilde;o envia nada, ele espera
+ ent&atilde;o um line-feed, for&ccedil;ando o &man.ppp.8; a
+ ler toda a resposta do CONNECT.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="ppp-ignores-backslash">
+ <para>Por que o &man.ppp.8; ignora o caracter
+ <literal>\</literal> no meu script de
+ conversa&ccedil;&atilde;o?</para>
+ </question>
+
+ <answer>
+ <para>O Ppp analiza cada linha no seu arquivo de
+ configura&ccedil;&atilde;o, ent&atilde;o isso pode ser
+ interpretado como string tal como <literal>set phone "123
+ 456 789"</literal> corretamente e compreende de fato que
+ o n&uacute;mero &eacute; um
+ <emphasis>&uacute;nico</emphasis> argumento. A fim de
+ especificar um caracter<literal>&quot;</literal>,
+ voc&ecirc; deve escapar desse comportamento, usando um a
+ barra invertida <literal>\</literal>.</para>
+
+ <para>Quando o script de conversa&ccedil;&atilde;o analizar
+ cada argumento, ele reinterpretar&aacute; o argumento a
+ fim de encontrar quaisquer sequ&ecirc;ncias especiais como
+ <literal>\P</literal> ou <literal>\T</literal> (veja a man
+ page). Como resultado desta dupla an&aacute;lise,
+ voc&ecirc; deve conseguir usar o n&uacute;mero correto de
+ espa&ccedil;os.</para>
+
+ <para>Se voc&ecirc; deseja enviar um caracter
+ <literal>\</literal> para dizer a seu modem, voc&ecirc;
+ precisar&aacute; de algo assim:</para>
+
+ <programlisting>set dial "\"\" ATZ OK-ATZ-OK AT\\\\X OK"</programlisting>
+
+ <para>resultando a seguinte sequ&ecirc;ncia:</para>
+
+ <programlisting>ATZ
+OK
+AT\X
+OK</programlisting>
+
+ <para>ou</para>
+
+ <programlisting>set phone 1234567
+set dial "\"\" ATZ OK ATDT\\T"</programlisting>
+
+ <para>resultando na seguindo sequ&ecirc;ncia:</para>
+
+ <programlisting>ATZ
+OK
+ATDT1234567</programlisting>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="ppp-segfault-nocore">
+ <para>Por que o &man.ppp.8; d&aacute; um seg-fault, mas eu
+ n&atilde;o vejo nenhum arquivo
+ <filename>ppp.core</filename>?</para>
+ </question>
+
+ <answer>
+ <para>O Ppp (ou qualquer programa desta natureza) nunca
+ dever dar core dump. Porque o &man.ppp.8; roda com um
+ e-userid (effective user id) 0, o sistema operacional
+ n&atilde;o ir&aacute; escrever a imagem do core do
+ &man.ppp.8; em disco antes de termin&aacute;-lo. Mas se
+ acontecer de o &man.ppp.8; terminar devido a uma falha de
+ segmenta&ccedil;&atilde;o ou algum outro sinal que
+ normalmente causaria um core dumped,
+ <emphasis>e</emphasis> voc&ecirc; tem certeza de que esta
+ usando uma vers&atilde;o mais recente do ppp (veja o
+ come&ccedil;o desta se&ccedil;&atilde;o), voc&ecirc; deve
+ fazer o seguinte:</para>
+
+ <screen>&prompt.user; <userinput>tar xfz ppp-*.src.tar.gz</userinput>
+&prompt.user; <userinput>cd ppp*/ppp</userinput>
+&prompt.user; <userinput>echo STRIP= &gt;&gt;Makefile</userinput>
+&prompt.user; <userinput>echo CFLAGS+=-g &gt;&gt;Makefile</userinput>
+&prompt.user; <userinput>make clean all</userinput>
+&prompt.user; <userinput>su</userinput>
+&prompt.root; <userinput>make install</userinput>
+&prompt.root; <userinput>chmod 555 /usr/sbin/ppp</userinput></screen>
+
+ <para>Voc&ecirc; agora tem uma vers&atilde;o
+ debug&aacute;vel do &man.ppp.8; instalada. Voc&ecirc;
+ precisar&aacute; ser <username>root</username> para rodar
+ o ppp porque todos os seus privil&eacute;gios foram
+ revogados. Quando voc&ecirc; iniciar o &man.ppp.8;, tome
+ nota com cuidado de qual era o seu diret&oacute;rio
+ corrente naquele instante.</para>
+
+ <para>Agora, quando o &man.ppp.8; receber uma
+ viola&ccedil;&atilde;o de segmento (seg-fault), voc&ecirc;
+ ter&aacute; um arquivo chamado ppp.core. Voc&ecirc; deve
+ ent&atilde;o fazer o seguinte:</para>
+
+ <screen>&prompt.user; <userinput>su</userinput>
+&prompt.root; <userinput>gdb /usr/sbin/ppp ppp.core</userinput>
+<prompt>(gdb)</prompt> <userinput>bt</userinput>
+.......
+<prompt>(gdb)</prompt> <userinput>f 0</userinput>
+......
+<prompt>(gdb)</prompt> <userinput>i args</userinput>
+......
+<prompt>(gdb)</prompt> <userinput>l</userinput>
+.......</screen>
+
+ <para>Toda essa informa&ccedil;&atilde;o deve ser dada com a
+ sua pergunta, sendo poss&iacute;vel agora diagnosticar o
+ problema.</para>
+
+ <para>Se voc&ecirc; &eacute; familiarizado com o gdb,
+ voc&ecirc; pode desejar encontrar alguns outros bits e
+ partes como as que causaram o dump e tamb&eacute;m os
+ endere&ccedil;os e valores das vari&aacute;veis
+ revelantes.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="ppp-autodialprocess-noconnect">
+ <para>Por que o processo que for&ccedil;a a discagem em auto
+ mode nunca conecta?</para>
+ </question>
+
+ <answer>
+ <para>Este era um problema conhecido na
+ configura&ccedil;&atilde;o &man.ppp.8; para negociar um IP
+ local din&acirc;mico com o outro ponto no auto mode. Isto
+ foi corrigido na vers&atilde;o mais recente. Procure na
+ man page do &man.ppp.8; por
+ <literal>iface</literal>.</para>
+
+ <para>O problema era que quando este programa inicial chamava
+ o &man.connect.2;, o n&uacute;mero IP da interface tun
+ estava atribu&iacute;do ao endpoint do soquete. O
+ <foreignphrase>kernel</foreignphrase> cria o primeiro
+ pacote de sa&iacute;da e escreve-o no dispositivo tun. O
+ &man.ppp.8; ent&atilde;o l&ecirc; o pacote e estabelece a
+ conex&atilde;o. Se em consequ&ecirc;ncia da
+ atribui&ccedil;&atilde;o din&acirc;mica do IP do
+ &man.ppp.8; o endere&ccedil;o da interface for mudado, o
+ endpoint do soquete original ser&aacute; inv&aacute;lido.
+ Todos os pacotes subsequentes emitidos ao outro ponto
+ ser&atilde;o geralmente descartados. Mesmo se n&atilde;o
+ forem descartados, nenhuma das respostas ir&aacute; voltar
+ pela rota da m&aacute;quina de origem, isto porque o
+ n&uacute;mero IP j&aacute; n&atilde;o pertence a essa
+ m&aacute;quina.</para>
+
+ <para>H&aacute; diversas maneiras te&oacute;ricas para
+ abordargem desse problema. Seria mais agrad&aacute;vel se
+ o ponto reatribu&iacute;sse, se poss&iacute;vel o mesmo
+ n&uacute;mero IP <literal>:-)</literal> A vers&atilde;o
+ atual do &man.ppp.8; faz isso, mas a maioria das outras
+ implementa&ccedil;&otilde;es n&atilde;o.</para>
+
+ <para>O m&eacute;todo mais f&aacute;cil do nosso lado, seria
+ nunca mudar o n&uacute;mero IP da interface tun, mas ao
+ inv&eacute;s disso, mudar todos os pacotes de sa&iacute;da
+ de modo que a origem do n&uacute;mero IP &eacute; mudada
+ da interface IP para o IP negociado din&acirc;micamente.
+ Isto &eacute; essencialmente o que a op&ccedil;&atilde;o
+ <literal>iface-alias</literal> na vers&atilde;o mais
+ recente do ppp faz (com a ajuda da &man.libalias.3; e da
+ op&ccedil;&atilde;o <option>-nat</option> do &man.ppp.8;) -
+ esta mantendo endere&ccedil;os anteriores da interface e
+ fazendo NAT do &uacute;ltimo endere&ccedil;o
+ negociado.</para>
+
+ <para>Uma outra alternativa (e provavelmente a mais
+ confi&aacute;vel) seria implementar uma chamada de sistema
+ que mudasse todos os soquetes ligados de um IP para outro.
+ O &man.ppp.8; usaria essa chamada para modificar os
+ soquetes de todos os programas em execu&ccedil;&atilde;o
+ quando um novo endere&ccedil;o IP &eacute; negociado. O
+ mesmo sistema de chamadas poderia ser usado por clientes
+ dhcp quando s&atilde;o for&ccedil;ados a religar seus
+ soquetes.</para>
+
+ <para>Ainda, outra possibilidade &eacute; permitir a
+ interface para ser ativada sem um n&uacute;mero IP. Os
+ pacotes de sa&iacute;da seriam dados um n&uacute;mero IP
+ 255.255.255.255 at&eacute; que a primeira SIOCAIFADDR
+ ioctl esteja pronta. Isto resultaria na completa
+ liga&ccedil;&atilde;o com o soquete. Seria at&eacute; o
+ &man.ppp.8; mudar o n&uacute;mero IP de origem, mas somente
+ se foi setado para 255.255.255.255, e somente o
+ n&uacute;mero IP e o IP checksum deveriam ser mudados.
+ Isto por&eacute;m, &eacute; um pequeno hack do
+ <foreignphrase>kernel</foreignphrase> que deve estar
+ enviando maus pacotes para uma interface configurada, na
+ suposi&ccedil;&atilde;o de que algum outro mecanismo
+ &eacute; capaz de corrigir as coisas de forma
+ restrospectiva.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="ppp-nat-games">
+ <para>Por que a maioria dos jogos n&atilde;o funciona com a
+ op&ccedil;&atilde;o -nat?</para>
+ </question>
+
+ <answer>
+ <para>A raz&atilde;o para os jogos e outros programas
+ n&atilde;o funcionarem quando a libalias esta em uso
+ &eacute; porque a m&aacute;quina de fora ir&aacute; tentar
+ abrir uma conex&atilde;o ou enviar pacotes UDP (n&atilde;o
+ solicitados) para a m&aacute;quina de dentro. O software
+ NAT n&atilde;o sabe que deve enviar esses pacotes para a
+ m&aacute;quina interna.</para>
+
+ <para>Para que as coisas funcionem, certifique-se de que a
+ &uacute;nica coisa que esta rodando &eacute; o software
+ que voc&ecirc; esta tendo problemas, a seguir rode o
+ tcpdump na interface tun do gateway ou habilite &man.ppp.8;
+ tcp/ip logging (<literal>set log+tcp/ip</literal>) na
+ gateway.</para>
+
+ <para>Quando voc&ecirc; iniciar o software, voc&ecirc; deve
+ ver pacotes passando atrav&eacute;s da m&aacute;quina
+ gateway. Quando alguma coisa volta vindo de fora,
+ ser&aacute; descartado (este &eacute; o problema). Tome
+ nota do n&uacute;mero da porta desses pacotes e a seguir
+ feche o software. Fa&ccedil;a isso algumas vezes para ver
+ se os n&uacute;meros da porta s&atilde;o consistentes. Se
+ eles forem, a seguinte linha no
+ <filename>/etc/ppp/ppp.conf</filename> far&aacute; o
+ software funcional:</para>
+
+ <programlisting>nat port <replaceable>proto</replaceable><replaceable>m&aacute;quinainterna</replaceable>:
+<replaceable>porta</replaceable><replaceable>porta</replaceable></programlisting>
+
+ <para>Onde <replaceable>proto</replaceable> &eacute; ou
+ <literal>tcp</literal> ou <literal>udp</literal>,
+ <replaceable>m&aacute;quinainterna</replaceable> &eacute;
+ a m&aacute;quina de onde voc&ecirc; quer que os pacotes
+ sejam enviados e <replaceable>porta</replaceable> &eacute;
+ n&uacute;mero da porta de destino dos pacotes.</para>
+
+ <para>Voc&ecirc; n&atilde;o poder&aacute; usar o software em
+ outras m&aacute;quinas sem mudar o comando acima, e rodar
+ o software em duas m&aacute;quinas internas ao mesmo tempo
+ &eacute; fora de quest&atilde;o - Apesar de tudo, o lado
+ de fora esta vendo toda sua rede interna como sendo
+ somente uma m&aacute;quina.</para>
+
+ <para>Se os n&uacute;meros da porta n&atilde;o s&atilde;o
+ consistentes, h&aacute; ainda mais 3
+ op&ccedil;&otilde;es.</para>
+
+ <orderedlist>
+ <listitem>
+ <para>Enviar o suporte na libalias. Exemplos de 'casos
+ especiais' podem ser encontrados em
+ <filename>/usr/src/lib/libalias/alias_*.c </filename>
+ (<filename>alias_ftp.c</filename> eh um bom tipo de
+ protocolo). Isto geralmente envolve ler determinados
+ pacotes reconhecidos na sa&iacute;da, identificando a
+ instru&ccedil;&atilde;o que chama a m&aacute;quina
+ externa para iniciar a conex&atilde;o de volta para a
+ m&aacute;quina interna em uma porta (aleat&oacute;ria)
+ espec&iacute;fica e setar a <quote>rota</quote> na
+ tabela de aliases de modo que os pacotes subsequentes
+ saibam para onde ir.</para>
+
+ <para>Esta solu&ccedil;&atilde;o &eacute; a mais
+ dif&iacute;cil, mas &eacute; a melhor e ir&aacute;
+ fazer o software trabalhar com m&uacute;ltipla
+ m&aacute;quinas.</para>
+ </listitem>
+
+ <listitem>
+ <para>Use um proxy. A aplica&ccedil;&atilde;o
+ poder&aacute; suportar sock5 por exemplo, ou (como no
+ caso do <quote>cvsup</quote>) pode ter uma
+ op&ccedil;&atilde;o <quote>passive</quote> que evita
+ sempre requisi&ccedil;&otilde;es feitas pelo outro
+ ponto de volta para a m&aacute;quina local.</para>
+ </listitem>
+
+ <listitem>
+ <para>Redirecione tudo para a m&aacute;quina interna
+ usando <literal>nat addr</literal>. Pode-se dizer que
+ essa seja a apela&ccedil;&atilde;o.</para>
+ </listitem>
+ </orderedlist>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="useful-port-numbers">
+ <para>Algu&eacute;m fez uma lista de n&uacute;mero de portas
+ &uacute;teis?</para>
+ </question>
+
+ <answer>
+ <para>N&atilde;o ainda, mas a intens&atilde;o &eacute;
+ produzir tal lista (se algum interesse for mostrado). Em
+ cada exemplo, <replaceable>internal</replaceable> deve ser
+ subst&iacute;tuido pelo IP da m&aacute;quina que esta
+ jogando o jogo.</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><application>Asheron's Call</application></para>
+
+ <para><literal>nat port udp <replaceable>
+ internal</replaceable>:65000
+ 65000</literal></para>
+
+ <para>Mude manualmente o n&uacute;mero da porta dentro
+ do jogo para 65000. Se voc&ecirc; come&ccedil;ar com
+ um determinado n&uacute;mero de m&aacute;quinas que
+ voc&ecirc; deseja jogar atribua uma porta para cada
+ (por ex 65001, 65002, etc) e adicione uma
+ <literal>porta nat</literal> para cada uma.</para>
+ </listitem>
+
+ <listitem>
+ <para><application>Half Life</application></para>
+
+ <para><literal>nat port udp
+ <replaceable>internal</replaceable>:27005
+ 27015</literal></para>
+ </listitem>
+
+ <listitem>
+ <para><application> PCAnywhere
+ 8.0</application></para>
+
+ <para><literal>nat port udp
+ <replaceable>internal</replaceable>:5632 5632
+ </literal></para>
+
+ <para><literal>nat port tcp
+ <replaceable>internal</replaceable>:5631 5631
+ </literal></para>
+ </listitem>
+
+ <listitem>
+ <para><application>Quake</application></para>
+
+ <para><literal>nat port udp
+ <replaceable>internal</replaceable>:6112
+ 6112</literal></para>
+
+ <para>Alternativamente, voc&ecirc; pode querer ir em
+ <ulink URL="www.battle.net"> www.batle.net</ulink>
+ para dar uma olhada no suporte de proxy do
+ quake.</para>
+ </listitem>
+
+ <listitem>
+ <para><application>Quake 2</application></para>
+
+ <para><literal>nat port udp
+ <replaceable>internal</replaceable>:27901
+ 27901</literal></para>
+
+ <para><literal>nat port udp
+ <replaceable>internal</replaceable>:60021
+ 60021</literal></para>
+
+ <para><literal>nat port udp
+ <replaceable>internal</replaceable>:60040
+ 60040</literal></para>
+ </listitem>
+
+ <listitem>
+ <para><application>Red Alert</application></para>
+
+ <para><literal>nat port udp
+ <replaceable>internal</replaceable>:8675
+ 8675</literal></para>
+
+ <para><literal>nat port udp
+ <replaceable>internal</replaceable>:5009 5009
+ </literal></para>
+ </listitem>
+ </itemizedlist>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="fcs-errors">
+ <para>O que s&atilde;o erros FCS?</para>
+ </question>
+
+ <answer>
+ <para>FCS significa <literal>F</literal>rame
+ <literal>C</literal>heck <literal>S</literal>equence.
+ Cada pacote do ppp tem um checksum anexado para
+ assegurar-se de que os dados que est&atilde;o sendo
+ recebidos sejam os dados que est&atilde;o sendo emitidos.
+ Se o FCS de um pacote de entrada estiver incorreto, o
+ pacote sera perdido e a contagem do HDLC FCS &eacute;
+ aumentada. Os valores de erro HDLC podem ser mostrados
+ usando o comando <literal>show hdlc</literal>.</para>
+
+ <para>Se a sua liga&ccedil;&atilde;o &eacute; ruim ou se o
+ driver serial esta perdendo pacotes), voc&ecirc;
+ ir&aacute; ver ocasionalmente erros FCS. Isto geralmente
+ n&atilde;o &eacute; motivo para se preocupar, embora
+ diminua substancialmente os protocolos de
+ compress&atilde;o. Se voc&ecirc; tem um modem externo,
+ certifique-se que seu cabo esteja protegido corretamente
+ de interfer&ecirc;ncias - Isso pode erradicar o
+ problema.</para>
+
+ <para>Se sua liga&ccedil;&atilde;o congelar assim que
+ voc&ecirc; conectar e vier um grande n&uacute;mero de
+ erros FCS, pode ser porque seu link n&atilde;o esta com o
+ bit 8 limpo. Certifique-se que seu modem n&atilde;o
+ esteja usando o controle de fluxo do software (XON/XOFF).
+ Se o seu datalink deve usar software de controle de fluxo,
+ use o comando <literal>set accmap 0x000a0000</literal>
+ para dizer ao ppp para ignorar os caracteres
+ <literal>^Q</literal> e <literal>^S</literal>.</para>
+
+ <para>Uma outra raz&atilde;o para estar vendo muitos erros
+ FCS pode ser que a extremidade remota parou de comunicar
+ com o <acronym>PPP</acronym>. Voc&ecirc; pode querer
+ habilitar registros <literal>async</literal> neste ponto
+ para determinar se os dados entrantes s&atilde;o realmente
+ um alerta de in&iacute;cio de sess&atilde;o do prompt da
+ shell. Se voc&ecirc; tiver um prompt shell na extremidade
+ remota, &eacute; poss&iacute;vel terminar o &man.ppp.8; sem
+ deixar cair a linha usando o comando <literal>close
+ lcp</literal> (o comando <literal>term</literal>
+ ir&aacute; reconectar voc&ecirc; shell da m&aacute;quina
+ remota). Se nada em seus logs indicar o porque de sua
+ liga&ccedil;&atilde;o ter sido terminada, voc&ecirc; pode
+ perguntar ao administrador remoto (do seu provedor?)
+ porque a sess&atilde;o foi terminada.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry id=PPPoEwithNAT>
+ <question id="macos-win98-pppoe-freeze">
+ <para>Por que a conex&atilde;o do MacOS e Windows98 travam
+ ao rodar o PPPoE no gateway?</para>
+ </question>
+
+ <answer>
+ <para>Agradecimentos a Michael Wozniak
+ <email>mwozniak@netcom.ca</email> por descobrir o
+ problema, e a Dan Flemming
+ <email>danflemming@mac.com</email> pela
+ solu&ccedil;&atilde;o do Mac:</para>
+
+ <para>Isto &eacute; devido ao que &eacute; chamado de
+ roteador <quote>Buraco Negro</quote> (<foreignphrase>Black
+ Hole</foreignphrase>). MacOS e Windows98 (e talvez
+ outros SO's da Microsoft) envia m pacotes TCP com um
+ tamanho de segmento requisitado muito grande para ser
+ contido em um frame do PPPoE (MTU por default na ethernet
+ &eacute; de 1500) <emphasis>e</emphasis> tenha o
+ <quote>n&atilde;o fragmento</quote> do bit ajustado
+ (default do TCP) e o roteador Telco n&atilde;o esta
+ enviando ICMP <quote>deve ser fragmentado</quote> de volta
+ ao sitio www que voc&ecirc; esta tentando carregar.
+ (Alternativamente o roteador est&aacute; enviando pacotes
+ ICMP corretamente, mas o firewall no sitio www esta
+ deixando perd&ecirc;-los). Quando o servidor www esta
+ enviando seus frames que n&atilde;o cabem no pipe do PPPoE
+ o roteador Telco deixa-os perder e sua p&aacute;gina
+ n&atilde;o &eacute; carregada (algumas p&aacute;ginas
+ gr&aacute;ficas carregam porque s&atilde;o menores que um
+ MSS). Esta parece ser a configura&ccedil;&atilde;o
+ default da maioria dos Telco PPPoE (somente eles sabem
+ como programar o roteador).</para>
+
+ <para>Um maneira de fixar isso &eacute; usando o regedit em
+ sua seu Windows 95/98 e adicionar a seguinte entrada de
+ registro:</para>
+
+ <programlisting>HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\NetTrans\0000\MaxMTU</programlisting>
+
+ <para>Deve ser uma string com um valor <quote>1436</quote>,
+ porque h&aacute; relatos de que alguns roteadores ADSL
+ s&atilde;o incapazes de tratar os pacotes maiores que
+ esse. Esta chave de registro foi mudada para
+ <literal>Tcpip\Parameters\Interfaces\<replaceable>ID-para-o-adptador</replaceable>\MTU</literal>
+ no windows 2000 e tornou-se um DWORD.</para>
+
+ <para>Consulte os documentos da Microsoft <ulink
+ url="http://support.microsoft.com/support/kb/articles/Q158/4/74.asp">
+ Q158474 - Windows TCPIP Entradas de registroi</ulink> e
+ <ulink
+ url="http://support.microsoft.com/support/kb/articles/Q120/6/42.asp">
+ Q120642 - TCPIP &amp; NBT Parametros de
+ configura&ccedil;&atilde;o para Windows NT</ulink> para
+ maiores informacoes sobre altera&ccedil;&otilde;es de MTU
+ no Windows para funcionar com um roteador NAT.</para>
+
+ <para>Uma outra possibilidade do regedit sob o Windows 2000
+ &eacute; setar
+ <literal>Tcpip\Parameters\Interfaces\<replaceable>ID-para-o-adaptador</replaceable>\EnablePMTUBHDetect</literal>
+ DWORD para 1 como mencionado no documento original da
+ Microsoft 120642 comentado acima.</para>
+
+ <para>Infelizmente o MacOS n&atilde;o oferece uma
+ mudan&ccedil;a TCP/IP nas configura&ccedil;&otilde;es da
+ interface. Entretanto, h&aacute; um software comercial
+ dispon&iacute;vel, o OTAdvancedTuner (OT para
+ OpenTransport, a pilha TCP/IP do MacOS) feito pela <ulink
+ URL="http://www.softworks.com/"> Sustainable
+ Softworks</ulink>, ele permite aos usu&aacute;rios
+ customizar as configura&ccedil;&otilde;es TCP/IP. Os
+ usu&aacute;rios de NAT do MacOS devem selecionar o
+ <literal>ip_interface_MTU</literal> no menu drop-down,
+ colocar <literal>1450</literal> em vez de
+ <literal>1500</literal>, clique na caixa pr&oacute;ximo ao
+ <literal>Save as Auto Configure</literal>, e clique em
+ <literal>Make Active</literal>.</para>
+
+ <para>Vers&otilde;es mais recentes do &man.ppp.8; (2.3 ou
+ mais recente) tem o comando <command>enable
+ tcpmssfixup</command> que ir&aacute; automaticamente
+ ajustar um valor apropriado ao MSS. Esta facilidade
+ &eacute; habilitada por default. Se voc&ecirc; for
+ apaixonado pela vers&atilde;o mais antiga do &man.ppp.8;
+ voc&ecirc; pode querer dar uma olhada no
+ <literal>port</literal> do
+ <application>tcpmssd</application>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="desperation">
+ <para>Nada disso me ajudou - Eu estou desesperado! O que eu
+ posso fazer?</para>
+ </question>
+
+ <answer>
+ <para>Se tudo falhar, envie o m&aacute;ximo de
+ informac&otilde;es que voc&ecirc; puder, incluindo seus
+ arquivos de configura&ccedil;&atilde;o, a forma como
+ est&aacute; iniciando o &man.ppp.8;, os trechos relevantes
+ de seu arquivo de log e a sa&iacute;da do comando
+ <command>netstat -rn</command> (antes e depois de
+ conectado) para a lista &a.questions; ou para o grupo de
+ not&iacute;cias <ulink
+ URL="news:comp.unix.bsd.freebsd.misc">comp.unix.bsd.freebsd.misc</ulink>.
+ Algu&eacute;m deve ajudar a solucionar seu
+ problema.</para>
+ </answer>
+ </qandaentry>
+ </qandaset>
+ </chapter>
+
+ <chapter id="serial">
+ <title>Comunica&ccedil;&otilde;es Seriais</title>
+
+ <para>Essa se&ccedil;&atilde;o cobre as perguntas mais comuns
+ sobre comunica&ccedil;&atilde;o serial com o FreeBSD. PPP e
+ SLIP s&atilde;o abordados na se&ccedil;&atilde;o
+ <xref linkend="networking" remap="Networking">.</para>
+
+ <qandaset>
+ <qandaentry>
+ <question id="found-serial">
+ <para>Como eu posso dizer se o FreeBSD encontrou minhas
+ portas seriais?</para>
+ </question>
+
+ <answer>
+ <para>Assim que o kernel do FreeBSD &eacute; carregado, ele
+ ir&aacute; varrer as portas seriais do seu sistema
+ procurando dispositivos nas portas configuradas no kernel.
+ Pode-se observar atentamente as mensagens que o sistema
+ exibe, ou ent&atilde;o executar o seguinte comando:</para>
+
+ <screen>&prompt.user; <userinput>dmesg | grep sio</userinput></screen>
+
+ <para>assim que o sistema estiver em funcionamento e
+ execu&ccedil;&atilde;o.</para>
+
+ <para>Aqui est&atilde;o alguns exemplos dos resultados do
+ comando executado acima:</para>
+
+ <programlisting>sio0 at 0x3f8-0x3ff irq 4 on isa
+sio0: type 16550A
+sio1 at 0x2f8-0x2ff irq 3 on isa
+sio1: type 16550A</programlisting>
+
+ <para>Eles mostram duas portas seriais. A primeira
+ est&aacute; na irq 4, est&aacute; usando o endere&ccedil;o
+ de porta <literal>0x3f8</literal>, e tem um chip modelo
+ UART 16550A. O segundo utiliza o mesmo tipo de chip mas
+ est&aacute; na irq 3 e seu endere&ccedil;o de porta
+ &eacute; <literal>0x2f8</literal>. Modems internos
+ s&atilde;o tratados como se fossem portas seriais --
+ exceto que sempre tem um modem <quote>conectado</quote>
+ &agrave; porta.</para>
+
+ <para>O <foreignphrase>kernel</foreignphrase>
+ <filename>GENERIC</filename> tem suporte para duas portas
+ seriais utilizando os mesmos irqs e
+ configura&ccedil;&otilde;es de endere&ccedil;os de portas
+ do exemplo acima. Se tais configura&ccedil;&otilde;es
+ n&atilde;o est&atilde;o certas para seu sistema, ou se
+ voc&ecirc; adicionou placas de modem ou tem mais portas
+ seriais para o qual o
+ <foreignphrase>kernel</foreignphrase> foi configurado,
+ apenas recompile seu
+ <foreignphrase>kernel</foreignphrase>. Veja a a
+ se&ccedil;&atilde;o de <link
+ linkend="make-kernel">compila&ccedil;&atilde;o do
+ <foreignphrase>kernel</foreignphrase></link> para obter
+ mais detalhes.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="found-modem">
+ <para>Como eu posso dizer se o FreeBSD encontrou minha placa
+ de fax modem?</para>
+ </question>
+
+ <answer>
+ <para>Refira-se &agrave; resposta da pergunta
+ anterior.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="missing-tty0X">
+ <para>Eu acabei de atualizar para a vers&atilde;o 2.0.5 e as
+ minhas
+ <devicename>tty0<replaceable>X</replaceable></devicename>
+ desapareceram! Como eu resolvo esse problema?</para>
+ </question>
+
+ <answer>
+ <para>N&atilde;o se preocupe, eles foram inclu&iacute;dos
+ com os dispositivos
+ <devicename>ttyd<replaceable>X</replaceable></devicename>.
+ No entanto, voc&ecirc; deve mudar todos os arquivos da
+ configura&ccedil;&atilde;o antiga que voc&ecirc;
+ tiver.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="access-serial-ports">
+ <para>Como eu acesso as portas seriais no FreeBSD?</para>
+ </question>
+
+ <answer>
+ <para>A terceira porta serial, <devicename>sio2</devicename>
+ (veja &man.sio.4;, conhecida como COM3 no DOS),
+ est&aacute; na <devicename>/dev/cuaa2</devicename> para os
+ dispositivos dial-out, e na
+ <devicename>/dev/ttyd2</devicename> para os dispositivos
+ dial-in. Qual &eacute; a diferen&ccedil;a entre essas
+ duas classes de dispositivos?</para>
+
+ <para>Voc&ecirc; utiliza
+ <devicename>ttyd<replaceable>X</replaceable></devicename>
+ para dial-ins. Quando o
+ <devicename>/dev/ttyd<replaceable>X</replaceable></devicename>
+ se abre no modo de bloqueio, um processo ir&aacute;
+ aguardar que o dispositivo
+ <devicename>cuaa<replaceable>X</replaceable></devicename>
+ correspondente torne-se inativo, e aguarda a
+ detec&ccedil;&atilde;o do <foreignphrase>carrier
+ detect</foreignphrase> da linha para ativar-se. Quando
+ a
+ <devicename>cuaa<replaceable>X</replaceable></devicename>
+ se abre, ela deixa claro que a porta n&atilde;o esta ainda
+ em uso pelo dispositivo
+ <devicename>ttyd<replaceable>X</replaceable></devicename>.
+ Se a porta estiver dispon&iacute;vel, ela &eacute;
+ <quote>roubada</quote> do dispositivo
+ <devicename>ttyd<replaceable>X</replaceable></devicename>.
+ Al&eacute;m disso, o dispositivo
+ <devicename>cuaa<replaceable>X</replaceable></devicename>
+ n&atilde;o se importa com o carrier detect. Com esse
+ esquema de auto-resposta do modem, voc&ecirc; pode ter
+ usu&aacute;rios remotos conectando e voc&ecirc; pode ainda
+ discar para fora com o mesmo modem, que o sistema
+ ir&aacute; cuidar de todos os conflitos.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="enable-multiport-serial">
+ <para>Como eu habilito suporte para uma placa serial de
+ m&uacute;ltiplas portas?</para>
+ </question>
+
+ <answer>
+ <para>Novamente, a se&ccedil;&atilde;o de
+ configura&ccedil;&atilde;o do
+ <foreignphrase>kernel</foreignphrase> prov&ecirc;
+ informa&ccedil;&otilde;es sobre a
+ configura&ccedil;&atilde;o de seu
+ <foreignphrase>kernel</foreignphrase>. Para uma placa
+ serial de m&uacute;ltiplas portas, coloque uma linha
+ &man.sio.4; para cada porta serial da placa, no arquivo de
+ configura&ccedil;&atilde;o do
+ <foreignphrase>kernel</foreignphrase>. Mas coloque o irq
+ e as espeficica&ccedil;&otilde;es do vetor apenas em uma
+ das entradas. Todas as portas da placa devem compartilhar
+ uma irq. Para consist&ecirc;ncia, utilize a &uacute;ltima
+ porta serial para especificar a irq. Al&eacute;m disso,
+ especifique a op&ccedil;&atilde;o
+ <literal>COM_MULTIPORT</literal>.</para>
+
+ <para>O exemplo seguinte &eacute; para uma placa serial AST
+ 4-portas na irq 7:</para>
+
+ <programlisting>options "COM_MULTIPORT"
+device sio4 at isa? port 0x2a0 tty flags 0x781
+device sio5 at isa? port 0x2a8 tty flags 0x781
+device sio6 at isa? port 0x2b0 tty flags 0x781
+device sio7 at isa? port 0x2b8 tty flags 0x781 irq 7 vector siointr</programlisting>
+
+ <para>As flags indicam que a porta master tem um
+ <quote>minor number</quote> 7 (<literal>0x700</literal>),
+ diagn&oacute;sticos habilitados durante o escaneamento
+ (<literal>0x080</literal>), e todas as portas compartilham
+ uma irq (<literal>0x001</literal>).</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="multiport-serial-share-irq">
+ <para>O FreeBSD pode trabalhar com placas seriais de
+ m&uacute;ltiplas portas compartilhando irqs?</para>
+ </question>
+
+ <answer>
+ <para>Ainda n&atilde;o. Voc&ecirc; dever&aacute; utilizar
+ uma irq diferente para cada placa.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="default-serial-params">
+ <para>Posso definir os par&acirc;metros seriais
+ padr&atilde;o para uma porta?</para>
+ </question>
+
+ <answer>
+ <para>O
+ <devicename>ttyd<replaceable>X</replaceable></devicename>
+ (<devicename>cuaa<replaceable>X</replaceable></devicename>)
+ &eacute; um dispositivo regular que voc&ecirc; vai querer
+ abrir para suas aplica&ccedil;&otilde;es. Quando um
+ processo abre um dispositivo, ele tem um conjunto
+ padr&atilde;o de configura&ccedil;&otilde;es de terminais
+ de E/S. Voc&ecirc; pode ver essas
+ configura&ccedil;&otilde;es com o comando</para>
+
+ <screen>&prompt.root; <userinput>stty -a -f /dev/ttyd1</userinput></screen>
+
+ <para>Ao alterar as configura&ccedil;&otilde;es para esse
+ dispositivo, elas se manter&atilde;o em efeito at&eacute;
+ que o dispositivo seja fechado. Quando ele for reaberto,
+ vai para o estado padr&atilde;o. Para fazer
+ mudan&ccedil;as nos ajustes padr&atilde;o, pode-se abrir e
+ ajustar as configura&ccedil;&otilde;es do <quote>estado
+ inicial</quote> do dispositivo. Por exemplo, para ligar
+ o modo <acronym>CLOCAL</acronym>, 8 bits, e o controle de
+ fluxo <acronym>XON/XOFF</acronym> padr&atilde;o para a
+ ttyd5, fa&ccedil;a:</para>
+
+ <screen>&prompt.root; <userinput>stty -f /dev/ttyid5 clocal cs8 ixon ixoff</userinput></screen>
+
+ <para>Um bom lugar para fazer isso &eacute; no
+ <filename>/etc/rc.serial</filename>. Agora, uma
+ aplica&ccedil;&atilde;o ter&aacute; estas
+ configura&ccedil;&otilde;es por padr&atilde;o quando abrir
+ o <filename>ttyd5</filename>. No entanto, pode-se ainda
+ modificar estas configura&ccedil;&otilde;es a seu
+ gosto.</para>
+
+ <para>Voc&ecirc; pode prevenir certas
+ configura&ccedil;&otilde;es de serem modificadas por uma
+ aplica&ccedil;&atilde;o fazendo ajustes no dispositivo de
+ <quote>lock state</quote>. Por exemplo, para travar a
+ velocidade do <devicename>ttyd5</devicename> em 57600 bps,
+ fa&ccedil;a:</para>
+
+ <screen>&prompt.root; <userinput>stty -f /dev/ttyld5 57600</userinput></screen>
+
+ <para>Agora, uma aplica&ccedil;&atilde;o, ao abrir o
+ <devicename>ttyd5</devicename>, se tentar modificar a
+ velocidade da porta, ficar&aacute; travada a 57600
+ bps.</para>
+
+ <para>Naturalmente voc&ecirc; deve garantir que os
+ dispositivos de estado inicial e o estado de trava
+ (<literal>lock</literal>) tenham permiss&atilde;o de
+ escrita apenas para o <username>root</username>. O script
+ &man.MAKEDEV.8; <emphasis>N&Atilde;O</emphasis> faz isso
+ quando ele cria as entradas de dispositivos.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="enable-dialup">
+ <para>Como eu habilito logins dial-up no meu modem?</para>
+ </question>
+
+ <answer>
+ <para>Ent&atilde;o voc&ecirc; quer tornar-se um provedor de
+ servi&ccedil;os internet, n&atilde;o &eacute;? Primeiro,
+ voc&ecirc; precisa de um ou mais modems que auto-respondam
+ &agrave;s chamadas. Seu modem precisa confirmar o
+ <quote>carrier detect</quote> quando ele for detectado e
+ n&atilde;o faz&ecirc;-lo todo o tempo. Ele
+ precisar&aacute; desligar o telefone e resetar a si mesmo
+ quando a linha <acronym>DTR</acronym> (Data Terminal
+ Ready) alternar de ligado para desligado. Ele
+ provavelmente deve utilizar o controle de fluxo
+ <filename>RTS/CTS</filename> ou nenhum controle local de
+ fluxo. Finalmente, ele deve utilizar uma velocidade
+ constante entre o computador e si mesmo, mas (para ser
+ simp&aacute;tico com seus usu&aacute;rios) ele deve
+ negociar uma velocidade entre si mesmo e o modem
+ remoto.</para>
+
+ <para>Para muitos modems compat&iacute;veis com o conjunto
+ de comandos do Hayes este comando criar&aacute; estas
+ configura&ccedil;&otilde;es e as armazenar&aacute; na
+ mem&oacute;ria n&atilde;o vol&aacute;til:</para>
+
+ <programlisting>AT &amp;C1 &amp;D3 &amp;K3 &amp;Q6 S0=1 &amp;W</programlisting>
+
+ <para>Veja a se&ccedil;&atilde;o <link linkend="direct-at">
+ enviando comandos AT</link> abaixo para mais
+ informa&ccedil;&otilde;es sobre como fazer estas
+ configura&ccedil;&otilde;es sem o aux&iacute;lio de um
+ programa de terminal MS-DOS.</para>
+
+ <para>Depois, fa&ccedil;a uma entrada em
+ <filename>/etc/ttys</filename> (veja &man.ttys.5;) para o
+ modem. Este arquivo lista todas as portas nas quais o
+ sistema ir&aacute; aguardar pelos logins. Adicione uma
+ parecida com essa:</para>
+
+ <programlisting>ttyd1 "/usr/libexec/getty std.57600" dialup on insecure</programlisting>
+
+ <para>Esta linha indica que a segunda porta serial
+ (<devicename>/dev/ttyd1</devicename>) tem um modem
+ conectado e rodando a 57600 bps e sem paridade
+ (<literal>std.57600</literal>, que vem do arquivo
+ <filename>/etc/gettytab</filename>, veja
+ &man.gettytab.5;). O tipo de terminal para esta porta
+ &eacute; <literal>dialup</literal>. A porta esta
+ <literal>ligada</literal> e &eacute;
+ <literal>insegura</literal> - quer dizer que o login do
+ usu&aacute;rio <username>root</username> n&atilde;o
+ &eacute; permitido. Para portas dialin como esta,
+ utiliza-se a entrada
+ <devicename>ttyd<replaceable>X</replaceable></devicename></para>
+
+ <para>&Eacute; uma pr&aacute;tica comum utilizar
+ <literal>dialup</literal> como o tipo do terminal. Muitos
+ usu&aacute;rios configuram um
+ <foreignphrase>prompt</foreignphrase> para seus arquivos
+ <filename>.profile</filename> ou
+ <filename>.login</filename> para o tipo de terminal
+ existente se o tipo iniciante &eacute; dialup. O exemplo
+ mostra a porta como insegura. Para tornar-se
+ <username>root</username> nesta porta, voc&ecirc; tem que
+ logar-se como um usu&aacute;rio regular, e ent&atilde;o
+ &man.su.1; para tornar-se <username>root</username>. Se
+ voc&ecirc; usar <literal>seguro</literal>, ent&atilde;o o
+ <username>root</username> vai poder efetuar o login
+ diretamente.</para>
+
+ <para>Ap&oacute;s efetuar as opera&ccedil;&otilde;es no
+ <filename>/etc/ttys</filename>, voc&ecirc; precisa enviar
+ um sinal de <foreignphrase>hangup</foreignphrase> ou
+ <acronym>HUP</acronym> para o processo
+ &man.init.8;:</para>
+
+ <screen>&prompt.root; <userinput>kill -HUP 1</userinput></screen>
+
+ <para>Esse comando for&ccedil;ar&aacute; a releitura do
+ arquivo <filename>/etc/ttys</filename>. O processo init
+ iniciar&aacute; os processos getty em todas as portas
+ configuradas em <literal>on</literal> (ligadas).
+ Voc&ecirc; pode descobrir se seus logins est&atilde;o
+ dispon&iacute;veis para sua porta digitando:</para>
+
+ <screen>&prompt.user; <userinput>ps -ax | grep '[t]tyd1'</userinput></screen>
+
+ <para>Voc&ecirc; deve ver algo como:</para>
+
+ <programlisting>747 ?? I 0:00.04 /usr/libexec/getty std.57600 ttyd1</programlisting>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="dumb-terminal">
+ <para>Como eu conecto um terminal burro ao meu
+ FreeBSD?</para>
+ </question>
+
+ <answer>
+ <para>Se voc&ecirc; esta usando outro computador como um
+ terminal de seu sistema FreeBSD, consiga um cabo
+ <quote>null modem</quote> para ser usado entre as duas
+ portas seriais. Se voc&ecirc; esta utilizando um terminal
+ pr&oacute;prio, veja as instru&ccedil;&otilde;es que o
+ acompanham.</para>
+
+ <para>Ent&atilde;o, modifique o
+ <filename>/etc/ttys</filename> (veja &man.ttys.5;), como
+ acima. Por exemplo, se voc&ecirc; esta ligando um
+ terminal WYSE 50 &agrave; quinta porta serial, utilize uma
+ entrada como esta::</para>
+
+ <programlisting>ttyd4 "/usr/libexec/getty std.38400" wyse50 on secure</programlisting>
+
+ <para>Esse exemplo mostra que a porta em
+ <devicename>/dev/ttyd4</devicename> tem um terminal wyse50
+ conectado a 38400 bps (bits por segundo) sem nenhuma
+ paridade (<literal>std.38400</literal> de
+ <filename>/etc/gettytab</filename>, veja
+ &man.gettytab.5;)) e o login do <username>root</username>
+ &eacute; permitido (<literal>seguro</literal>).</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="cannot-tip">
+ <para>Por que eu n&atilde;o posso executar o
+ <command>tip</command> ou o <command>cu</command>?</para>
+ </question>
+
+ <answer>
+ <para>Em seu sistema, os programas &man.tip.1; e &man.cu.1;
+ s&atilde;o provavelmente execut&aacute;veis somente pro
+ <username>uucp</username> e para o grupo
+ <groupname>dialer</groupname>. Voc&ecirc; pode utilizar o
+ grupo <groupname>dialer</groupname> para controlar quem
+ acessa o seu modem ou sistemas remotos. Basta adicionar
+ voc&ecirc; mesmo ao grupo dialer.</para>
+
+ <para>Alternativamente, voc&ecirc; pode permitir a todos no
+ seu sistema executarem o &man.tip.1; e o &man.cu.1;
+ digitando:</para>
+
+ <screen>&prompt.root; <userinput>chmod 4511 /usr/bin/cu</userinput>
+&prompt.root; <userinput>chmod 4511 /usr/bin/tip</userinput></screen>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="hayes-unsupported">
+ <para>Meu modem modelo Hayes n&atilde;o &eacute; suportado -
+ o que eu posso fazer?</para>
+ </question>
+
+ <answer>
+ <para>De fato a manpage para o &man.tip.1; esta
+ desatualizada. H&aacute; um discador generico do Hayes
+ j&aacute; incorporado. Apenas insira
+ <literal>at=hayes</literal> em seu arquivo
+ <filename>/etc/remote</filename> (veja
+ &man.remote.5;).</para>
+
+ <para>O drive do Hayes n&atilde;o &eacute; inteligente o
+ bastante para reconhecer algumas das avan&ccedil;adas
+ caracter&iacute;sticas dos modems mais novos - mensagens
+ como <literal>BUSY</literal>, <literal>NO
+ DIALTONE</literal>, ou <literal>CONNECT 115200</literal>
+ estar&atilde;o apenas confundindo-o. Voc&ecirc; deve
+ desabilitar estas mensagens quando utilizar o &man.tip.1;
+ (com o comando <literal>ATX0&amp;W</literal>).</para>
+
+ <para>Al&eacute;m disso, o timeout para discagem com o
+ &man.tip.1; &eacute; de 60 segundos. Seu modem deve
+ utilizar um valor menor, sen&atilde;o o tip pensar&aacute;
+ que existe um problema de comunica&ccedil;&atilde;o.
+ Tente <literal>ATS7=45&amp;W</literal>.</para>
+
+ <para>De fato, como o &man.tip.1; n&atilde;o foi compilado
+ para suportar HAYES, essa funcionalidade n&atilde;o
+ &eacute; completamente suportada. A solu&ccedil;&atilde;o
+ &eacute; editar o arquivo <filename>tipconf.h</filename>
+ no diret&oacute;rio
+ <filename>/usr/src/usr.bin/tip/tip</filename>. Obviamente
+ voc&ecirc; precisa da distribui&ccedil;&atilde;o fonte
+ para fazer isso.</para>
+
+ <para>Edite a linha <literal>#define HAYES 0</literal>
+ alterando-a para <literal>#define HAYES 1</literal>.
+ Depois digite <command>make</command> e <command>make
+ install</command>. Tudo funcionar&aacute; bem depois
+ disso.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="direct-at">
+ <para>Como posso entrar nestes comandos AT?</para>
+ </question>
+
+ <answer>
+ <para>Fa&ccedil;a o que &eacute; chamado de uma entrada
+ <quote>direta</quote> no seu
+ <filename>/etc/remote</filename> (veja &man.remote.5;).
+ Por exemplo, se o seu modem est&aacute; definido na
+ primeira porta serial,
+ <devicename>/dev/cuaa0</devicename>, coloque a seguinte
+ linha:</para>
+
+ <programlisting>cuaa0:dv=/dev/cuaa0:br#19200:pa=none</programlisting>
+
+ <para>Utilize a taxa de velocidade mais alta que seu modem
+ suportar na capacidade br. Ent&atilde;o digite
+ <command>tip <devicename>cuaa0</devicename></command>
+ (veja &man.tip.1;) e voc&ecirc; estar&aacute; conectado ao
+ seu modem.</para>
+
+ <para>Se n&atilde;o existir nenhum
+ <devicename>/dev/cuaa0</devicename> no sistema,
+ fa&ccedil;a isso:</para>
+
+ <screen>&prompt.root; <userinput>cd /dev</userinput>
+&prompt.root; <userinput>sh MAKEDEV cuaa0</userinput></screen>
+
+ <para>Ou utilize cu como <username>root</username> com o
+ seguinte comando:</para>
+
+ <screen>&prompt.root; <userinput>cu -l<replaceable>line</replaceable> -s<replaceable>speed</replaceable></userinput></screen>
+
+ <para>com a <replaceable>line</replaceable> sendo a porta
+ serial (por exemplo, <devicename>/dev/cuaa0</devicename>)
+ e <replaceable>speed</replaceable> sendo a velocidade (por
+ exemplo, <literal>57600</literal>). Quando terminar com
+ os comandos AT, digite <literal>~.</literal> para
+ sair.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="gt-failure">
+ <para>Porque o sinal <literal>&lt;@&gt;</literal> para a
+ capacidade pn n&atilde;o
+ funciona?</para>
+ </question>
+
+ <answer>
+ <para>O sinal <literal>&lt;@&gt;</literal> no n&uacute;mero
+ de telefone diz ao tip para procurar em
+ <filename>/etc/phones</filename> por um n&uacute;mero de
+ telefone. Mas o sinal <literal>&lt;@&gt;</literal>
+ &eacute; tamb&eacute;m um caracter especial em arquivos
+ como o <filename>/etc/remote</filename>. Escape dele com
+ um <literal>\</literal> (barra invertida):</para>
+
+ <programlisting>pn=\@</programlisting>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="dial-command-line">
+ <para>Como eu posso discar um n&uacute;mero de telefone pela
+ linha de comando?</para>
+ </question><answer>
+
+ <para>Coloque o que &eacute; chamado de uma entrada
+ <quote>gen&eacute;rica</quote> no arquivo
+ <filename>/etc/remote</filename> (veja &man.remote.5;).
+ Por exemplo:</para>
+
+ <programlisting>tip115200|Disque para qualquer n&uacute;mero em 115200 bps:\
+ :dv=/dev/cuaa0:br#115200:at=hayes:pa=none:du:
+tip57600|Disque para qualquer n&uacute;mero em 57600 bps:\
+ :dv=/dev/cuaa0:br#57600:at=hayes:pa=none:du:</programlisting>
+
+ <para>Depois voc&ecirc pode fazer algo como <command>tip
+ -115200 5551234</command>. Se preferir o &man.cu.1; ao
+ inv&eacute;s do &man.tip.1;, utilize uma entrada
+ gen&eacute;rica:</para>
+
+ <programlisting>cu115200|Use o cu para discar qualquer n&uacute;mero em 115200bps:\
+ :dv=/dev/cuaa1:br#57600:at=hayes:pa=none:du:</programlisting>
+
+ <para>e digite <command>cu 5551234 -s
+ 115200</command>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="set-bps">
+ <para>Tenho que definir a taxa de bits por segundo sempre
+ que fazer isso?</para>
+ </question>
+
+ <answer>
+ <para>Coloque uma entrada para <literal>tip1200</literal> ou
+ para <literal>cu1200</literal>, mas v&aacute; em frente e
+ utilize quaisquer taxas de bps (bits por segundo) que
+ sejam apropriadas para a capacidade br. O &man.tip.1; diz
+ que um bom padr&atilde;o &eacute; 1200 bps porqu&ecirc;
+ ele procura uma entrada <literal>tip1200</literal>. De
+ qualquer forma, voc&ecirc; n&atilde;o precisa utilizar
+ 1200 bps.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="terminal-server">
+ <para>Como posso facilmente acessar v&aacute;rios hosts
+ atrav&eacute;s de um <literal>terminal
+ server</literal>?</para>
+ </question>
+
+ <answer>
+ <para>Ao inv&eacute;s de esperar at&eacute; a
+ conex&atilde;o, digitando <literal>CONNECT
+ <replaceable>host</replaceable></literal> sempre, use a
+ op&ccedil;&atilde;o <literal>cm</literal> do tip. Por
+ exemplo, estas entradas em
+ <filename>/etc/remote</filename> (veja
+ &man.remote.5;):</para>
+
+ <programlisting>pain|pain.deep13.com|Forrester's machine:\
+ :cm=CONNECT pain\n:tc=deep13:
+muffin|muffin.deep13.com|Frank's machine:\
+ :cm=CONNECT muffin\n:tc=deep13:
+deep13:Gizmonics Institute terminal server:\
+ :dv=/dev/cuaa2:br#38400:at=hayes:du:pa=none:pn=5551234:</programlisting>
+
+ <para>permitir&aacute; a voc&ecirc; digitar <command>tip
+ pain</command> ou <command>tip muffin</command> para se
+ conectar aos hosts <hostid>pain</hostid> ou
+ <hostid>muffin</hostid>; e <command>tip deep13</command>
+ para se conectar ao <literal>terminal
+ server</literal>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="tip-multiline">
+ <para>O <quote>tip</quote> pode tentar discar mais de uma
+ linha por vez?</para>
+ </question>
+
+ <answer>
+ <para>Normalmente esse &eacute; um problema tradicional onde
+ uma universidade possue v&aacute;rias linhas de modems e
+ v&aacute;rios milhares de estudantes tentando
+ us&aacute;-las...</para>
+
+ <para>Fa&ccedil;a uma entrada para sua universidade
+ em<filename>/etc/remote</filename> (veja &man.remote.5;) e
+ utilize a <literal>&lt;\@&gt;</literal> para a
+ caracter&iacute;stica <literal>pn</literal>:</para>
+
+ <programlisting>big-university:\
+ :pn=\@:tc=dialout
+dialout:\
+ :dv=/dev/cuaa3:br#9600:at=courier:du:pa=none:</programlisting>
+
+ <para>Ent&atilde;o, liste os n&uacute;meros de telefones
+ para a universidade em <filename>/etc/phones</filename>
+ (veja &man.phones.5;):</para>
+
+ <programlisting>big-university 5551111
+big-university 5551112
+big-university 5551113
+big-university 5551114</programlisting>
+
+ <para>O &man.tip.1; tentar&aacute; usar cada um na ordem
+ listada, e depois desistir&aacute;. Se voc&ecirc; quer
+ manter-se tentando, execute o &man.tip.1; em um loop
+ while.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="multi-controlp">
+ <para>Por que eu tenho que pressionar duas vezes o
+ <keycombo
+ action="simul"><keycap>CTRL</keycap><keycap>P</keycap></keycombo>
+ para enviar <keycombo
+ action="simul"><keycap>CTRL</keycap><keycap>P</keycap></keycombo>
+ uma &uacute;nica vez?</para>
+ </question>
+
+ <answer>
+ <para><keycombo
+ action="simul"><keycap>CTRL</keycap><keycap>P</keycap></keycombo>
+ &eacute; o padr&atilde;o para <quote>force
+ character</quote>, utilizado para dizer ao &man.tip.1;
+ que o pr&oacute;ximo caracter &eacute; um dado literal.
+ Voc&ecirc; pode definir o force character para qualquer
+ outro caracter com o escape <literal>~s</literal>, que
+ quer dizer <quote>defina uma vari&aacute;vel</quote>.
+
+ <para>Digite <literal>~sforce=<replaceable>single-char
+ </replaceable></literal> seguido de uma
+ <emphasis>newline</emphasis>.
+ <replaceable>single-charcaracter</replaceable> &eacute;
+ qualquer caracter &uacute;nico. Se voc&ecirc; deixar
+ <replaceable>single-char</replaceable>, ent&atilde;o o
+ <quote>force character</quote> ser&aacute; o caracter
+ nulo, que voc&ecirc; pode ao digitar <keycombo
+ action="simul"><keycap>CTRL</keycap><keycap>2</keycap></keycombo>
+ ou <keycombo
+ action="simul"><keycap>CTRL</keycap><keycap>SPACE</keycap></keycombo>.
+ Um valor muito bom para o
+ <replaceable>single-char</replaceable> &eacute; <keycombo
+ action="simul"><keycap>SHIFT</keycap><keycap>CTRL</keycap><keycap>6</keycap></keycombo>,
+ o qual eu vi sendo usado em alguns servidores de
+ terminais.</para>
+
+ <para>Voc&ecirc; pode ter o <quote>force character</quote>
+ que voc&ecirc; quiser especificando o seguinte em seu
+ arquivo <filename>$HOME/.tiprc</filename> o
+ seguinte:</para>
+
+ <programlisting>force=<replaceable>single-char</replaceable></programlisting>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="uppercase">
+ <para>Por que tudo o que eu digito inesperadamente
+ est&aacute; em CAIXA ALTA?</para>
+ </question>
+
+ <answer>
+ <para>Voc&ecirc; deve ter pressionado <keycombo
+ action="simul"><keycap>CTRL</keycap><keycap>A</keycap></keycombo>,
+ o <quote>raise character do &man.tip.1;</quote>,
+ especialmente projetado para pessoas com teclas
+ <keycap>Caps Lock</keycap> que n&atilde;o funcionam. Use
+ o <literal>~s</literal> como acima, e defina a
+ vari&aacute;vel <quote>raisechar</quote> para algo
+ razo&aacute;vel. De fato, voc&ecirc; pode definir isso
+ para o <emphasis>force character</emphasis> tamb&eacute;m,
+ se voc&ecirc; nunca espera utilizar ambas as
+ caracter&iacute;sticas.</para>
+
+ <para>Aqui est&aacute; um exemplo de arquivo
+ <filename>.tiprc</filename> perfeito para os
+ usu&aacute;rios de Emacs que precisam digitar muitos
+ <keycombo
+ action="simul"><keycap>CTRL</keycap><keycap>2</keycap></keycombo>
+ e <keycombo
+ action="simul"><keycap>CTRL</keycap><keycap>A</keycap></keycombo>:</para>
+
+ <programlisting>force=^^
+raisechar=^^</programlisting>
+
+ <para>O ^^ &eacute; obtido com <keycombo
+ action="simul"><keycap>SHIFT</keycap><keycap>CTRL</keycap><keycap>6</keycap></keycombo>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="tip-filetransfer">
+ <para>Como eu posso transferir arquivos com o
+ <command>tip</command>?</para>
+ </question>
+
+ <answer>
+ <para>Se voc&ecirc; est&aacute; conversando com outro
+ sistema Unix, voc&ecirc; pode enviar e receber arquivos
+ com <literal>~p</literal> (put) e com
+ <literal>~t</literal> (take). Estes comandos executam o
+ &man.cat.1; e o &man.echo.1; no sistema remoto para
+ aceitar e enviar arquivos. Sua sintaxe &eacute;:</para>
+
+ <programlisting>~p &lt;local-file&gt; [&lt;remote-file&gt;]
+~t &lt;remote-file&gt; [&lt;local-file&gt;]</programlisting>
+
+ <para>N&atilde;o h&aacute; nenhuma checagem de erro,
+ ent&atilde;o voc&ecirc; provavelmente deve usar um outro
+ protocolo, como o zmodem</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="zmodem-tip">
+ <para>Como eu posso executar o zmodem com o
+ <application>tip</application>?</para>
+ </question>
+
+ <answer>
+ <para>Primeiro, instale um dos programas zmodem da
+ cole&ccedil;&atilde;o de <literal>ports</literal> (tais
+ como <application>lrzsz</application> ou o
+ <application>rzsz</application>).</para>
+
+ <para>Para receber arquivos, inicie o programa de envio no
+ destino remoto. Ent&atilde;o, pressione ENTER e digite
+ <literal>~C rz</literal> (ou <literal>~C lrz</literal>
+ caso tenha instalado o <application>lrzsz</application>)
+ para iniciar o recebimento local</para>
+
+ <para>Para enviar arquivos, inicie o programa do lado
+ remoto. Depois, aperte ENTER e digite <literal>~C sz
+ <replaceable>arquivos</replaceable></literal> (ou
+ <literal>~C lsz
+ <replaceable>arquivos</replaceable></literal>) para
+ envia-los ao sistema remoto.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="cannot-find-serial">
+ <para>O FreeBSD pode vir a n&atilde;o encontrar minhas
+ portas seriais, mesmo quando as
+ configura&ccedil;&otilde;es est&atilde;o corretas?</para>
+ </question>
+
+ <answer>
+ <para>Sim, se sua placa-m&atilde;e for Acer UARTS. Elas
+ n&atilde;o escaneiam corretamente o barramento serial,
+ n&atilde;o permitindo que o FreeBSD encontre as Serial
+ Input/Output (sio) da placa. O patch dispon&iacute;vel em
+ <ulink
+ URL="http://www.lemis.com/serial-port-patch.html">www.lemis.com</ulink>
+ pode corrigir esse problema.</para>
+ </answer>
+ </qandaentry>
+ </qandaset>
+ </chapter>
+
+ <chapter id="misc">
+ <title>Perguntas Variadas</title>
+
+ <qandaset>
+ <qandaentry>
+ <question id="more-swap">
+ <para>O FreeBSD usa bem mais espa&ccedil;o de swap do que o
+ Linux. Por qu&ecirc;?</para>
+ </question>
+
+ <answer>
+ <para>S&oacute; parece que o FreeBSD usa mais swap do que o
+ Linux. Na verdade n&atilde;o usa. A principal
+ diferen&ccedil;a entre o FreeBSD e o Linux nesse quesito
+ &eacute; que o FreeBSD vai sempre remanejar - de forma
+ pr&oacute;-ativa - toda mem&oacute;ria que estiver
+ completamente inativa e subutilizada, para o swap, dessa
+ forma garantindo sempre mais mem&oacute;ria principal
+ dispon&iacute;vel para utiliza&ccedil;&atilde;o. O Linux
+ tende a remanejar p&aacute;ginas de mem&oacute;ria para o
+ swap apenas como &uacute;ltima alternativa. A
+ utiliza&ccedil;&atilde;o mais acentuada do swap &eacute;
+ balanceada pela utiliza&ccedil;&atilde;o mais eficiente da
+ mem&oacute;ria principal.</para>
+
+ <para>Note que, pelo fato do FreeBSD ser pr&oacute;ativo
+ nesse quesito, ele n&atilde;o decide arbitrariamente fazer
+ swap das p&aacute;ginas quando o sistema est&aacute; de
+ fato inativo. Portanto voc&ecirc; n&atilde;o corre o
+ risco de encontrar todo seu sistema despaginado pela
+ manh&atilde;, depois de uma noite inteira de
+ inatividade.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="top-freemem">
+ <para>Por que o <command>top</command> me mostra
+ pouqu&iacute;ssima mem&oacute;ria livre, mesmo quando eu
+ n&atilde;o tenho muitos programas rodando?</para>
+ </question>
+
+ <answer>
+ <para>A resposta simples &eacute; que mem&oacute;ria
+ principal livre &eacute; mem&oacute;ria
+ desperdi&ccedil;ada. Toda mem&oacute;ria que n&atilde;o
+ estiver ativamente alocada pelos seus programas s&atilde;o
+ utilizadas pelo Kernel do FreeBSD como cache de disco. Os
+ valores que o &man.top.1; mostra como
+ <literal>Inact</literal>, <literal>Cache</literal>, e
+ <literal>Buf</literal> s&atilde;o dados referentes ao
+ cache de disco, em est&aacute;gios distintos de
+ utiliza&ccedil;&atilde;o. Esses dados cacheados garantem
+ que o sistema n&atilde;o tenha que fazer acesso em um
+ disco local (muito mais lento que a mem&oacute;ria) para
+ utilizar os dados que foram acessados recentemente,
+ garantindo assim melhora significativa na performance
+ geral. Na maioria dos casos, se o &man.top.1; mostrar que
+ existe pouca mem&oacute;ria dispon&iacute;vel, isso
+ &eacute; uma boa indica&ccedil;&atilde;o, a n&atilde;o ser
+ que seja uma quantidade <emphasis>extremamente</emphasis>
+ baixa.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="aout-elf">
+ <para>Por que usar (alias, o que s&atilde;o) os formatos
+ execut&aacute;veis a.out e ELF?</para>
+ </question>
+
+ <answer>
+ <para>Para entender porque o FreeBSD usa o formato
+ <filename>ELF</filename>, voc&ecirc; deve primeiro saber
+ um pouco sobre os 3 formatos de execut&aacute;veis Unix
+ <quote>dominantes</quote> atualmente:</para>
+
+ <note>
+ <para>At&eacute; a vers&atilde;o 3.x o FreeBSD usava o
+ formato a.out.</para>
+ </note>
+
+ <itemizedlist>
+ <listitem>
+ <para>&man.a.out.5;</para>
+
+ <para>O mais antigo e <quote>classico</quote>formato de
+ objetos Unix. Ele usa um cabe&ccedil;alho curto e
+ compacto, com um <quote>magic number</quote> no
+ in&iacute;cio que &eacute; frequentemente utilizado
+ para identificar seu formato (mais detalhes veja
+ &man.a.out.5;). Ele cont&eacute;m tr&ecirc;s segmentos
+ a serem carregados: .text, .data, e .bss acrescidos de
+ uma tabela de s&iacute;mbolos e uma tabela de
+ caractereres adicionais.</para>
+ </listitem>
+
+ <listitem>
+ <para><acronym>COFF</acronym></para>
+
+ <para>O formato de objetos SVR3. Seu cabe&ccedil;alho
+ se consiste agora em uma tabela de
+ se&ccedil;&otilde;es, dessa forma garantindo que
+ voc&ecirc; tenha outras se&ccedil;&otilde;es
+ al&eacute;m de .text, .data, e .bss.</para>
+ </listitem>
+
+ <listitem>
+ <para><acronym>ELF</acronym></para>
+
+ <para>O sucessor do <acronym>COFF</acronym>,
+ atribu&iacute;do de M&uacute;ltiplas
+ se&ccedil;&otilde;es e valores de 32-bit ou 64-bit.
+ Um de seus principais inconvenientes: O formato
+ <acronym>ELF</acronym> foi originalmente desenvolvido
+ presumindo-se que existiria apenas um &uacute;nico ABI
+ por arquitetura. A presun&ccedil;&atilde;o &eacute;
+ incorreta, e nem mesmo em rela&ccedil;&atilde;o ao
+ mundo comercial do SYSV (onde encontramos ao menos
+ tr&ecirc;s ABIs distintas: SVR4, Solaris, SCO) isso
+ acontece.</para>
+
+ <para>O FreeBSD tenta se virar com esse problema com um
+ utilit&aacute;rio que <emphasis>identifica</emphasis>
+ um execut&aacute;vel <acronym>ELF</acronym>
+ relacionando-o ao ABI com o qual ele &eacute;
+ compat&iacute;vel. Veja a p&aacute;gina de manual do
+ &man.brandelf.1; para maiores
+ informa&ccedil;&otilde;es.</para>
+ </listitem>
+ </itemizedlist>
+
+ <para>O FreeBSD vem de tradi&ccedil;&atilde;o
+ <quote>cl&aacute;ssica</quote> e por isso sempre usou o
+ formado &man.a.out.5 que &eacute; uma tecnologia que foi
+ experimentada e aprovada por v&aacute;rias
+ gera&ccedil;&otilde;es de sistemas BSD. Apesar de,
+ h&aacute; algum tempo tamb&eacute;m ser poss&iacute;vel
+ para o FreeBSD trabalhar nativamente com bin&aacute;rios
+ <acronym>ELF</acronym> (e tamb&eacute;m
+ <foreignphrase>kernels</foreignphrase>), o FreeBSD
+ inicialmente resistiu &agrave;
+ <quote>press&atilde;o</quote> em assumir o
+ <acronym>ELF</acronym> como formato padr&atilde;o. Por
+ qu&ecirc;? Bem, quando o campo do Linux resolveu fazer
+ sua dolorosa transi&ccedil;&atilde;o para o formato
+ <acronym>ELF</acronym>, n&atilde;o sobrou muito para ser
+ aproveitado dos formatos <filename>a.out</filename>
+ especialmente por causa das limita&ccedil;&otilde;es de
+ tabelas que podiam ser utilizadas em seus
+ cabe&ccedil;alhos, e isso tornou o desenvolvimento de
+ bibliotecas compartilhadas extremamente &aacute;rduo para
+ fabricantes e desenvolvedores em geral. Depois disso, as
+ ferramentas <acronym>ELF</acronym> come&ccedil;aram
+ &agrave; oferecer solu&ccedil;&otilde;es para o
+ compartilhamento de bibliotecas, solu&ccedil;&otilde;es
+ que fossem extremamente satisfat&oacute;rias, e a
+ migra&ccedil;&atilde;o, apesar dos custos
+ necess&aacute;rios que a envolvia, foi aceita, e a
+ transi&ccedil;&atilde;o para <acronym>ELF</acronym> passou
+ a ser o <quote>caminho &agrave; ser
+ seguido</quote>.</para>
+
+ <para>No caso do FreeBSD, o nosso mecanismo de bibliotecas
+ compartilhadas tem uma base mais pr&oacute;xima do estilo
+ do <application>SunOS</application>, da Sun, e &eacute;
+ extremamente f&aacute;cil de ser utilizado. Contudo,
+ &agrave; partir da s&eacute;rie 3.0, o FreeBSD
+ oficialmente adotou o formato de bin&aacute;rios
+ <acronym>ELF</acronym> como padr&atilde;o. Apesar do
+ formato <filename>a.out</filename> sempre ter servido
+ muito bem &agrave;s nossas necessidades, o pessoal da GNU,
+ autores de algumas das ferramentas de
+ compila&ccedil;&atilde;o que n&oacute;s usamos,
+ simplesmente deixaram de suportar o formato
+ <filename>a.out</filename>. Tal fato nos for&ccedil;ou
+ &agrave; manter vers&otilde;es distintas do compilador e
+ do linkador, e nos permitiriam usufruir dos
+ esfor&ccedil;os que n&oacute;s ach&aacute;ssemos
+ interessantes nos desenvolvimentos GNU. Finalmente, a
+ demanda pelo ISO-C++, not&aacute;veis compiladores e
+ descompiladores, tamb&eacute;m contribuiram para uma
+ ado&ccedil;&atilde;o nativa dos bin&aacute;rios
+ <acronym>ELF</acronym> nas vers&otilde;es futuras do
+ FreeBSD.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="binary-formats">
+ <para>Certo, mas por que existem tantos formatos
+ diferentes?</para>
+ </question>
+
+ <answer>
+ <para>De volta &agrave;s origens, em um passado obscuro,
+ existiam apenas hardwares mais simples. Esse hardware
+ simples, suportava sistemas simples e pequenos. A a.out
+ era completamente adequada para o servi&ccedil;o de
+ representar o formato bin&aacute;rio nesses sistemas (os
+ PDP-11). Conforme as pessoas iam portando o Unix desse
+ sistema mais simples, eles mantinham o formato a.out
+ porque era bom o bastante para portar para arquiteturas
+ como o Motorola 68k, VAXen, etc.</para>
+
+ <para>Ent&atilde;o, algum engenheiro de hardware brilhante,
+ decidiu que se ele pudesse for&ccedil;ar o software
+ &agrave; dar conta de algumas coisinhas, alguns
+ truquezinhos, ele poderia ent&atilde;o passar por cima de
+ algumas restri&ccedil;&otilde;es de design, e permitir que
+ a base de sua CPU tivesse um desempenho melhor. Para
+ poder trabalhar como esse novo tipo de hardware (que hoje
+ &eacute; conhecido como RISC), a
+ <filename>a.out</filename> n&atilde;o se encaixava muito
+ bem em suas fun&ccedil;&otilde;es, e ent&atilde;o muitos
+ formatos foram desenvolvidos afim de obter melhor
+ performance desse hardware, que a simples
+ <filename>a.out</filename> n&atilde;o podia comportar.
+ Coisas como <acronym>COFF</acronym>,
+ <acronym>ECOFF</acronym> e outras ainda mais obscuras
+ foram inventadas, e todas suas limita&ccedil;&otilde;es
+ foram exploradas, at&eacute; que se resultasse o formato
+ <acronym>ELF</acronym>.
+
+ <para>Em adi&ccedil;&atilde;o, o tamanho dos programas
+ passou a crescer, e os discos (assim como a mem&oacute;ria
+ f&iacute;sica) ainda eram relativamente pequenos,
+ ent&atilde;o nasceu o conceito de compartilhamento de
+ bibliotecas. O sistema de Mem&oacute;ria Virtual (VM)
+ tamb&eacute;m se tornou mais sofisticado. Cada um desses
+ avan&ccedil;os eram feitos utilizando-se o formato
+ <filename>a.out</filename>, e o seu uso crescia mais e
+ mais com cada nova caracter&iacute;stica. Depois, as
+ pessoas come&ccedil;aram a querer que as coisas fossem
+ din&acirc;micamente carregadas em tempo de
+ execuss&atilde;o, ou ent&atilde;o queriam poder descartar
+ algum trecho de seus programas depois que seu
+ c&oacute;digo de inicializa&ccedil;&atilde;o tivesse sido
+ executado, de modo &agrave; economizar mem&oacute;ria
+ principal ou mesmo Swap. As linguagens de
+ programa&ccedil;&atilde;o se tornaram mais sofisticadas,
+ ent&atilde;o as pessoas queriam c&oacute;digos com
+ chamadas autom&aacute;ticas antes do programa principal
+ (main). Come&ccedil;ou-se ent&atilde;o a hackear a
+ <filename>a.out</filename> de forma que ela pudesse suprir
+ essas necessidades. E de fato por algum tempo ela as
+ supriu. Depois a <filename>a.out</filename> passou a
+ n&atilde;o suportar mais determinados problemas sem
+ resultar em uma sobrecarga ou complexidade exagerada de
+ c&oacute;digo. Por outro lado, o formato
+ <acronym>ELF</acronym> resolvia a maioria desses
+ problemas, mas seria doloroso demais simplesmente
+ abandonar um formato e sistema que, basicamente
+ funcionavam bem. Ent&atilde;o o formato
+ <acronym>ELF</acronym> teve que esperar at&eacute; que
+ fosse ainda mais doloroso continuar com o formato
+ <filename>a.out</filename> do que migrar para
+ <acronym>ELF</acronym>.</para>
+
+ <para>Contudo, com o passar do tempo, as ferramentas de
+ desenvolvimento &agrave;s quais o FreeBSD derivava suas
+ pr&oacute;prias ferramentas de desenvolvimento
+ (especialmente o assembler e o carregador - loader) se
+ envolveram em duas &aacute;rvores paralelas. A
+ &aacute;rvore do FreeBSD adicionou in&uacute;meras
+ bibliotecas compartilhadas, e arrumou in&uacute;meros
+ bugs. E a rapaziada do GNU, que originalmente escreviam
+ algumas dessas ferramentas, passaram a rescreve-las e
+ adicionaram suporte para compila&ccedil;&atilde;o
+ derivada, ado&ccedil;&otilde;es de formatos diferentes,
+ etc. Depois pensou-se em desenvolver um formato derivado,
+ visando o FreeBSD, mas n&atilde;o obteve-se sorte o
+ bastante, especialmente porque os fontes antigos do
+ &quot;ld&quot; do FreeBSD n&atilde;o davam conta da
+ tarefa. A corrente de novas ferramentas GNU (as chamadas
+ binutils) agora suportam compila&ccedil;&atilde;o
+ derivada, formato <acronym>ELF</acronym>, bibliotecas
+ compartilhadas, extens&otilde;es de C++, etc, etc. Em
+ adi&ccedil;&atilde;o ainda, muitos fabricantes passaram
+ &agrave; lan&ccedil;ar bin&aacute;rios
+ <acronym>ELF</acronym>, e ent&atilde;o, por que continuar
+ nos chateando com o formato <filename>a.out</filename>? A
+ <filename>a.out</filename> &eacute; um cavalo velho e
+ muito cansado, que j&aacute; provou ser extremamente
+ &uacute;til no passado, mas agora est&aacute; na hora de
+ tira-lo do pasto, como recompensa por seus longos e
+ fi&eacute;is anos de servi&ccedil;o.</para>
+
+ <para>O formato <acronym>ELF</acronym> &eacute; mais
+ expressivo do que o <filename>a.out</filename>, e vai
+ permitir muito mais extensibilidade &agrave; base do
+ sistema. As ferramentas <acronym>ELF</acronym> s&atilde;o
+ mantidas de forma mais confi&aacute;vel, e oferecem
+ suporte &agrave; compila&ccedil;&atilde;o derivada, o que
+ &eacute; importante para muita gente. O formato
+ <acronym>ELF</acronym> &eacute; um pouco mais lento do que
+ o formato <filename>a.out</filename>, mas &eacute; quase
+ imposs&iacute;vel comparar ambos, existem in&uacute;meros
+ detalhes que os fazem diferentes, desde o mapeamento de
+ p&aacute;ginas de mem&oacute;ria, at&eacute; a forma como
+ eles tratam o c&oacute;digo de inicializa&ccedil;&atilde;o
+ de um bin&aacute;rio (init code). Nenhuma dessas
+ quest&otilde;es &eacute; importante, mas existem
+ diferen&ccedil;as. Com o tempo, o suporte para o formato
+ <filename>a.out</filename> vai ser retirado do
+ <foreignphrase>kernel</foreignphrase> GENERIC, e
+ eventualmente ser&aacute; retirado em definitivo do
+ <foreignphrase>kernel</foreignphrase>, uma vez que a
+ necessidade de rodar programas <filename>a.out</filename>
+ tenham se tornado passado.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="chmod-symlinks">
+ <para>Por que o chmod n&atilde;o modifica as
+ permiss&otilde;es dos links simb&oacute;licos?</para>
+ </question>
+
+ <answer>
+ <para>Links simb&oacute;licos n&atilde;o tem
+ permiss&otilde;es, e por padr&atilde;o, o &man.chmod.1;
+ n&atilde;o vai seguir os links afim de mudar as
+ permiss&otilde;es do arquivo original. Portanto, se
+ voc&ecirc; tem um arquivo qualquer, e um link
+ simb&oacute;lico para esse arquivo, o seguinte comando vai
+ lhe servir.</para>
+
+ <screen>&prompt.user; <userinput>chmod g-w &lt;link simb&oacute;lico&gt;</userinput></screen>
+
+ <para>Contudo, as permiss&otilde;es para o arquivo original
+ n&atilde;o ser&atilde;o alteradas. Mas se voc&ecirc; usar
+ a op&ccedil;&atilde;o <option>-H</option> ou
+ <option>-L</option> em conjunto com <option>-R</option>,
+ voc&ecirc; vai poder alter&aacute;-la. Veja as
+ p&aacute;ginas de manuais do &man.chmod.1; e do
+ &man.symlink.7; para mais informa&ccedil;&otilde;es.</para>
+
+ <warning>
+ <para>A op&ccedil;&atilde;o <option>-R</option> resulta em
+ um &man.chmod.1; <acronym>RECURSIVO</acronym>. Tome
+ muito cuidado quando for definir diret&oacute;rios ou
+ links simb&oacute;licos com &man.chmod.1;. Se voc&ecirc;
+ quer alterar as permiss&otilde;es dentro do
+ diret&oacute;rio referenciado pelo symlink, ent&atilde;o
+ basta usar o &man.chmod.1; sem qualquer outra
+ op&ccedil;&atilde;o, mas com uma barra
+ <filename>/</filename>. Por exemplo, se
+ <filename>A</filename> for um link simb&oacute;lico para
+ o arquivo original <filename>B</filename>, ent&atilde;o
+ para alterar sua permiss&atilde;o basta um
+ simples:</para>
+
+ <screen>&prompt.user; <userinput>chmod 555 A/</userinput></screen>
+
+ <para>Com essa barra, o &man.chmod.1; vai seguir o link
+ simb&oacute;lico para mudar as permiss&otilde;es do
+ arquivo original.</para>
+ </warning>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="login-8char">
+ <para>Por que os nomes de login (ou username) s&atilde;o
+ restritos &agrave; 8 caracteres no FreeBSD 2.2.X e
+ anteriores?</para>
+ </question>
+
+ <answer>
+ <para>Voc&ecirc; pode pensar que seria bem
+ confort&aacute;vel simplesmente mudar o
+ <literal>UT_NAMESIZE</literal> e depois recompilar todo o
+ sistema operacional, ai tudo iria funcionar
+ maravilhosamente bem. Infelizmente n&atilde;o &eacute;
+ assim que as coisas funcionam, existem estruturas de
+ aplica&ccedil;&otilde;es e utilit&aacute;rios (incluindo
+ ferramentas do sistema) que foram codificadas utilizando
+ n&uacute;meros pequenos (nem sempre <literal>8</literal>
+ ou <literal>9</literal>, mas alguns valores mais
+ arbitr&aacute;rios como <literal>15</literal> e
+ <literal>20</literal>) em estruturas e buffers. Voc&ecirc;
+ n&atilde;o vai ter problemas apenas com arquivos de logs,
+ que ser&atilde;o inutilizados (devido ao tamanho
+ vari&aacute;vel dos dados gravados, quando apenas um
+ tamanho constante era esperado), mas vai tamb&eacute;m ter
+ problemas com clientes NIS de m&aacute;quinas Sun, e
+ potencialmente provocar outros problemas ao interagir com
+ outros sistemas Unix.</para>
+
+ <para>No FreeBSD 3.0 e posteriores, o tamanho m&aacute;ximo
+ do nome de usu&aacute;rio foi elevado para 16 caracteres,
+ e todas as ferramentas e trechos do c&oacute;digo
+ principal do sistema que poderiam apresentar problemas em
+ rela&ccedil;&atilde;o &agrave; isso, foram encontradas e
+ corrigidas. O fato dessa altera&ccedil;&atilde;o mudar
+ tantos fatores importantes no sistema &eacute; que,
+ nenhuma mudan&ccedil;a tinha sido feita at&eacute; a
+ vers&atilde;o 3.0.</para>
+
+ <para>Se voc&ecirc; confia completamente em suas habilitades
+ para procurar e corrigir esses prov&aacute;veis problemas
+ sozinho, ent&atilde;o basta aumentar o tamanho do nome de
+ usu&aacute;rio no arquivo
+ <filename>/usr/include/utmp.h</filename> e mudar a
+ UT_NAMESIZE para o valor desejado. Voc&ecirc;
+ tamb&eacute;m vai ter que atualizar o MAXLOGNAME no
+ <filename>/usr/include/sys/param.h</filename> para ficar
+ de acordo com a mudan&ccedil;a no UT_NAMESIZE.
+ Finalmente, se voc&ecirc; vai recompilar os fontes,
+ n&atilde;o se esque&ccedil;a que o /usr/include &eacute;
+ atualizado sempre. Mude ent&atilde;o os arquivos
+ apropriados em /usr/src(...) para garantir que voc&ecirc;
+ vai estar alterando sempre a fonte do problema, e
+ n&atilde;o apenas a inst&acirc;ncia instalada, no
+ sistema.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="dos-binaries">
+ <para>Posso rodar bin&aacute;rios do DOS sob FreeBSD?</para>
+ </question>
+
+ <answer>
+ <para>Sim, &agrave; partir da vers&atilde;o 3.0, voc&ecirc;
+ pode utilizar o emulador <application>doscmd</application>
+ da BSDI. A emula&ccedil;&atilde;o DOS desse aplicativo
+ foi totalmente redefinida depois da sua
+ integra&ccedil;&atilde;o do FreeBSD. Entre na
+ &a.emulation; se voc&ecirc; tem interesse em se juntar ao
+ grupo que se esfor&ccedil;a nessa jornada.</para>
+
+ <para>Em sistemas anteriores ao 3.0, existe um
+ utilit&aacute;rio n&atilde;o muito interessante, chamado
+ <application>pcemu</application> no
+ <literal>Ports</literal>. O
+ <application>pcemu</application> emula um 8088 e algumas
+ fun&ccedil;&atilde;o de BIOS que s&atilde;o o bastante
+ para rodar aplica&ccedil;&otilde;es DOS que sejam
+ textuais. Ele requer o X, sistema de interface grafica
+ (XFree86).</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="translation">
+ <para>O que eu preciso para traduzir um documento do FreeBSD
+ para a minha l&iacute;ngua nativa?</para>
+ </question>
+
+ <answer>
+ <para>Veja o <ulink
+ url="../fdp-primer/translations.html"><literal>FAQ</literal>
+ de Tradu&ccedil;&atilde;o</ulink> no
+ <foreignphrase>FreeBSD Documentation Project
+ Primer</foreignphrase>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="freebsd-mail-bounces">
+ <para>Por que meu e-mail para qualquer endere&ccedil;o em
+ FreeBSD.org sempre falha?</para>
+ </question>
+
+ <answer>
+ <para>O sistema de correio eletr&ocirc;nico do site
+ FreeBSD.org implementa algumas das
+ restri&ccedil;&otilde;es do Postfix, verificando nas
+ mensagens que est&atilde;o chegando, se elas est&atilde;o
+ sendo entregues por algum servidor mal configurado, ou se
+ representa algum tipo de <literal>SPAM</literal> em
+ potencial. As suas mensagens podem estar voltando por
+ algum dos seguintes motivos:</para>
+
+ <itemizedlist>
+ <listitem>
+ <para>A mensagem est&aacute; sendo enviada de um
+ dom&iacute;nio ou bloco de endere&ccedil;os IP
+ reconhecidamente utilizados para
+ <literal>SPAM</literal>.</para>
+
+ <para>Os servidores de correio eletr&ocirc;nico do
+ projeto FreeBSD rejeitam mensagens de qualquer fonte
+ de <literal>SPAM</literal> conhecida. Se voc&ecirc;
+ utiliza os servi&ccedil;os de uma empresa que costuma
+ fazer <literal>SPAM</literal> ou permitir que seus
+ clientes o fa&ccedil;am, por gentileza, mude o seu
+ provedor de servi&ccedil;os, para um que n&atilde;o
+ permite tal pr&aacute;tica.</para>
+ </listitem>
+
+ <listitem>
+ <para>O corpo da mensagem cont&eacute;m apenas
+ HTML.</para>
+
+ <para>Mensagens de correio eletr&ocirc;nico devem ser
+ enviadas apenas como texto puro. Mensagens de e-mail
+ n&atilde;o s&atilde;o web sites. Configure o seu
+ cliente de correio eletr&ocirc;nico de modo que ele
+ apenas envie mensagens de texto puro.</para>
+ </listitem>
+
+ <listitem>
+ <para>Os servidores da FreeBSD.org n&atilde;o conseguem
+ resolver o seu endere&ccedil;o IP para o nome da
+ esta&ccedil;&atilde;o que est&aacute; entregando a
+ mensagem eletr&ocirc;nica.</para>
+
+ <para>Por padr&atilde;o, ter registros de DNS reverso
+ &eacute; um dos requisitos para que nossos servidores
+ recebam sua mensagem. Configure o DNS reverso para o
+ IP do seu servidor de e-mail. Lembre-se que, alguns
+ servi&ccedil;os resid&ecirc;nciais (como ADSL, dialup,
+ cable, etc) n&atilde;o permitem que voc&ecirc; mesmo
+ configure o seu reverso. Nesse caso, envie sua
+ mensagem pelo servidor de e-mail do seu provedor de
+ servi&ccedil;os, ou pe&ccedil;a ao provedor que ajuste
+ o reverso do seu IP.</para>
+ </listitem>
+
+ <listitem>
+ <para>O nome da esta&ccedil;&atilde;o enviada no
+ cabe&ccedil;alho inicial EHLO/HELO, parte do protocolo
+ de envio SMTP n&atilde;o pode ser resolvido em um
+ endere&ccedil;o IP correspondente.</para>
+
+ <para>O servidor que est&aacute; tentando entregar a
+ mensagem deve ter o registro de nomes configurado
+ corretamente, de forma que o nome da
+ esta&ccedil;&atilde;o possa ser resolvido em um
+ endere&ccedil;o IP. Caso sua esta&ccedil;&atilde;o
+ n&atilde;o tenha um registro DNS configurado, utilize
+ o servidor de correio eletr&ocirc;nico do seu provedor
+ de servi&ccedil;os.</para>
+ </listitem>
+
+ <listitem>
+ <para>Sua mensagem teve uma identifica&ccedil;&atilde;o
+ que terminava com o conjunto de caracteres
+ <quote>localhost</quote>.</para>
+
+ <para>Alguns clientes de correio eletr&ocirc;nico geram
+ ID - identifica&ccedil;&otilde;es - das mensagens de
+ forma impr&oacute;pria. Nesse caso, o seu servidor de
+ correio deve redefinir o ID da mensagem, ou voc&ecirc;
+ deve reconfigura-lo de modo que ele gere tal
+ identifica&ccedil;&atilde;o de forma
+ aceit&aacute;vel.</para>
+ </listitem>
+ </itemizedlist>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="free-account">
+ <para>Onde eu consigo uma conta gratu&iacute;ta em um
+ FreeBSD?</para>
+ </question>
+
+ <answer>
+ <para>O Projeto FreeBSD n&atilde;o permite acesso
+ p&uacute;blico a nenhum dos seus servidores, contudo
+ algumas empresas oferecem acesso irrestrito &agrave;
+ sistemas Unix. Os pre&ccedil;os variam, e alguns
+ servi&ccedil;os limitados podem ser
+ disponibilizados.</para>
+
+ <para>A <ulink URL="http://www.arbornet.org/">Arbornet,
+ Inc</ulink>, tamb&eacute;m conhecida como M-Net,
+ prov&ecirc; acesso &agrave; sistemas Unix desde 1983.
+ Inicialmente rodando sob um System III em arquitetura
+ Altos, o site mudou seu sistema para BSD/OS em 1991. Em
+ junho de 2000 o site mudou novamente seu sistema para
+ FreeBSD. A M-Net pode ser acessada via telnet e SSH, e
+ proporciona acesso b&aacute;sico a uma gama completa de
+ softwares do FreeBSD. Contudo, o acesso &agrave; rede
+ &eacute; limitado aos membros e patronos da
+ institui&ccedil;&atilde;o, que fazem doa&ccedil;&otilde;es
+ &agrave; empresa, uma vez que a mesma &eacute; uma
+ organiza&ccedil;&atilde;o sem fins lucrativos. A M-Net
+ tamb&eacute;m oferece um Boletim peri&oacute;dico e Chat
+ interativo.</para>
+
+ <para>A <ulink URL="http://www.grex.org/">Grex</ulink>
+ tamb&eacute;m oferece um acesso parecido com o da M-Net,
+ inclusive com os mesmos servi&ccedil;os, contudo a
+ m&aacute;quina &eacute; uma Sun 4M e seu sistema Unix
+ &eacute; o SunOS. Vale pela curiosidade, e para
+ compara&ccedil;&atilde;o entre os sistemas.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="sup-define">
+ <para>O que &eacute; <command>sup</command>, e como eu uso
+ isso?</para>
+ </question>
+
+ <answer>
+ <para><ulink
+ URL="http://www.FreeBSD.org/cgi/ports.cgi?^sup">SUP</ulink>
+ significa Protocolo de Atualiza&ccedil;&atilde;o de
+ Programa (Software Update Protocol ), e foi desenvolvido
+ pela CMU para manter suas &aacute;rvores de
+ desenvolvimento sempre sincronizadas. N&oacute;s
+ utilizamos esse protocolo para manter alguns sites remotos
+ em sincronia com os nossos servidores centrais de
+ desenvolvimento.</para>
+
+ <para>SUP n&aacute;o &eacute; amig&aacute;vel com a banda de
+ tramiss&atilde;o (consome muita banda) , e por isso foi
+ aposentado. Atualmente recomendados que voc&ecirc;
+ fa&ccedil;a uso do <ulink
+ URL="../handbook/synching.html#CVSUP">CVSup</ulink> para
+ manter seus fontes atualizados.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="daemon-name">
+ <para>Qual o nome daquele capetinha vermelho
+ simp&aacute;tico?</para>
+ </question>
+
+ <answer>
+ <para>Ele n&atilde;o tem um nome, &eacute; simplesmente
+ chamado de <quote>the BSD daemon</quote>. Se voc&ecirc;
+ insiste em dar um nome &agrave; ele, por gentileza,
+ chame-o de <quote>beastie</quote> ;-) Note que
+ <quote>beastie</quote> se pronuncia
+ <quote>BSD</quote>.</para>
+
+ <para>Voc&ecirc; pode saber mais sobre o BSD daemon na sua
+ <ulink
+ url="http://www.mckusick.com/beastie/index.html">home
+ page</ulink>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="use-beastie">
+ <para>Posso usar a imagem do BSD daemon?</para>
+ </question>
+
+ <answer>
+ <para>Talvez. O BSD daemon &eacute; de direitos autorais de
+ Marshall Kirk McKusick. Voc&ecirc; deve pedir a
+ permiss&atilde;o do McKusick para usar a imagem do BSD
+ Daemon, e pedir para saber os <ulink
+ url="http://www.mckusick.com/beastie/mainpage/copyright.html">termos
+ de utiliza&ccedil;&atilde;o da figura
+ p&uacute;blica</ulink> do nosso querido capetinha
+ ;-)</para>
+
+ <para>Resumindo, voc&ecirc; pode fazer uso da imagem dele,
+ dependendo da maneira, para uso pessoal, por exemplo. Se
+ os cr&eacute;ditos apropriados forem dados, tudo bem.
+ Para fazer uso comercial da imagem, ai sim voc&ecirc; deve
+ falar com o McKusick, e dar uma olhada na home page do
+ <ulink url="http://www.mckusick.com/beastie/index.html">
+ BSD Daemon</ulink> para mais detalhes..</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="daemon-images">
+ <para>Voc&ecirc;s tem algumas imagens do BSD daemon que eu
+ poderia usar?</para>
+ </question>
+
+ <answer>
+ <para>Voc&ecirc; vai encontrar algumas figuras em eps e Xfig
+ sob o diret&oacute;rio
+ <filename>/usr/share/examples/BSD_daemon/</filename>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="define-MFC">
+ <para>O que significa <acronym>MFC</acronym>?</para>
+ </question>
+
+ <answer>
+ <para>MFC &eacute; um acr&ocirc;nimo para <quote>obtido a
+ partir do ramo -CURRENT</quote> (<foreignphrase>Merged
+ From -CURRENT</foreignphrase>). &Eacute; usado nos logs
+ do CVS para identificar uma mudan&ccedil;a que seja
+ originada e migrada da s&eacute;rie de desenvolvimento
+ (-CURRENT) para s&eacute;rie est&aacute;vel
+ (-STABLE).</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="define-BSD">
+ <para>O que significa <acronym>BSD</acronym>?</para>
+ </question>
+
+ <answer>
+ <para>O significado da sigla BSD &eacute; algo, em uma
+ l&iacute;ngua secreta que apenas os membros podem saber.
+ Literalmente n&atilde;o seria poss&iacute;vel traduzir BSD
+ para uma l&iacute;ngua que voc&ecirc; pudesse entender,
+ mas poder&iacute;amos tentar explicar seu significado como
+ algo bem pr&oacute;ximo de <quote>Equipe de
+ F&oacute;rmula-1</quote>, <quote>Penguins s&atilde;o
+ aperitivos saborosos</quote>, e tamb&eacute;m
+ <quote>N&oacute;s temos mais senso de humor do que o
+ Linux</quote>. :-)</para>
+
+ <para>A vers&atilde;o s&eacute;ria &eacute; que BSD &eacute;
+ um acr&ocirc;nimo para <quote>Berkeley Software
+ Distribution</quote>, que &eacute; o nome que o Grupo de
+ Pesquisa de Ci&ecirc;ncia da Computa&ccedil;&atilde;o da
+ Universidade de Berkeley - Berkeley
+ <acronym>CSRG</acronym> (Computer Systems Research Group)
+ - escolheu para sua pr&oacute;pria
+ distribui&ccedil;&atilde;o do Unix.
+ </para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="define-pola">
+ <para>O que significa <acronym>POLA</acronym>?</para>
+ </question>
+
+ <answer>
+ <para>&Eacute; o Princ&iacute;pio de Menor
+ Altera&ccedil;&atilde;o. Significa que durante o processo
+ de desenvolvimento do FreeBSD, toda e qualquer
+ modifica&ccedil;&atilde;o que seja vis&iacute;vel para o
+ usu&aacute;rio, deve ser menos surpreendente
+ poss&iacute;vel, mantendo assim uma compatibilidade
+ pr&eacute;via com a forma de utiliza&ccedil;&atilde;o do
+ sistema. Por exemplo, n&atilde;o se pode alterar
+ arbitr&aacute;riamente as vari&aacute;veis dos scripts de
+ configura&ccedil;&atilde;o do sistema, em
+ <filename>/etc/defaults/rc.conf</filename>, pois esse tipo
+ de a&ccedil;&atilde;o violaria a POLA. O desenvolvimento
+ do FreeBSD apenas considera POLA quando as
+ altera&ccedil;&otilde;es s&atilde;o vis&iacute;veis pelo
+ usu&aacute;rio.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="define-repocopy">
+ <para>O que &eacute; um repo-copy?</para>
+ </question>
+
+ <answer>
+ <para>Um repo-copy (que &eacute; uma forma breve de chamar
+ um <quote>repository copy</quote>) &eacute; simplesmente a
+ c&oacute;pia direta de arquivos em um reposit&oacute;rio
+ CVS.</para>
+
+ <para>Sem um repo-copy, uma altera&ccedil;&atilde;o por
+ parte de algum mantenedor, se tornaria uma c&oacute;pia
+ comum, originada via <command>cvs</command>, seguida de um
+ <command>rm</command> para deletar o arquivo original que
+ tivesse sido modificado.</para>
+
+ <para>Esse processo contudo, resulta em uma n&atilde;o
+ constata&ccedil;&atilde;o hist&oacute;rica do arquivo
+ antigo, nos novos registros de log. O Projeto FreeBSD
+ considera extremamente importante a
+ manuten&ccedil;&atilde;o desse hist&oacute;rico, e por
+ isso as c&oacute;pias de reposit&oacute;rio s&atilde;o
+ frequentemente utilizadas. Nesse processo, um dos
+ reposit&oacute;rios centrais vai copiar os arquivos
+ diretamente para outro reposit&oacute;rio, e n&atilde;o
+ simplesmente fazer uma sincronia com o programa
+ &man.cvs.1;.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="bikeshed-painting">
+ <para>Porque eu devo me preocupar com a cor do quartinho de
+ bicicletas (bikeshed)?</para>
+ </question>
+
+ <answer>
+ <para>A resposta mais curta, &eacute; que voc&ecirc;
+ n&atilde;o deve. A resposta longa &eacute; que, s&oacute;
+ porque voc&ecirc; &eacute; capaz de fazer quarto para
+ guardar sua pr&oacute;pria bicicleta, voc&ecirc;
+ n&atilde;o pode fazer as outras pessoas pararem de
+ construir seus pr&oacute;prios quartinhos tamb&eacute;m,
+ simplesmente porque voc&ecirc; n&atilde;o gosta da cor que
+ as pessoas os pintam. Essa met&aacute;fora indica que
+ voc&ecirc; n&atilde;o tem que argumentar nem reclamar
+ sobre cada coisinha, s&oacute; porque tem conhecimento o
+ bastante para critica-la. Algumas pessoas dizem que a
+ quantidade de barulho provocada por uma
+ altera&ccedil;&atilde;o &eacute; inversamente proporcional
+ &agrave; complexidade da mudan&ccedil;a.</para>
+
+ <para>A resposta ainda mais completa, e maior, &eacute; que,
+ depois de muita discuss&atilde;o sobre quando o
+ &man.sleep.1; deveria trabalhar com argumentos de segundos
+ fracionados, &a.phk; enviou uma mensagem, longa, chamada
+ de <quote><ulink
+ url="http://www.FreeBSD.org/cgi/getmsg.cgi?fetch=506636+517178+/usr/local/www/db/text/1999/freebsd-hackers/19991003.freebsd-hackers">Um
+ quarto de bicicleta (qualquer cor serve) em um gramado
+ mais verde...</ulink></quote>. As partes devidas da
+ mensagem est&atilde;o citadas abaixo.</para>
+
+ <blockquote>
+ <attribution>&a.phk; na freebsd-hackers, em 2 de Outubro
+ de 1999</attribution>
+
+ <para><quote>O que &eacute; isso sobre a cor do quartinho
+ da bicicleta?</quote> Alguns de voc&ecirc;s me
+ perguntaram.</para>
+
+ <para>&Eacute; uma longa hist&oacute;ria, ou melhor,
+ &eacute; uma antiga hist&oacute;ria, mas pode ser meio
+ curta na verdade. Um cara chamado C. Northcote
+ Parkinson escreveu um livro em meados de 1960 chamado de
+ <quote>A Lei de Parkinson</quote>, que continha
+ v&aacute;rios insights sobre as din&acirc;micas da
+ administra&ccedil;&atilde;o.</para>
+
+ <para>[trechos irrelevantes foram cortados]</para>
+
+ <para>Vamos deixar de falar sobre o livro em s&iacute;,
+ mas vamos tratar apenas um exemplo. O exemplo
+ espec&iacute;fico, do caso do quartinho da bicileta, tem
+ outro componente de vital import&acirc;ncia, que
+ &eacute; uma usina nuclear. Isso ilustra a &eacute;poca
+ que o livro foi escrito.</para>
+
+ <para>Parkinson mostra como voc&ecirc; pode fazer para
+ chegar em um corpo de diretores de uma empresa e
+ convenc&ecirc;-los a construir uma usina at&ocirc;mica
+ multi-milhion&aacute;ria ou at&eacute; mesmo
+ bilhion&aacute;ria, mas diz que se voc&ecirc; abordar os
+ diretores da mesma forma, tentando aprovar a
+ constru&ccedil;&atilde;o de um quartinho de bicicleta,
+ voc&ecirc; vai cair em uma discuss&atilde;o profunda, e
+ sem fim.</para>
+
+ <para>Parkinson explica que isso acontece porque uma usina
+ at&ocirc;mica &eacute; t&atilde;o vasta, t&atilde;o cara
+ e t&atilde;o complicada que as pessoas simplesmente
+ preferem n&atilde;o discutir, e mesmo que tentem
+ faz&ecirc;-lo, eles assumem que algu&eacute;m j&aacute;
+ observou todos os detalhes poss&iacute;veis antes que
+ tal proposta chegasse &agrave; tal ponto. Richard P.
+ Feunmann d&aacute; alguns exemplos interessantes, sobre
+ o que acontece em Los Alamos em seus livros.</para>
+
+ <para>Por outro lado, um barrac&atilde;o de bicicleta pode
+ ser constru&iacute;do por qualquer um, em um fim de
+ semana qualquer, e ainda sobraria tempo ao seu
+ desenvolvedor para assistir o jogo na TV. Ent&atilde;o,
+ n&atilde;o importa o qu&atilde;o bem preparado
+ voc&ecirc; esteja, algu&eacute;m vai sempre querer
+ aparecer diante de uma situa&ccedil;&atilde;o dessas, e
+ querer discutir as coisas mais pequenas
+ poss&iacute;veis. Na Dinamarca isso se chama
+ <quote>Deixar sua marquinha</quote>. Envolve
+ prest&iacute;gio e orgulho pessoal, envolve a
+ possibilidade de apontar para algum lugar (qualquer
+ lugar que seja) e apontar dizendo
+ <quote><emphasis>Aquilo! Eu fiz
+ aquilo</emphasis></quote> (o que quer que aquilo
+ seja). Isso &eacute; comum em pol&iacute;ticos, mas
+ aparece em qualquer pessoa a quem se d&ecirc; a chance.
+ Simplesmente pense em pegadas, no cimento
+ fresco.&quot;</para>
+ </blockquote>
+
+ <para>Na verdade, um &quot;quartinho de bicicletas&quot; ou
+ &quot;barrac&atilde;o de bicicletas&quot; &eacute; uma
+ tradu&ccedil;&atilde;o literal para a express&atilde;o
+ <quote>bikeshed</quote>; comumente utilizada na
+ l&iacute;ngua inglesa. Um <quote>bikeshed</quote>, no
+ significado definido pelo dicion&aacute;rio norte
+ americano &eacute; um pequeno quarto ou
+ barra&ccedil;&atilde;o n&atilde;o raramente encontrado no
+ fundo de uma casa, que &eacute; utilizado para guardar
+ bicicletas e outras coisas pequenas. Normalmente os norte
+ americanos constroem esses quartinhos eles mesmos, de
+ madeira, no fundo de suas casas ou pr&oacute;ximos
+ &agrave; garagem de autom&oacute;veis. A express&atilde;o
+ &eacute; normalmente utilizada pelos desenvolvedores do
+ FreeBSD quando se come&ccedil;a uma discuss&atilde;o sobre
+ algum assunto que n&atilde;o &eacute; t&atilde;o
+ importante para o bom funcionamento de alguma outra coisa,
+ como por exemplo, qual a import&acirc;ncia da cor de um
+ quartinho de bicicletas, quando o mesmo j&aacute;
+ est&aacute; constru&iacute;do e servindo bem ao seu
+ prop&oacute;sito?</para>
+ </answer>
+ </qandaentry>
+ </qandaset>
+ </chapter>
+
+ <chapter id="funnies">
+ <title>As gracinhas do FreeBSD</title>
+
+ <qandaset>
+ <qandaentry>
+ <question id="very-very-cool">
+ <para>Qu&atilde;o fresco &eacute; o FreeBSD?</para>
+ </question>
+
+ <answer>
+ <para>P. Algu&eacute;m j&aacute; fez algum tipo de teste de
+ temperatura ao rodar o FreeBSD? Eu sei que o Linux
+ costuma ser mais fresco que o DOS, mas nunca ouvi falar
+ nada a respeito do FreeBSD. Parece que ele &eacute; um
+ sistema muito
+ <emphasis><foreignphrase>caliente</foreignphrase></emphasis>!</para>
+
+ <para>R. N&atilde;o, mas n&oacute;s j&aacute; fizemos
+ v&aacute;rios testes de sabor com usu&aacute;rios vendados
+ que, al&eacute;m de tudo, haviam tomado 250 microgramas de
+ LSD-25. 35% dos volunt&aacute;rios disseram que o FreeBSD
+ tinha um sabor parecido com laranja, enquanto o Linux
+ tinha sabor de n&eacute;voa p&uacute;rpura. Nenhum dos
+ dois grupos comentou nada significante sobre a
+ varia&ccedil;&atilde;o de temperatura. Eventualmente,
+ tivemos que jogar o resultado desses testes fora,
+ j&aacute; que descobrimos que v&aacute;rios desses
+ volunt&aacute;rios estavam vagando fora do quarto,
+ prejudicando os resultados. Acreditamos que hoje, a
+ maioria desses volunt&aacute;rios trabalhe na Apple. Eles
+ devem estar criando novas interfaces gr&aacute;ficas do
+ tipo <quote>arranha e cheira</quote>. &Eacute; um
+ trabalho divertido e cl&aacute;ssico, do qual n&oacute;s
+ fazemos parte!</para>
+
+ <para>Falando s&eacute;rio, o FreeBSD e o Linux usam as
+ instru&ccedil;&otilde;es <acronym>HLT</acronym> (halt)
+ quando o sistema est&aacute; inativo. Isto diminui
+ consideravelmente o consumo de energia e,
+ conseq&uuml;entemente, o aquecimento que ele proporciona.
+ Al&eacute;m disso, se seu sistema possui APM (sistema
+ avan&ccedil;ado de gerenciamento de energia) configurado,
+ o FreeBSD coloca a CPU em modo de consumo menor de
+ energia.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="letmeoutofhere">
+ <para>Quem est&aacute; arranhando meus pentes de
+ mem&oacute;ria??</para>
+ </question>
+
+ <answer>
+ <para>P. Existe alguma <quote>bruxaria</quote> que o
+ FreeBSD faz ao compilar o
+ <foreignphrase>kernel</foreignphrase> que, por ventura,
+ estaria fazendo meus pentes de mem&oacute;ria fazer
+ barulhos estranhos, como se estivessem sendo arranhados?
+ Durante a compila&ccedil;&atilde;o do sistema (e um
+ pouquinho depois, assim que a unidade de disquete &eacute;
+ reconhecida, e ap&oacute;s a inicializa&ccedil;&atilde;o
+ tamb&eacute;m), um barulho estranho de arranhos
+ come&ccedil;a a emanar de algum lugar que parece ser os
+ pentes de mem&oacute;ria.</para>
+
+ <para>R. Claro! Com muita frequ&ecirc;ncia, voc&ecirc; vai
+ ouvir falar dos <quote>daemons</quote> na
+ documenta&ccedil;&atilde;o do BSD. O que a maioria das
+ pessoas n&atilde;o sabem &eacute; que essa &eacute; uma
+ refer&ecirc;ncia genu&iacute;na &agrave;s entidades
+ n&atilde;o-corporais que est&atilde;o possuindo o seu
+ computador. O barulho que parece o som de alguma coisa
+ sendo arranhada, na verdade s&atilde;o sussuros em tons
+ extremamente agudos que os <quote>daem&ocirc;nios</quote>
+ emanam, ao decidir entre si as melhores maneiras de tratar
+ as v&aacute;rias tarefas referentes &agrave;
+ administra&ccedil;&atilde;o do seu sistema.</para>
+
+ <para>Se o barulho te dominar, um bom <command>fdisk
+ /mbr</command> no DOS pode fazer voc&ecirc; se livrar
+ dos sons, mas n&atilde;o se surpreenda se a
+ rea&ccedil;&atilde;o dos
+ <foreignphrase>daemons</foreignphrase> forem adversas, ao
+ tentar evitar que voc&ecirc; fa&ccedil;a isso. Na
+ verdade, h&aacute; qualquer momento, &eacute;
+ poss&iacute;vel que voc&ecirc; ou&ccedil;a a voz
+ sat&acirc;nica do Bill Gates pelo auto-falante interno do
+ seu PC. Se isso acontecer, CORRA! Corra sem parar e
+ n&atilde;o olhe para tr&aacute;s por qualquer que seja o
+ motivo! Depois de se liberarem das influ&ecirc;ncias
+ contrastantes dos <foreignphrase>daemons</foreignphrase>
+ BSD, os dem&ocirc;nios g&ecirc;meos do DOS e do Windows
+ costumam ter sucesso ao repossuir total controle do seu
+ computador, e depois disso, o tempo garantir&aacute; que
+ eles consigam a domina&ccedil;&atilde;o total da sua alma.
+ Agora que voc&ecirc; j&aacute; conhece a verdade,
+ esperamos que sua escolha seja conviver com os barulhinos
+ agudos. Ou n&atilde;o?</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="changing-lightbulbs">
+ <para>Quantos FreeBSD <foreignphrase>hackers</foreignphrase>
+ s&atilde;o necess&aacute;rios para trocar uma
+ l&acirc;mpada?</para>
+ </question>
+
+ <answer>
+ <para>Mil cento e sessenta e nove:</para>
+
+ <para>Vinte e tr&ecirc;s para reclamarem no -CURRENT que
+ est&atilde;o sem luz;</para>
+
+ <para>Quatro para dizer que &eacute; um problema na
+ configura&ccedil;&atilde;o, e que essa pergunta deveria
+ ser feita na freebsd-questions;</para>
+
+ <para>Tr&ecirc;s para enviar Relat&oacute;rio de Problemas
+ sobre a l&acirc;mpada, dos quais ao menos um, n&atilde;o
+ est&aacute; completamente conclu&iacute;do, e consiste
+ apenas de um breve <quote>t&aacute; escuro</quote>;</para>
+
+ <para>Um para adicionar uma l&acirc;mpada que nunca foi
+ testada, que danifica todo o <literal>buildworld
+ </literal> e depois de 5 minutos tem que ser
+ retirada;</para>
+
+ <para>Oito para reclamarem para os autores dos
+ Relat&oacute;rios de Problemas por n&atilde;o ter
+ inclu&iacute;do corre&ccedil;&otilde;es em seus
+ relat&oacute;rios;</para>
+
+ <para>Cinco para reclamar que o
+ <literal>buildworld</literal> n&atilde;o est&aacute;
+ funcionando;</para>
+
+ <para>Trinta e um para responder que funciona para eles, e
+ que os problem&aacute;ticos devem ter feito CVSup na hora
+ errada;</para>
+
+ <para>Um para enviar uma corre&ccedil;&atilde;o para a nova
+ l&acirc;mpada na freebsd-hackers;</para>
+
+ <para>Um para reclamar que ele tinha corre&ccedil;&otilde;es
+ para essa l&acirc;mpada h&aacute; 3 anos, mas que quando
+ elas foram enviadas para o -CURRENT, foram simplesmente
+ ignoradas, e que sua experi&ecirc;ncia com o sistema de
+ Relat&oacute;rio de Problemas n&atilde;o foram as melhores
+ poss&iacute;veis; al&eacute;m disso a nova l&acirc;mpada
+ proposta n&atilde;o era reflexiva;</para>
+
+ <para>Trinta e sete para gritarem em alto e bom som que as
+ l&acirc;mpadas n&atilde;o fazem parte da base do sistema,
+ e que os desenvolvedores n&atilde;o tem o direito de sair
+ fazendo esse tipo de coisa sem antes consultar a
+ comunidade, e O QUE O -CORE ESTA FAZENDO SOBRE
+ ISSO!?</para>
+
+ <para>Duzendos para reclamar da cor do quartinho de
+ bicicletas;</para>
+
+ <para>Tr&ecirc;s para dizer que a corre&ccedil;&atilde;o
+ enviada n&atilde;o est&aacute; de acordo com os
+ padr&otilde;es que o c&oacute;digo do
+ <foreignphrase>kernel</foreignphrase> deve ter, conforme
+ documentado na p&aacute;gina de manual do
+ &man.style.9;;</para>
+
+ <para>Dezessete para reclamar que a nova l&acirc;mpada
+ proposta est&aacute; licenciada sob a Licen&ccedil;a
+ P&uacute;blica Geral GNU (GPL);</para>
+
+ <para>Quinhentos e oitenta e seis para entrarem de corpo e
+ alma em uma discuss&atilde;o sobre as vantagens
+ comparativas entre a licen&ccedil;a P&uacute;blica Geral
+ GNU (GPL), a licen&ccedil;a BSD, a licen&ccedil;a do MIT,
+ a NPL e a higiene pessoal dos fundadores da
+ <foreignphrase>Free Software
+ Foundation</foreignphrase>;</para>
+
+ <para>Sete para copiar v&aacute;rios trechos da
+ discuss&atilde;o para a lista de discuss&atilde;o
+ freebsd-chat e para a freebsd-advocacy;</para>
+
+ <para>Um para trocar a nova l&acirc;mpada sugerida, apesar
+ de a nova brilha bem menos que a antiga;</para>
+
+ <para>Dois para retirarem a l&acirc;mpada furiosos, dizendo
+ que o FreeBSD est&aacute; melhor no escuro do que com uma
+ l&acirc;mpada t&atilde;o fraca;</para>
+
+ <para>Quarenta e seis para contestarem vorazmente sobre a
+ retirada da l&acirc;mpada fraca e escreverem um
+ relat&oacute;rio para o -core;</para>
+
+ <para>Onze para dar a id&eacute;ia de criar uma
+ l&acirc;mpada menorzinha, que poderia caber no Tamagotchi
+ deles, se um dia n&oacute;s decidirmos portar o FreeBSD
+ para tal plataforma;</para>
+
+ <para>Setenta e tr&ecirc;s para reclamar da raz&atilde;o
+ sinal versus ru&iacute;do na freebsd-chat e na
+ freebsd-hackers, e se retirarem das listas em
+ protesto;</para>
+
+ <para>Treze para enviarem mensagens com o conte&uacute;do
+ "unsubscribe", "Como eu saio da lista?", ou "Por favor, me
+ tirem da lista", seguidas do rodap&eacute; tradicional do
+ servidor de discuss&atilde;o com as
+ instru&ccedil;&otilde;es para sair da lista;</para>
+
+ <para>Um, para adicionar uma nova l&acirc;mpada que funciona
+ bem, enquanto todos os outros est&atilde;o ocupados demais
+ com a discuss&atilde;o para perceber que algu&eacute;m
+ j&aacute; trocou a l&acirc;mpada por uma funcional;</para>
+
+ <para>Trinta e um para afirmar que a nova l&acirc;mpada
+ brilha em m&eacute;dia 0.364% mais, se comparada com as
+ l&acirc;mpadas TenDRA (contudo, ela ter&aacute; que ser
+ refeita em formato de cubo) e que o FreeBSD deveria mudar
+ para TenDRA ao inv&eacute;s do GCC;</para>
+
+ <para>Um para reclamar que a nova l&acirc;mpada n&atilde;o
+ &eacute; honesta;</para>
+
+ <para>Nove (incluindo aqueles que enviaram os
+ Relat&oacute;rios de Problemas) para perguntar <quote>o
+ que significa MFC?</quote>;</para>
+
+ <para>Cinquenta e sete para reclamar que ficaram no escuro
+ por duas semanas at&eacute; que a l&acirc;mpada fosse
+ trocada.</para>
+
+ <para><emphasis>Um adendo do &a.nik;:</emphasis></para>
+
+ <para><emphasis>Eu estava rindo um bocado
+ aqui.</emphasis></para>
+
+ <para><emphasis>A&iacute; pensei, "Pera&iacute;, n&atilde;o
+ deveria ter ao menos '1 para documentar a nova
+ l&acirc;mpada' em algum lugar?</emphasis></para>
+
+ <para><emphasis>Da&iacute; eu fui iluminado
+ :-)</emphasis></para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="dev-null">
+ <para>Para onde v&atilde;o os dados que s&atilde;o escritos
+ no dispositivo <filename>/dev/null</filename> ?</para>
+ </question>
+
+ <answer>
+ <para>Esses dados s&atilde;o enviados para um dissipador
+ especial da CPU que os converte em calor, para que depois
+ sejam ventilados pelo <emphasis>cooler</emphasis> do
+ computador. &Eacute; por isso que o esfriamento do
+ processador &eacute; cada vez mais importante; quanto mais
+ r&aacute;pido os processadores se tornam, menos
+ import&acirc;ncia os usu&aacute;rios d&atilde;o &agrave;
+ seus dados, por isso cada vez mais lixo &eacute; enviado
+ para o <filename>/dev/null</filename>, gerando um
+ superaquecimento das CPUs. Se o
+ <filename>/dev/null</filename> for apagado (dessa forma
+ desabilitando o dissipador de dados da CPU), o sistema vai
+ rodar a uma temperatura mais amena. Contudo, o computador
+ vai manter tanto lixo in&uacute;til existente, que o
+ sistema vai logo come&ccedil;ar a falhar. Se voc&ecirc;
+ tiver uma conex&atilde;o de rede bem r&aacute;pida,
+ d&aacute; para resfriar o computador lendo todos os dados
+ criados na <filename>/dev/random</filename> e enviando-os
+ para algum lugar da rede. Contudo existe o risco de
+ superaquecer sua rede ou do Provedor de Servi&ccedil;o
+ Internet ficar meio bravo com voc&ecirc;, j&aacute; que
+ todo esse calor normalmente &eacute; recebido pelo
+ equipamento do provedor. Mas n&atilde;o se preocupe, os
+ provedores tem grandes ventiladores para esfriar suas
+ m&aacute;quinas, ent&atilde;o se voc&ecirc; n&atilde;o
+ insistir nisso com muita frequ&ecirc;ncia, vai ficar tudo
+ bem.</para>
+
+ <para><emphasis>Adendo de Paul Robinson:</emphasis></para>
+
+ <para>Existem outros m&eacute;todos. Como todo bom
+ administrador de sistemas sabe, faz parte da
+ pr&aacute;tica comum enviar dados das mais variadas
+ esp&eacute;cies para a tela. Isto mant&ecirc;m todos os
+ <foreignphrase>pixies</foreignphrase>
+ (<foreignphrase>pixie</foreignphrase> significa fadinhas
+ em ingl&ecirc;s) de tela felizes. Os
+ <foreignphrase>pixies</foreignphrase> de tela (normalmente
+ escritos com erro de ortografia, como 'pixels') s&atilde;o
+ divididos de acordo com o tipo de bon&eacute; que eles
+ usam (vermelho, verde ou azul) e costumam aparecer ou
+ sumir (mostrando a cor de seus bon&eacute;s) sempre que
+ eles ganham alguma coisinha para comer. As placas de
+ v&iacute;deo transformam os dados em comida de
+ <foreignphrase>pixies</foreignphrase>, e manda essa comida
+ para eles. Quanto mais cara for a placa de v&iacute;deo,
+ melhor &eacute; a qualidade da comida. Dessa forma, mais
+ felizes ficam os <foreignphrase>pixies</foreignphrase>.
+ Os <foreignphrase>pixies</foreignphrase> tamb&eacute;m
+ precisam ser constantemente estimulados &ndash; &eacute;
+ para isso que existem as prote&ccedil;&otilde;es de
+ telas.</para>
+
+ <para>Ent&atilde;o, para seguir a sugest&atilde;o anterior,
+ &eacute; interessante mandar todos os dados que
+ sa&iacute;rem do <filename>/dev/random</filename> para a
+ tela do console, para alimentar os
+ <foreignphrase>pixies</foreignphrase>. Isso n&atilde;o
+ causa nenhum aquecimento do computador, e em
+ contrapartida, faz os
+ <foreignphrase>pixies</foreignphrase> viverem mais
+ felizes, e ainda pode ser que fa&ccedil;a voc&ecirc; se
+ livrar rapidamente de todos os dados existentes no
+ <filename>/dev/random</filename>, mesmo considerando que a
+ tela fique um pouco confusa.</para>
+
+ <para>Como um ex-administrador de um provedor que teve
+ algumas m&aacute;s experi&ecirc;ncias tentando manter a
+ estabilidade da temperatura da sala dos servidores, eu
+ recomendo sinceramente que as pessoas n&atilde;o tentem
+ enviar todos os seus dados para a rede. Existem umas
+ pequenas fadinhas encantadas que fazem a altern&acirc;ncia
+ dos pacotes de redes, e que fazem o roteamento desses
+ mesmos pacotes. Algumas vezes essas fadinhas ficam meio
+ revoltadas com os usu&aacute;rios malvados que ficam
+ mandando seus dados in&uacute;teis para a rede.</para>
+ </answer>
+ </qandaentry>
+ </qandaset>
+ </chapter>
+
+ <chapter id="advanced">
+ <title>T&oacute;picos Avan&ccedil;ados</title>
+
+ <qandaset>
+ <qandaentry>
+ <question id="learn-advanced">
+ <para>Como eu posso aprender mais sobre as
+ caracter&iacute;sticas internas do FreeBSD?</para>
+ </question>
+
+ <answer>
+ <para> Atualmente n&atilde;o h&aacute; nenhum livro
+ espec&iacute;fico sobre as caracter&iacute;sticas internas
+ do Sistema Operacional FreeBSD. Contudo, a maior parte do
+ conhecimento gen&eacute;rico sobre UNIX pode ser aplicado
+ diretamente a ele. Al&eacute;m disso existem livros
+ espec&iacute;ficos para sistemas BSD cuja leitura &eacute;
+ recomendada.</para>
+
+ <para>Para uma lista, verifique a sess&atilde;o de <ulink
+ URL="../handbook/bibliography-osinternals.html">
+ bibliografia sobre caracter&iacute;sticas internas dos
+ sistemas operacionais</ulink> no
+ &a.ptbr.p.handbook;.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="how-to-contribute">
+ <para>Como posso contribuir com o projeto FreeBSD?</para>
+ </question>
+
+ <answer>
+ <para>Por gentileza, consulte o artigo <ulink
+ url="../../articles/contributing/article.html">Contribuindo
+ com o Projeto FreeBSD</ulink> para obter algumas dicas
+ sobre o assunto. Toda ajuda &eacute; mais que bem
+ vinda!</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="define-snap-release">
+ <para>O que s&atilde;o SNAPs e RELEASEs?</para>
+ </question>
+
+ <answer>
+ <para>Atualmente existem tr&ecirc;s s&eacute;ries
+ ativas/semi-ativas no <ulink
+ URL="http://www.FreeBSD.org/cgi/cvsweb.cgi">Reposit&oacute;rio
+ CVS</ulink> do projeto FreeBSD (a RELENG_2 que &eacute;
+ provavelmente alterada somente duas vezes ao ano, sendo
+ esta a raz&atilde;o de termos somente tr&ecirc;s
+ s&eacute;ries em desenvolvimento):</para>
+
+ <itemizedlist>
+ <listitem>
+ <para><literal>RELENG_2_2</literal> ou
+ <emphasis>2.2-STABLE</emphasis></para>
+ </listitem>
+
+ <listitem>
+ <para><literal>RELENG_3</literal> ou
+ <emphasis>3.X-STABLE</emphasis></para>
+ </listitem>
+
+ <listitem>
+ <para><literal>RELENG_4</literal> ou
+ <emphasis>4-STABLE</emphasis></para>
+ </listitem>
+
+ <listitem>
+ <para><literal>HEAD</literal> ou
+ <emphasis>-CURRENT</emphasis> ou
+ <emphasis>5.0-CURRENT</emphasis></para>
+ </listitem>
+
+ </itemizedlist>
+
+ <para><literal>HEAD</literal> n&atilde;o &eacute; um nome de
+ uma tag de s&eacute;rie, como os outros dois; &eacute;
+ somente uma constante simb&oacute;lica para
+ <quote><emphasis>o atual desenvolvimento corrente, mas
+ n&atilde;o de s&eacute;rie</emphasis></quote> a qual
+ n&oacute;s simplesmente nos referimos como
+ <quote>-CURRENT</quote>.</para>
+
+ <para>Neste momento, a <quote>-CURRENT</quote> se refere ao
+ desenvolvimento atual do FreeBSD 5.0. A s&eacute;rie
+ <literal>4-STABLE</literal>, <symbol>RELENG_4</symbol>
+ originou-se da <quote>-CURRENT</quote> em Mar&ccedil;o de
+ 2000.</para>
+
+ <para>A s&eacute;rie <literal>2.2-STABLE</literal>,
+ <symbol>RELENG_2_2</symbol>, originou-se da
+ <quote>-CURRENT</quote> em Novembro de 1996, e foi
+ praticamente descontinuada.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="custrel">
+ <para>Como fa&ccedil;o a minha pr&oacute;pria
+ distribui&ccedil;&atilde;o personalizada?</para>
+ </question>
+
+ <answer>
+ <para>Por gentileza, consulte o artigo sobre a <ulink
+ url="../../articles/releng/article.html">Engenharia de
+ Releases.</ulink>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="makeworld-clobbers">
+ <para>Por que o <command>make world</command> sobrescreve os
+ bin&aacute;rios j&aacute; instalados?</para>
+ </question>
+
+ <answer>
+ <para>Porque essa &eacute; a id&eacute;ia geral sobre como
+ ele deve funcionar; como seu nome sugere, o <command>make
+ world</command> reconstr&oacute;i todo o sistema
+ bin&aacute;rio a partir do zero, garantindo que o
+ usu&aacute;rio tenha um ambiente limpo e consistente ao
+ final da opera&ccedil;&atilde;o (&eacute; por isso que o
+ processo demora tanto).</para>
+
+ <para>Se a vari&aacute;vel de ambiente
+ <literal>DESTDIR</literal> estiver definida enquanto um
+ <command>make world</command> ou <command>make
+ installworld</command> estiver sendo executado, os
+ bin&aacute;rios rec&eacute;m criados ser&atilde;o
+ distribu&iacute;dos no diret&oacute;rio definido em
+ <literal>${DESTDIR}</literal>, criando no mesmo uma
+ r&eacute;plica do conte&uacute;do do / do sistema.
+ Algumas altera&ccedil;&otilde;es aleat&oacute;rias nas
+ bibliotecas compartilhadas podem ocasionar falhas na hora
+ de reconstruir o sistema com o <command>make
+ world</command>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="bus-speed-defaulted">
+ <para>Por que quando meu sistema inicializa, ele diz
+ <quote>(bus speed defaulted)</quote>?</para>
+ </question>
+
+ <answer>
+ <para>Os controladores SCSI Adaptec 1542 permitem que o
+ usu&aacute;rio defina a velocidade de acesso ao barramento
+ por meio de software. Algumas vers&otilde;es mais antigas
+ deste dispositivo tentavam determinar automaticamente a
+ maior velocidade poss&iacute;vel e tentavam ajustar sua
+ velocidade &agrave; esse limite m&aacute;ximo.
+ Descobriu-se contudo, que esse comportamento as vezes era
+ prejudicial, e fazia com que algumas m&aacute;quinas
+ n&atilde;o funcionassem de forma adequada, por este motivo
+ essa caracter&iacute;stica agora vem desabilitada por
+ default, para ativ&aacute;-la &eacute; necess&aacute;rio
+ definir a op&ccedil;&atilde;o <symbol>TUNE_1542</symbol>
+ no <foreignphrase>kernel</foreignphrase> do FreeBSD. Essa
+ op&ccedil;&atilde;o, em sistemas onde ela se aplica,
+ provavelmente assegura que seus discos sejam acessados de
+ forma mais r&aacute;pida e eficiente; contudo, em sistemas
+ onde o uso desse algoritmo &eacute; invi&aacute;vel, pode
+ resultar em perda de dados.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="ctm">
+ <para>Posso acompanhar a s&eacute;rie -CURRENT mesmo tendo
+ acesso limitado &agrave; Internet?</para>
+ </question>
+
+ <answer>
+ <para>Sim, &eacute; poss&iacute;vel acompanhar a
+ s&eacute;rie de desenvolvimento <literal>sem
+ precisar</literal> baixar sempre todo o codigo fonte do
+ sistema, basta utilizar o <ulink
+ URL="../handbook/synching.html#CTM">recurso de
+ CTM</ulink>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="split-240k">
+ <para>Como o FreeBSD foi dividido em arquivos de
+ 240k?</para>
+ </question>
+
+ <answer>
+ <para>O comando split que acompanha as novas vers&otilde;es
+ dos sistemas BSD t&ecirc;m uma op&ccedil;&atilde;o
+ <option>-b</option> que permite dividir os arquivos em
+ limites arbitr&aacute;rios de bytes.</para>
+
+ <para>Eis um exemplo tirado do
+ <filename>/usr/src/Makefile</filename>.</para>
+
+<programlisting>bin-tarball:
+(cd ${DISTDIR}; \
+tar cf - . \
+gzip --no-name -9 -c | \
+split -b 240640 - \
+${RELEASEDIR}/tarballs/bindist/bin_tgz.)</programlisting>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="submitting-kernel-extensions">
+ <para>Eu escrevi uma extens&atilde;o para o
+ <foreignphrase>kernel</foreignphrase>; a quem eu
+ envio?</para>
+ </question>
+
+ <answer>
+ <para>Por gentileza, consulte o artigo <quote><ulink
+ URL="../../articles/contributing/article.html">Contribuindo
+ com o Projeto FreeBSD</ulink></quote> para obter mais
+ informa&ccedil;&otilde;es sobre como enviar c&oacute;digo
+ fonte ao projeto.</para>
+ <para>E obrigado pelo seu interesse! :)</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="pnp-initialize">
+ <para>Como as placas Plug N Play ISA s&atilde;o detectadas e
+ inicializadas?</para>
+ </question>
+
+ <answer>
+ <para>Por: Frank Durda IV
+ <email>uhclem@nemesis.lonestar.org</email></para>
+
+ <para>Simplificando, existem poucas portas de E/S que todas
+ as placas PnP respondem quando o sistema indaga se algum
+ dispositivo est&aacute; usando-a. Ent&atilde;o, quando a
+ rotina de procura do PnP come&ccedil;a, ele pergunta se
+ h&aacute; alguma placa PnP presente, e todas as placas PnP
+ respondem com seus respectivos n&uacute;meros de modelo
+ para uma leitura de E/S da mesma porta. A rotina de
+ procura recebe ent&atilde;o um sinal wired-OR
+ representando um <quote>sim</quote> &agrave; pergunta em
+ quest&atilde;o. Ao menos um bit positivo constitui essa
+ resposta. Ent&atilde;o o c&oacute;digo de procura
+ &eacute; capaz de fazer com que as placas com o modelo de
+ identifica&ccedil;&atilde;o (atribu&iacute;do pela
+ Microsoft/Intel) inferior a X sejam colocados em modo
+ <quote>off-line</quote>. Ele ent&atilde;o ir&aacute;
+ verificar se alguma placa respondeu a consulta. Se a
+ resposta for <literal>0</literal> o sistema assume que
+ n&atilde;o h&aacute; placas com
+ identifica&ccedil;&atilde;o acima de X. Depois a rotina
+ de busca verifica se h&aacute; alguma placa cujo ID
+ &eacute; inferior a <literal>X</literal>. Se a resposta
+ for positiva, a rotina de busca sabe que ainda existem
+ placas identificadas com um valor menor que X. A&iacute;
+ a busca tenta identificar placas com ID superior &agrave;
+ X (limite / 4) e ordena que entrem em modo off-line.
+ Repete-se o ciclo de pesquisas e
+ identifica&ccedil;&otilde;es nessa forma
+ semi-bin&aacute;ria at&eacute; que um n&uacute;mero
+ necess&aacute;rio de intera&ccedil;&otilde;es seja
+ conclu&iacute;do. Ao final do processo o sistema
+ ter&aacute; identificado todas as placas PnP presentes na
+ m&aacute;quina em quest&atilde;o, com o n&uacute;mero de
+ intera&ccedil;&otilde;es necess&aacute;rias sempre menor
+ que 2&circ;64.</para>
+
+ <para>Os IDs (c&oacute;digos de identifica&ccedil;&atilde;o)
+ s&atilde;o dois campos de 32-bits (portanto, 2&circ;64)
+ acrescidos de 8 bits que &eacute; o checksum
+ (verifica&ccedil;&atilde;o de consist&ecirc;ncia de
+ dados). Os primeiros 32 bits identificam o fabricante da
+ placa. Nenhum fabricante assume isso, mas podemos
+ perceber que diferentes tipos de placas do mesmo
+ fabricante costumam ter diferentes
+ identifica&ccedil;&otilde;es de 32-bit. O motivo correto,
+ n&atilde;o se sabe, mas percebe-se que 32 bits exclusivos
+ para os fabricantes chega a ser um exagero.</para>
+
+ <para>Os &uacute;ltimos 32 bits &eacute; um n&uacute;mero
+ serial que torna a identifica&ccedil;&atilde;o dessa placa
+ &uacute;nica. O fabricante n&atilde;o pode nunca produzir
+ uma placa que tenha os 32 bits finais iguais, a n&atilde;o
+ ser que os 32 bits iniciais sejam distintos. Dessa forma
+ &eacute; poss&iacute;vel existir v&aacute;rias placas do
+ mesmo tipo e fabricante, e ainda assim todos os 64 bits
+ dessas placas serem &uacute;nicos.</para>
+
+ <para>Os grupos de 32 bits nunca podem ser todos zero. Isso
+ permite ao wired-OR identificar bits n&atilde;o nulos
+ durante a procura bin&aacute;ria inicial.</para>
+
+ <para>Uma vez que o sistema tenha identificado todas as IDs
+ presentes, ele vai reativar cada placa, uma por vez (pela
+ mesma porta de E/S) e achar os recursos que cada uma
+ necessita, quais op&ccedil;&otilde;es de
+ interrup&ccedil;&otilde;es est&atilde;o
+ dispon&iacute;veis, etc. Uma busca &eacute; feita em
+ todas as placas para obter estas
+ informa&ccedil;&otilde;es.</para>
+
+ <para>Tal informa&ccedil;&atilde;o &eacute; ent&atilde;o
+ combinada com as informa&ccedil;&otilde;es encontradas nos
+ arquivos ECU, no sistema, ou ent&atilde;o da MLB BIOS. O
+ suporte da BIOS PnP e da ECU costuma ser sint&eacute;tica,
+ portanto os perif&eacute;ricos n&atilde;o s&atilde;o
+ exatamente PnP como &eacute; dito. Contudo, ao examinar as
+ informa&ccedil;&otilde;es da da BIOS e da ECU, as rotinas
+ de busca podem identificar dispositivos ditos PnP e evitar
+ que eles requeiram recursos tamb&eacute;m
+ necess&aacute;rios por outros dispositivos, que por sua
+ vez n&atilde;o podem realocar tais valores
+ automaticamente.</para>
+
+ <para>Os dispositivos PnP s&atilde;o visitados mais uma vez
+ e recebem seus endere&ccedil;os de E/S, DMA, IRQ e
+ endere&ccedil;amentos atribu&iacute;dos na mem&oacute;ria.
+ Os dispositivos permaneceram naquela ordem at&eacute; a
+ pr&oacute;xima inicializa&ccedil;&atilde;o do sistema,
+ apesar de que nada impede que eles sejam movidos quando se
+ desejar.</para>
+
+ <para>Essa explica&ccedil;&atilde;o &eacute; muito
+ simplista, mas provavelmente voc&ecirc; entendeu a
+ id&eacute;ia geral do comportamento PnP.</para>
+
+ <para>A Microsoft fez um exame sobre algumas das portas
+ prim&aacute;rias de status de impressoras para fazer PnP,
+ dentro da l&oacute;gica que nenhuma placa poderia
+ decodificar aqueles endere&ccedil;os para os ciclos
+ opostos de E/S. Eu encontrei uma placa genu&iacute;na de
+ impressora IBM que enviou dados decodificados da porta de
+ status durante o come&ccedil;o do per&iacute;odo da
+ proposta de revis&atilde;o do PnP, mas a Microsoft
+ <quote>ficou brava</quote>. Ent&atilde;o eles resolveram
+ fazer um envio para a porta de status da impressora, de
+ forma a justar o endere&ccedil;o usado (naquele instante +
+ <literal>0x800</literal>) e uma terceira porta de E/S para
+ a leitura que tecnicamente pode ser localizada em qualquer
+ lugar entre <literal>0x200</literal> e
+ <literal>0x3ff</literal>.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="major-numbers">
+ <para>Voc&ecirc;s podem definir um n&uacute;mero principal
+ para um driver de dispositivo que eu escrevi?</para>
+ </question>
+
+ <answer>
+
+ <para>Isso depende se voc&ecirc; pretende tornar o driver
+ dispon&iacute;vel para o p&uacute;blico. Se sim,
+ ent&atilde;o por favor nos mande uma c&oacute;pia do
+ c&oacute;digo-fonte do driver, mais as devidas
+ modifica&ccedil;&otilde;es para o
+ <filename>files.i386</filename>, um exemplo do arquivo de
+ configura&ccedil;&atilde;o, e os devidos c&oacute;digos do
+ &man.MAKEDEV.8; para criar qualquer arquivo especial que
+ seu dispositivo precise. Se voc&ecirc; n&atilde;o pode,
+ ou est&aacute; impedido por causa de
+ restri&ccedil;&otilde;es de licen&ccedil;a, ent&atilde;o o
+ character major number 32 e o block major number 8
+ est&atilde;o reservados especificadamente para este
+ prop&oacute;sito; por favor, use-os. De qualquer maneira,
+ n&oacute;s gostar&iacute;amos de obter maiores
+ informa&ccedil;&otilde;es sobre seu driver na
+ &a.hackers;.</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="alternate-directory-layout">
+ <para>E sobre pol&iacute;ticas alternativas de layout de
+ diret&oacute;rios?</para>
+ </question>
+
+ <answer>
+ <para>Em resposta a quest&atilde;o da pol&iacute;tica de
+ formatos alternativos para diret&oacute;rios, o esquema
+ que est&aacute; atualmente em uso est&aacute;
+ imut&aacute;vel desde quando eu o escrevi em 1983. Eu
+ escrevi aquela pol&iacute;tica para o FFS (fast
+ filesystem) original, e nunca o revisei. Ele funciona bem
+ em evitar que os os grupos de cilindros sejam
+ completamente preenchidos. Como muitos de voc&ecirc;s
+ notaram, ele funciona mediocremente para procura. A
+ maioria dos sistemas de arquivos s&atilde;o criados
+ &agrave; partir de arquivos que foram criados por uma
+ primeira procura em profundidade (depth first search,
+ tamb&eacute;m conhecido como ftw). Estes
+ diret&oacute;rios acabam sendo distribu&iacute;dos pelo
+ grupo de cilindros, criando assim um cen&aacute;rio
+ horr&iacute;vel em rela&ccedil;&atilde;o a futuras
+ primeiras buscas de profundidade. Se pud&eacute;ssemos
+ saber o n&uacute;mero total de diret&oacute;rios a serem
+ criados, a solu&ccedil;&atilde;o seria criar (total /
+ fs_ncg) por grupo de cilindros antes de mov&ecirc;-los.
+ Evidentemente, seria necess&aacute;rio criar um conjunto
+ de m&eacute;todos heur&iacute;sticos para adivinhar esse
+ n&uacute;mero. Mesmo usando um pequeno n&uacute;mero
+ fixo, digamos 10, ele produziria um aumento na ordem de
+ magnitude. Para diferenciar restaura&ccedil;&otilde;es de
+ opera&ccedil;&otilde;es normais (quando o algoritmo atual
+ &eacute; provavelmente mais sens&iacute;vel), voc&ecirc;
+ poderia usar o agrupamento acima de 10 se eles fossem
+ finalizados dentro de uma janela de dez segundos. De
+ qualquer maneira, minha conclus&atilde;o &eacute; que isso
+ &eacute; uma &aacute;rea pronta para
+ experimenta&ccedil;&otilde;es. </para>
+
+ <para>Kirk McKusick, Setembro de 1998</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="kernel-panic-troubleshooting">
+ <para>O que fazer com os dados que eu vejo quando tenho um
+ kernel panic?</para>
+ </question>
+
+ <answer>
+ <para><emphasis>[Esta se&ccedil;&atilde;o foi
+ extra&iacute;da de um e-mail escrito por &a.wpaul; na
+ <link linkend="mailing">freebsd-current</link> por
+ &a.des;, que arrumou alguns problemas de
+ impress&atilde;o e adicionou os coment&aacute;rios entre
+ chaves]</emphasis></para>
+
+ <programlisting>From: Bill Paul &lt;wpaul@skynet.ctr.columbia.edu&gt;
+Subject: Re: the fs fun never stops
+To: Ben Rosengart
+Date: Sun, 20 Sep 1998 15:22:50 -0400 (EDT)
+Cc: current@FreeBSD.org</programlisting>
+
+ <para><emphasis>Ben Rosengart posted the following panic
+ message]</emphasis></para>
+
+ <programlisting>&gt; Fatal trap 12: page fault while in kernel mode
+&gt; fault virtual address = 0x40
+&gt; fault code = supervisor read, page not present
+&gt; instruction pointer = 0x8:0xf014a7e5
+ ^^^^^^^^^^
+&gt; stack pointer = 0x10:0xf4ed6f24
+&gt; frame pointer = 0x10:0xf4ed6f28
+&gt; code segment = base 0x0, limit 0xfffff, type 0x1b
+&gt; = DPL 0, pres 1, def32 1, gran 1
+&gt; processor eflags = interrupt enabled, resume, IOPL = 0
+&gt; current process = 80 (mount)
+&gt; interrupt mask =
+&gt; trap number = 12
+&gt; panic: page fault</programlisting>
+
+ <para>[Quando] voc&ecirc; v&ecirc; uma mensagem como essa,
+ n&atilde;o &eacute; suficiente somente reproduz&iacute;-la
+ e envi&aacute;-la em um e-mail. O valor do ponteiro de
+ instru&ccedil;&atilde;o (instruction pointer) que eu
+ destaquei acima &eacute; muito importante; infelizmente,
+ ele tamb&eacute;m depende de configura&ccedil;&atilde;o.
+ Em outras palavras, os valores variam de acordo com a
+ exata imagem do <foreignphrase>kernel</foreignphrase> que
+ voc&ecirc; estiver usando. Se voc&ecirc; estiver usando
+ uma imagem GENERIC do
+ <foreignphrase>kernel</foreignphrase> de um dos
+ <foreignphrase>snapshots</foreignphrase>, ent&atilde;o
+ &eacute; poss&iacute;vel que algu&eacute;m acompanhe a
+ fun&ccedil;&atilde;o ofensiva, mas se voc&ecirc;
+ est&aacute; rodando um
+ <foreignphrase>kernel</foreignphrase> customizado
+ ent&atilde;o s&oacute; <emphasis>voc&ecirc;</emphasis>
+ pode nos dizer aonde a falha ocorreu.</para>
+
+ <para>O que voc&ecirc; deve fazer &eacute; isso:</para>
+
+ <procedure>
+ <step>
+ <para>Anote o valor do ponteiro de
+ instru&ccedil;&atilde;o. Observe que o 0x8: parte do
+ come&ccedil;o n&atilde;o &eacute; significante. Nesse
+ caso &eacute; o <literal>0xf0xxxxxx</literal> que
+ n&oacute;s queremos.</para>
+ </step>
+
+ <step>
+ <para>Quando o sistema reinicializar, fa&ccedil;a o seguinte:
+
+ <screen>&prompt.user; <userinput>nm -n /kernel.that.caused.the.panic | grep f0xxxxxx</userinput></screen>
+
+ Onde <literal>f0xxxxxx</literal> &eacute; o valor do
+ ponteiro de instru&ccedil;&atilde;o. As chances
+ s&atilde;o que voc&ecirc; n&atilde;o ter&aacute; um
+ resultado exato visto que os s&iacute;mbolos na tabela
+ de s&iacute;mbolos do
+ <foreignphrase>kernel</foreignphrase> s&atilde;o para
+ os pontos de entrada (entry points) de
+ fun&ccedil;&otilde;es e o endere&ccedil;o do ponteiro
+ de instru&ccedil;&atilde;o estar&atilde;o em algum
+ lugar dentro de uma fun&ccedil;&atilde;o, n&atilde;o
+ no come&ccedil;o. Se voc&ecirc; n&atilde;o receber um
+ resultado exato, omita o &uacute;ltimo d&iacute;gito
+ do valor do ponteiro de instru&ccedil;&atilde;o e
+ tente novamente, ex:
+
+ <screen>&prompt.user; <userinput>nm -n /kernel.that.caused.the.panic | grep f0xxxxx</userinput></screen>
+
+ Se isso n&atilde;o produz nenhum resultado, corte
+ outro d&iacute;gito. Repita at&eacute; que voc&ecirc;
+ tenha algum tipo de retorno. O resultado ser&aacute;
+ uma poss&iacute;vel lista de fun&ccedil;&otilde;es que
+ causaram o panic. Isso &eacute; menos do que um
+ mecanismo exato para rastreamento de um ponto de
+ falha, mas &eacute; melhor que nada.</para>
+ </step>
+ </procedure>
+
+ <para>Eu vejo pessoas constantemente mostrando mensagens de
+ panic como essa, mas eu raramente vejo algu&eacute;m
+ comparar o ponteiro de instru&ccedil;&atilde;o com uma
+ fun&ccedil;&atilde;o na tabela de s&iacute;mbolos do
+ <foreignphrase>kernel</foreignphrase>.</para>
+
+ <para>A melhor maneira de rastrear a causa de um panic
+ &eacute; guardar as mensagens de falha (crash dump), e
+ ent&atilde;o usar o &man.gdb.1; para gerar um stack trace
+ da falha.</para>
+
+ <para>Em qualquer caso, o m&eacute;todo que eu normalmente
+ uso &eacute; esse:</para>
+
+ <procedure>
+ <step>
+ <para>Definir um arquivo de configura&ccedil;&atilde;o
+ do <foreignphrase>kernel</foreignphrase>,
+ opcionalmente adiconando a <literal>options
+ DDB</literal> se voc&ecirc; acha que precisa do
+ debugger do <foreignphrase>kernel</foreignphrase> para
+ algo. (Eu uso isso principalmente para ajustar
+ breakpoints se eu suspeito que h&aacute; uma
+ condi&ccedil;&atilde;o de la&ccedil;o infinito
+ (infinite loop ou algo do tipo).</para>
+ </step>
+
+ <step>
+ <para>Use <command>config -g
+ <replaceable>KERNELCONFIG</replaceable></command>
+ configurar o diret&oacute;rio da
+ constru&ccedil;&atilde;o.</para>
+ </step>
+
+ <step>
+ <para><command>cd /sys/compile/
+ <replaceable>KERNELCONFIG</replaceable>; make
+ </command></para>
+ </step>
+
+ <step>
+ <para>Espere o <foreignphrase>kernel</foreignphrase>
+ acabar de compilar.</para>
+ </step>
+
+ <step>
+ <para><command>make install</command></para>
+ </step>
+
+ <step>
+ <para>reboot</para>
+ </step>
+ </procedure>
+
+ <para>O processo do &man.make.1; ter&aacute;
+ constru&iacute;do dois
+ <foreignphrase>kernels</foreignphrase>.
+ <filename>kernel</filename> e
+ <filename>kernel.debug</filename>. O
+ <filename>kernel</filename> foi instalado como
+ <filename>/kernel</filename>, enquanto o
+ <filename>kernel.debug</filename> pode ser usado como
+ fonte s&iacute;mbolos de debug para o &man.gdb.1;.</para>
+
+ <para>Para ter certeza que voc&ecirc; ir&aacute; capturar o
+ crash dump, voc&ecirc; precisa editar o
+ <filename>/etc/rc.conf</filename> e ajustar o
+ <literal>dumpdev</literal> para apontar para sua
+ parti&ccedil;&atilde;o swap. Isso far&aacute; com que os
+ scripts &man.rc.8; usem o comando &man.dumpon.8; para
+ habilitar os crash dumps. Voc&ecirc; pode tamb&eacute;m
+ executar o &man.dumpon.8; manualmente. Depois de um panic,
+ o crash dump pode ser recuperado usando o &man.savecore.8;;
+ se variavel <literal>dumpdev</literal> estiver definida no
+ <filename>/etc/rc.conf</filename>, os scripts &man.rc.8;
+ ir&atilde;o executar o &man.savecore.8; automaticamente e
+ colocar o crash dump em
+ <filename>/var/crash</filename>.</para>
+
+ <note>
+ <para>Os crash dumps do FreeBSD s&atilde;o geralmente do
+ mesmo tamanho da mem&oacute;ria RAM f&iacute;sica da sua
+ m&aacute;quina. Isto &eacute;, se voc&ecirc; tem 64MB
+ de RAM, voc&ecirc; ter&aacute; um crash dump de 64MB.
+ Ent&atilde;o voc&ecirc; deve ter certeza que h&aacute;
+ espa&ccedil;o suficiente em
+ <filename>/var/crash</filename> para alocar o dump.
+ Alternativamente, voc&ecirc; executa o &man.savecore.8;
+ manualmente e pode faz&ecirc;-lo recuperar o crash dump
+ para onde voc&ecirc; tenha mais espa&ccedil;o. &Eacute;
+ poss&iacute;vel limitar o tamanho do crash dump
+ utilizando a op&ccedil;&atilde;o <literal>options
+ MAXMEM=(foo)</literal> para ajustar a quantia de
+ mem&oacute;ria que o
+ <foreignphrase>kernel</foreignphrase> ir&aacute; usar
+ para algo um pouco mais sens&iacute;vel. Por exemplo,
+ se voc&ecirc; tem 128MB de RAM, voc&ecirc; pode limitar
+ o uso de mem&oacute;ria do
+ <foreignphrase>kernel</foreignphrase> para 16MB para que
+ o tamanho do seu crash dump tenha somente 16MB ao
+ inv&eacute;s de 128MB.</para>
+ </note>
+
+ <para>Uma vez que voc&ecirc; recuperou o crash dump,
+ voc&ecirc; pode ter um stack trace com o &man.gdb.1; como
+ segue:</para>
+
+ <screen>&prompt.user; <userinput>gdb -k /sys/compile/KERNELCONFIG/kernel.debug /var/crash/vmcore.0</userinput>
+<prompt>(gdb)</prompt> <userinput>where</userinput></screen>
+
+ <para>Note que h&aacute; v&aacute;rias telas com
+ informa&ccedil;&otilde;es valiosas; seria ideal o uso do
+ &man.script.1; para capturar todas elas. Usando a imagem
+ (unstripped) do <foreignphrase>kernel</foreignphrase> com
+ todos os s&iacute;mbolos de debug deve mostrar a linha
+ exata do c&oacute;digo-fonte do
+ <foreignphrase>kernel</foreignphrase> onde o panic
+ ocorreu. Geralmente &eacute; mais interessante ler o
+ stack trace de baixo para cima a fim de rastrear a exata
+ seq&uuml;&ecirc;ncia de eventos que levaram ao crash.
+ Voc&ecirc; tamb&eacute;m pode usar o &man.gdb.1; para
+ exibir os conte&uacute;dos de v&aacute;rias
+ vari&aacute;veis ou estruturas a fim de examinar o estado
+ do sistema no instante do crash.</para>
+
+ <para>Agora, se voc&ecirc; &eacute; realmente louco e tem um
+ segundo computador, voc&ecirc; tamb&eacute;m pode
+ configurar o &man.gdb.1; para executar um debug remoto,
+ tanto que voc&ecirc; pode usar o &man.gdb.1; em um sistema
+ para debugar o <foreignphrase>kernel</foreignphrase> em
+ outro sistema, incluindo o ajuste de breakpoints,
+ rastreamento passo-a-passo pelo c&oacute;digo do
+ <foreignphrase>kernel</foreignphrase>, do mesmo modo que
+ voc&ecirc; pode fazer com um programa do modo de
+ usu&aacute;rio normal. Eu ainda n&atilde;o brinquei com
+ isso pois n&atilde;o tive a chance de configurar duas lado
+ a lado com o &uacute;nico prop&oacute;sito de
+ debugging.</para>
+
+
+ <para><emphasis>[Adendo de Bill: &quot;Eu esqueci de
+ mencionar uma coisa: se voc&ecirc; tem DDB habilitado e
+ o <foreignphrase>kernel</foreignphrase> em modo de
+ debug, voc&ecirc; pode for&ccedil;ar um panic (e um
+ crash dump) apenas digitando &acute;panic&acute; no
+ prompt do ddb. Ele pode parar no debugger novamente
+ durante a fase de panic. Se isso acontecer, digite
+ &acute;continue&acute; e ele finalizar&aacute; o crash
+ dump.&quot;-ed]</emphasis></para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="dlsym-failure">
+ <para>Por que a dlsym() n&atilde;o funciona mais nos
+ execut&aacute;veis ELF?</para>
+ </question>
+
+ <answer>
+ <para>A toolchain (cadeia de ferramentas) ELF n&atilde;o
+ faz, por padr&atilde;o, os s&iacute;mbolos definidos em um
+ execut&aacute;vel vis&iacute;vel para o linkador
+ din&acirc;mico (dynamic linker). Conseq&uuml;entemente, a
+ procura em nomes obtidos de chamadas com a
+ <function>dlsym()</function> para <function>dlopen(NULL,
+ flags)</function> ir&aacute; falhar ao buscar tais
+ s&iacute;mbolos.</para>
+
+ <para>Se a inten&ccedil;&atilde;o &eacute; usar a
+ <function>dlsym()</function> para buscar s&iacute;mbolos
+ que possam existir nos execut&aacute;veis principais do
+ processo, &eacute; necess&aacute;rio linkar o programa com
+ a op&ccedil;&atilde;o <option>-export-dynamic</option> com
+ o linker ELF (&man.ld.1;).</para>
+ </answer>
+ </qandaentry>
+
+ <qandaentry>
+ <question id="change-kernel-address-space">
+ <para>Como eu posso aumentar ou reduzir o espa&ccedil;o de
+ endere&ccedil;amento dispon&iacute;vel para o
+ <foreignphrase>kernel</foreignphrase>?</para>
+ </question>
+
+ <answer>
+ <para>Por padr&atilde;o, o espa&ccedil;o de
+ endere&ccedil;amento (address space) do
+ <foreignphrase>kernel</foreignphrase> &eacute; 256 MB no
+ FreeBSD 3.x e 1 GB no FreeBSD 4.x. Em um servidor de rede
+ com tr&aacute;fego intensivo (por exemplo, um servidor FTP
+ ou HTTP de muito tr&aacute;fego) pode acontecer de, por
+ exemplo, 256MB de mem&oacute;ria n&atilde;o ser o
+ suficiente.</para>
+
+ <para>Mas ent&atilde;o, como aumentar esse espa&ccedil;o?
+ Existem duas formas. Primeiro, &eacute; necess&aacute;rio
+ dizer ao <foreignphrase>kernel</foreignphrase> que ele
+ deve reservar uma grande quantidade de espa&ccedil;o em
+ mem&oacute;ria para ele mesmo. Segundo, considerando que
+ o <foreignphrase>kernel</foreignphrase> &eacute; carregado
+ no topo do espa&ccedil;o de endere&ccedil;amento, &eacute;
+ preciso diminuir o endere&ccedil;o de forma que n&atilde;o
+ conflite com as p&aacute;ginas anteriores de
+ mem&oacute;ria, e que no lugar disso, ele seja carregado
+ em seu novo local.</para>
+
+ <para>O primeiro objetivo &eacute; facilmente atingido
+ aumentando as defini&ccedil;&otilde;es de valores do
+ <literal>NKPDE</literal> no arquivo
+ <filename>src/sys/i386/include/pmap.h</filename>. Aqui
+ est&aacute; o arquivo, como deve ser, para 1GB de
+ endere&ccedil;o de mem&oacute;ria:</para>
+
+ <programlisting>#ifndef NKPDE
+#ifdef SMP
+#define NKPDE 254 /* addressable number of page tables/pde's */
+#else
+#define NKPDE 255 /* addressable number of page tables/pde's */
+#endif /* SMP */
+#endif</programlisting>
+
+ <para>Para achar o valor correto de
+ <literal>NKPDE</literal>, divida o n&uacute;mero desejado
+ (em megabytes) por quatro, ent&atilde;o subtraia um para
+ m&aacute;quinas mono processadas e dois para
+ m&aacute;quinas com SMP.</para>
+
+ <para>Para atingir o segundo objetivo &eacute;
+ necess&aacute;rio descobrir o endere&ccedil;o correto de
+ carregamento. Para isso basta subtrair o tamanho do
+ espa&ccedil;o de endere&ccedil;amento desejado (em bytes)
+ de 0x100100000; o resultado &eacute; 0xc0100000 para um
+ endere&ccedil;o de espa&ccedil;o de 1 GB. Ajuste
+ <symbol>LOAD_ADDRESS</symbol> em
+ <filename>src/sys/i386/conf/Makefile.i386</filename> para
+ esse valor, agora ajuste o contador de
+ posi&ccedil;&otilde;o listada no inicio do
+ <filename>src/sys/i386/conf/kernel.script</filename> para
+ o mesmo valor, como a seguir:</para>
+
+ <programlisting>OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
+OUTPUT_ARCH(i386)
+ENTRY(btext)
+SEARCH_DIR(/usr/lib); SEARCH_DIR(/usr/obj/elf/home/src/tmp/usr/i386-unknown-freebsdelf/lib);
+SECTIONS
+{
+ /* Read-only sections, merged into text segment: */
+ . = 0xc0100000 + SIZEOF_HEADERS;
+ .interp : { *(.interp) }</programlisting>
+
+ <para>Agora recompile e reinstale seu
+ <foreignphrase>kernel</foreignphrase>. Provavelmente
+ aparecer&atilde;o problemas com o &man.ps.1; e com o
+ &man.top.1;, executar um <command>make world</command> deve
+ solucionar tais problemas (ou ent&atilde;o, a
+ recompila&ccedil;&atilde;o manual da
+ <filename>libkvm</filename>, do &man.ps.1; e do &man.top.1;,
+ depois de incluir o <filename>pmap.h</filename> alterado
+ em <filename>/usr/include/vm/</filename>.</para>
+
+ <para>OBS: o tamanho do espa&ccedil;o em mem&oacute;ria do
+ <foreignphrase>kernel</foreignphrase> deve ser um
+ m&uacute;ltiplo de quatro megabytes.</para>
+
+ <para><emphasis>[Adendo por &a.dg;: Acho que o
+ endere&ccedil;o de espa&ccedil;o do
+ <foreignphrase>kernel</foreignphrase> precisa ser uma
+ pot&ecirc;ncia de dois, mas eu n&atilde;o estou certo
+ disso. O c&oacute;digo do processo de
+ inicializa&ccedil;&atilde;o antigo costumava mexer com
+ os bits de endere&ccedil;o de alta ordem, o que
+ implicava em uma granularidade de
+ 256MB]</emphasis></para>
+ </answer>
+ </qandaentry>
+ </qandaset>
+ </chapter>
+
+ <chapter id="acknowledgments">
+ <title>Reconhecimentos</title>
+
+ <blockquote>
+ <attribution>Grupo Central (<literal>FreeBSD Core
+ Team</literal>)</attribution>
+
+ <para>Se voc&ecirc; encontrar algum problema no
+ <literal>FAQ</literal> ou se desejar submeter uma nova
+ entrada, por favor envie um e-mail para o &a.faq;. N&oacute;s
+ apreciamos o seu feedback e n&atilde;o podemos tornar este
+ <literal>FAQ</literal> melhor sem a sua ajuda!</para>
+ </blockquote>
+
+ <variablelist>
+ <varlistentry>
+ <term>&a.jkh;</term>
+
+ <listitem>
+ <para>Atualiza&ccedil;&otilde;es e ajustes ocasionais na
+ ordena&ccedil;&atilde;o das informa&ccedil;&otilde;es do
+ <literal>FAQ</literal>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>&a.dwhite;</term>
+
+ <listitem>
+ <para>Pelos servi&ccedil;os prestados acima e al&eacute;m da
+ chamada do dever em freebsd-questions</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>&a.joerg;</term>
+
+ <listitem>
+ <para>Pelos servi&ccedil;os prestados acima e al&eacute;m da
+ chamada do dever na Usenet</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>&a.wollman;</term>
+
+ <listitem>
+ <para>Rede (<foreignphrase>networking</foreignphrase>) e
+ formata&ccedil;&atilde;o</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>Jim Lowe</term>
+
+ <listitem>
+ <para>Informa&ccedil;&otilde;es sobre
+ <quote>Multicast</quote></para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>&a.pds;</term>
+
+ <listitem>
+ <para>Escravo de digita&ccedil;&atilde;o mec&acirc;nica do
+ <literal>FAQ</literal> FreeBSD</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>A Equipe FreeBSD</term>
+
+ <listitem>
+ <para>Reclama&ccedil;&otilde;es, rabujices e envio de
+ informa&ccedil;&otilde;es</para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ <para>E a todos os outros que n&oacute;s nos esquecemos, nossas
+ desculpas e obrigado do cora&ccedil;&atilde;o!</para>
+ </chapter>
+</book>
+
+<!--
+ Local Variables:
+ mode: sgml
+ sgml-indent-data: t
+ sgml-omittag: nil
+ sgml-always-quote-attributes: t
+ End:
+-->
+