7cf3f8a189
* content synchronized with en_US document (rev 52188) * book.xml converted to .po * .po file was translated to pt_BR * .po and .xml file has been set to UTF-8 encoding * information about volunteers who translated and/or revised the document was added to the header of the .po file. Reviewed by: dbaio Approved by: gabor (mentor, implicit) Obtained from: The FreeBSD Brazilian Portuguese Documentation Project Differential Revision: https://reviews.freebsd.org/D16967
4368 lines
292 KiB
XML
4368 lines
292 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<!DOCTYPE book PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN" "http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd" [
|
||
<!ENTITY bibliography SYSTEM "../../../share/xml/bibliography.xml">
|
||
<!ENTITY rel.numbranch "3">
|
||
<!-- number of branches that follow in this list --><!ENTITY rel.head "<emphasis xmlns='http://docbook.org/ns/docbook'>12-CURRENT</emphasis>">
|
||
<!ENTITY rel.head.relx "12.<replaceable xmlns='http://docbook.org/ns/docbook'>X</replaceable>">
|
||
<!ENTITY rel.head.releng "<symbol xmlns='http://docbook.org/ns/docbook'>head/</symbol>">
|
||
<!ENTITY rel.relx "11.<replaceable xmlns='http://docbook.org/ns/docbook'>X</replaceable>">
|
||
<!ENTITY rel.stable "<emphasis xmlns='http://docbook.org/ns/docbook'>11-STABLE</emphasis>">
|
||
<!ENTITY rel.releng "<symbol xmlns='http://docbook.org/ns/docbook'>stable/11/</symbol>">
|
||
<!ENTITY rel.relengdate "April 2016">
|
||
<!ENTITY rel2.relx "10.<replaceable xmlns='http://docbook.org/ns/docbook'>X</replaceable>">
|
||
<!ENTITY rel2.stable "<emphasis xmlns='http://docbook.org/ns/docbook'>10-STABLE</emphasis>">
|
||
<!ENTITY rel2.releng "<symbol xmlns='http://docbook.org/ns/docbook'>stable/10/</symbol>">
|
||
<!ENTITY rel2.relengdate "August 2015">
|
||
]>
|
||
<book xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:its="http://www.w3.org/2005/11/its" version="5.0" xml:lang="pt_BR">
|
||
<info>
|
||
<title>Perguntas freqüentes para o FreeBSD 10.<replaceable>X</replaceable> e 11.<replaceable>X</replaceable></title>
|
||
|
||
<author><orgname>Projeto de Documentação do FreeBSD</orgname></author>
|
||
|
||
<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> <year>2003</year> <year>2004</year> <year>2005</year> <year>2006</year> <year>2007</year> <year>2008</year> <year>2009</year> <year>2010</year> <year>2011</year> <year>2012</year> <year>2013</year> <year>2014</year> <year>2015</year> <year>2016</year> <year>2017</year> <year>2018</year> <holder>Projeto de Documentação do FreeBSD</holder></copyright>
|
||
|
||
|
||
<legalnotice xml:id="legalnotice">
|
||
<title>Copyright</title>
|
||
|
||
<para>Redistribution and use in source (XML DocBook) and 'compiled' forms (XML, HTML, PDF, PostScript, RTF and so forth) with or without modification, are permitted provided that the following conditions are met:</para>
|
||
|
||
<orderedlist>
|
||
<listitem>
|
||
<para>Redistributions of source code (XML DocBook) must retain the above copyright notice, this list of conditions and the following disclaimer as the first lines of this file unmodified.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Redistributions in compiled form (transformed to other DTDs, converted to PDF, PostScript, RTF and other formats) must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.</para>
|
||
</listitem>
|
||
</orderedlist>
|
||
|
||
<important>
|
||
<para>THIS DOCUMENTATION IS PROVIDED BY THE FREEBSD DOCUMENTATION PROJECT "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FREEBSD DOCUMENTATION PROJECT BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS DOCUMENTATION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</para>
|
||
</important>
|
||
</legalnotice>
|
||
|
||
|
||
<legalnotice xml:id="trademarks" role="trademarks">
|
||
<para>FreeBSD is a registered trademark of the FreeBSD Foundation.</para>
|
||
<para>Adobe, Acrobat, Acrobat Reader, Flash and PostScript are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries.</para>
|
||
<para>IBM, AIX, OS/2, PowerPC, PS/2, S/390, and ThinkPad are trademarks of International Business Machines Corporation in the United States, other countries, or both.</para>
|
||
<para>IEEE, POSIX, and 802 are registered trademarks of Institute of Electrical and Electronics Engineers, Inc. in the United States.</para>
|
||
<para>Intel, Celeron, Centrino, Core, EtherExpress, i386, i486, Itanium, Pentium, and Xeon are trademarks or registered trademarks of Intel Corporation or its subsidiaries in the United States and other countries.</para>
|
||
<para>Linux is a registered trademark of Linus Torvalds.</para>
|
||
<para>Microsoft, IntelliMouse, MS-DOS, Outlook, Windows, Windows Media and Windows NT are either registered trademarks or trademarks of Microsoft Corporation in the United States and/or other countries.</para>
|
||
<para>NetBSD is a registered trademark of the NetBSD Foundation.</para>
|
||
<para>Motif, OSF/1, and UNIX are registered trademarks and IT DialTone and The Open Group are trademarks of The Open Group in the United States and other countries.</para>
|
||
<para>Silicon Graphics, SGI, and OpenGL are registered trademarks of Silicon Graphics, Inc., in the United States and/or other countries worldwide.</para>
|
||
<para>Sun, Sun Microsystems, Java, Java Virtual Machine, JDK, JRE, JSP, JVM, Netra, OpenJDK, Solaris, StarOffice, SunOS and VirtualBox are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries.</para>
|
||
<para>Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this document, and the FreeBSD Project was aware of the trademark claim, the designations have been followed by the <quote>™</quote> or the <quote>®</quote> symbol.</para>
|
||
</legalnotice>
|
||
|
||
<releaseinfo xml:lang="en">$FreeBSD$</releaseinfo>
|
||
|
||
<abstract>
|
||
<para>Estas são as Perguntas Mais Frequentes <acronym>(FAQ)</acronym> para as versões do FreeBSD 10.<replaceable>X</replaceable> e 11.<replaceable>X</replaceable>. Todos os esforços foram feitos para tornar este <acronym>FAQ</acronym> o mais informativo possível; Se você tiver alguma sugestão de como ele pode ser melhorado, envie-a para a <link xlink:href="http://lists.FreeBSD.org/mailman/listinfo/freebsd-doc">lista de discussão do projeto de documentação do FreeBSD</link>.</para>
|
||
|
||
<para>A versão mais recente deste documento está sempre disponível no <link xlink:href="https://www.FreeBSD.org/doc/en_US.ISO8859-1/books/faq/index.html">website do FreeBSD</link>. Ela também pode ser baixada como um grande arquivo <link xlink:href="book.html">HTML</link> por HTTP ou em uma grande variedade de outros formatos a partir do <link xlink:href="https://download.freebsd.org/ftp/doc/">servidor de FTP do projeto FreeBSD</link>.</para>
|
||
</abstract>
|
||
</info>
|
||
|
||
<chapter xml:id="introduction">
|
||
<title>Introdução</title>
|
||
|
||
<qandaset>
|
||
<qandaentry>
|
||
<question xml:id="what-is-FreeBSD">
|
||
<para>O que é o FreeBSD?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O FreeBSD é um sistema operacional moderno para desktops, laptops, servidores e sistemas embarcados, com suporte para um grande número de <link xlink:href="https://www.FreeBSD.org/platforms/">plataformas</link>.</para>
|
||
|
||
<para>Ele é baseado no sistema <quote>4.4BSD-Lite</quote> da U.C. de Berkeley, com algumas melhorias oriundas do <quote>4.4BSD-Lite2</quote>. Ele também se baseia indiretamente no port para <trademark>i386</trademark> feito por William Jolitz do sistema <quote>Net/2</quote> da U.C. Berkeley, conhecido como <quote>386BSD</quote>, embora muito pouco do código original do 386BSD ainda esteja presente.</para>
|
||
|
||
<para>O FreeBSD é usado por empresas, provedores de serviços de Internet, pesquisadores, profissionais da computação, estudantes e usuários domésticos em todo o mundo em seu trabalho, educação e recreação.</para>
|
||
|
||
<para>Para informações mais detalhadas sobre o FreeBSD, consulte o <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/index.html">Manual do FreeBSD</link>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="FreeBSD-goals">
|
||
<para>Qual é o objetivo do projeto FreeBSD?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O objetivo do Projeto FreeBSD é fornecer um sistema operacional de propósito geral estável e rápido que possa ser usado para qualquer propósito sem restrições.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="bsd-license-restrictions">
|
||
<para>A licença do FreeBSD tem alguma restrição?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Sim. Essas restrições não controlam como o código é usado, mas como tratar o próprio projeto FreeBSD. A licença em si está disponível em <link xlink:href="https://www.FreeBSD.org/copyright/freebsd-license.html">licença</link> e pode ser resumida da seguinte forma:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>Não reivindique que você escreveu o sistema.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Não nos processe se ele quebrar.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Não remova ou modifique a licença.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
|
||
<para>Muitos de nós têm um investimento significativo no projeto e certamente não nos importaríamos com uma pequena compensação financeira de vez em quando, mas nós definitivamente não insistimos nisso. Acreditamos que a nossa primeira e principal <quote>missão</quote> é fornecer código a todos os participantes, e para qualquer finalidade, para que o código obtenha o maior uso possível e forneça o maior benefício possível. Este, acreditamos, é um dos objetivos mais fundamentais do Software Livre e um dos que apoiamos entusiasticamente.</para>
|
||
|
||
<para>O código em nosso repositório de código-fonte que se enquadra na <link xlink:href="https://www.FreeBSD.org/copyright/COPYING">Licença Pública Geral GNU (GPL)</link> ou na <link xlink:href="https://www.FreeBSD.org/copyright/COPYING.LIB">Licença Pública Geral da Biblioteca GNU (LGPL)</link> vem com algumas restrições adicionais, ainda que sejam no sentido de forçar o acesso, em vez do habitual oposto. Devido às complexidades adicionais que podem surgir no uso comercial de um software GPL, nós nos esforçamos para substituir tais softwares por outros sob a <link xlink:href="https://www.FreeBSD.org/copyright/freebsd-license.html">Licença FreeBSD</link> que é menos restritiva, sempre que possível.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="replace-current-OS">
|
||
<para>O FreeBSD pode substituir meu sistema operacional atual?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Para a maioria das pessoas, sim. Mas esta questão não é assim tão simples.</para>
|
||
|
||
<para>A maioria das pessoas não usa um sistema operacional. Elas usam aplicativos. São os aplicativos que realmente usam o sistema operacional. O FreeBSD é projetado para fornecer um ambiente robusto e completo para aplicativos. Ele suporta uma grande variedade de navegadores da web, pacotes de escritório, leitores de e-mail, programas gráficos, ambientes de programação, servidores de rede e muito mais. A maioria destes aplicativos pode ser gerenciada através da <link xlink:href="https://www.FreeBSD.org/ports/">Coleção de Ports</link>.</para>
|
||
|
||
<para>Se um aplicativo estiver disponível apenas para um determinado sistema operacional, esse sistema operacional não poderá ser substituído. No entanto é provável que exista um aplicativo muito semelhante no FreeBSD. Seja como um sólido servidor corporativo, um servidor de Internet ou ainda uma confiável estação de trabalho, o FreeBSD quase certamente fará tudo o que você precisa. Muitos usuários de computador ao redor do mundo, incluindo novatos e experientes administradores <trademark class="registered">UNIX</trademark>, usam o FreeBSD como seu único sistema operacional de desktop.</para>
|
||
|
||
<para>Os usuários que migrarem para o FreeBSD vindos de outro ambiente <trademark class="registered">UNIX</trademark>-like irão achar o FreeBSD bastante similar. Os usuários de <trademark class="registered">Windows</trademark> e do <trademark class="registered">Mac OS</trademark> podem se interessar em usar o <link xlink:href="https://www.trueos.org">TrueOS</link>, uma distribuição de desktop baseada no FreeBSD. Os usuários que não estão habituados ao uso de sistemas <trademark class="registered">UNIX</trademark> devem investir algum tempo adicional aprendendo a maneira de fazer as coisas no <trademark class="registered">UNIX</trademark>. Este <acronym>FAQ</acronym> e o <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/index.html">Manual do FreeBSD </link> são excelentes lugares para iniciar.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="why-called-FreeBSD">
|
||
<para>Por que ele é chamado de FreeBSD?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>Pode ser usado gratuitamente, até mesmo por usuários comerciais.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>O código fonte completo do sistema operacional está disponível gratuitamente, e foram colocadas restrições mínimas sobre seu uso, distribuição e incorporação em outro trabalho (comercial ou não comercial).</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Qualquer pessoa que tenha uma melhoria ou correção de bug está livre para enviar seu código e para adicioná-lo ao repositório de código-fonte (sujeito a uma ou duas provisões óbvias).</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
|
||
<para>Vale ressaltar que a palavra <quote>free</quote> está sendo usada de duas formas aqui: uma que significa <quote>sem custo</quote> (grátis) e a outra que significa <quote>faça o que quiser</quote> (Livre). Fora uma ou duas coisas que você <emphasis>não pode</emphasis> fazer com o código do FreeBSD, por exemplo, fingir que você o escreveu, você pode realmente fazer o que quiser com ele.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="differences-to-other-bsds">
|
||
<para>Quais são as diferenças entre o FreeBSD, o NetBSD, o OpenBSD e os outros sistemas operacionais BSD de código aberto?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O James Howard escreveu uma boa explicação da história e das diferenças entre os vários projetos BSD, chamada <link xlink:href="https://jameshoward.us/archive/the-bsd-family-tree/">A árvore genealógica do BSD</link>, a qual é uma boa forma de responder a esta pergunta. Algumas das informações estão desatualizadas, mas a parte da história em particular permanece precisa.</para>
|
||
|
||
<para>A maioria dos BSDs compartilha patches e códigos, até hoje. Todos os BSDs descendem dos mesmos ancestrais.</para>
|
||
|
||
<para>Os objetivos de design do FreeBSD estão descritos em <xref linkend="FreeBSD-goals"/>, acima. Os objetivos de design dos outros BSDs mais populares podem ser resumidos da seguinte forma:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>O OpenBSD visa a segurança do sistema operacional acima de tudo. A equipe do OpenBSD escreveu o <citerefentry><refentrytitle>ssh</refentrytitle><manvolnum>1</manvolnum></citerefentry> e o <citerefentry><refentrytitle>pf</refentrytitle><manvolnum>4</manvolnum></citerefentry>, os quais foram portados para o FreeBSD.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>O NetBSD pretende ser facilmente portado para outras plataformas de hardware.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>O DragonFly BSD é um fork do FreeBSD 4.8 o qual desenvolveu muitas características interessantes ao longo dos anos, incluindo o sistema de arquivos HAMMER e o suporte para <quote>vkernels</quote> no modo de usuário.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="latest-version">
|
||
<para>Qual é a última versão do FreeBSD?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>A qualquer momento no desenvolvimento do FreeBSD, podem existir vários branches paralelos. As releases 11.<replaceable>X</replaceable> são geradas a partir da branch <emphasis>11-STABLE</emphasis> e as releases 10.<replaceable>X</replaceable> são geradas a partir do branch <emphasis>10-STABLE</emphasis>.</para>
|
||
|
||
<para>Até o lançamento da versão 9.0, a série 10.<replaceable>X</replaceable> era a conhecida como <emphasis>-STABLE</emphasis>. No entanto, a partir da 12.<replaceable>X</replaceable>, a branch 10.<replaceable>X</replaceable> será designada para um status de <quote>suporte estendido</quote> e passará a receber apenas correções para problemas maiores, como as correções relacionadas à segurança.</para>
|
||
|
||
<para>A versão <link xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/i386/11.2-RELEASE/">11.2</link> é a última release da branch <emphasis>11-STABLE</emphasis>; ela foi lançada em junho de 2018. A versão <link xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/10.4-RELEASE/">10.4</link> é a release mais recente da branch <emphasis>10-STABLE</emphasis>; e foi lançada em outubro de 2017.</para>
|
||
|
||
<para>As releases são liberadas a <link linkend="release-freq">cada poucos meses</link>. Embora muitas pessoas se mantenham mais que isso por meio do código fonte do FreeBSD (veja as perguntas em <link linkend="current">FreeBSD-CURRENT</link> e <link linkend="stable">FreeBSD-STABLE</link> ), esta periodicidade está mais para um compromisso, já que o código fonte é um alvo em movimento.</para>
|
||
|
||
<para>Mais informações sobre as releases do FreeBSD podem ser encontradas na <link xlink:href="https://www.FreeBSD.org/releng/index.html#release-build">página de Engenharia de Releases</link> e em <citerefentry><refentrytitle>release</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="current">
|
||
<para>O que é o <emphasis>FreeBSD-CURRENT</emphasis>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/current-stable.html#current">FreeBSD-CURRENT</link> é a versão de desenvolvimento do sistema operacional, que no devido tempo se tornará o novo branch FreeBSD-STABLE. Como tal, ele é recomendado apenas para os desenvolvedores que trabalham no sistema e usuários amadores obstinados. Consulte a <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/current-stable.html#current">seção relevante</link> no <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/index.html">Handbook</link> para detalhes sobre como executar o <emphasis>-CURRENT</emphasis>.</para>
|
||
|
||
<para>Usuários não familiarizados com o FreeBSD não devem usar o FreeBSD-CURRENT. Este branch às vezes evolui muito rapidamente e, devido a um erro, pode ser difícil de compilá-lo às vezes. Espera-se que as pessoas que usam o FreeBSD-CURRENT possam analisar, depurar e reportar problemas.</para>
|
||
|
||
<para>As <link xlink:href="@@URL_RELPREFIX@@/snapshots/">snapshot</link> releases do FreeBSD são disponibilizadas com base no estado atual das branchs <emphasis>-CURRENT</emphasis> e <emphasis>-STABLE</emphasis>. Os objetivos por trás de cada release de snapshot são:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>Testar a versão mais recente do software de instalação.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Para que as pessoas que gostariam de executar o <emphasis>-CURRENT</emphasis> ou o <emphasis>-STABLE</emphasis> mas que não têm tempo ou largura de banda para acompanhá-lo no dia-a-dia tenham uma maneira fácil de instalá-las em seus sistemas.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Para preservar um ponto de referência fixo para o código em questão, apenas no caso de quebrarmos algo de forma muito seria depois. (Embora o Subversion normalmente previna que uma coisa horrível como esta ocorra).</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Para garantir que todos os novos recursos e correções que precisam de testes tenham contato o maior número possível de testadores em potencial.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
|
||
<para>Não temos a pretensão de que qualquer snapshot <emphasis>-CURRENT</emphasis> possa ser considerado com <quote>qualidade de produção</quote> para qualquer finalidade. Se você necessita de um sistema estável e totalmente testado, limite-se ao uso das releases completas.</para>
|
||
|
||
<para>As snapshots releases estão disponíveis em <link xlink:href="@@URL_RELPREFIX@@/snapshots/">snapshot</link>.</para>
|
||
|
||
<para>Os snapshots oficiais são gerados regularmente para todas as branchs ativamente desenvolvidas.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="stable">
|
||
<para>Qual é o conceito do <emphasis>FreeBSD-STABLE</emphasis>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>De volta quando o FreeBSD 2.0.5 foi lançado, o desenvolvimento do FreeBSD se ramificou em dois. Um ramo (branch) foi nomeado <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/current-stable.html#stable">-STABLE</link>, um <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/current-stable.html#current">-CURRENT</link>. O <emphasis>FreeBSD-STABLE</emphasis> é o branch de desenvolvimento a partir do qual os releases principais são feitos. Mudanças entram nesta branch em um ritmo mais lento e com a suposição geral de que eles foram testados primeiro no FreeBSD-CURRENT. No entanto, a qualquer momento, o código fonte para o FreeBSD-STABLE pode ou não ser adequado para uso geral, devido a descoberta de bugs e/ou outros casos específicos que ainda não foram encontrados no FreeBSD-CURRENT. Usuários que não possuem recursos para realizar testes devem, ao invés disso, executar a release mais recente do FreeBSD. O <emphasis>FreeBSD-CURRENT</emphasis>, por outro lado, tem sido uma linha continua desde que o 2.0 foi lançado, levando em direção ao 11.2-RELEASE e além. Para obter informações mais detalhadas sobre branchs, consulte <quote><link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/articles/releng/release-proc.html#rel-branch">Engenharia de Releases do FreeBSD: Criando uma Release Branch</link></quote>, o status dos branches e o cronograma para releases futuros podem ser encontrados na página de informações da <link xlink:href="https://www.FreeBSD.org/releng">Engenharia de Release</link>.</para>
|
||
|
||
<para>A 11.2-STABLE é a branch <emphasis>-STABLE</emphasis> desenvolvida ativamente. O último release na branch 11.2-STABLE é a 11.2-RELEASE, lançado em junho de 2018.</para>
|
||
|
||
<para>O <emphasis>12-CURRENT</emphasis> é a branch <emphasis>-CURRENT</emphasis> desenvolvida ativamente para a próxima geração do FreeBSD. Veja <link linkend="current">O que é o FreeBSD-CURRENT?</link> para mais informações sobre esta branch.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="release-freq">
|
||
<para>Quando são realizados os lançamentos de novas versões do FreeBSD?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>A Equipe de Engenharia de Releases (Release Engineering Team) <email>re@FreeBSD.org</email> lança uma nova versão principal do FreeBSD a cada 18 meses e uma nova versão secundária a cada 8 meses, em média. As datas de lançamento são anunciadas com bastante antecedência, para que as pessoas que trabalham no sistema saibam quando seus projetos precisam ser finalizados e testados. Um período de teste precede cada lançamento, para garantir que a adição de novos recursos não comprometa a estabilidade do lançamento. Muitos usuários consideram este cuidado como uma das melhores coisas do FreeBSD, apesar de que a espera para que todas as novidades mais recentes sejam disponibilizadas no <emphasis>-STABLE</emphasis> possa ser um pouco frustrante.</para>
|
||
|
||
<para>Maiores informações sobre o processo de engenharia de releases (incluindo a programação das releases futuros) podem ser encontradas na página <link xlink:href="https://www.FreeBSD.org/releng/index.html">engenharia de release</link> no site do FreeBSD.</para>
|
||
|
||
<para>Para aquelas pessoas que precisam ou querem um pouco mais de emoção, os snapshots binários são disponibilizados semanalmente, como discutido acima.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="responsible">
|
||
<para>Quem é responsável pelo FreeBSD?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>As principais decisões relativas ao projeto FreeBSD, tais como a direção geral do projeto e quem tem permissão para adicionar código ao repositório de código fonte, são feitas por meio de um <link xlink:href="@@URL_RELPREFIX@@/administration.html#t-core">core team</link> de 9 pessoas. Existe uma equipe muito maior, com mais de 350 <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/articles/contributors/article.html#staff-committers">committers</link> que estão autorizados a fazer alterações diretamente na árvore de fontes do FreeBSD.</para>
|
||
|
||
<para>No entanto, a maioria das alterações não-triviais é discutida com antecedência nas <link linkend="mailing">listas de discussão</link>, e não há restrições sobre quem pode participar da discussão.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="where-get">
|
||
<para>Onde posso obter o FreeBSD?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para xml:lang="en">Every significant release of FreeBSD is available via
|
||
anonymous FTP from the <link xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/">FreeBSD
|
||
FTP site</link>:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>O último release da série <emphasis>11-STABLE</emphasis>, o 11.2-RELEASE, pode ser encontrado no <link xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/i386/11.2-RELEASE/">diretório 11.2-RELEASE</link>.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Mensalmente são produzidos <link xlink:href="@@URL_RELPREFIX@@/snapshots/">snapshot</link> releases para as branchs <link linkend="current">-CURRENT</link> e <link linkend="stable">-STABLE</link>, as quais destinam-se primariamente ao uso por parte dos desenvolvedores e testadores.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>O último release da série <emphasis>10-STABLE</emphasis>, o 10.4-RELEASE, pode ser encontrado no <link xlink:href="ftp://ftp.FreeBSD.org/pub/FreeBSD/releases/i386/10.4-RELEASE/">diretório 10.4-RELEASE</link>.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
|
||
<para>Informações sobre como obter o FreeBSD em CD, DVD e outras mídias podem ser encontradas no <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/mirrors.html">Handbook</link>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="access-pr">
|
||
<para>Como acesso o banco de dados dos Relatórios de Problemas?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O banco de dados com os Relatórios de Problemas contendo todas as solicitações de mudança enviadas pelos nossos usuários pode ser consultado usando nossa interface web de <link xlink:href="https://bugs.FreeBSD.org/search/">consulta</link> de PRs.</para>
|
||
|
||
<para>A <link xlink:href="@@URL_RELPREFIX@@/support/bugreports.html">interface web de envio de relatórios de problemas</link> pode ser usada para enviar relatórios de problemas através de um navegador.</para>
|
||
|
||
<para>Antes de enviar um relatório de problema, leia <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/articles/problem-reports/article.html">Escrevendo Relatórios de Problemas do FreeBSD</link>, um artigo sobre como escrever bons relatórios de problemas.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
</qandaset>
|
||
</chapter>
|
||
|
||
<chapter xml:id="support">
|
||
<title>Documentação e Suporte</title>
|
||
|
||
<qandaset>
|
||
<qandaentry>
|
||
<question xml:id="books">
|
||
<para>Quais os livros existentes sobre o FreeBSD?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O projeto produz uma ampla gama de documentação, disponível on-line a partir deste link: <uri xlink:href="https://www.FreeBSD.org/docs.html">https://www.FreeBSD.org/docs.html</uri>. Além disso, a <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/bibliography.html">referência bibliográfica no Handbook</link> referencia outros livros recomendados.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="doc-formats">
|
||
<para>A documentação está disponível em outros formatos, tais como texto simples (ASCII) ou <trademark class="registered">PostScript</trademark>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Sim. A documentação está disponível em vários formatos diferentes e esquemas de compressão no site FTP do FreeBSD, no diretório <link xlink:href="https://download.freebsd.org/ftp/doc/">/pub/FreeBSD/doc/</link>.</para>
|
||
|
||
<para>A documentação é categorizada de várias maneiras diferentes. Que incluem:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>O nome do documento, tais como como <literal>faq</literal> ou <literal>handbook</literal>.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>A linguagem e codificação do documento. Estes são baseados nos nomes de local encontrados sob o diretório <filename>/usr/share/locale</filename> em um sistema FreeBSD. Os idiomas e codificações atuais são os seguintes:</para>
|
||
|
||
<informaltable frame="none" pgwide="1">
|
||
<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ês (Estados Unidos)</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry><literal>bn_BD.ISO10646-1</literal></entry>
|
||
|
||
<entry>Bengali ou Bangla (Bangladesh)</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry><literal>da_DK.ISO8859-1</literal></entry>
|
||
|
||
<entry>Dinamarquês (Dinamarca)</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry><literal>de_DE.ISO8859-1</literal></entry>
|
||
|
||
<entry>Alemão (Alemanha)</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry><literal>el_GR.ISO8859-7</literal></entry>
|
||
|
||
<entry>Grego (Grécia)</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry><literal>es_ES.ISO8859-1</literal></entry>
|
||
|
||
<entry>Espanhol (Espanha)</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry><literal>fr_FR.ISO8859-1</literal></entry>
|
||
|
||
<entry>Francês (França)</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry><literal>hu_HU.ISO8859-2</literal></entry>
|
||
|
||
<entry>Húngaro (Hungria)</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry><literal>it_IT.ISO8859-15</literal></entry>
|
||
|
||
<entry>Italiano (Itália)</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry><literal>ja_JP.eucJP</literal></entry>
|
||
|
||
<entry>Japonês (Japão, codificação EUC)</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry><literal>ko_KR.UTF-8</literal></entry>
|
||
|
||
<entry>Coreano (Coreia, codificação UTF-8)</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry><literal>mn_MN.UTF-8</literal></entry>
|
||
|
||
<entry>Mongol (Mongólia, codificação UTF-8)</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry><literal>nl_NL.ISO8859-1</literal></entry>
|
||
|
||
<entry>Holandês (Holanda)</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry><literal>pl_PL.ISO8859-2</literal></entry>
|
||
|
||
<entry>Polonês (Polônia)</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry><literal>pt_BR.ISO8859-1</literal></entry>
|
||
|
||
<entry>Português (Brasil)</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry><literal>ru_RU.KOI8-R</literal></entry>
|
||
|
||
<entry>Russo (Rússia, codificação KOI8-R)</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry><literal>tr_TR.ISO8859-9</literal></entry>
|
||
|
||
<entry>Turco (Turquia)</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry><literal>zh_CN.UTF-8</literal></entry>
|
||
|
||
<entry>Chinês Simplificado (China, codificação UTF-8)</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry><literal>zh_TW.UTF-8</literal></entry>
|
||
|
||
<entry>Chinês Tradicional (Taiwan, codificação UTF-8)</entry>
|
||
</row>
|
||
</tbody>
|
||
</tgroup>
|
||
</informaltable>
|
||
|
||
<note>
|
||
<para>Alguns documentos podem não estar disponíveis em todos os idiomas.</para>
|
||
</note>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>O formato do documento. Produzimos a documentação em vários formatos de saída diferentes. Cada formato tem suas próprias vantagens e desvantagens. Alguns formatos são mais adequados para leitura on-line, enquanto outros estão formatados para serem,esteticamente agradáveis quando impressos em papel. A disponibilização da documentação em diversos formatos garante que os nossos leitores possam ler as partes nas quais estão interessados, seja em seu monitor ou em papel após imprimi-los documentos. Os formatos disponíveis atualmente são:</para>
|
||
|
||
<informaltable frame="none" pgwide="1">
|
||
<tgroup cols="2">
|
||
<thead>
|
||
<row>
|
||
<entry>Formato</entry>
|
||
|
||
<entry>Significado</entry>
|
||
</row>
|
||
</thead>
|
||
|
||
<tbody>
|
||
<row>
|
||
<entry><literal>html-split</literal></entry>
|
||
|
||
<entry>Uma coleção de pequenos arquivos HTML vinculados.</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry><literal>html</literal></entry>
|
||
|
||
<entry>Um grande arquivo HTML contendo o documento inteiro</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry><literal>pdf</literal></entry>
|
||
|
||
<entry>Formato de documento portátil da Adobe</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry><literal>ps</literal></entry>
|
||
|
||
<entry><trademark class="registered">PostScript</trademark></entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry><literal>rtf</literal></entry>
|
||
|
||
<entry><trademark class="registered">Rich Text Format da Microsoft</trademark></entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry><literal>txt</literal></entry>
|
||
|
||
<entry>Texto simples</entry>
|
||
</row>
|
||
</tbody>
|
||
</tgroup>
|
||
</informaltable>
|
||
|
||
<note>
|
||
<para>Números de página não são atualizados automaticamente ao carregar o formato Rich Text no Word. Pressione <keycombo action="simul"> <keycap>Ctrl</keycap><keycap>A</keycap></keycombo>, <keycombo action="simul"><keycap>Ctrl</keycap><keycap>End</keycap> </keycombo>, <keycap>F9</keycap> após carregar o documento, para atualizar os números das páginas.</para>
|
||
</note>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>O esquema de compactação e empacotamento.</para>
|
||
|
||
<orderedlist>
|
||
<listitem>
|
||
<para xml:lang="en">Where the format is
|
||
<literal>html-split</literal>, the files are
|
||
bundled up using <citerefentry><refentrytitle>tar</refentrytitle><manvolnum>1</manvolnum></citerefentry>. The resulting
|
||
<filename>.tar</filename> is then compressed
|
||
using the compression schemes detailed in the next
|
||
point.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Todos os outros formatos geram um único arquivo. Por exemplo, <filename>article.pdf</filename>, <filename>book.html</filename> e assim por diante.</para>
|
||
|
||
<para>Esses arquivos são então compactados usando os esquemas de compactação <literal>zip</literal> ou <literal>bz2</literal>. O comando <citerefentry> <refentrytitle>tar</refentrytitle><manvolnum>1</manvolnum> </citerefentry> pode ser usado para descompactar esses arquivos.</para>
|
||
|
||
<para>Portanto, a versão <trademark class="registered">PostScript</trademark> do Handbook, compactada usando <literal>bzip2</literal> será armazenada em um arquivo chamado <filename>book.ps.bz2</filename> no diretório <filename>handbook/</filename>.</para>
|
||
</listitem>
|
||
</orderedlist>
|
||
</listitem>
|
||
</itemizedlist>
|
||
|
||
<para>Depois de escolher o formato e o mecanismo de compactação, baixe os arquivos compactados, descompacte-os e copie os documentos para um lugar apropriado.</para>
|
||
|
||
<para>Por exemplo, a versão split HTML do <acronym>FAQ</acronym>, compactada usando <citerefentry><refentrytitle>bzip2</refentrytitle> <manvolnum>1</manvolnum></citerefentry>, pode ser encontrada em <filename>doc/en_US.ISO8859-1/books/faq/book.html-split.tar.bz2</filename> Para baixar e descompactar esse arquivo, digite:</para>
|
||
|
||
<screen><prompt>#</prompt> <userinput>fetch https://download.freebsd.org/ftp/doc/en_US.ISO8859-1/books/faq/book.html-split.tar.bz2</userinput>
|
||
<prompt>#</prompt> <userinput>tar xvf book.html-split.tar.bz2</userinput></screen>
|
||
|
||
<para>Se o arquivo estiver compactado, o <application>tar</application> detectará automaticamente o formato apropriado e o descompactará corretamente, resultando em uma coleção de arquivos <filename>.html</filename>. O principal deles é chamado <filename>index.html</filename>, que conterá o sumário, o material introdutório e os links para as outras partes do documento.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="mailing">
|
||
<para>Onde encontro informações sobre as listas de discussão do FreeBSD? Quais grupos de notícias do FreeBSD estão disponíveis?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Consulte as seções do Handbook sobre as <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/eresources.html#eresources-mail">listas de discussão</link> e sobre os <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/eresources-news.html">grupos de notícias</link>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="irc">
|
||
<para>Existem canais de IRC (Internet Relay Chat) sobre o FreeBSD?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Sim, a maioria das redes de IRC hospedam um canal de chat do FreeBSD:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>Canal <literal>#FreeBSDhelp</literal> na <link xlink:href="http://www.efnet.org/index.php">EFNet</link> é um canal dedicado a ajudar usuários do FreeBSD.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Canal <literal>#FreeBSD</literal> na <link xlink:href="http://freenode.net/">Freenode</link> é um canal de ajuda geral com muitos usuários a qualquer horário. É de conhecimento que conversas off-topic acontecem em alguns momentos, mas a prioridade é dada aos usuários com perguntas sobre o FreeBSD. Outros usuários podem ajudar com o básico, consultando o Handbook sempre que possível e fornecendo links para ajudá-lo a aprender mais sobre um determinado tópico. Este é um canal em que a comunicação ocorre primariamente em inglês, embora seja frequentado por usuários de todo o mundo. As pessoas que não são falantes nativas do inglês devem tentar fazer as suas perguntas primeiro em inglês e, em seguida, tentar nos canais <literal>## freebsd-lang</literal> conforme apropriado.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Canal <literal>#FreeBSD</literal> na <link xlink:href="http://www.dal.net/">DALNET</link> está disponível em <systemitem>irc.dal.net</systemitem> nos EUA e <systemitem>irc.eu.dal.net</systemitem> na Europa.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>O canal <literal>#FreeBSD</literal> na <link xlink:href="http://www.undernet.org/">UNDERNET</link> está disponível em <systemitem>us.undernet.org</systemitem> nos EUA e <systemitem>eu.undernet.org</systemitem> na Europa. Como é um canal de ajuda, prepare-se para ler os documentos aos quais você for direcionado.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>O canal <literal>#FreeBSD</literal> na <link xlink:href="http://www.rusnet.org.ru/">RUSNET</link> é um canal de língua russa dedicado a ajudar os usuários do FreeBSD. Este também é um bom lugar para discussões não técnicas.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>O canal <literal>#bsdchat</literal> na <link xlink:href="http://freenode.net/">Freenode</link> é um canal de idioma chinês tradicional (codificação UTF-8) dedicado a ajudar os usuários do FreeBSD. Este também é um bom lugar para discussões não técnicas.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
|
||
<para>A wiki do FreeBSD tem uma <link xlink:href="https://wiki.freebsd.org/IRC/Channels">boa lista</link> dos canais de IRC.</para>
|
||
|
||
<para>Cada um destes canais são distintos e não estão conectados entre si. Como os estilos de bate-papo diferem, experimente cada um deles para encontrar um adequado ao seu estilo de bate-papo.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="forums">
|
||
<para>Existem fóruns na web para discutir o FreeBSD?</para>
|
||
</question>
|
||
<answer>
|
||
<para>Os fóruns oficiais do FreeBSD estão localizados em <link xlink:href="https://forums.FreeBSD.org/">https://forums.FreeBSD.org/</link>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="training">
|
||
<para>Onde posso obter treinamento e suporte comercial para o FreeBSD?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>A <link xlink:href="http://www.ixsystems.com"> iXsystems, Inc. </link>, empresa controladora do <link xlink:href="http://www.freebsdmall.com/">FreeBSD Mall</link>, fornece <link xlink:href="http://www.ixsystems.com/support">supporte</link> comercial para o FreeBSD e TrueOS, e também soluções de desenvolvimento e customização para o FreeBSD.</para>
|
||
|
||
<para>A BSD Certification Group, Inc. fornece certificações de administração do sistema para o DragonFly BSD, FreeBSD, NetBSD e OpenBSD. Consulte <link xlink:href="http://www.BSDCertification.org">seu site</link> para maiores informações.</para>
|
||
|
||
<para>Quaisquer outras organizações que forneçam treinamento e suporte devem entrar em contato com o Projeto FreeBSD para serem listadas aqui.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
</qandaset>
|
||
</chapter>
|
||
|
||
<chapter xml:id="install">
|
||
<info>
|
||
<title>Instalação</title>
|
||
|
||
<author><personname> <firstname>Nik</firstname> <surname>Clayton</surname> </personname> <affiliation> <address>
|
||
<email>nik@FreeBSD.org</email>
|
||
</address> </affiliation></author>
|
||
</info>
|
||
|
||
<qandaset>
|
||
|
||
<qandaentry>
|
||
<question xml:id="which-architecture">
|
||
<para>Qual plataforma devo baixar? Eu tenho uma CPU compatível com 64 bits <trademark class="registered">Intel</trademark>, mas eu só encontro <literal>amd64</literal>.</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>amd64 é o termo que o FreeBSD usa para arquiteturas x86 compatíveis com 64 bits (também conhecidas como "x86-64" ou "x64"). Para a maioria dos computadores modernos você deve usar a opção amd64. Para hardware mais antigo você deve usar o i386. Ao instalar em uma arquitetura não compatível com x86, selecione a plataforma que melhor corresponda ao hardware.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="floppy-download">
|
||
<para>Qual arquivo eu baixo para ter o FreeBSD?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Na página <link xlink:href="https://www.freebsd.org/where.html">Como obter o FreeBSD</link>, selecione <literal>[iso]</literal> ao lado da arquitetura que corresponde ao seu hardware.</para>
|
||
|
||
<para>Qualquer um dos itens a seguir pode ser usado:</para>
|
||
|
||
<informaltable frame="none" pgwide="1">
|
||
<tgroup cols="2">
|
||
<thead>
|
||
<row>
|
||
<entry>arquivo</entry>
|
||
<entry>descrição</entry>
|
||
</row>
|
||
</thead>
|
||
|
||
<tbody>
|
||
<row>
|
||
<entry><filename>disc1.iso</filename></entry>
|
||
<entry>Contém o suficiente para instalar o FreeBSD e um conjunto mínimo de pacotes.</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry><filename>dvd1.iso</filename></entry>
|
||
<entry>Semelhante ao <filename>disc1.iso</filename>, mas com pacotes adicionais.</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry><filename>memstick.img</filename></entry>
|
||
<entry>Uma imagem inicializável para se gravar em um pendrive.</entry>
|
||
</row>
|
||
|
||
<row>
|
||
<entry><filename>bootonly.iso</filename></entry>
|
||
<entry>Uma imagem mínima e que requer acesso à rede durante a instalação para que possa instalar completamente o FreeBSD.</entry>
|
||
</row>
|
||
</tbody>
|
||
</tgroup>
|
||
</informaltable>
|
||
|
||
<para>Instruções completas sobre este procedimento e um pouco mais sobre problemas de instalação em geral podem ser encontradas na seção do Handbook <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/bsdinstall.html">sobre instalação do FreeBSD</link>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="floppy-image-too-large">
|
||
<para>O que eu faço se a imagem de instalação não inicializar?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Isso pode ocorrer caso você não tenha baixado a imagem no modo <emphasis>binário</emphasis> ao usar o <acronym>FTP</acronym>.</para>
|
||
|
||
<para>Alguns clientes FTP padronizam seu modo de transferência para <emphasis>ascii</emphasis> e tentam alterar quaisquer caracteres de end-of-line recebidos para corresponder às convenções usadas pelo sistema do cliente. Isso quase invariavelmente corromperá a imagem de inicialização. Verifique checksum SHA-256 da imagem de inicialização baixada: se não estiver<emphasis>exatamente</emphasis> como no servidor, o processo de download pode ter corrompido o arquivo.</para>
|
||
|
||
<para>Ao usar um cliente FTP de linha de comando, digite <emphasis>binary</emphasis> no prompt de comando FTP depois de se conectar ao servidor e antes de iniciar o download da imagem.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="install-instructions-location">
|
||
<para>Onde estão as instruções para instalar o FreeBSD?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>As instruções para instalação podem ser encontradas na seção do Handbook <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/bsdinstall.html">sobre instalação do FreeBSD</link>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="need-to-run">
|
||
<para>Quais são os requisitos mínimos para executar o FreeBSD?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O FreeBSD requer um PC 486 ou melhor, 64 MB ou mais de RAM e pelo menos 1.1 GB de espaço em disco.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="custom-boot-floppy">
|
||
<para>Como posso criar minha própria versão personalizada ou disco de instalação?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Uma mídia customizada de instalação do FreeBSD pode ser criada através da construção de uma release personalizada. Siga as instruções do artigo <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/articles/releng/article.html">Release Engineering</link>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="windows-coexist">
|
||
<para>O <trademark class="registered">Windows</trademark> pode coexistir com o FreeBSD?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Se <trademark class="registered">o Windows</trademark> for instalado primeiro, então sim. O gerenciador de boot do FreeBSD irá então inicializar o <trademark class="registered">Windows</trademark> e o FreeBSD. Se o <trademark class="registered">Windows</trademark> for instalado posteriormente, ela sobrescreverá o gerenciador de inicialização. Se isso acontecer, veja a próxima seção.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="bootmanager-restore">
|
||
<para>Outro sistema operacional destruiu meu gerenciador de inicialização. Como faço para recuperá-lo?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Isso depende do gerenciador de inicialização. O menu de seleção de inicialização do FreeBSD pode ser reinstalado usando <citerefentry> <refentrytitle>boot0cfg</refentrytitle><manvolnum>8</manvolnum> </citerefentry>. Por exemplo, para restaurar o menu de inicialização no disco <replaceable>ada0</replaceable>:</para>
|
||
|
||
<screen><prompt>#</prompt> <userinput>boot0cfg -B ada0</userinput></screen>
|
||
|
||
<para>O gerenciador de inicialização MBR não interativo pode ser instalado usando <citerefentry><refentrytitle>gpart</refentrytitle><manvolnum>8</manvolnum></citerefentry>:</para>
|
||
|
||
<screen><prompt>#</prompt> <userinput>gpart bootcode -b /boot/mbr ada0</userinput></screen>
|
||
|
||
<para>Para situações mais complexas, incluindo discos GPT, consulte <citerefentry><refentrytitle>gpart</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="need-complete-sources">
|
||
<para>Preciso instalar o código fonte?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Em geral, não. Não há nada no sistema base que exija a presença do código fonte para operar. Alguns ports, como o <package>sysutils/lsof</package>, não serão compilados a menos que o código fonte esteja instalado. Em particular, se o port compila um módulo de kernel ou opera diretamente em estruturas de kernel, o código fonte deve ser instalado.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="need-kernel">
|
||
<para>Eu preciso compilar um kernel?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Geralmente não. O kernel <literal>GENERIC</literal> fornecido contém todos os drivers que um computador comum precisará. O <citerefentry><refentrytitle>freebsd-update</refentrytitle><manvolnum>8</manvolnum></citerefentry>, a ferramenta de atualização binária do FreeBSD, não pode atualizar kernels customizados, o que é uma outra razão para se manter com o kernel <literal>GENERIC</literal> sempre que possível. Para computadores com uma quantidade de memória RAM muito limitada, como sistemas embarcados, pode valer a pena compilar um kernel customizado menor contendo apenas os drivers necessários.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="password-encryption">
|
||
<para>Devo usar senhas DES, Blowfish ou MD5 e como eu específico qual tipo meus usuários irão receber?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O FreeBSD usa <emphasis>SHA512</emphasis> por padrão. Senhas DES ainda estão disponíveis para compatibilidade com sistemas operacionais que ainda usam um formato de senha menos seguro. O FreeBSD também suporta os formatos de senha Blowfish e MD5. O formato de senha que será usado para novas senhas é controlado pelo recurso de login <literal>passwd_format</literal> no arquivo <filename>/etc/login.conf</filename>, que recebe valores de <literal>des</literal>, <literal>blf</literal> (se estiverem disponíveis) ou <literal>md5</literal>. Veja a página de manual <citerefentry><refentrytitle>login.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry> para maiores informações sobre as capacidades de login.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="ffs-limits">
|
||
<para>Quais são os limites para sistemas de arquivos FFS?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Para os sistemas de arquivos FFS, o tamanho máximo é praticamente limitado pela quantidade de memória necessária para executar o <citerefentry><refentrytitle>fsck</refentrytitle><manvolnum>8</manvolnum></citerefentry> no sistema de arquivo. O <citerefentry><refentrytitle>fsck</refentrytitle><manvolnum>8</manvolnum></citerefentry> requer um bit por fragmento, que com o tamanho de fragmento padrão de 4 KB equivale a 32 MB de memória por TB de disco. Isso significa que nas arquiteturas que limitam os processos userland a 2 GB (por exemplo, <trademark>i386</trademark>), o tamanho máximo do sistema de arquivos que o <citerefentry><refentrytitle> fsck</refentrytitle><manvolnum>8</manvolnum></citerefentry> permite operar é de ~ 60 TB.</para>
|
||
|
||
<para>Se não houvesse um limite de memória para o <citerefentry><refentrytitle>fsck</refentrytitle><manvolnum>8</manvolnum></citerefentry>, o tamanho máximo do sistema de arquivos seria 2 ^ 64 (blocks) * 32 KB => 16 Exa * 32 KB => 512 ZettaBytes.</para>
|
||
|
||
<para>O tamanho máximo de um único arquivo FFS é de aproximadamente 2 PB com o tamanho de bloco padrão de 32 KB. Cada bloco de 32 KB pode apontar para 4096 blocos. Com blocos triplo indiretos, o cálculo é 32 KB * 12 + 32 KB * 4096 + 32 KB * 4096 ^ 2 + 32 KB * 4096 ^ 3. Aumentar o tamanho do bloco para 64 KB aumentará o tamanho máximo do arquivo por um fator de 16.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="archsw-readin-failed-error">
|
||
<para>Por que recebo uma mensagem de erro, <errorname>readin failed</errorname> depois de compilar e inicializar um novo kernel?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O world (aplicativos e bicliotecas do userland)e o kernel estão fora de sincronia. Isso não é suportado. Certifique-se de usar <command>make buildworld</command> e <command>make build-kernel</command> para atualizar o kernel.</para>
|
||
|
||
<para>Inicialize o sistema especificando o kernel diretamente no segundo estágio, pressionando qualquer tecla quando o <literal>|</literal> aparecer antes que o utilitário de carga (loader) seja iniciado.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="general-configuration-tool">
|
||
<para>Existe uma ferramenta para realizar tarefas de configuração pós-instalação?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Sim. O <application>bsdconfig</application> fornece uma boa interface para configurar o FreeBSD na pós-instalação.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
</qandaset>
|
||
</chapter>
|
||
|
||
<chapter xml:id="hardware">
|
||
<title>Compatibilidade de Hardware</title>
|
||
|
||
<sect1 xml:id="compatibility-general">
|
||
<title>Geral</title>
|
||
|
||
<qandaset>
|
||
<qandaentry>
|
||
<question xml:id="which-hardware-to-get">
|
||
<para>Eu quero obter um componente de hardware para o meu sistema FreeBSD. Qual modelo/marca/tipo é o melhor?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Isso é discutido continuamente nas listas de discussão do FreeBSD, mas isto é de se esperar, já que o hardware muda tão rapidamente. Leia as Notas de Hardware do FreeBSD <link xlink:href="https://www.FreeBSD.org/releases/11.2R/hardware.html">11.2</link> ou <link xlink:href="https://www.FreeBSD.org/releases/10.4R/hardware.html">10.4</link> e pesquise os <link xlink:href="https://www.FreeBSD.org/search/#mailinglists">arquivos</link> da lista de discussão antes de perguntar sobre o hardware mais recente e melhor. As chances são de que uma discussão sobre esse tipo de hardware tenha acontecido na semana passada.</para>
|
||
|
||
<para>Antes de comprar um laptop, verifique os arquivos da <link xlink:href="http://lists.FreeBSD.org/mailman/listinfo/freebsd-mobile">lista de discussão sobre computadores portáteis FreeBSD</link> e da <link xlink:href="http://lists.FreeBSD.org/mailman/listinfo/freebsd-questions">lista de discussão de questões gerais do FreeBSD</link>, ou possivelmente uma lista de discussão específica para um tipo específico de hardware.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="memory-upper-limitation">
|
||
<para>Quais são os limites para a memória? O FreeBSD suporta mais de 4 GB de memória (RAM)? Mais de 16 GB? Mais de 48 GB?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O FreeBSD como sistema operacional geralmente suporta tanta memória física (RAM) quanto a disponível na plataforma em que está rodando. Tenha em mente que plataformas diferentes têm limites diferentes para a memória; por exemplo <trademark>i386</trademark> sem <acronym>PAE</acronym> suporta no máximo 4 GB de memória (e geralmente menos que isso por causa do espaço de endereçamento PCI) e <trademark>i386</trademark> com PAE suporta no máximo 64 GB de memória. A partir do FreeBSD 10, as plataformas AMD64 suportam até 4 TB de memória física.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="memory-i386-over-4gb">
|
||
<para>Por que o FreeBSD reporta menos de 4 GB de memória quando instalado em uma máquina <trademark>i386</trademark>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O espaço total de endereços nas máquinas <trademark>i386</trademark> é de 32 bits, o que significa que no máximo 4 GB de memória são endereçáveis (podem ser acessados). Além disso, alguns endereços nesse intervalo são reservados por hardware para diferentes finalidades, por exemplo, para usar e controlar dispositivos PCI, para acessar a memória de vídeo e assim por diante. Portanto, a quantidade total de memória utilizável pelo sistema operacional para o seu kernel e aplicativos é limitada a significativamente menos de 4 GB. Normalmente, temos de 3,2 GB a 3,7 GB de memória física máxima utilizável nessa configuração.</para>
|
||
|
||
<para>Para acessar mais de 3,2 GB a 3,7 GB de memória instalada (ou seja, até 4 GB, mas também mais de 4 GB), um ajuste especial chamado <acronym>PAE</acronym> deve ser usado. PAE significa Physical Address Extension e é uma maneira das CPUs x86 de 32 bits endereçarem mais de 4 GB de memória. Ele remapeia a memória que de outra forma seria sobreposta pelas reservas de endereço para dispositivos de hardware acima do intervalo de 4 GB e a usa como memória física adicional (veja <citerefentry><refentrytitle>pae</refentrytitle><manvolnum>4</manvolnum></citerefentry>). Usar o PAE tem alguns inconvenientes; este modo de acesso à memória é um pouco mais lento que o modo normal (sem PAE) e módulos carregáveis (veja <citerefentry><refentrytitle>kld</refentrytitle><manvolnum>4</manvolnum> </citerefentry>) não são suportados. Isso significa que todos os drivers devem ser compilados estaticamente no kernel.</para>
|
||
|
||
<para>A maneira mais comum de ativar o PAE é compilar um novo kernel com o arquivo especial de configuração do kernel, chamado <filename>PAE</filename>, que já está configurado para compilar um kernel seguro. Observe que algumas entradas neste arquivo de configuração do kernel são muito conservadoras e alguns drivers marcados como não prontos para serem usados com o PAE na verdade são possíveis de serem utilizados. Uma regra básica é que, se o driver for utilizável em arquiteturas de 64 bits (como o AMD64), ele também poderá ser usado com o PAE. Ao criar um arquivo de configuração de kernel personalizado, o suporte ao PAE pode ser ativada adicionando a seguinte linha:</para>
|
||
|
||
<programlisting>options PAE</programlisting>
|
||
|
||
<para>O PAE não é muito usado atualmente porque a maioria dos novos hardwares x86 também suporta a execução no modo de 64 bits, conhecido como AMD64 ou <trademark class="registered">Intel</trademark>64. Ele tem um espaço de endereçamento muito maior e não precisa tais ajustes. O FreeBSD suporta o AMD64 e é recomendado que esta versão do FreeBSD seja usada no lugar da versão <trademark>i386</trademark> se forem necessários 4 GB ou mais de memória.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
</qandaset>
|
||
</sect1>
|
||
|
||
<sect1 xml:id="compatibility-processors">
|
||
<title>Arquiteturas e Processadores</title>
|
||
|
||
<qandaset>
|
||
<qandaentry>
|
||
<question xml:id="architectures">
|
||
<para>O FreeBSD suporta arquiteturas diferentes do x86?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Sim. O FreeBSD divide o suporte em vários níveis. Arquiteturas de Tier 1, como i386 ou amd64; são totalmente suportados. Tiers 2 e 3 são suportados com base no melhor esforço. Uma explicação completa do sistema de tiers está disponível no <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/articles/committers-guide/archs.html">Guia dos Committers.</link></para>
|
||
|
||
<para>Uma lista completa de arquiteturas suportadas pode ser encontrada na <link xlink:href="https://www.FreeBSD.org/platforms/">páginas de plataformas.</link></para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="smp-support">
|
||
<para>O FreeBSD suporta o Multiprocessamento Simétrico (SMP)?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O FreeBSD suporta multiprocessadores simétricos (SMP) em todas as plataformas não-embarcadas (por exemplo, i386, amd64, etc.). O SMP também é suportado em kernels arm e MIPS, embora algumas CPUs possam não suportar isso. A implementação do SMP do FreeBSD usa o bloqueio refinado, e o desempenho escala quase linearmente com o número de CPUs.</para>
|
||
|
||
<para>A página de manual do <citerefentry><refentrytitle>smp</refentrytitle><manvolnum>4</manvolnum></citerefentry> tem maiores detalhes.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="microcode">
|
||
<para>O que é microcódigo? Como eu instalo as atualizações de microcódigo da <trademark class="registered">Intel</trademark>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Microcódigo é um método de implementar programaticamente instruções de nível de hardware. Isso permite que os bugs da CPU sejam corrigidos sem a necessidade de substituir fisicamente o chip.</para>
|
||
|
||
<para>Instale o <package>sysutils/devcpu-data</package> e adicione:</para>
|
||
|
||
<programlisting>microcode_update_enable="YES"</programlisting>
|
||
|
||
<para>no <filename>/etc/rc.conf</filename></para>
|
||
</answer>
|
||
</qandaentry>
|
||
</qandaset>
|
||
</sect1>
|
||
|
||
<sect1 xml:id="compatibility-drives">
|
||
<title>Discos, Unidades de Fita e Unidades de CD e DVD</title>
|
||
|
||
<qandaset>
|
||
<qandaentry>
|
||
<question xml:id="supported-hard-drives">
|
||
<para>Que tipo de disco o FreeBSD suporta?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O FreeBSD suporta unidades EIDE, SATA, SCSI e SAS (com um controlador compatível; veja a próxima seção), e todas as unidades usando a interface original da <quote>Western Digital</quote> (MFM, RLL, ESDI e, é claro, IDE). Alguns controladores ESDI que usam interfaces proprietárias podem não funcionar: use interfaces e clones WD1002/3/6/7.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="supported-scsi-controllers">
|
||
<para>Quais controladores SCSI ou SAS são suportados?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Veja a lista completa em Notas de Hardware para o FreeBSD <link xlink:href="https://www.FreeBSD.org/releases/11.2R/hardware.html">11.2</link> ou <link xlink:href="https://www.FreeBSD.org/releases/10.4R/hardware.html">10.4</link>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="tape-support">
|
||
<para>Quais tipos de unidades de fita são suportados?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O FreeBSD suporta todas as interfaces de fita SCSI padrão.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="tape-changer-support">
|
||
<para>O FreeBSD suporta trocadores de fita (tape changers)?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O FreeBSD suporta trocadores SCSI usando o dispositivo <citerefentry><refentrytitle>ch</refentrytitle><manvolnum>4</manvolnum></citerefentry> e o comando <citerefentry><refentrytitle>chio</refentrytitle><manvolnum>1</manvolnum></citerefentry>. Os detalhes de como controlar o trocador podem ser encontrados em <citerefentry><refentrytitle>chio</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para>
|
||
|
||
<para>Embora o <application>AMANDA</application> e alguns outros produtos já entendam os trocadores, outros aplicativos só sabem como mover uma fita de um ponto para outro. Nesse caso, rastreie em qual slot uma fita está e para qual slot a fita que está atualmente na unidade precisa voltar.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="supported-cdrom-drives">
|
||
<para>Quais drives de CD-ROM e CD-RW são suportados pelo FreeBSD?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Qualquer unidade SCSI conectada a um controlador suportado é suportada. A maioria dos CD-ROMs IDE compatíveis com ATAPI é suportada.</para>
|
||
|
||
<para>O FreeBSD suporta qualquer drive IDE CD-R ou CD-RW compatível com ATAPI.</para>
|
||
|
||
<para>O FreeBSD também suporta qualquer unidade de CD-R ou CD-RW SCSI. Instale o port ou pacote do <package> sysutils/cdrtools</package> e, em seguida, use o <command> cdrecord </command>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
</qandaset>
|
||
</sect1>
|
||
|
||
<sect1 xml:id="compatibility-kbd-mice">
|
||
<title>Teclados e Mouses</title>
|
||
|
||
<qandaset>
|
||
<qandaentry>
|
||
<question xml:id="moused">
|
||
<para>É possível usar um mouse fora do sistema X Window?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O driver de console padrão, <citerefentry><refentrytitle>syscons</refentrytitle><manvolnum>4</manvolnum></citerefentry>, fornece a capacidade de usar um ponteiro de mouse em consoles de texto para cortar & colar o texto. Execute o daemon do mouse, <citerefentry><refentrytitle>moused</refentrytitle><manvolnum>8</manvolnum> </citerefentry> e ative o ponteiro do mouse no console virtual:</para>
|
||
|
||
<screen><prompt>#</prompt> <userinput>moused -p /dev/xxxx -t yyyy</userinput>
|
||
<prompt>#</prompt> <userinput>vidcontrol -m on</userinput></screen>
|
||
|
||
<para>No qual <replaceable>xxxx</replaceable> é o nome do dispositivo de mouse e <replaceable>yyyy</replaceable> é o tipo de protocolo para o mouse. O daemon do mouse pode determinar automaticamente o tipo de protocolo da maioria dos mouses, exceto antigos mouses seriais. Especifique o protocolo <literal>auto</literal> para invocar a detecção automática. Se a detecção automática não funcionar, consulte a página de manual <citerefentry><refentrytitle>moused</refentrytitle><manvolnum>8</manvolnum></citerefentry> para obter uma lista dos tipos de protocolos suportados.</para>
|
||
|
||
<para>Para um mouse PS/2, adicione <literal>moused_enable="YES"</literal> ao arquivo <filename>/etc/rc.conf</filename> para iniciar o daemon do mouse no momento da inicialização. Além disso, para usar o daemon do mouse em todos os terminais virtuais em vez de apenas no console, adicione <literal>allscreens_flags="-m on"</literal> ao arquivo <filename>/etc/rc.conf</filename>.</para>
|
||
|
||
<para>Quando o daemon do mouse está em execução, o acesso ao mouse deve ser coordenado entre o daemon do mouse e outros programas, tais como o X Windows. Consulte o <acronym>FAQ</acronym> <link linkend="x-and-moused"> Por que meu mouse não funciona com o X?</link> para obter mais detalhes sobre esse problema.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="text-mode-cut-paste">
|
||
<para>Como faço para cortar e colar texto com um mouse no console de texto?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Não é possível remover (cortar) dados usando o mouse. No entanto, é possível copiar e colar. Quando o daemon do mouse estiver em execução, conforme descrito na <link linkend="moused">pergunta anterior</link>, mantenha pressionado o botão 1 (botão esquerdo) e mova o mouse para selecionar uma região do texto. Em seguida, pressione o botão 2 (botão do meio) para colar no cursor de texto. Pressionar o botão 3 (botão direito) irá <quote> estender </quote> a região selecionada do texto.</para>
|
||
|
||
<para>Se o mouse não tiver um botão do meio, é possível emular um ou remapear os botões usando as opções do daemon do mouse. Consulte a página de manual <citerefentry><refentrytitle>moused</refentrytitle><manvolnum>8</manvolnum></citerefentry> para obter detalhes.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="mouse-wheel-buttons">
|
||
<para>Meu mouse tem uma roda e botões extravagantes. Posso usá-los no FreeBSD?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>A resposta é, infelizmente, <quote>Depende</quote>. Esses mouses com recursos adicionais exigem um driver especializado na maioria dos casos. A menos que o driver do dispositivo do mouse ou o programa do usuário tenha suporte específico para o mouse, ele funcionará exatamente como um mouse padrão de dois ou três botões.</para>
|
||
|
||
<para>Para o possível uso de rodas do mouse no ambiente X Window, consulte <link linkend="x-and-wheel">essa seção</link>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="keyboard-delete-key">
|
||
<para>Como eu uso a minha tecla de delete no <command>sh</command> e <command>csh</command>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Para o <application>Bourne Shell</application>, inclua as seguintes linhas no arquivo <filename>~/.shrc</filename>. Veja <citerefentry><refentrytitle>sh</refentrytitle><manvolnum>1</manvolnum></citerefentry> e <citerefentry> <refentrytitle>editrc</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
|
||
|
||
<programlisting>bind ^? ed-delete-next-char # para o console
|
||
bind ^[[3~ ed-delete-next-char # para o xterm</programlisting>
|
||
|
||
<para>Para o <application>C Shell</application>, adicione as seguintes linhas ao <filename>~/.cshrc</filename>. Veja <citerefentry><refentrytitle>csh</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para>
|
||
|
||
<programlisting>bindkey ^? delete-char # para o console
|
||
bindkey ^[[3~ delete-char # para o xterm</programlisting>
|
||
|
||
<para>Para maiores informações, consulte <link xlink:href="http://www.ibb.net/~anne/keyboard.html"> esta página </link>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
</qandaset>
|
||
</sect1>
|
||
|
||
<sect1 xml:id="compatibility-other">
|
||
<title>Outro hardware</title>
|
||
|
||
<qandaset>
|
||
<qandaentry>
|
||
<question xml:id="es1370-silent-pcm">
|
||
<para>Algum workaround para o problema de não sair nenhum som da minha placa de som <citerefentry><refentrytitle>pcm</refentrytitle><manvolnum>4</manvolnum></citerefentry>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Algumas placas de som definem seu volume de saída como 0 em cada inicialização. Execute o seguinte comando toda vez que a máquina inicializar:</para>
|
||
|
||
<screen><prompt>#</prompt> <userinput>mixer pcm 100 vol 100 cd 100</userinput></screen>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="power-management-support">
|
||
<para>O FreeBSD suporta o gerenciamento de energia no meu laptop?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O FreeBSD suporta os recursos <acronym>ACPI</acronym> encontrados em componentes modernos de hardware. Maiores informações podem ser encontradas em <citerefentry><refentrytitle>acpi</refentrytitle><manvolnum>4</manvolnum></citerefentry>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
</qandaset>
|
||
</sect1>
|
||
</chapter>
|
||
|
||
<chapter xml:id="troubleshoot">
|
||
<title>Solução de problemas</title>
|
||
|
||
<qandaset>
|
||
<qandaentry>
|
||
<question xml:id="pae">
|
||
<para>Por que o FreeBSD está encontrando a quantidade errada de memória no hardware <trademark>i386</trademark>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O motivo mais provável é a diferença entre endereços de memória física e endereços virtuais.</para>
|
||
|
||
<para>A convenção para a maioria dos hardwares de PC é usar a área de memória entre 3,5 GB e 4 GB para uma finalidade especial (geralmente para PCI). Este espaço de endereço é usado para acessar o hardware PCI. Como resultado real, a memória física não pode ser acessada por esse espaço de endereço.</para>
|
||
|
||
<para>O que acontece com a memória que deveria aparecer nesse local depende do hardware. Infelizmente, alguns hardwares não fazem nada e a capacidade de usar estes últimos 500 MB de RAM é totalmente perdida.</para>
|
||
|
||
<para>Felizmente, a maioria dos hardwares faz o remapeamento da memória para um local mais alto, para que ela ainda possa ser usada. No entanto, isso pode causar alguma confusão ao observar as mensagens de inicialização.</para>
|
||
|
||
<para>Em uma versão de 32 bits do FreeBSD, a memória parece perdida, uma vez que ela será remapeada acima de 4 GB, uma área a qual um kernel de 32 bits não consegue acessar. Neste caso, a solução é construir um kernel habilitado para PAE. Veja a seção sobre os limites de memória para mais informações.</para>
|
||
|
||
<para>Em uma versão de 64 bits do FreeBSD, ou quando o kernel estiver habilitado para PAE, o FreeBSD irá corretamente detectar e remapear a memória para que ela seja utilizável. Durante a inicialização, no entanto, pode parecer que o FreeBSD está detectando mais memória do que o sistema realmente possui, devido ao remapeamento descrito. Isso é normal e a memória disponível será corrigida conforme o processo de inicialização for concluído.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="signal11">
|
||
<para>Por que meus programas morrem ocasionalmente com erros <errorname> Signal 11 </errorname>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Os erros de sinal 11 são causados quando um processo tentou acessar a memória à qual o sistema operacional não concedeu acesso. Se algo assim está acontecendo em intervalos aparentemente aleatórios, comece a investigar a causa.</para>
|
||
|
||
<para>Esses problemas geralmente podem ser atribuídos a:</para>
|
||
|
||
<orderedlist>
|
||
<listitem>
|
||
<para>Se o problema está ocorrendo apenas em um aplicativo customizado específico, é provavelmente um bug no código.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Se é um problema com parte do sistema base do FreeBSD, também pode ser resultado de um código com bugs, mas na maioria das vezes esses problemas são encontrados e corrigidos muito antes que o publico em geral e que normalmente lê o <acronym> FAQ </acronym> usem essas partes do código (é para isso que -CURRENT existe).</para>
|
||
</listitem>
|
||
</orderedlist>
|
||
|
||
<para>Provavelmente não é um erro do FreeBSD se o problema ocorrer na compilação de um programa, mas sim da atividade que o compilador está realizando e que muda a cada vez.</para>
|
||
|
||
<para>Por exemplo, se <command>make buildworld</command> falhar ao tentar compilar <filename>ls.c</filename> para <filename>ls.o</filename> e, quando executado novamente, ele falhar no mesmo lugar, significa que o código está quebrado. Tente atualizar o código fonte e tente compilar novamente. Se a compilação falhar em outro lugar, é quase certo que a causa é um problema de hardware.</para>
|
||
|
||
<para>No primeiro caso, use um depurador como o <citerefentry><refentrytitle>gdb</refentrytitle><manvolnum>1</manvolnum></citerefentry> para localizar o ponto no programa que está tentando acessar um endereço falso e corrija-o.</para>
|
||
|
||
<para>No segundo caso, verifique qual peça de hardware está com defeito.</para>
|
||
|
||
<para>As causas comuns disso incluem:</para>
|
||
|
||
<orderedlist>
|
||
<listitem>
|
||
<para>Os discos rígidos podem estar superaquecidos: Verifique se os ventiladores ainda estão funcionando, pois o disco e outros componentes de hardware podem estar superaquecendo.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>O processador está superaquecendo: pode ser porque o processador sofreu overclock ou o ventilador do processador pode ter parado de funcionar. Em ambos os casos, certifique-se de que o hardware esteja sendo utilizado de acordo com as condições especificadas pelo fabricante, pelo menos ao tentar resolver esse problema. Se não estiver, volte o clock para as configurações padrão.)</para>
|
||
|
||
<para>Em relação ao overclocking, é muito mais barato ter um sistema lento do que um sistema frito que precisa ser substituído! Além disso, a comunidade não é simpática a problemas em sistemas com overclock.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Memória Errática: se vários módulos de memórias SIMMS/DIMMS estiverem instalados, retire-os e tente executar a máquina instalando cada SIMM ou DIMM individualmente para encontrar o modulo DIMM/SIMM problemático ou até mesmo encontrar uma combinação de módulos com problema.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Configurações over-otimizadas da placa-mãe: as configurações da BIOS e alguns jumpers da placa-mãe oferecem opções para definir vários intervalos de tempo. Os valores padrões geralmente são suficientes, mas, às vezes, a configuração dos estados de espera na RAM para valores muito baixos, ou a configuração da opção <quote>RAM Speed: Turbo</quote> causará um comportamento estranho. Uma ideia válida é restaurar a configuração padrão da BIOS, depois é claro de anotar as configurações atuais.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Fonte com potência insuficiente para energizar a placa-mãe: Remova qualquer placa de I/O não utilizada, discos rígidos ou CD-ROMs, desconectando o cabo de alimentação deles para ver se a fonte de alimentação pode gerenciar uma carga menor. Ou utilize outra fonte de alimentação, de preferência uma com um pouco mais de potência. Por exemplo, se a fonte de alimentação atual é recomendada para uma carga de 250 Watts, tente uma que seja recomendada para uma carga de 300 Watts.</para>
|
||
</listitem>
|
||
</orderedlist>
|
||
|
||
<para>Leia a seção sobre o <link linkend="signal11">Signal 11</link> para obter maiores explicações e a discussão sobre como um software ou hardware de teste de memória ainda pode deixar passar uma memória defeituosa. Existe uma extensa <acronym>FAQ</acronym> sobre o problema do SIG11 disponível <link xlink:href="http://www.bitwizard.nl/sig11/">neste link</link>.</para>
|
||
|
||
<para>Por fim, se nada disso ajudou, trata-se possivelmente de um bug no FreeBSD. Siga <link linkend="access-pr">estas instruções</link> para enviar um relatório de problemas.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="trap-12-panic">
|
||
<para>Meu sistema trava com <errorname>Fatal trap 12: page fault in kernel mode</errorname> ou <errorname>panic:</errorname>, e mostra um monte de informações. O que devo fazer?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Os desenvolvedores do FreeBSD estão interessados nesses erros, mas precisam de mais informações do que apenas a mensagem de erro. Copie a mensagem completa da falha. Em seguida, consulte a seção <acronym>FAQ</acronym> em <link linkend="kernel-panic-troubleshooting">kernel panics</link>, compile um kernel de depuração e obtenha um backtrace. Isso pode parecer difícil, mas não requer nenhuma habilidade de programação. Apenas siga as instruções.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="proc-table-full">
|
||
<para>Qual é o significado do erro <errorname>maxproc limit exceeded by uid %i, please see tuning(7) and login.conf(5)</errorname>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O kernel do FreeBSD permitirá que apenas um certo número de processos exista ao mesmo tempo. O número é baseado na variável <varname>kern.maxusers</varname> do <citerefentry><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>. O valor da variável <varname>kern.maxusers</varname> também afeta vários outros limites dentro do kernel, como por exemplo os buffers de rede. Se a máquina estiver muito carregada, aumente o <varname>kern.maxusers</varname>. Isso aumentará esses outros limites do sistema além do número máximo de processos.</para>
|
||
|
||
<para>Para ajustar o valor da variável <varname>kern.maxusers </varname>, consulte a seção <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/configtuning-kernel-limits.html#kern-maxfiles">Limites de Arquivos / Processos</link> do Handbook. Apesar desta seção se referir a arquivos abertos, os mesmos limites se aplicam aos processos.</para>
|
||
|
||
<para>Se a máquina estiver levemente carregada, mas executando um número muito grande de processos, ajuste o valor do <varname>kern.maxproc</varname> definindo-o no arquivo <filename>/boot/loader.conf</filename>. O ajuste não terá efeito até que o sistema seja reinicializado. Para mais informações sobre o tuning de variáveis, consulte o manual do <citerefentry><refentrytitle>loader.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>. Se esses processos estiverem sendo executados por um único usuário, ajuste o <varname>kern.maxprocperuid</varname> para que fique menor em 1 unidade do novo valor do <varname>kern.maxproc</varname>. Ele deve ser pelo menos uma unidade menor porque o programa do sistema, <citerefentry><refentrytitle>init</refentrytitle><manvolnum>8</manvolnum></citerefentry>, deve estar sempre em execução.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="remote-fullscreen">
|
||
<para>Por que aplicativos de tela cheia em máquinas remotas se comportam de forma errática?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>A máquina remota pode estar configurando o tipo de terminal para algo diferente de <literal> xterm </literal>, que é o tipo requerido pelo console do FreeBSD. Alternativamente, o kernel pode ter valores errados para a largura e a altura do terminal.</para>
|
||
|
||
<para>Verifique se o valor da variável de ambiente <envar>TERM</envar> é <literal>xterm</literal>. Se a máquina remota não suportar isso, tente<literal>vt100</literal>.</para>
|
||
|
||
<para>Execute o <command>stty -a</command> para verificar o que o kernel acha que são as dimensões do terminal. Se estiverem incorretos, eles podem ser alterados executando <command>stty rows<replaceable>RR</replaceable>cols<replaceable>CC</replaceable></command>.</para>
|
||
|
||
<para>Alternativamente, se a máquina do cliente tiver o <package>x11/xterm</package> instalado, a execução do <command>resize</command> consultará o terminal para as dimensões corretas e as definirá.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="connection-delay">
|
||
<para>Por que demora tanto para conectar ao meu computador via <command>ssh</command> ou <command>telnet</command>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O sintoma: há um longo atraso entre o momento em que a conexão TCP é estabelecida e a hora em que o software cliente solicita uma senha (ou, no caso do <citerefentry><refentrytitle>telnet</refentrytitle><manvolnum>1</manvolnum></citerefentry>, quando um prompt de login aparece).</para>
|
||
|
||
<para>O problema: mais provável do que não, o atraso é causado pelo software do servidor tentando resolver o endereço IP do cliente em um nome de host. Muitos servidores, incluindo os servidores <application>Telnet</application> e <application>SSH</application> que vêm com o FreeBSD, fazem isso para armazenar o nome do host em um arquivo de log para referência futura pelo administrador.</para>
|
||
|
||
<para>A solução: se o problema ocorrer sempre, independente do servidor ao que o computador cliente se conecta, o problema está no cliente. Se o problema ocorrer apenas quando o computador cliente se conecta a um determinado servidor, o problema está no servidor.</para>
|
||
|
||
<para>Se o problema for com o cliente, a única solução é corrigir o DNS para que o servidor possa resolvê-lo. Se isso estiver ocorrendo em uma rede local, considere um problema no servidor e continue lendo. Se isso estiver ocorrendo na Internet, entre em contato com seu ISP.</para>
|
||
|
||
<para>Se o problema for com um servidor em uma rede local, configure o servidor para resolver as consultas de endereço para nome de host para o intervalo de endereços da rede local. Veja as páginas de manual para o <citerefentry><refentrytitle>hosts</refentrytitle><manvolnum>5</manvolnum></citerefentry> e o <citerefentry><refentrytitle>named</refentrytitle><manvolnum>8</manvolnum></citerefentry> para maiores informações. Se o problema for com um servidor na Internet, o problema pode ser que o resolver local do servidor não está funcionando corretamente. Para verificar se é isto, tente procurar outro host, como <systemitem>www.yahoo.com</systemitem>. Se isso não funcionar, este é o problema.</para>
|
||
|
||
<para>Após uma nova instalação do FreeBSD, também é possível que as informações do domínio e do servidor de nomes estejam faltando no <filename>/etc/resolv.conf</filename>. Isso geralmente causará um atraso no <application>SSH</application>, já que a opção <literal>UseDNS</literal> é definida como <literal>yes</literal> por padrão no <filename>/etc/ssh/sshd_config</filename>. Se isso estiver causando o problema, preencha as informações ausentes no arquivo <filename>/etc/resolv.conf</filename> ou configure a opção <literal>UseDNS</literal> para <literal>no</literal> no arquivo <filename>sshd_config</filename> como uma solução temporária.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="file-table-full">
|
||
<para>Por que a mensagem <errorname>file: table is full</errorname> aparece repetidamente no <citerefentry> <refentrytitle>dmesg</refentrytitle><manvolnum>8</manvolnum></citerefentry>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Essa mensagem de erro indica que o número de file descriptors disponíveis no sistema esgotaram. Consulte a informação sobre a variável <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/configtuning-kernel-limits.html#kern-maxfiles">kern.maxfiles</link> na seção <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/configtuning-kernel-limits.html"> Ajustando os Limites do Kernel </link> do Handbook para uma discussão e solução.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="computer-clock-skew">
|
||
<para>Por que o relógio do meu computador mantém-se com o horário incorreto?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O computador tem dois ou mais relógios e o FreeBSD escolheu usar o errado.</para>
|
||
|
||
<para>Execute o comando <citerefentry><refentrytitle>dmesg</refentrytitle><manvolnum>8</manvolnum></citerefentry> e verifique as linhas que contêm a palavra <literal>Timecounter</literal>. Aquele com o maior valor de quality é o que o FreeBSD escolheu.</para>
|
||
|
||
<screen><prompt>#</prompt> <userinput>dmesg | grep Timecounter</userinput>
|
||
Timecounter "i8254" frequency 1193182 Hz quality 0
|
||
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
|
||
Timecounter "TSC" frequency 2998570050 Hz quality 800
|
||
Timecounters tick every 1.000 msec</screen>
|
||
|
||
<para>Confirme isso verificando o valor da variável <varname>kern.timecounter.hardware</varname> no <citerefentry><refentrytitle>sysctl</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para>
|
||
|
||
<screen><prompt>#</prompt> <userinput>sysctl kern.timecounter.hardware</userinput>
|
||
kern.timecounter.hardware: ACPI-fast</screen>
|
||
|
||
<para>Pode ser um timer ACPI quebrado. A solução mais simples é desabilitar o timer ACPI no arquivo <filename>/boot/loader.conf</filename>:</para>
|
||
|
||
<programlisting>debug.acpi.disabled="timer"</programlisting>
|
||
|
||
<para>Ou a BIOS poderá modificar o relógio TSC - talvez para mudar a velocidade do processador quando estiver funcionando a partir de baterias, ou quando estiver entrando em modo de economia de energia, mas o FreeBSD não tem conhecimento desses ajustes e parece ganhar ou perder tempo.</para>
|
||
|
||
<para>Neste exemplo, o relógio <literal>i8254</literal> também está disponível e pode ser selecionado alterando-se a variável <varname>kern.timecounter.hardware</varname> do <citerefentry><refentrytitle>sysctl</refentrytitle><manvolnum>3</manvolnum></citerefentry>.</para>
|
||
|
||
<screen><prompt>#</prompt> <userinput>sysctl kern.timecounter.hardware=i8254</userinput>
|
||
kern.timecounter.hardware: TSC -> i8254</screen>
|
||
|
||
<para>O computador agora deve começar a manter seu relógio mais preciso.</para>
|
||
|
||
<para>Para que essa mudança seja executada automaticamente no momento da inicialização, adicione a seguinte linha ao arquivo <filename>/etc/sysctl.conf</filename>:</para>
|
||
|
||
<programlisting>kern.timecounter.hardware=i8254</programlisting>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="indefinite-wait-buffer">
|
||
<para>O que significa o erro <errorname>swap_pager: indefinite wait buffer:</errorname>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Isso significa que um processo está tentando armazenar em memória RAM a memória do disco (swap), e que o processo foi interrompido depois de tentar sem sucesso acessar o disco por mais de 20 segundos. Isso pode ser causado por blocos defeituosos na unidade de disco, fiação de disco defeituosa, cabos ou qualquer outro hardware relacionado a I/O de disco. Se a própria unidade estiver com problemas, erros de disco aparecerão em <filename>/var/log/messages</filename> e na saída do comando <command>dmesg</command>. Caso contrário, verifique os cabos e conexões.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="lock-order-reversal">
|
||
<para>O que é um <errorname>lock order reversal</errorname> (inversão de ordem de bloqueio)?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O kernel do FreeBSD usa vários locks de recursos para arbitrar a contenção de certos recursos. Quando várias threads do kernel tentam obter vários locks de recursos, há sempre o potencial para um impasse (deadlock), em que duas threads obtiveram cada uma um dos locks e trava para sempre esperando que a outra thread libere um dos outros locks. Esse tipo de problema de locking pode ser evitado se todas as threads obtiverem os locks na mesma ordem.</para>
|
||
|
||
<para>Um sistema de diagnóstico lock em tempo de execução chamado <citerefentry><refentrytitle>witness</refentrytitle><manvolnum>4</manvolnum></citerefentry>, ativado no FreeBSD-CURRENT e desabilitado por padrão para a branch stable e releases, detecta o potencial para deadlocks devido a erros de locking, incluindo erros causados pela obtenção de vários locks de recursos com uma ordem diferente de partes diferentes do kernel. O framework <citerefentry><refentrytitle>witness</refentrytitle><manvolnum>4</manvolnum></citerefentry> tenta detectar esse problema quando ele ocorre e relata isso imprimindo uma mensagem no console do sistema sobre um <errorname>lock order reversal</errorname> (geralmente também chamado de <acronym>LOR</acronym>).</para>
|
||
|
||
<para>É possível obter falsos positivos, uma vez que o <citerefentry><refentrytitle>witness</refentrytitle><manvolnum>4</manvolnum></citerefentry> é conservador. Um relatório positivo verdadeiro <emphasis>não</emphasis> significa que um sistema está travado; em vez disso, deve ser entendido como um aviso de que um deadlock poderia ter acontecido.</para>
|
||
|
||
<note>
|
||
<para>Os problemas de <acronym>LOR</acronym> tendem a ser consertados rapidamente, então verifique a lista de discussão do <link xlink:href="http://lists.FreeBSD.org/mailman/listinfo/freebsd-current">FreeBSD-CURRENT</link> antes de postar sobre um.</para>
|
||
</note>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="called-with-non-sleepable-locks-held">
|
||
<para>O que significa o erro <errorname>Called ... with the following non-sleepable locks held</errorname>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Isso significa que uma função que pode dormir foi chamada enquanto um lock mutex (ou outro unsleepable) era mantido.</para>
|
||
|
||
<para>A razão pela qual isso é um erro é porque os mutexes não devem ser mantidos por longos períodos de tempo; eles deveriam existir apenas para manter curtos períodos de sincronização. Este contrato de programação permite que os drivers de dispositivos usem mutexes para sincronizar com o resto do kernel durante as interrupções. As interrupções (no FreeBSD) podem não dormir. Por isso, é imperativo que nenhum subsistema bloqueie o kernel por um longo período mantendo um mutex ativo.</para>
|
||
|
||
<para>Para capturar tais erros, asserções podem ser adicionadas ao kernel que interage com o subsistema <citerefentry><refentrytitle>witness</refentrytitle><manvolnum>4</manvolnum></citerefentry> para emitir um aviso ou erro fatal (dependendo a configuração do sistema) quando uma chamada potencialmente de bloqueio é feita enquanto um mutex estiver sendo mantido.</para>
|
||
|
||
<para>Em resumo, tais avisos não são fatais, no entanto, com um timing infeliz, podem causar efeitos indesejáveis, desde um pequeno erro na capacidade de resposta do sistema até o seu travamento completo.</para>
|
||
|
||
<para>Para obter informações adicionais sobre locking no FreeBSD, consulte <citerefentry><refentrytitle>locking</refentrytitle><manvolnum>9</manvolnum></citerefentry>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="touch-not-found">
|
||
<para>Por que o <buildtarget>buildworld</buildtarget> / <buildtarget>installworld</buildtarget> morre com a mensagem <errorname>touch: not found</errorname>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Este erro não significa que o utilitário <citerefentry><refentrytitle>touch</refentrytitle><manvolnum>1</manvolnum></citerefentry> esteja ausente. O erro é provavelmente devido às datas dos arquivos que estão sendo definidos em algum momento no futuro. Se o relógio do CMOS estiver configurado para a hora local, execute <command>adjkerntz -i</command> para ajustar o relógio do kernel ao inicializar no modo de usuário único.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
</qandaset>
|
||
</chapter>
|
||
|
||
<chapter xml:id="applications">
|
||
<title>Aplicativos do Usuário</title>
|
||
|
||
<qandaset>
|
||
<qandaentry>
|
||
<question xml:id="user-apps">
|
||
<para>Onde estão todas as aplicações de usuário?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Consulte <link xlink:href="@@URL_RELPREFIX@@/ports/index.html"> a página de ports </link> para informações sobre os pacotes de software portados para o FreeBSD. A lista atualmente tem 24.000 aplicativos e está crescendo diariamente, então volte sempre para conferir ou assine a <link xlink:href="http://lists.FreeBSD.org/mailman/listinfo/freebsd-announce"> lista de discussão de anúncios do FreeBSD </link> para atualizações periódicas com as novidades.</para>
|
||
|
||
<para>A maioria dos ports deve funcionar em todas as versões suportadas do FreeBSD. Aqueles que não funcionam, estão especificamente sinalizados como tal. Cada vez que uma release do FreeBSD é construida, um snapshot da coleção de ports no momento da construção também é incluída no diretório <filename>ports/</filename>.</para>
|
||
|
||
<para>O FreeBSD suporta pacotes binários compactados para facilitar a instalação e desinstalação dos ports. Use o comando <citerefentry><refentrytitle>pkg</refentrytitle><manvolnum>7</manvolnum></citerefentry> para controlar a instalação de pacotes.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="how-do-download-ports-tree">
|
||
<para>Como faço para baixar a coleção de ports? Eu deveria estar usando o Subversion?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Qualquer um dos métodos listados aqui funciona:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>Use o portsnap para a maioria dos casos de uso. Consulte a seção <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/ports-using.html">Usando a coleção de ports</link> para obter instruções sobre como usar essa ferramenta .</para>
|
||
</listitem>
|
||
<listitem>
|
||
<para>Use o Subversion se for necessário a aplicação de patches customizados na árvore de ports. Consulte a seção <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/svn.html"> Usando o Subversion </link> para obter detalhes.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="java">
|
||
<para>O FreeBSD suporta o <trademark>Java</trademark>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Sim. Consulte a página web <link xlink:href="@@URL_RELPREFIX@@/java/index.html">https://www.FreeBSD.org/java/</link> para mais informações.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="ports-4x">
|
||
<para>Por que não posso compilar esse port na minha máquina 10.<replaceable>X</replaceable> - ou 11.<replaceable>X</replaceable> -STABLE?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Se a versão do FreeBSD instalada estiver significativamente atrás do <emphasis>-CURRENT</emphasis> ou do <emphasis>-STABLE</emphasis>, atualize a coleção de ports usando as instruções disponíveis na seção <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/ports-using.html">Usando a coleção de ports</link>. Se o sistema estiver atualizado, alguém pode ter feito uma alteração no port que funciona para <emphasis>-CURRENT</emphasis> mas que quebrou o port para o <emphasis>-STABLE</emphasis>. <link xlink:href="https://bugs.FreeBSD.org/submit/">Envie</link> um relatório de bug, já que a Coleção de Ports deve funcionar tanto para o branch <emphasis>-CURRENT</emphasis> e quanto o <emphasis>-STABLE</emphasis>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="make-index">
|
||
<para>Acabei de tentar compilar o <filename>INDEX</filename> usando o comando <command>make index</command>, e ele falhou. Por quê?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Primeiro, certifique-se de que a Coleção de Ports esteja atualizada. Erros que afetam a compilação do <filename>INDEX</filename> a partir de uma cópia atualizada da coleção de ports são de alta visibilidade e, portanto, quase sempre são corrigidos imediatamente.</para>
|
||
|
||
<para>Existem casos raros em que o <filename>INDEX</filename> não será compilado devido a casos estranhos envolvendo a variável <varname>OPTIONS_SET</varname> sendo definida em <filename>make.conf</filename>. Se você suspeitar que este é o caso, tente fazer o <filename>INDEX</filename> com estas variáveis desativadas antes de reportar o erro para a <link xlink:href="http://lists.FreeBSD.org/mailman/listinfo/freebsd-ports">Lista de discussão de ports do FreeBSD</link>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="ports-update">
|
||
<para>Eu atualizei os fontes, agora como faço para atualizar meus ports instalados?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O FreeBSD não inclui uma ferramenta de atualização de ports, mas possui algumas ferramentas para facilitar o processo de atualização. Ferramentas adicionais estão disponíveis para simplificar o manuseio dos ports e são descritas na seção <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/ports-using.html">Atualizando Ports</link> no Handbook do FreeBSD .</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="ports-major-upgrade">
|
||
<para>Preciso recompilar todos os ports sempre que realizo uma atualização de versão principal?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Sim! Apesar de um sistema recente ser capaz de executar os softwares compilados em uma versão mais antiga, as coisas irão falhar aleatoriamente e deixar de funcionar quando outros ports forem instalados ou atualizados.</para>
|
||
|
||
<para>Quando o sistema é atualizado, várias bibliotecas compartilhadas, módulos carregáveis e outras partes do sistema serão substituídas por versões mais recentes. Os aplicativos vinculados às versões mais antigas podem não iniciar ou, em outros casos, não funcionar corretamente.</para>
|
||
|
||
<para>Para obter maiores informações, consulte a <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/updating-upgrading-freebsdupdate.html#freebsdupdate-upgrade">seção sobre atualizações</link> no Handbook do FreeBSD.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="ports-minor-upgrade">
|
||
<para>Preciso recompilar cada port toda vez que faço uma atualização de versão secundária?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Em geral, não. Os desenvolvedores do FreeBSD fazem o máximo para garantir compatibilidade binária em todos os releases com o mesmo número de versão principal. Quaisquer exceções serão documentadas nas Release Notes, e os conselhos dados lá devem ser seguidos.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="minimal-sh">
|
||
<para>Por que o <command>/bin/sh</command> é tão pequeno? Por que o FreeBSD não usa o <command>bash</command> ou outro shell?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Muitas pessoas precisam escrever shell scripts que serão portados para muitos sistemas. É por isso que o <trademark class="registered">POSIX</trademark> especifica os comandos shell e utilitários em grande detalhe. A maioria dos scripts são escritos em Bourne shell (<citerefentry><refentrytitle>sh</refentrytitle><manvolnum>1</manvolnum></citerefentry>) e porque várias interfaces de programação importantes (<citerefentry><refentrytitle>make</refentrytitle><manvolnum>1</manvolnum></citerefentry>, <citerefentry><refentrytitle>system</refentrytitle><manvolnum>3</manvolnum></citerefentry>, <citerefentry><refentrytitle>popen</refentrytitle><manvolnum>3</manvolnum></citerefentry> e análogos em linguagens de script de alto nível como Perl e Tcl) são especificados para usar o Bourne shell para interpretar comandos. Como o Bourne shell é usado com tanta frequência e em larga escala, é importante que ele seja iniciado rapidamente, que seja determinístico em seu comportamento e que ocupe o menor espaço possível na memória.</para>
|
||
|
||
<para>A implementação existente é resultado do nosso melhor esforço para atender simultaneamente o quanto pudermos desses requisitos. Para manter o <command>/bin/sh</command> pequeno, não fornecemos muitos dos recursos de conveniência que os outros shells possuem. É por isso que outras shells com mais recursos, como o <command>bash</command>, o <command>scsh</command>, o <citerefentry><refentrytitle>tcsh</refentrytitle><manvolnum>1</manvolnum></citerefentry>, e o <command>zsh</command> estão disponíveis. Compare a utilização de memória desses shells observando as colunas <quote> VSZ </quote> e <quote> RSS </quote> em uma listagem gerada com o comando <command>ps -u</command>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="midi-sound-files">
|
||
<para>Como faço para criar CDs de áudio dos meus arquivos MIDI?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Para criar CDs de áudio a partir de arquivos MIDI, primeiro instale o <package> audio/timidity++</package> a partir dos ports e instale manualmente os patches GUS criados por Eric A. Welsh, disponíveis em <uri xlink:href="http://alleg.sourceforge.net/digmid.html">http://alleg.sourceforge.net/digmid.html</uri>. Depois que o <application>TiMidity++</application> estiver corretamente instalado, os arquivos MIDI poderão ser convertidos em arquivos WAV com a seguinte linha de comando:</para>
|
||
|
||
<screen><prompt>%</prompt> <userinput>timidity -Ow -s 44100 -o /tmp/juke/01.wav 01.mid</userinput></screen>
|
||
|
||
<para>Os arquivos WAV podem ser convertidos para outros formatos ou gravados em CDs de áudio, conforme descrito no <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/creating-cds.html"> Handbook do FreeBSD</link>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
</qandaset>
|
||
</chapter>
|
||
|
||
<chapter xml:id="kernelconfig">
|
||
<title>Configuração do Kernel</title>
|
||
|
||
<qandaset>
|
||
<qandaentry>
|
||
<question xml:id="make-kernel">
|
||
<para>Eu gostaria de customizar meu kernel. É difícil?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>De modo nenhum! Confira a seção <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/kernelconfig.html">configuração do kernel do Handbook</link>.</para>
|
||
|
||
<note>
|
||
<para>O novo <filename>kernel</filename> será instalado no diretório <filename>/boot/kernel</filename> junto com os seus módulos, enquanto o kernel antigo e seus módulos serão movidos para o diretório <filename>/boot/kernel.old</filename>. Se um erro for cometido na configuração, basta inicializar utilizando a versão anterior do kernel.</para>
|
||
</note>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="why-kernel-big">
|
||
<para>Por que meu kernel é tão grande?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Os kernels <literal>GENERIC</literal> enviados com o FreeBSD são compilados com o <emphasis>modo de depuração</emphasis> habilitado. Kernels compilados no modo de depuração contêm dados de depuração em arquivos separados que são usados para depuração. Versões do FreeBSD anteriores a 11.0 armazenam esses arquivos de depuração no mesmo diretório que o próprio kernel, <filename>/boot/kernel/</filename>. No FreeBSD 11.0 e posterior, os arquivos de depuração são armazenados em <filename>/usr/lib/debug/boot/kernel/</filename>. Observe que haverá pouca ou nenhuma perda de desempenho ao executar um kernel com o modo de depuração habilitado, e é útil manter um por perto em caso de panic no sistema.</para>
|
||
|
||
<para>Quando estiver com pouco espaço em disco, existem diferentes opções para reduzir o tamanho de <filename>/boot/kernel/</filename> e <filename>/usr/lib/debug/</filename>.</para>
|
||
|
||
<para>Para não instalar os arquivos de símbolos, certifique-se que a seguinte linha existe em <filename>/etc/src.conf</filename>:</para>
|
||
|
||
<programlisting>WITHOUT_KERNEL_SYMBOLS=yes</programlisting>
|
||
|
||
<para>Para mais informações veja <citerefentry><refentrytitle>src.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
|
||
|
||
<para>Se você quiser evitar completamente a criação de arquivos de depuração, certifique-se de que ambos os itens a seguir sejam verdadeiros:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>Esta linha não existe no arquivo de configuração do kernel:</para>
|
||
|
||
<programlisting>makeoptions DEBUG=-g</programlisting>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Não execute o comando <citerefentry><refentrytitle>config</refentrytitle><manvolnum>8</manvolnum></citerefentry> com a opção <option>-g</option>.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
|
||
<para>Qualquer uma das configurações acima fará com que o kernel seja construído com suporte ao modo de depuração.</para>
|
||
|
||
<para>Para construir e instalar somente os módulos desejados, liste-os em <filename>/etc/make.conf</filename>:</para>
|
||
|
||
<programlisting>MODULES_OVERRIDE= <replaceable>accf_http ipfw</replaceable></programlisting>
|
||
|
||
<para>Substitua <emphasis>accf_httpd ipfw</emphasis> com a lista dos módulos que precisa. Apenas os módulos listados serão compilados. Isso reduz o tamanho do diretório do kernel e diminui o tempo necessário para compilar o kernel. Para mais informações, leia <filename>/usr/share/examples/etc/make.conf</filename>.</para>
|
||
|
||
<para>Dispositivos desnecessários podem ser removidos do kernel para reduzir ainda mais o tamanho. Veja <xref linkend="make-kernel"/> para mais informações.</para>
|
||
|
||
<para>Para colocar qualquer uma dessas opções em vigor, siga as instruções para <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/kernelconfig-building.html">compilar e instalar</link> um novo kernel.</para>
|
||
|
||
<para>Para referência, o kernel amd64 do FreeBSD 11 (<filename>/boot/kernel/kernel</filename>) é de aproximadamente 25 MB.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="generic-kernel-build-failure">
|
||
<para>Por que todo kernel que eu tento construir falha ao compilar, até mesmo o <filename>GENERIC</filename>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Há várias causas possíveis para esse problema:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>A o código fonte de origem é diferente do usado para construir o sistema atualmente em execução. Ao tentar uma atualização, leia o arquivo <filename>/usr/src/UPDATING</filename>, prestando atenção especial à seção <quote>ITENS COMUNS</quote> no final.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para xml:lang="en">The <command>make buildkernel</command> did not
|
||
complete successfully. The <command>make
|
||
buildkernel</command> target relies on files
|
||
generated by the <command>make buildworld</command>
|
||
target to complete its job correctly.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Mesmo quando estiver compilando o <link linkend="stable">FreeBSD-STABLE</link>, é possível que o código fonte tenha sido obtido em um momento em que estava sendo modificado ou em que estava quebrado. Somente os releases possuem a garantia de que podem ser compilados, apesar do <link linkend="stable">FreeBSD-STABLE</link> compilar corretamente na maioria das vezes. Tente atualizar novamente o código fonte e veja se o problema desaparece. Tente usar um servidor de distribuição diferente, caso o anterior esteja com problemas.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="scheduler-in-use">
|
||
<para>Qual agendador está em uso em um sistema em execução?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O nome do agendador que atualmente sendo usado está diretamente disponível como o valor da variavel <varname>kern.sched.name</varname> do sysctl:</para>
|
||
|
||
<screen><prompt>%</prompt> sysctl <replaceable>kern.sched.name</replaceable>
|
||
kern.sched.name: ULE</screen>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="scheduler-kern-quantum">
|
||
<para>O que é o <varname>kern.sched.quantum</varname>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>A variável <varname>kern.sched.quantum</varname> define o número máximo de pulsos que um processo pode executar sem ser "preempted" no scheduler 4BSD.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
</qandaset>
|
||
</chapter>
|
||
|
||
<chapter xml:id="disks">
|
||
<title>Discos, sistemas de arquivos e boot loaders</title>
|
||
|
||
<qandaset>
|
||
<qandaentry>
|
||
<question xml:id="adding-disks">
|
||
<para>Como posso adicionar o meu novo disco rígido ao meu sistema FreeBSD?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Veja a seção <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/disks-adding.html">Adicionando Discos</link> no Handbook do FreeBSD.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="new-huge-disk">
|
||
<para>Como faço para mover meu sistema para o meu novo disco enorme?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>A melhor maneira é reinstalar o sistema operacional no novo disco e depois passar os dados do usuário. Isto é altamente recomendado ao seguir o <emphasis>-STABLE</emphasis> por mais de uma release ou ao atualizar uma release ao invés de instalar uma nova. Instale o booteasy em ambos os discos com <citerefentry><refentrytitle>boot0cfg</refentrytitle><manvolnum>8</manvolnum></citerefentry> e use a opção de dual boot até que esteja satisfeito com a nova configuração. Pule o próximo parágrafo para descobrir como mover os dados depois de fazer isso.</para>
|
||
|
||
<para>Alternativamente, particione e rotule o novo disco utilizando o <citerefentry><refentrytitle>sade</refentrytitle><manvolnum>8</manvolnum></citerefentry> ou o <citerefentry><refentrytitle>gpart</refentrytitle><manvolnum>8</manvolnum></citerefentry>. Se os discos forem formatados com MBR, o booteasy pode ser instalado em ambos os discos utilizando-se o <citerefentry><refentrytitle>boot0cfg</refentrytitle><manvolnum>8</manvolnum></citerefentry> para que o computador possa inicializar dualmente com o antigo ou novo sistema após a conclusão da cópia.</para>
|
||
|
||
<para>Depois que o novo disco estiver configurado, os dados não podem ser simplesmente copiados. Em vez disso, use ferramentas que entendam device files e system flags, tais como o <citerefentry><refentrytitle>dump</refentrytitle><manvolnum>8</manvolnum></citerefentry>. Embora seja recomendado que você mova os dados com o sistema em modo single user, isto não é necessário.</para>
|
||
|
||
<para>Quando os discos estiverem formatados com <acronym>UFS</acronym>, nunca use nada além do <citerefentry><refentrytitle>dump</refentrytitle><manvolnum>8</manvolnum></citerefentry> e do <citerefentry><refentrytitle>restore</refentrytitle><manvolnum>8</manvolnum></citerefentry> para mover o sistema de arquivos raiz. Esses comandos também devem ser usados para mover uma única partição para uma outra partição vazia. A seqüência de etapas para usar o comando <command>dump</command> para mover os dados de uma partição <acronym>UFS</acronym> para uma nova partição é:</para>
|
||
|
||
<procedure>
|
||
<step>
|
||
<para>Execute o <command>newfs</command> na nova partição</para>
|
||
</step>
|
||
|
||
<step>
|
||
<para>Utilize o <command>mount</command> para disponibilizá-la em um ponto de montagem temporário.</para>
|
||
</step>
|
||
|
||
<step>
|
||
<para>Vá para o diretório desejado utilizando o comando <command> cd </command>.</para>
|
||
</step>
|
||
|
||
<step>
|
||
<para>Faça o <command> dump </command> da partição antiga e redirecione a saída para a nova.</para>
|
||
</step>
|
||
</procedure>
|
||
|
||
<para>Por exemplo, para mover <filename>/dev/ada1s1a</filename> tendo <filename>/mnt</filename> como o ponto de montagem temporário, digite:</para>
|
||
|
||
<screen><prompt>#</prompt> <userinput>newfs /dev/ada1s1a</userinput>
|
||
<prompt>#</prompt> <userinput>mount /dev/ada1s1a /mnt</userinput>
|
||
<prompt>#</prompt> <userinput>cd /mnt</userinput>
|
||
<prompt>#</prompt> <userinput>dump 0af - / | restore rf -</userinput></screen>
|
||
|
||
<para>Reorganizar as partições com o comando <command>dump</command> requer um pouco mais de trabalho. Para mesclar uma partição como <filename>/var</filename> com a partição pai, crie uma nova partição grande o suficiente para conter ambas, mova a partição pai conforme descrito acima e mova a partição filha para o diretório vazio criado pela primeira movimentação:</para>
|
||
|
||
<screen><prompt>#</prompt> <userinput>newfs /dev/ada1s1a</userinput>
|
||
<prompt>#</prompt> <userinput>mount /dev/ada1s1a /mnt</userinput>
|
||
<prompt>#</prompt> <userinput>cd /mnt</userinput>
|
||
<prompt>#</prompt> <userinput>dump 0af - / | restore rf -</userinput>
|
||
<prompt>#</prompt> <userinput>cd var</userinput>
|
||
<prompt>#</prompt> <userinput>dump 0af - /var | restore rf -</userinput></screen>
|
||
|
||
<para>Para separar um diretório do seu pai, digamos colocar <filename>/var</filename> em sua própria partição quando não era antes, crie as duas partições, monte a partição filho no diretório apropriado no ponto de montagem temporário e mova a antiga partição única:</para>
|
||
|
||
<screen><prompt>#</prompt> <userinput>newfs /dev/ada1s1a</userinput>
|
||
<prompt>#</prompt> <userinput>newfs /dev/ada1s1d</userinput>
|
||
<prompt>#</prompt> <userinput>mount /dev/ada1s1a /mnt</userinput>
|
||
<prompt>#</prompt> <userinput>mkdir /mnt/var</userinput>
|
||
<prompt>#</prompt> <userinput>mount /dev/ada1s1d /mnt/var</userinput>
|
||
<prompt>#</prompt> <userinput>cd /mnt</userinput>
|
||
<prompt>#</prompt> <userinput>dump 0af - / | restore rf -</userinput></screen>
|
||
|
||
<para>Os utilitários <citerefentry><refentrytitle>cpio</refentrytitle><manvolnum>1</manvolnum></citerefentry> e <citerefentry><refentrytitle>pax</refentrytitle><manvolnum>1</manvolnum></citerefentry> também estão disponíveis para mover dados do usuário. Estes comandos são conhecidos por perder as flags com as informações dos arquivo, portanto, use-os com cuidado.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="safe-softupdates">
|
||
<para>Quais partições podem usar com segurança o Soft Updates? Ouvi dizer que o uso de Soft Updates no <filename>/</filename> pode causar problemas. E quanto ao Journaled Soft Updates?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Resposta curta: Soft Updates geralmente podem ser usados com segurança em todas as partições.</para>
|
||
|
||
<para>Resposta longa: o Soft Updates possui duas características que podem ser indesejáveis em determinadas partições. Primeiro, uma partição com Soft Updates tem uma pequena chance de perder dados durante uma falha do sistema. A partição não será corrompida, pois os dados serão simplesmente perdidos. Em segundo lugar, o uso de Soft Updates pode causar escassez temporária de espaço.</para>
|
||
|
||
<para>Ao usar o Soft Updates, o kernel pode levar até trinta segundos para gravar alterações no disco físico. Quando um arquivo grande é excluído, o arquivo ainda reside no disco até que o kernel execute a exclusão. Isso pode causar uma "race condition" muito simples. Suponha que um arquivo grande seja excluído e outro arquivo grande seja criado imediatamente. O primeiro arquivo grande ainda não foi removido do disco físico, portanto, o disco pode não ter espaço suficiente para o segundo arquivo grande. Isso produzirá um erro de que a partição não tem espaço suficiente, mesmo que um grande espaço tenha acabado de ser liberado. Alguns segundos depois, a criação do arquivo funciona conforme o esperado.</para>
|
||
|
||
<para>Se um sistema travar depois que o kernel tiver aceito um bloco de dados para gravar no disco, mas antes que os dados sejam realmente gravados, os dados poderão ser perdidos. Esse risco é extremamente pequeno, e geralmente gerenciável.</para>
|
||
|
||
<para>Esses problemas afetam todas as partições usando as Soft Updates. Então, o que isso significa para a partição raiz?</para>
|
||
|
||
<para>Informações vitais sobre a partição raiz mudam muito raramente. Se o sistema travar dentro da janela de 30 segundos depois de uma alteração ter sido feita, é possível que os dados possam ser perdidos. Esse risco é insignificante para a maioria dos aplicativos, mas esteja ciente de que existe. Se o seu sistema não puder tolerar este risco, não use as Soft Updates no sistema de arquivos raiz!</para>
|
||
|
||
<para>O <filename>/</filename> é tradicionalmente uma das menores partições. Se o <filename>/tmp</filename> estiver localizado dentro do <filename>/</filename>, pode haver problemas intermitentes de falta de espaço. A criação de um link simbólico apontando o <filename>/tmp</filename> para <filename>/var/tmp</filename> resolverá esse problema.</para>
|
||
|
||
<para>Por fim, o <citerefentry><refentrytitle>dump</refentrytitle><manvolnum>8</manvolnum></citerefentry> não funciona no modo live (-L) em um sistema de arquivos, com Journaled Soft Updates (<acronym>SU + J</acronym>).</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="mount-foreign-fs">
|
||
<para>Posso acessar outros sistemas de arquivos não-nativos do FreeBSD?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O FreeBSD suporta uma variedade de outros sistemas de arquivos.</para>
|
||
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term>UFS</term>
|
||
|
||
<listitem>
|
||
<para>Os CD-ROMs UFS podem ser montados diretamente no FreeBSD. Montar partições de disco do Digital UNIX e de outros sistemas que suportam o UFS pode ser mais complexo, dependendo dos detalhes do particionamento do disco para o sistema operacional em questão.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>ext2/ext3</term>
|
||
|
||
<listitem>
|
||
<para>O FreeBSD suporta partições <literal>ext2fs</literal> e <literal>ext3fs</literal>. Veja <citerefentry><refentrytitle>ext2fs</refentrytitle><manvolnum>5</manvolnum></citerefentry> para mais informações.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>NTFS</term>
|
||
|
||
<listitem>
|
||
<para>O suporte ao NTFS baseia-se no FUSE está disponível como um port (<package>sysutils/fusefs-ntfs</package>). Para mais informações, consulte <link xlink:href="http://www.tuxera.com/community/ntfs-3g-manual/"><application>ntfs-3g</application></link>.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>FAT</term>
|
||
|
||
<listitem>
|
||
<para>O FreeBSD inclui um driver FAT de leitura-gravação. Para obter mais informações, consulte <citerefentry><refentrytitle>mount_msdosfs</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
|
||
<varlistentry>
|
||
<term>ZFS</term>
|
||
|
||
<listitem>
|
||
<para>O FreeBSD inclui um port do driver ZFS da <trademark>Sun</trademark>. A recomendação atual é usá-lo apenas em plataformas amd64 com memória suficiente. Para obter mais informações, consulte <citerefentry><refentrytitle>zfs</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
|
||
<para>O FreeBSD inclui o sistema de arquivos de rede <acronym>NFS</acronym> e a Coleção de Ports do FreeBSD fornece vários aplicativos FUSE para suportar muitos outros sistemas de arquivos.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="mount-dos">
|
||
<para>Como faço para montar uma partição secundária do DOS?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>As partições secundárias do DOS são encontradas depois de <emphasis>todas</emphasis> as partições primárias. Por exemplo, se <literal>E</literal> for a segunda partição DOS na segunda unidade SCSI, haverá um arquivo de dispositivo para a <quote>slice 5</quote> em <filename>/dev</filename>. Para montá-lo:</para>
|
||
|
||
<screen><prompt>#</prompt> <userinput>mount -t msdosfs /dev/da1s5 /dos/e</userinput></screen>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="crypto-file-system">
|
||
<para>Existe um sistema de arquivos criptográficos para o FreeBSD?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Sim, o <citerefentry><refentrytitle>gbde</refentrytitle><manvolnum>8</manvolnum></citerefentry> e o <citerefentry><refentrytitle>geli</refentrytitle><manvolnum>8</manvolnum></citerefentry>. Consulte a seção <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/disks-encrypting.html">Partições de Disco com Criptografia</link> do Handbook do FreeBSD.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="grub-loader">
|
||
<para>Como inicializo o FreeBSD e o <trademark class="registered"> Linux </trademark> utilizando o <application>GRUB</application>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Para inicializar o FreeBSD usando o <application>GRUB</application>, adicione o seguinte ao <filename>/boot/grub/menu.lst</filename> ou ao <filename> /boot/grub/grub.conf</filename>, dependendo de qual é usado pela sua distribuição <trademark class="registered"> Linux </trademark>.</para>
|
||
|
||
<programlisting>title FreeBSD 9.1
|
||
root <replaceable>(hd0,a)</replaceable>
|
||
kernel /boot/loader</programlisting>
|
||
|
||
<para>No qual <replaceable>hd0,a</replaceable> aponta para a partição raiz no primeiro disco. Para especificar o número da slice, use algo como isto <replaceable>(hd0,2,a)</replaceable>. Por padrão, se o número da slice for omitido, o <application>GRUB</application> pesquisará a primeira slice que tiver a partição <literal>a</literal>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="booteasy-loader">
|
||
<para>Como inicializo o FreeBSD e o <trademark class="registered">Linux</trademark> usando o <application>BootEasy?</application></para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Instale o LILO no início da partição de inicialização <trademark class="registered">Linux</trademark> em vez de no Master Boot Record. Você poderá então inicializar o LILO a partir do <application>BootEasy</application>.</para>
|
||
|
||
<para>Isto é recomendado ao executar o <trademark class="registered">Windows</trademark> e o <trademark class="registered">Linux</trademark>, pois torna mais fácil fazer o <trademark class="registered">Linux</trademark> inicializar novamente se o <trademark class="registered">Windows</trademark> for reinstalado.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="changing-bootprompt">
|
||
<para>Como faço para alterar o prompt de inicialização de <literal>???</literal> para algo mais significativo?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Isso não pode ser feito com o gerenciador de inicialização padrão sem reescrevê-lo. Há vários outros gerenciadores de inicialização na categoria <filename>sysutils</filename> da coleção de ports.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="removable-drives">
|
||
<para>Como faço para usar uma nova unidade removível?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Se a unidade já tiver um sistema de arquivos, use um comando como este:</para>
|
||
|
||
<screen><prompt>#</prompt> <userinput>mount -t msdosfs /dev/da0s1 /mnt</userinput></screen>
|
||
|
||
<para>Se a unidade só for usada com sistemas FreeBSD, particione-a com <acronym>UFS</acronym> ou <acronym>ZFS</acronym>. Isso fornecerá suporte a nomes longos de arquivo, melhoria no desempenho e na estabilidade. Se a unidade for usada por outros sistemas operacionais, uma escolha mais portátil, como por exemplo o msdosfs, será mais apropriada.</para>
|
||
|
||
<screen><prompt>#</prompt> <userinput>dd if=/dev/zero of=/dev/da0 count=2</userinput>
|
||
<prompt>#</prompt> <userinput>gpart create -s GPT /dev/da0</userinput>
|
||
<prompt>#</prompt> <userinput>gpart add -t freebsd-ufs /dev/da0</userinput></screen>
|
||
|
||
<para>Finalmente, crie um novo sistema de arquivos:</para>
|
||
|
||
<screen><prompt>#</prompt> <userinput>newfs /dev/da0p1</userinput></screen>
|
||
|
||
<para>e monte-o:</para>
|
||
|
||
<screen><prompt>#</prompt> <userinput>mount /dev/da0s1 /mnt</userinput></screen>
|
||
|
||
<para>É uma boa ideia adicionar uma linha ao <filename>/etc/fstab</filename> (veja <citerefentry><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>) para que você possa digitar apenas <command>mount /mnt</command>no futuro:</para>
|
||
|
||
<programlisting>/dev/da0p1 /mnt ufs rw,noauto 0 0</programlisting>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="mount-cd-superblock">
|
||
<para>Por que recebo o erro <errorname>Incorrect super block</errorname> ao montar um CD?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O tipo de dispositivo a ser montado deve ser especificado. Isso está descrito no Handbook na seção <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/creating-cds.html#mounting-cd"> Usando CDs de Dados</link>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="cdrom-not-configured">
|
||
<para>Por que recebo o erro <errorname>Device not configured</errorname> ao montar um CD?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Isso geralmente significa que não há CD na unidade ou a unidade não está visível no barramento. Consulte a seção <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/creating-cds.html#mounting-cd"> Usando CDs de Dados</link> do Handbook para uma discussão detalhada desta questão.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="cdrom-unicode-filenames">
|
||
<para>Por que todos os caracteres não-ingleses em nomes de arquivos aparecem como <quote>?</quote> em meus CDs quando montados no FreeBSD?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O CD provavelmente usa a extensão <quote>Joliet</quote> para armazenar informações sobre arquivos e diretórios. Isso é discutido na seção <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/creating-cds.html#mounting-cd">Usando CD-ROMs de Dados</link> do Handbook.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="burncd-isofs">
|
||
<para>Um CD gravado no FreeBSD não pode ser lido sob nenhum outro sistema operacional. Por quê?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Isso significa que um raw file foi gravado no CD, em vez de criar um sistema de arquivos ISO 9660. Dê uma olhada na seção <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/creating-cds.html#mounting-cd">Usando <acronym> CD</acronym>s de Dados</link>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="copy-cd">
|
||
<para>Como posso criar uma imagem de um CD de dados?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Isso é discutido na seção Handbook sobre <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/creating-cds.html#mkisofs">como gravar dados em um sistema de arquivos <acronym>ISO</acronym> </link>. Para mais informações sobre como trabalhar com CD-ROMs, consulte a <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/creating-cds.html"> Seção Criando CDs </link> no capítulo sobre Armazenamento do Handbook.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="mount-audio-CD">
|
||
<para>Por que não consigo usar o comando <command>mount</command> com um CD de áudio?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Tentar montar um CD de áudio produzirá um erro do tipo <errorname>cd9660: /dev/cd0: Invalid argument</errorname>. Isso ocorre porque o comando <command>mount</command> só funciona em sistemas de arquivos. CDs de áudio não possuem sistemas de arquivos; eles têm apenas dados. Em vez disso, use um programa que leia CDs de áudio, como o pacote ou port <package>audio/xmcd</package>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="multi-session-CD">
|
||
<para>Como eu faço para usar o comando <command>mount</command> com um CD multi-sessão?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Por padrão, o <citerefentry><refentrytitle>mount</refentrytitle><manvolnum>8</manvolnum></citerefentry> tentará montar a última trilha de dados (sessão) de um CD. Para carregar uma sessão anterior, use o argumento de linha de comando <option>-s</option>. Consulte <citerefentry><refentrytitle>mount_cd9660</refentrytitle><manvolnum>8</manvolnum></citerefentry> para exemplos específicos.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="user-floppymount">
|
||
<para>Como posso permitir que usuários não privilegiados montem CD-ROMs, DVDs, unidades USB e outras mídias removíveis?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Como <systemitem class="username">root</systemitem>, defina a variável <varname>vfs.usermount</varname> do sysctl como <literal>1</literal>.</para>
|
||
|
||
<screen><prompt>#</prompt> <userinput>sysctl vfs.usermount=1</userinput></screen>
|
||
|
||
<para>Para tornar o ajuste permanente, adicione a linha <literal>vfs.usermount=1</literal> ao arquivo <filename>/etc/sysctl.conf</filename> para que a variável seja redefinids no momento da inicialização do sistema.</para>
|
||
|
||
<para>Os usuários só podem montar dispositivos para os quais tenham permissões de leitura. Para permitir que os usuários montem um dispositivo, as permissões devem ser definidas em <filename>/etc/devfs.conf</filename>.</para>
|
||
|
||
<para>Por exemplo, para permitir que os usuários montem a primeira unidade USB, adicione:</para>
|
||
|
||
<programlisting># Allow all users to mount a USB drive.
|
||
own /dev/da0 root:operator
|
||
perm /dev/da0 0666</programlisting>
|
||
|
||
<para>Todos os usuários agora podem montar dispositivos que eles podem ler em um diretório que eles possuem:</para>
|
||
|
||
<screen><prompt>%</prompt> <userinput>mkdir ~/my-mount-point</userinput>
|
||
<prompt>%</prompt> <userinput>mount -t msdosfs /dev/da0 ~/my-mount-point</userinput></screen>
|
||
|
||
<para>Desmontar o dispositivo é simples:</para>
|
||
|
||
<screen><prompt>%</prompt> <userinput>umount ~/my-mount-point</userinput></screen>
|
||
|
||
<para>Ativar a variável <varname>vfs.usermount</varname>, no entanto, tem implicações negativas de segurança. Uma maneira melhor de acessar uma mídia formatada para o <trademark class="registered">MS-DOS</trademark> é usar o pacote <package>emulators/mtools</package> da Coleção de Ports.</para>
|
||
|
||
<note>
|
||
<para>O nome do dispositivo usado nos exemplos anteriores deve ser alterado de acordo com a configuração.</para>
|
||
</note>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="du-vs-df">
|
||
<para>Os comandos <command>du</command> e <command>df</command> mostram informações diferentes sobre a quantia disponível de espaço em disco. O que está acontecendo?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Isso se deve ao modo como esses comandos realmente funcionam. O <command>du</command> passa pela árvore de diretórios, ele mede o tamanho de cada arquivo e apresenta os totais. O <command> df </command> apenas pergunta ao sistema de arquivos quanto espaço ainda resta. Eles parecem ser a mesma coisa, mas um arquivo sem uma entrada de diretório afetará <command>df</command> mas não <command>du</command>.</para>
|
||
|
||
<para>Quando um programa está usando um arquivo e o arquivo é excluído, o arquivo não é realmente removido do sistema de arquivos até que o programa pare de usá-lo. O arquivo é imediatamente excluído da listagem do diretório, no entanto. Como exemplo, considere um arquivo grande o suficiente para afetar a saída de <command>du</command> e <command>df</command>. Um arquivo sendo visualizado com <command> more </command> pode ser excluído sem causar um erro. A entrada é removida do diretório para que nenhum outro programa ou usuário possa acessá-la. No entanto, o <command>du</command> mostra que ele desapareceu, já que percorreu a árvore de diretórios e o arquivo não está mais listado. Já o <command>df</command> mostra que ele ainda está lá, pois o sistema de arquivos sabe que o comando <command>more</command> ainda está usando esse espaço. Quando a sessão do <command>more</command> terminar, o <command>du</command> e <command>df</command> apresentarão o mesmo resultado.</para>
|
||
|
||
<para>Essa situação é comum em servidores web. Muitas pessoas configuram um servidor web no FreeBSD e esquecem de rotacionar os arquivos de log. O log de acesso enche o <filename>/var</filename>. O administrador novato exclui o arquivo, mas o sistema ainda reclama que a partição está cheia. Parar e reiniciar o programa do servidor Web liberaria o arquivo, permitindo que o sistema liberasse o espaço em disco. Para evitar que isso aconteça, configure o <citerefentry><refentrytitle>newsyslog</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
|
||
|
||
<para>Observe que o Soft Updates pode atrasar a liberação de espaço em disco e pode levar até 30 segundos para que a alteração fique visível.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="add-swap-space">
|
||
<para>Como posso adicionar mais espaço de swap?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Esta seção <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/adding-swap-space.html">do Handbook</link> descreve como fazer isso.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="manufacturer-disk-size">
|
||
<para>Por que o FreeBSD vê meu disco como sendo menor do que o fabricante diz que ele é?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Os fabricantes de discos calculam gigabytes como um bilhão de bytes cada, enquanto o FreeBSD os calcula como 1.073.741.824 bytes cada. Isso explica por que, por exemplo, as mensagens de boot do FreeBSD reportarão um disco que supostamente tem 80 GB como contendo 76.319 MB.</para>
|
||
|
||
<para>Observe também que o FreeBSD irá (por padrão) <link linkend="disk-more-than-full">reservar</link> cerca de 8% do espaço em disco.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="disk-more-than-full">
|
||
<para>Como é possível que uma partição esteja com mais de 100% de ocupação?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Uma parte de cada partição UFS (8%, por padrão) é reservada para uso pelo sistema operacional e pelo usuário <systemitem class="username">root</systemitem>. O <citerefentry><refentrytitle>df</refentrytitle><manvolnum>1</manvolnum></citerefentry> não contabiliza esse espaço ao calcular a coluna <literal>Capacity</literal>, portanto, ela pode exceder 100%. Observe que a coluna <literal>Blocks</literal> é sempre maior que a soma das colunas <literal>Used</literal> e <literal>Avail</literal>, geralmente por um fator de 8%.</para>
|
||
|
||
<para>Para mais detalhes, procure prls opção <option>-m</option> em <citerefentry><refentrytitle>tunefs</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
</qandaset>
|
||
</chapter>
|
||
|
||
<chapter xml:id="all-about-zfs">
|
||
<title>ZFS</title>
|
||
|
||
<qandaset>
|
||
<qandaentry>
|
||
<question xml:id="how-much-ram-for-zfs">
|
||
<para>Qual é a quantidade mínima de RAM que um usuário deve ter para utilizar o ZFS?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>É necessário um mínimo de 4 GB de RAM para uso confortável, mas as cargas de trabalho individuais podem variar muito.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="what-is-zil">
|
||
<para>O que é o ZIL e quando ele é usado?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O <acronym>ZIL</acronym> (log de intenção do <acronym> ZFS </acronym>) é um log de gravação usado para implementar semânticas de compromisso de escrita posix entre travamentos. Normalmente, as gravações são agrupadas em grupos de transações e gravadas no disco quando preenchidas (<quote>Transaction Group Commit </quote>). No entanto, syscalls como <citerefentry><refentrytitle>fsync</refentrytitle><manvolnum>2</manvolnum></citerefentry> requerem um compromisso de que os dados são gravados no armazenamento estável antes de retornar. O ZIL é necessário para gravações que foram reconhecidas como gravadas, mas que ainda não estão no disco como parte de uma transação. Os grupos de transações contam com registro de data e hora. No caso de uma falha, o último registro de data e hora válido é encontrado e os dados ausentes são mesclados a partir do ZIL.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="need-ssd-for-zil">
|
||
<para>Preciso de um SSD para o ZIL?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Por padrão, o ZFS armazena o ZIL no pool com todos os demais dados. Se um aplicativo tiver uma carga de gravação pesada, o armazenamento do ZIL em um dispositivo separado e que tenha um desempenho de gravação sequencial síncrono muito rápido pode melhorar a performance do sistema de uma forma geral. Para outras cargas de trabalho, é improvável que um SSD consiga uma melhoria significativa.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="what-is-l2arc">
|
||
<para>O que é o L2ARC?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O <acronym>L2ARC</acronym> é um cache de leitura armazenado em um dispositivo rápido, como um <acronym>SSD</acronym>. Esse cache não é persistente nas reinicializações. Observe que a RAM é usada como a primeira camada de cache e o L2ARC só é necessário se a quantidade de memória RAM for insuficiente.</para>
|
||
|
||
<para>O L2ARC precisa de espaço no ARC para indexá-lo. Então, perversamente, um conjunto de trabalho que se encaixa perfeitamente no ARC não se encaixará mais perfeitamente se um L2ARC for usado porque parte do ARC estará mantendo o índice L2ARC, empurrando parte do conjunto de trabalho para o L2ARC que é mais lento que a RAM.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="should-enable-dedup">
|
||
<para>A ativação da funcionalidade de desduplicação é recomendável?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>De um modo geral, não.</para>
|
||
|
||
<para>A deduplicação ocupa uma quantidade significativa de RAM e pode tornar mais lento os tempos de acesso ao disco para leitura e gravação. A menos que um esteja armazenando dados muito duplicados, como imagens de máquinas virtuais ou backups de usuários, é possível que a deduplicação faça mais mal do que bem. Outra consideração é a incapacidade de reverter o status da deduplicação. Se os dados forem gravados quando a deduplicação estiver ativada, desabilitar a deduplicação não fará com que os blocos deduplicados sejam replicados até que sejam modificados em novamente.</para>
|
||
|
||
<para>A deduplicação também pode levar há algumas situações inesperadas. Em particular, a exclusão de arquivos pode se tornar muito mais lenta.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="zpool-fully-full">
|
||
<para>Não consigo excluir ou criar arquivos no meu pool do ZFS. Como posso consertar isso?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Isso pode acontecer porque o pool está 100% cheio. O ZFS requer espaço no disco para gravar metadados de transação. Para restaurar o pool para um estado utilizável, primeiro faça o truncate do arquivo que irá excluir:</para>
|
||
|
||
<screen><prompt>%</prompt> <userinput>truncate -s 0 unimportant-file</userinput></screen>
|
||
|
||
<para>O truncamento de arquivo funciona porque uma nova transação não é iniciada, novos blocos de reserva são criados.</para>
|
||
|
||
<note>
|
||
<para>Em sistemas que utilizam o ZFS com um dataset customizado, por exemplo com a funcionalidade de deduplicação ativada, o espaço pode não ficar disponível imediatamente.</para>
|
||
</note>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="zfs-ssd-trim">
|
||
<para>O ZFS suporta TRIM para unidades de estado sólido?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O suporte ao ZFS TRIM foi adicionado ao FreeBSD 10-CURRENT com revisão r<revnumber>240868</revnumber>. O suporte ao ZFS TRIM foi adicionado a todas as branchs do FreeBSD-STABLE na revisão r<revnumber>252162</revnumber> e r<revnumber>251419</revnumber>, respectivamente.</para>
|
||
|
||
<para>O ZFS TRIM é ativado por padrão e pode ser desativado adicionando-se esta linha ao arquivo <filename>/etc/sysctl.conf</filename>:</para>
|
||
|
||
<programlisting>vfs.zfs.trim_disable=1</programlisting>
|
||
|
||
<note>
|
||
<para>O ZFS TRIM pode não funcionar com todas as configurações, tal como um sistema de arquivos ZFS em um dispositivo com suporte a GELI.</para>
|
||
</note>
|
||
</answer>
|
||
</qandaentry>
|
||
</qandaset>
|
||
</chapter>
|
||
|
||
<chapter xml:id="admin">
|
||
<title>Administração do Sistema</title>
|
||
|
||
<qandaset>
|
||
<qandaentry>
|
||
<question xml:id="startup-config-files">
|
||
<para>Onde estão os arquivos de configuração de inicialização do sistema?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O arquivo de configuração principal é o <filename>/etc/defaults/rc.conf</filename>, o qual está descrito em <citerefentry><refentrytitle>rc.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>. Os scripts de inicialização do sistema, tais como <filename>/etc/rc</filename> e <filename>/etc/rc.d</filename>, que são descritos em <citerefentry><refentrytitle>rc</refentrytitle><manvolnum>8</manvolnum></citerefentry>, incluem este arquivo. <emphasis>Não edite este arquivo!</emphasis> Em vez disso, para editar uma entrada do <filename>/etc/default/rc.conf</filename>, copie a linha para o arquivo <filename>/etc/rc.conf</filename> e altere-a lá.</para>
|
||
|
||
<para>Por exemplo, se para iniciar <citerefentry><refentrytitle>named</refentrytitle><manvolnum>8</manvolnum></citerefentry>, o servidor DNS incluído:</para>
|
||
|
||
<screen><prompt>#</prompt> <userinput>echo 'named_enable="YES"' >> /etc/rc.conf</userinput></screen>
|
||
|
||
<para>Para iniciar serviços locais, coloque seus shell scripts no diretório <filename>/usr/local/etc/rc.d</filename>. Estes shell scripts devem estar definidos como executáveis, o modo de arquivo padrão é <literal>555</literal>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="adding-users">
|
||
<para>Como eu adiciono um usuário facilmente?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Use o comando <citerefentry> <refentrytitle> adduser </refentrytitle> <manvolnum> 8 </manvolnum> </citerefentry>, para as situações mais complexas utilize o comando <citerefentry> <refentrytitle> pw </refentrytitle> <manvolnum> 8 </manvolnum> </citerefentry>.</para>
|
||
|
||
<para>Para remover o usuário, use o comando <citerefentry><refentrytitle>rmuser</refentrytitle><manvolnum>8</manvolnum></citerefentry> ou, se necessário, o comando <citerefentry><refentrytitle>pw</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="root-not-found-cron-errors">
|
||
<para>Por que eu continuo recebendo mensagens como <errorname>root: not found</errorname> depois de editar o arquivo <filename>/etc/crontab</filename>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Isto normalmente é causado pela edição do crontab do sistema. Esta não é a maneira correta de fazer as coisas, pois o crontab do sistema tem um formato diferente dos crontabs por usuário. O crontab do sistema possui um campo extra, especificando qual usuário irá executar o comando. O <citerefentry><refentrytitle>cron</refentrytitle> <manvolnum>8</manvolnum></citerefentry> assume que este usuário é a primeira palavra do comando a ser executado. Como esse comando não existe, essa mensagem de erro é exibida.</para>
|
||
|
||
<para>Para excluir o crontab extra incorreto:</para>
|
||
|
||
<screen><prompt>#</prompt> <userinput>crontab -r</userinput></screen>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="su-wheel-group">
|
||
<para>Por que eu recebo o erro, <errorname>you are not in the correct group to su root</errorname> quando tento executar o comando <command>su</command> para o usuário <systemitem class="username">root</systemitem> ?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Este é um recurso de segurança. Para executar <command>su</command> para <systemitem class="username">root</systemitem>, ou qualquer outra conta com privilégios de superusuário, a conta do usuário deve ser um membro do grupo <systemitem class="groupname">wheel</systemitem>. Se este recurso não estivesse lá, qualquer pessoa com uma conta em um sistema e que também descobrisse a senha do <systemitem class="username">root</systemitem> seria capaz de obter acesso de nível de superusuário ao sistema.</para>
|
||
|
||
<para>Para permitir que alguém execute o comando <command>su</command> <systemitem class="username"> root </systemitem>, coloque-os no grupo <systemitem class="groupname">wheel</systemitem> usando o comando <command>pw</command>:</para>
|
||
|
||
<screen><prompt>#</prompt> <userinput>pw groupmod wheel -m lisa</userinput></screen>
|
||
|
||
<para>O exemplo acima adicionará o usuário <systemitem class="username"> lisa </systemitem> ao grupo <systemitem class="groupname"> wheel </systemitem>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="rcconf-readonly">
|
||
<para>Cometi um erro no <filename>rc.conf</filename>, ou outro arquivo de inicialização, e agora não posso editá-lo porque o sistema de arquivos está montado somente leitura. O que devo fazer?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Reinicie o sistema usando <userinput>boot -s</userinput> no prompt do loader para entrar no modo single user. Quando o sistema solicitar o caminho do shell, apenas pressione <keycap>Enter</keycap> e execute <command>mount -urw /</command> para remontar novamente o sistema de arquivos raiz no modo de leitura e gravação. Você também pode precisar executar o comando <command>mount -a -t ufs</command> para montar o sistema de arquivos no qual seu editor favorito é mantido. Se esse editor estiver em um sistema de arquivos de rede, configure a rede manualmente antes de montar os sistemas de arquivos de rede ou use um editor que resida em um sistema de arquivos local, tal como o <citerefentry><refentrytitle>ed</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para>
|
||
|
||
<para>Para usar um editor de tela inteira, tal como o <citerefentry><refentrytitle>vi</refentrytitle><manvolnum>1</manvolnum></citerefentry> ou <citerefentry vendor="ports"><refentrytitle>emacs</refentrytitle><manvolnum>1</manvolnum></citerefentry>, execute <command>export TERM=xterm</command> para que esses editores possam carregar os dados corretos do banco de dados do <citerefentry><refentrytitle>termcap</refentrytitle><manvolnum>5</manvolnum></citerefentry>.</para>
|
||
|
||
<para>Depois de executar estas etapas, edite o arquivo <filename>/etc/rc.conf</filename> para corrigir o erro de sintaxe. A mensagem de erro exibida imediatamente após as mensagens de inicialização do kernel deve indicar o número da linha no arquivo que está com erro.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="printer-setup">
|
||
<para>Por que estou tendo problemas para configurar minha impressora?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Consulte a seção sobre <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/printing.html">impressão</link> no Handbook do FreeBSD para dicas de soluções de problemas.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="keyboard-mappings">
|
||
<para>Como posso corrigir os mapeamentos de teclado para o meu sistema?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Consulte a seção <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/using-localization.html">usando localização</link> do Handbook, mais especificamente a seção sobre a <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/using-localization.html#setting-console"> configuração do console </link>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="user-quotas">
|
||
<para>Por que não consigo colocar as quotas de usuários para funcionar corretamente?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<orderedlist>
|
||
<listitem>
|
||
<para>É possível que o kernel não esteja configurado para usar quotas. Neste caso, adicione a seguinte linha ao arquivo de configuração do kernel e recompile o kernel:</para>
|
||
|
||
<programlisting>options QUOTA</programlisting>
|
||
|
||
<para>Consulte a <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/quotas.html"> seção do Handbook sobre quotas</link> para obter detalhes completos.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Não ative o uso de quotas na partição <filename>/</filename>.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Coloque o arquivo de quotas no sistema de arquivos para o qual quotas precisam ser aplicadas:</para>
|
||
|
||
<informaltable frame="none" pgwide="1">
|
||
<tgroup cols="2">
|
||
<thead>
|
||
<row>
|
||
<entry>Sistema de arquivo</entry>
|
||
|
||
<entry>Arquivo de quota</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>…</entry>
|
||
|
||
<entry>…</entry>
|
||
</row>
|
||
</tbody>
|
||
</tgroup>
|
||
</informaltable>
|
||
</listitem>
|
||
</orderedlist>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="sysv-ipc">
|
||
<para>O FreeBSD suporta System V IPC primitives?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Sim, o FreeBSD suporta o IPC no estilo do System V, incluindo memória compartilhada, mensagens e semáforos, no kernel <filename>GENERIC</filename>. Em um kernel personalizado, o suporte pode ser por meio do carregamento dos módulos de kernel <filename>sysvshm.ko</filename>, <filename>sysvsem.ko</filename> e <filename>sysvmsg.ko</filename>, ou habilitado de forma estática no kernel personalizado adicionando as seguintes linhas ao arquivo de configuração do mesmo:</para>
|
||
|
||
<programlisting>options SYSVSHM # enable shared memory
|
||
options SYSVSEM # enable for semaphores
|
||
options SYSVMSG # enable for messaging</programlisting>
|
||
|
||
<para>Recompile e instale o kernel.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="sendmail-alternative">
|
||
<para>Qual outro software de servidor de correio posso usar em substituição ao <application>Sendmail</application>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O servidor <link xlink:href="http://www.sendmail.org/"><application>Sendmail</application> </link> é o software de servidor de email padrão do FreeBSD, mas pode ser substituído por outro MTA instalado a partir da coleção de ports. Os ports disponíveis incluem o <package>mail/exim</package>, o <package>mail/postfix</package> e o <package>mail/qmail</package>. Procure informações nas listas de discussão sobre as vantagens e desvantagens dos MTAs disponíveis.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="forgot-root-pw">
|
||
<para>Esqueci a senha do <systemitem class="username">root</systemitem>! O que eu faço?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Não entre em pânico! Reinicie o sistema, digite <userinput>boot -s</userinput> no prompt <literal>Boot:</literal> para entrar no modo single user. Na pergunta sobre o shell a ser usado, pressione <keycap>Enter</keycap>, que será exibido um prompt <prompt>#</prompt>. Insira o comando <command>mount -urw /</command> para remontar o sistema de arquivos raiz no modo de leitura e gravação e, em seguida, execute o comando <command>mount -a</command> para remontar todos os sistemas de arquivos. Execute o comando <command>passwd root</command> para alterar a senha do usuário <systemitem class="username">root</systemitem> e então execute o comando <citerefentry><refentrytitle>exit</refentrytitle><manvolnum>1</manvolnum></citerefentry> para continuar a inicialização.</para>
|
||
|
||
<note>
|
||
<para>Se você ainda for solicitado a entrar com a senha do usuário <systemitem class="username">root</systemitem> ao entrar no modo single user único, isso significa que o console foi configurado como <literal>inseguro</literal> no arquivo <filename>/etc/ttys</filename>. Neste caso, será necessário inicializar a partir de um disco de instalação do FreeBSD, escolher o <guimenuitem>Live CD</guimenuitem> ou <guimenuitem>Shell</guimenuitem> no início do processo de instalação e executar os comandos mencionados acima. Monte a partição específica neste caso e, em seguida, execute o chroot para ela. Por exemplo, substitua <command>mount -urw /</command> por <command>mount /dev/ada0p1 /mnt; chroot /mnt</command> para um sistema em instalado em <replaceable>ada0p1</replaceable>.</para>
|
||
</note>
|
||
|
||
<note>
|
||
<para>Se a partição raiz não puder ser montada a partir do modo de usuário único, é possível que as partições estejam criptografadas e será impossível montá-las sem as chaves de acesso. Para obter mais informações, consulte a seção sobre discos criptografados no <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/disks-encrypting.html">Handbook</link> do FreeBSD.</para>
|
||
</note>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="CAD-reboot">
|
||
<para>Como evito que a combinação de teclas <keycombo action="simul"><keycap>Control</keycap><keycap>Alt</keycap><keycap>Delete</keycap></keycombo> reinicialize o sistema?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Se estiver utilizando o <citerefentry><refentrytitle>syscons</refentrytitle><manvolnum>4</manvolnum></citerefentry> que é o driver padrão de console, compile e instale um novo kernel que contenha esta linha no arquivo de configuração:</para>
|
||
|
||
<programlisting>options SC_DISABLE_REBOOT</programlisting>
|
||
|
||
<para>Isto também pode ser feito definindo a variável abaixo do <citerefentry><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>, este processo não requer uma reinicialização ou recompilação do kernel:</para>
|
||
|
||
<screen><prompt>#</prompt> <userinput>sysctl hw.syscons.kbd_reboot=0</userinput></screen>
|
||
|
||
<note>
|
||
<para>Os dois métodos acima são exclusivos: Esta variável do <citerefentry><refentrytitle>sysctl</refentrytitle><manvolnum>8</manvolnum></citerefentry> não existirá se o kernel tiver sido compilado com a opção <literal>SC_DISABLE_REBOOT</literal>.</para>
|
||
</note>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="dos-to-unix-txt">
|
||
<para>Como faço para converter arquivos de texto do DOS para <trademark class="registered">UNIX</trademark>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Use este comando <citerefentry><refentrytitle>perl</refentrytitle><manvolnum>1</manvolnum></citerefentry>:</para>
|
||
|
||
<screen><prompt>%</prompt> <userinput>perl -i.bak -npe 's/\r\n/\n/g' file(s)</userinput></screen>
|
||
|
||
<para>no qual <replaceable>files(s)</replaceable> trata-se de um ou mais arquivos que desejamos processar. A modificação é feita in-place, o arquivo original é preservado com uma extensão <filename>.bak</filename>.</para>
|
||
|
||
<para>Alternativamente, use o <citerefentry><refentrytitle>tr</refentrytitle><manvolnum>1</manvolnum></citerefentry>:</para>
|
||
|
||
<screen><prompt>%</prompt> <userinput>tr -d '\r' < dos-text-file > unix-file</userinput></screen>
|
||
|
||
<para>O <replaceable>dos-text-file</replaceable> é o arquivo que contém o texto no formato DOS, enquanto o <replaceable>unix-file</replaceable> contém a saída convertida. Esta opção pode ser um pouco mais rápida do que usar o <command>perl</command>.</para>
|
||
|
||
<para>Uma outra maneira de reformatar arquivos de texto do DOS é usar o port <package>converters/dosunix</package> da Coleção de Ports. Consulte a sua documentação para maiores detalhes.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="reread-rc">
|
||
<para>Como faço para reler o arquivo <filename>/etc/rc.conf</filename> e reiniciar o <filename>/etc/rc</filename> sem dar boot?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Entre no modo single user e retorne ao modo multi usuário:</para>
|
||
|
||
<screen><prompt>#</prompt> <userinput>shutdown now</userinput>
|
||
<prompt>#</prompt> <userinput>return</userinput>
|
||
<prompt>#</prompt> <userinput>exit</userinput></screen>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="release-candidate">
|
||
<para>Tentei atualizar o meu sistema para a versão <emphasis>-STABLE</emphasis> mais recente, mas obtive a <emphasis>-BETA<replaceable>x</replaceable></emphasis>, <emphasis>-RC</emphasis> ou <emphasis>-PRERELEASE</emphasis>! O que está acontecendo?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Resposta curta: é apenas um nome. <emphasis>RC</emphasis> significa <quote>Release Candidate</quote>. Isso significa que uma nova release é iminente. No FreeBSD, <emphasis>-PRERELEASE</emphasis> é tipicamente sinônimo do congelamento de código antes de uma release. (Para algumas versões, o rótulo <emphasis>-BETA</emphasis> foi usado da mesma forma que o <emphasis>-PRERELEASE</emphasis>.)</para>
|
||
|
||
<para>Resposta longa: o FreeBSD deriva suas releases de um de dois lugares. Releases principais (major) ponto-zero, como a 9.0-RELEASE são derivadas a partir do branch principal de desenvolvimento, comumente referida como <link linkend="current">-CURRENT</link>. Releases secundárias (minor), como a 6.3-RELEASE ou a 5.2-RELEASE, foram snapshots da branch <link linkend="stable">-STABLE</link> ativa. A partir do 4.3-RELEASE, cada release também tem sua própria branch, a qual pode ser seguida por pessoas que exigem uma taxa extremamente conservadora de desenvolvimento (geralmente apenas avisos de segurança).</para>
|
||
|
||
<para>Quando um release está prestes a ser feito, o branch do qual ele será derivado tem que passar por um determinado processo. Parte desse processo é um congelamento de código. Quando um congelamento de código é iniciado, o nome da branch é alterado para refletir que está prestes a se tornar uma release. Por exemplo, se a ramificação costumava ser chamada de 6.2-STABLE, seu nome será alterado para 6.3-PRERELEASE para indicar o congelamento de código e indicar que testes extras de pré-release devem estar acontecendo. Correções de bugs ainda podem ser adicionadas ao repositório de código fonte para fazer parte da release. Quando o código-fonte estiver estabilizado para a release, o nome será alterado para 6.3-RC para indicar que uma release está prestes a ser feita a partir dele. Uma vez no estágio RC, somente os bugs mais críticos que forem encontrados podem ser corrigidos. Uma vez que o release (6.3-RELEASE neste exemplo) e o branch de release foram feitos, o branch será renomeado para 6.3-STABLE.</para>
|
||
|
||
<para>Para mais informações sobre números de versão e as várias branches do Subversion, consulte o artigo <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/articles/releng/article.html">Release Engineering</link>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="kernel-chflag-failure">
|
||
<para>Tentei instalar um novo kernel, e o <citerefentry><refentrytitle>chflags</refentrytitle><manvolnum>1</manvolnum></citerefentry> falhou. Como faço para contornar isso?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Resposta curta: o nível de segurança é maior que 0. Reinicialize diretamente para o modo de single user para instalar o kernel.</para>
|
||
|
||
<para>Resposta longa: O FreeBSD não permite alterar os flags do sistema em níveis de segurança superiores a 0. Para verificar o nível de segurança atual:</para>
|
||
|
||
<screen><prompt>#</prompt> <userinput>sysctl kern.securelevel</userinput></screen>
|
||
|
||
<para>O nível de segurança não pode ser diminuído no modo multiusuário, portanto, inicialize no modo single user para instalar o kernel ou altere o nível de segurança em <filename> /etc/rc.conf </filename> e reinicialize. Veja a página de manual <citerefentry><refentrytitle>init</refentrytitle><manvolnum>8</manvolnum></citerefentry> para detalhes sobre o <literal>securelevel</literal>, e veja <filename>/etc/defaults/rc .conf</filename> e a página de manual <citerefentry><refentrytitle>rc.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry> para mais informações sobre o <filename> rc.conf </filename>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="kernel-securelevel-time">
|
||
<para>Não consigo alterar a hora no meu sistema em mais de um segundo! Como faço para contornar isso?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Resposta curta: o sistema está em um nível de segurança maior que 1. Reinicialize diretamente para o modo de single user para alterar a data.</para>
|
||
|
||
<para>Resposta longa: O FreeBSD proíbe a alteração do tempo em mais de um segundo em níveis de segurança superiores a 1. Para verificar o nível de segurança:</para>
|
||
|
||
<screen><prompt>#</prompt> <userinput>sysctl kern.securelevel</userinput></screen>
|
||
|
||
<para>O nível de segurança não pode ser diminuído no modo multiusuário. Inicialize no modo single user para alterar a data ou altere o nível de segurança no arquivo <filename>/etc/rc.conf</filename> e reinicialize. Veja a página de manual <citerefentry><refentrytitle>init</refentrytitle><manvolnum>8</manvolnum></citerefentry> para detalhes sobre o <literal>securelevel</literal>, e veja <filename>/etc/defaults/rc .conf</filename> e a página de manual <citerefentry><refentrytitle>rc.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry> para mais informações sobre o <filename> rc.conf </filename>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="statd-mem-leak">
|
||
<para>Por que o <command>rpc.statd</command> está usando 256 MB de memória?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Não, não há vazamento de memória e ele não está usando 256 MB de memória. Por conveniência, o <command>rpc.statd</command> mapeia uma quantidade obscena de memória em seu espaço de endereço. Não há nada terrivelmente errado com isso do ponto de vista técnico; mas isso confunde o <citerefentry><refentrytitle>top</refentrytitle><manvolnum>1</manvolnum></citerefentry> e o <citerefentry><refentrytitle>ps</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para>
|
||
|
||
<para>O <citerefentry><refentrytitle>rpc.statd</refentrytitle><manvolnum>8</manvolnum> </citerefentry> mapeia seu arquivo de status (residente no <filename>/var</filename>) em seu espaço de endereçamento; para evitar se preocupar com o remapeamento do arquivo de status mais tarde quando ele precisar crescer, ele mapeia o arquivo de status com um tamanho generoso. Isso é muito evidente no código-fonte, onde é possível ver que o argumento length para o <citerefentry><refentrytitle>mmap</refentrytitle><manvolnum>2</manvolnum></citerefentry> é <literal> 0x10000000 </literal> , ou décima sexta parte do espaço de endereço em um IA32, ou seja, exatamente 256 MB.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="unsetting-schg">
|
||
<para>Por que não posso dar unset na flag <literal>schg</literal> de um arquivo?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O sistema está sendo executado em um nível de segurança maior que 0. Reduza o nível de segurança e tente novamente. Para obter mais informações, consulte <link linkend="securelevel"> a entrada do <acronym>FAQ</acronym> referente ao securelevel</link> e a página de manual do <citerefentry><refentrytitle>init</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="vnlru">
|
||
<para>O que é <literal>vnlru</literal>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O <literal>vnlru</literal> descarrega e libera vnodes quando o sistema atinge o limite de <varname>kern.maxvnodes</varname>. Essa thread do kernel fica ociosa na maior parte do tempo e só é ativada quando existe uma quantidade enorme de RAM e os usuários estiverem acessando dezenas de milhares de arquivos minúsculos.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="top-memory-states">
|
||
<para>O que os vários estados de memória exibidos pelo <command> top </command> significam?</para>
|
||
</question>
|
||
|
||
<!-- Provided by John Dyson via Usenet -->
|
||
<answer>
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para><literal>Active</literal>: são páginas usadas recentemente </para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><literal>Inactive</literal>: são páginas que não foram utilizadas recentemente.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><literal>Cache</literal>: (na maioria das vezes) são páginas que foram filtradas de inativas para um status no qual elas mantêm seus dados, mas que podem ser reutilizadas imediatamente (com sua associação antiga ou reutilizadas com uma nova associação). Podem ocorrer certas transições imediatas do estado de <literal>ativa</literal> para o estado de <literal>cache</literal> se a página for conhecida por estar limpa (não modificada), mas essa transição é uma questão de política, dependendo da escolha do algoritmo do mantenedor do sistema de VM.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><literal>Free</literal>: são páginas sem conteúdo de dados e que podem ser usadas imediatamente em determinadas circunstâncias, nas quais as páginas de cache podem estar inelegíveis. As páginas livres podem ser reutilizadas no estado de interrupção ou de processo.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><literal> Wired </literal>: são páginas que estão fixadas na memória, geralmente para propósitos do kernel, mas também para uso especial em processos.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
|
||
<para>As páginas geralmente são gravadas em disco (um tipo de sincronização de VM) quando elas estão no estado inativo, mas as páginas ativas também podem ser sincronizadas. Isso depende do rastreamento da CPU do bit modificado estar disponível e, em determinadas situações pode haver uma vantagem para um bloco de páginas da VM serem sincronizadas, estejam elas ativas ou inativas. Na maioria dos casos comuns, é melhor pensar na fila inativa como uma fila de páginas relativamente não usadas que podem ou não estar no processo de serem gravadas no disco. As páginas em cache já estão sincronizadas, não mapeadas, mas disponíveis para uso imediato do processo com sua associação antiga ou com uma nova associação. As páginas livres estão disponíveis no nível de interrupção, mas as páginas em cache ou livres podem ser usadas no estado do processo para reutilização. As páginas de cache não estão adequadamente bloqueadas para estarem disponíveis no nível de interrupção.</para>
|
||
|
||
<para>Existem alguns outros flags (por exemplo, flag de ocupado ou de contagem ocupada) que podem modificar algumas das regras descritas.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="free-memory-amount">
|
||
<para>Quanta memória livre está disponível?</para>
|
||
</question>
|
||
|
||
<!-- Provided by John Dyson via Usenet -->
|
||
<answer>
|
||
<para>Existem alguns tipos de <quote>memória livre</quote>. Um tipo é a quantidade de memória imediatamente disponível sem fazer a paginação de mais nada para a VM. Isso é aproximadamente o tamanho da fila de cache + tamanho da fila livre (com um fator de redução de capacidade, dependendo do ajuste do sistema). Outro tipo de <quote>memória livre</quote> é a quantidade total de espaço <acronym>VM</acronym>. Isto pode ser complexo, mas depende da quantidade de espaço de swap e memória. Outros tipos de descrições de <quote>memória livre</quote> também são possíveis, mas é relativamente inútil defini-los, mas por outro lado é importante certificar-se de que a taxa de paginação está mantida baixa para evitar a falta de espaço de swap.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="var-empty">
|
||
<para>O que é o <filename>/var/empty</filename>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O <filename>/var/empty</filename> é um diretório que o programa <citerefentry><refentrytitle>sshd</refentrytitle><manvolnum>8</manvolnum></citerefentry> utiliza ao executar a separação de privilégios. O diretório <filename>/var/empty</filename> está vazio, pertence ao usuário <systemitem class="username">root</systemitem> e possui as flags <literal>schg</literal> definidas. Este diretório não deve ser excluído.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="newsyslog-expectations">
|
||
<para>Acabei de alterar o <filename>/etc/newsyslog.conf </filename>. Como posso verificar se ele faz o que eu espero?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Para ver o que <citerefentry><refentrytitle>newsyslog</refentrytitle><manvolnum>8</manvolnum></citerefentry> vai fazer, use o seguinte:</para>
|
||
|
||
<screen><prompt>%</prompt> <userinput>newsyslog -nrvv</userinput></screen>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="timezone">
|
||
<para>Minha hora está errada, como posso mudar o fuso horário?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Use o <citerefentry><refentrytitle>tzsetup</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
</qandaset>
|
||
</chapter>
|
||
|
||
<chapter xml:id="x">
|
||
<title>O sistema X Window e consoles virtuais</title>
|
||
|
||
<qandaset>
|
||
<qandaentry>
|
||
<question xml:id="whatis-X">
|
||
<para>O que é o sistema X Window?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O sistema de janelas X (comumente chamado de <literal>X11</literal>) é o sistema de janelas mais amplamente disponível capaz de executar em Sistemas <trademark class="registered">UNIX</trademark> e sistemas <trademark class="registered">UNIX</trademark>-Like, incluindo o FreeBSD. A <link xlink:href="http://www.x.org/wiki/">Fundação X.Org</link> administra os <link xlink:href="http://en.wikipedia.org/wiki/X_Window_System_core_protocol"> padrões de protocolo X</link>, sendo que a implementação de referência atual é a versão 11 release 7.7, então as referências são frequentemente encurtadas para <literal>X11</literal>.</para>
|
||
|
||
<para>Muitas implementações estão disponíveis para diferentes arquiteturas e sistemas operacionais. Uma implementação do código do lado do servidor é conhecida como um <literal>Servidor X</literal>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="running-X">
|
||
<para>Eu quero rodar o Xorg, como faço para isso?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Para instalar o Xorg, siga um destes procedimentos:</para>
|
||
|
||
<para>Use o meta-port <package>x11/xorg</package>, que constrói e instala todos os componentes do Xorg.</para>
|
||
|
||
<para>Use <package>x11/xorg-minimal</package>, que constrói e instala apenas os componentes Xorg necessários.</para>
|
||
|
||
<para>Instale o Xorg a partir de pacotes do FreeBSD:</para>
|
||
|
||
<screen><userinput><prompt>#</prompt> pkg install xorg</userinput></screen>
|
||
|
||
<para>Após a instalação do Xorg, siga as instruções da seção <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/x-config.html">Configuração X11</link> do Handbook do FreeBSD.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="running-X-securelevels">
|
||
<para>Eu <emphasis>tentei</emphasis> executar o X, mas eu recebo um erro <errorname>No devices detected.</errorname> quando eu digito <command>startx</command>. O que eu faço agora?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O sistema provavelmente está sendo executado em um <literal>securelevel</literal> alto. Não é possível iniciar o X em <literal>securelevel</literal> alto porque o X requer acesso de ao <citerefentry> <refentrytitle>io</refentrytitle><manvolnum>4</manvolnum></citerefentry>. Para obter mais informações, consulte a página de manual do <citerefentry><refentrytitle>init</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
|
||
|
||
<para>Existem duas soluções para o problema: definir o <literal>securelevel</literal> novamente a zero ou executar <citerefentry vendor="xfree86"><refentrytitle>xdm</refentrytitle><manvolnum>1</manvolnum></citerefentry> (ou um gerenciador de exibição alternativo) no momento da inicialização antes que o <literal>securelevel</literal> seja elevado.</para>
|
||
|
||
<para>Veja <xref linkend="xdm-boot"/> para mais informações sobre como executar o <citerefentry vendor="xfree86"><refentrytitle>xdm</refentrytitle><manvolnum>1</manvolnum></citerefentry> no momento da inicialização.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="x-and-moused">
|
||
<para>Por que meu mouse não funciona com o X?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Ao usar <citerefentry><refentrytitle>syscons</refentrytitle><manvolnum>4</manvolnum></citerefentry>, o driver de console padrão, o FreeBSD pode ser configurado para suportar um ponteiro de mouse em cada tela virtual. Para evitar conflito com o X, o <citerefentry><refentrytitle>syscons</refentrytitle><manvolnum>4</manvolnum></citerefentry> suporta um dispositivo virtual chamado <filename>/dev/sysmouse</filename>. Todos os eventos de mouse recebidos do dispositivo de mouse real são gravados no dispositivo via <citerefentry><refentrytitle>sysmouse</refentrytitle><manvolnum>4</manvolnum></citerefentry><citerefentry><refentrytitle> moused </refentrytitle><manvolnum>8</manvolnum></citerefentry>. Para usar o mouse em um ou mais consoles virtuais, <emphasis> e </emphasis> usar X, veja <xref linkend="moused" remap="outra seção"/> e configure o <citerefentry> <refentrytitle>moused</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
|
||
|
||
<para>Em seguida, edite o arquivo <filename>/etc/X11/xorg.conf</filename> e verifique se as seguintes linhas existem:</para>
|
||
|
||
<programlisting>Section "InputDevice"
|
||
Option "Protocol" "SysMouse"
|
||
Option "Device" "/dev/sysmouse"
|
||
.....</programlisting>
|
||
|
||
<para>Começando com a versão 7.4 do Xorg, as seções <literal>InputDevice</literal> no <filename>xorg.conf</filename> são ignoradas em favor dos dispositivos autodetectados. Para restaurar o comportamento antigo, adicione a seguinte linha à seção <literal>ServerLayout</literal> ou <literal>ServerFlags</literal>:</para>
|
||
|
||
<programlisting>Option "AutoAddDevices" "false"</programlisting>
|
||
|
||
<para>Algumas pessoas preferem usar o <filename>/dev/mouse </filename> com o X. Para fazer esse trabalho, <filename>/dev/mouse</filename> deve estar vinculado a <filename>/dev/sysmouse</filename> (veja <citerefentry> <refentrytitle>sysmouse</refentrytitle><manvolnum>4</manvolnum></citerefentry>) adicionando a seguinte linha ao <filename>/etc/devfs.conf</filename> (veja <citerefentry><refentrytitle>devfs.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>):</para>
|
||
|
||
<programlisting>link sysmouse mouse</programlisting>
|
||
|
||
<para>Este link pode ser criado reiniciando o <citerefentry vendor="current"><refentrytitle>devfs</refentrytitle><manvolnum>5</manvolnum></citerefentry> com o seguinte comando (executado como <systemitem class="username"> root </systemitem>):</para>
|
||
|
||
<screen><prompt>#</prompt> <userinput>service devfs restart</userinput></screen>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="x-and-wheel">
|
||
<para>Meu mouse tem uma fancy wheel. Posso usá-lo no X?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Sim, se o X estiver configurado para um mouse de 5 botões. Para fazer isso, adicione as linhas <literal>Buttons 5</literal> e <literal>ZAxisMapping 4 5</literal> na seção <quote>InputDevice</quote> do arquivo <filename>/etc/X11/xorg.conf</filename>, como visto neste exemplo:</para>
|
||
|
||
<programlisting>Section "InputDevice"
|
||
Identifier "Mouse1"
|
||
Driver "mouse"
|
||
Option "Protocol" "auto"
|
||
Option "Device" "/dev/sysmouse"
|
||
Option "Buttons" "5"
|
||
Option "ZAxisMapping" "4 5"
|
||
EndSection</programlisting>
|
||
|
||
<para>O mouse pode ser habilitado no <application>Emacs</application> adicionando estas linhas ao <filename> ~/.emacs</filename>:</para>
|
||
|
||
<programlisting>;; wheel mouse
|
||
(global-set-key [mouse-4] 'scroll-down)
|
||
(global-set-key [mouse-5] 'scroll-up)</programlisting>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="x-and-synaptic">
|
||
<para>Meu laptop tem um touchpad Synaptics. Posso usá-lo no X?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Sim, depois de configurar algumas coisas para que funcione.</para>
|
||
|
||
<para>Para usar o driver synaptics do Xorg, primeiro remova <literal> moused_enable </literal> do <filename> rc.conf </filename>.</para>
|
||
|
||
<para>Para habilitar a synaptics, adicione a seguinte linha ao <filename> /boot/loader.conf </filename>:</para>
|
||
|
||
<programlisting>hw.psm.synaptics_support="1"</programlisting>
|
||
|
||
<para>Adicione o seguinte ao <filename> /etc/X11/xorg.conf </filename>:</para>
|
||
|
||
<programlisting>Section "InputDevice"
|
||
Identifier "Touchpad0"
|
||
Driver "synaptics"
|
||
Option "Protocol" "psm"
|
||
Option "Device" "/dev/psm0"
|
||
EndSection</programlisting>
|
||
|
||
<para>E não se esqueça de adicionar o seguinte na seção <quote> ServerLayout </quote>:</para>
|
||
|
||
<programlisting>InputDevice "Touchpad0" "SendCoreEvents"</programlisting>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="no-remote-x11">
|
||
<para>Como eu uso displays X remotos?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Por motivos de segurança, a configuração padrão é não permitir que uma máquina abra remotamente uma janela.</para>
|
||
|
||
<para>Para ativar esse recurso, inicie o <application> X </application> com o argumento opcional <option> -listen_tcp </option>:</para>
|
||
|
||
<screen><prompt>%</prompt> <userinput>startx -listen_tcp</userinput></screen>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="virtual-console">
|
||
<para>O que é um console virtual e como faço outros?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Os consoles virtuais fornecem várias sessões simultâneas na mesma máquina sem fazer nada complicado, como configurar uma rede ou executar o X.</para>
|
||
|
||
<para>Quando o sistema iniciar, ele exibirá um prompt de login no monitor depois de exibir todas as mensagens de inicialização. Digite seu nome de login e senha para começar a trabalhar no primeiro console virtual.</para>
|
||
|
||
<para>Para iniciar outra sessão, talvez para examinar a documentação de um programa ou para ler mensagens enquanto aguarda a conclusão de uma transferência por FTP, pressione <keycap>Alt</keycap> e pressione <keycap>F2</keycap>. Isso exibirá o prompt de login do segundo console virtual. Para voltar à sessão original, pressione <keycombo action="simul"> <keycap>Alt</keycap><keycap>F1</keycap></keycombo>.</para>
|
||
|
||
<para>A instalação padrão do FreeBSD possui oito consoles virtuais habilitados. A combinação de teclas <keycombo action="simul"> <keycap> Alt </keycap> <keycap> F1 </keycap> </keycombo>, <keycombo action="simul"> <keycap> Alt </keycap> <keycap> F2 </keycap> </keycombo>, <keycombo action="simul"> <keycap> Alt </keycap> <keycap> F3 </keycap> </keycombo>, e assim por diante alternará entre esses consoles virtuais.</para>
|
||
|
||
<para>Para habilitar mais consoles virtuais, edite <filename>/etc/ttys</filename> (veja <citerefentry><refentrytitle>ttys</refentrytitle><manvolnum>5</manvolnum></citerefentry>) e adicione entradas do <filename> ttyv8 </filename> até o <filename> ttyvc </filename>, após os comentários na seção <quote>Virtual terminals</quote>:</para>
|
||
|
||
<programlisting># Edit the existing entry for ttyv8 in /etc/ttys and change
|
||
# "off" to "on".
|
||
ttyv8 "/usr/libexec/getty Pc" xterm on secure
|
||
ttyv9 "/usr/libexec/getty Pc" xterm on secure
|
||
ttyva "/usr/libexec/getty Pc" xterm on secure
|
||
ttyvb "/usr/libexec/getty Pc" xterm on secure</programlisting>
|
||
|
||
<para>Quanto mais terminais virtuais estiverem ativos, mais recursos serão usados. Isso pode ser um problema em sistemas com 8 MB de RAM ou menos. Considere mudar a opção <literal>secure</literal> para <literal>insecure</literal>.</para>
|
||
|
||
<important>
|
||
<para>Para executar um servidor X, pelo menos um terminal virtual deverá ser deixado como <literal>off</literal> para ele usar. Isso significa que apenas onze das teclas de função Alt podem ser usadas como consoles virtuais, de modo que uma deverá ser deixada livre para uso do servidor X.</para>
|
||
</important>
|
||
|
||
<para>Por exemplo, para executar o X e onze consoles virtuais, a configuração para o terminal virtual 12 deve ser:</para>
|
||
|
||
<programlisting>ttyvb "/usr/libexec/getty Pc" xterm off secure</programlisting>
|
||
|
||
<para>A maneira mais fácil de ativar os consoles virtuais é reinicializar.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="vty-from-x">
|
||
<para>Como eu acesso os consoles virtuais a partir do X?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Utilize <keycombo action="simul"><keycap>Ctrl</keycap><keycap>Alt</keycap><keycap>F<replaceable>n</replaceable></keycap></keycombo> para voltar a um console virtual. Pressione <keycombo action="simul"> <keycap> Ctrl </keycap> <keycap> Alt </keycap> <keycap> F1 </keycap> </keycombo> para retornar ao primeiro console virtual.</para>
|
||
|
||
<para>Uma vez em um console de texto, use <keycombo action="simul"> <keycap> Alt </keycap> <keycap> F <replaceable> n </replaceable> </keycap> </keycombo> para mover-se entre eles.</para>
|
||
|
||
<para>Para retornar à sessão X, mude para o console virtual que está executando o X. Se o X foi iniciado a partir da linha de comando usando <command> startx </command>, a sessão X será anexada ao próximo console virtual não utilizado, e não ao console de texto no qual foi invocado. Para oito terminais virtuais ativos, o X será executado no nono, portanto use <keycombo action="simul"> <keycap> Alt </keycap> <keycap> F9 </keycap> </keycombo>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="xdm-boot">
|
||
<para>Como faço para carregar o <application> XDM </application> na inicialização?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Existem duas escolas de pensamento sobre como iniciar o <citerefentry vendor="xfree86"><refentrytitle>xdm</refentrytitle><manvolnum>1</manvolnum></citerefentry>. Uma escola inicia o <command>xdm</command> a partir do <filename>/etc/ttys</filename> (veja <citerefentry><refentrytitle>ttys</refentrytitle><manvolnum>5</manvolnum></citerefentry>) usando o exemplo fornecido, enquanto o outro executa o <command>xdm</command> a partir do <filename>rc.local</filename> (veja <citerefentry><refentrytitle>rc</refentrytitle><manvolnum>8</manvolnum></citerefentry>) ou de um script <filename>X</filename> localizado em <filename>/usr/local/etc/rc.d</filename>. Ambos são igualmente válidos, e um pode funcionar em situações em que o outro não funciona. Em ambos os casos, o resultado é o mesmo: O X mostrará um prompt de login gráfico.</para>
|
||
|
||
<para>O método <citerefentry><refentrytitle>ttys</refentrytitle><manvolnum>5</manvolnum></citerefentry> tem a vantagem de documentar qual vty X iniciará e passando a responsabilidade de reiniciar o servidor X no logout para o <citerefentry><refentrytitle>init</refentrytitle><manvolnum>8</manvolnum></citerefentry>. O método <citerefentry><refentrytitle>rc</refentrytitle><manvolnum>8</manvolnum></citerefentry> facilita o <command>kill</command> <command>xdm</command> se houver um problema ao iniciar o servidor X.</para>
|
||
|
||
<para>Se carregado pelo <citerefentry><refentrytitle>rc</refentrytitle><manvolnum>8</manvolnum></citerefentry>, o <command>xdm</command> deve ser iniciado sem nenhum argumento. <command>xdm</command> deve iniciar <emphasis>após</emphasis> o <citerefentry><refentrytitle>getty</refentrytitle><manvolnum>8</manvolnum></citerefentry> ser executado, ou então <command>getty</command> e <command>xdm</command> entrarão em conflito, bloqueando o console. A melhor maneira de contornar isso é fazer com que o script espere 10 segundos ou mais e, em seguida, iniciar o <command>xdm</command>.</para>
|
||
|
||
<para>Ao iniciar o <command>xdm</command> pelo <filename>/etc/ttys</filename>, ainda há uma chance de conflito entre <command>xdm</command> e <citerefentry><refentrytitle>getty</refentrytitle><manvolnum>8</manvolnum></citerefentry>. Uma maneira de evitar isso é adicionar o número <literal> vt </literal> no arquivo <filename>/usr/local/lib/X11/xdm/Xservers</filename>:</para>
|
||
|
||
<programlisting>:0 local /usr/local/bin/X vt4</programlisting>
|
||
|
||
<para>O exemplo acima irá direcionar o servidor X para ser executado em <filename>/dev/ttyv3</filename>. Observe que o número é compensado por um. O servidor X conta a vty a partir de 1, enquanto o kernel do FreeBSD numera a vty a partir de zero.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="xconsole-failure">
|
||
<para>Por que eu obtenho o erro <errorname>Couldn't open console</errorname> quando executo o <command>xconsole</command>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Quando o <application>X</application> é iniciado com o comando <command>startx</command>, as permissões em <filename>/dev/console</filename> <emphasis>não</emphasis> serão alteradas, o que resultará um comportamento errático de algumas coisas tais como o não funcionamento do <command>xterm -C</command> e do <command>xconsole</command>.</para>
|
||
|
||
<para>Isso ocorre devido à maneira como as permissões do console são definidas por padrão. Em um sistema multiusuário, não é necessário que qualquer usuário possa escrever no console do sistema. Para os usuários que estão logando diretamente em uma máquina com um VTY, existe o arquivo <citerefentry><refentrytitle>fbtab</refentrytitle><manvolnum/></citerefentry> para resolver tais problemas.</para>
|
||
|
||
<para>Em poucas palavras, certifique-se de que uma linha não comentada do formulário esteja no <filename>/etc/fbtab</filename> (veja <citerefentry><refentrytitle>fbtab</refentrytitle><manvolnum>5</manvolnum></citerefentry>):</para>
|
||
|
||
<programlisting>/dev/ttyv0 0600 /dev/console</programlisting>
|
||
|
||
<para>Ele irá garantir que quem fizer o login em <filename>/dev/ttyv0</filename> será o dono do console.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="ps2-x">
|
||
<para>Por que meu mouse PS/2 não funciona direito no X?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O mouse e o driver do mouse podem estar fora de sincronização. Em casos raros, o driver também pode relatar erroneamente erros de sincronização:</para>
|
||
|
||
<programlisting>psmintr: out of sync (xxxx != yyyy)</programlisting>
|
||
|
||
<para>Se isso acontecer, desative o código de verificação de sincronização definindo as flags de driver para o driver de mouse PS/2 como <literal>0x100</literal>. Isto pode ser mais facilmente alcançado adicionando <literal>hint.psm.0.flags="0x100"</literal> ao arquivo <filename>/boot/loader.conf</filename> e reiniciando.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="mouse-button-reverse">
|
||
<para>Como eu inverto os botões do mouse?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Digite <command>xmodmap -e "pointer = 3 2 1"</command>. Adicione este comando ao <filename>~/.xinitrc</filename> ou <filename>~/.xsession</filename> para que isso aconteça automaticamente.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="install-splash">
|
||
<para>Como faço para instalar uma splash screen e onde posso encontrá-las?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>A resposta detalhada para essa pergunta pode ser encontrada na seção <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/boot-splash.html">Telas de inicialização do tempo de inicialização</link> do FreeBSD Handbook.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="windows-keys">
|
||
<para>Posso usar as teclas do <keycap>Windows</keycap> do meu teclado no X?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Sim. Use o <citerefentry vendor="xfree86"><refentrytitle>xmodmap</refentrytitle><manvolnum>1</manvolnum></citerefentry> para definir quais funções as teclas devem executar.</para>
|
||
|
||
<para>Supondo que todos os teclados Windows sigam um padrão, os códigos de teclas para essas três teclas são os seguintes:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para><keycode> 115 </keycode> - tecla <keycap> Windows </keycap>, entre as teclas <keycap> Ctrl </keycap> e <keycap> Alt </keycap> do lado esquerdo</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><keycode> 116 </keycode> - tecla <keycap> Windows </keycap>, à direita de <keycap> AltGr </keycap></para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><keycode> 117 </keycode> - <keycap> Menu </keycap>, à esquerda da tecla <keycap>Ctrl</keycap> da direita</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
|
||
<para>Para que a tecla <keycap> Windows </keycap> da esquerda imprima uma vírgula, tente isto.</para>
|
||
|
||
<screen><prompt>#</prompt> <userinput>xmodmap -e "keycode 115 = comma"</userinput></screen>
|
||
|
||
<para>Para que os mapeamentos de teclas <keycap>Windows</keycap> sejam ativados automaticamente toda vez que X for iniciado, coloque os comandos <command>xmodmap</command> em <filename>~/.xinitrc</filename> ou, preferencialmente, crie um <filename>~/.xmodmaprc</filename> e inclua as opções <command>xmodmap</command>, uma por linha, e adicione a seguinte linha ao <filename>~/.xinitrc</filename>:</para>
|
||
|
||
<programlisting>xmodmap $HOME/.xmodmaprc</programlisting>
|
||
|
||
<para>Por exemplo, para mapear as 3 chaves para serem <keycap>F13</keycap>, <keycap>F14</keycap> e <keycap>F15</keycap>, respectivamente. Isso facilitaria mapeá-los para funções úteis em aplicativos ou no gerenciador de janelas.</para>
|
||
|
||
<para>Para fazer isto, coloque o seguinte em <filename> ~/.xmodmaprc</filename>.</para>
|
||
|
||
<programlisting>keycode 115 = F13
|
||
keycode 116 = F14
|
||
keycode 117 = F15</programlisting>
|
||
|
||
<para>Para o gerenciador da área de trabalho <package>x11-wm/fvwm2</package>, pode-se mapear as chaves para que <keycap>F13</keycap> seja minimizada a janela em que o cursor está ou a maximize, <keycap>F14</keycap> traz a janela em que o cursor está para a frente ou, se já estiver na frente, a coloca em background <keycap>F15</keycap> aparece no menu principal do Workplace mesmo que o cursor não esteja a área de trabalho, o que é útil quando nenhuma parte da área de trabalho está visível.</para>
|
||
|
||
<para>As seguintes entradas em <filename> ~/.fvwmrc </filename> implementam a configuração acima mencionada:</para>
|
||
|
||
<programlisting>Key F13 FTIWS A Iconify
|
||
Key F14 FTIWS A RaiseLower
|
||
Key F15 A A Menu Workplace Nop</programlisting>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="x-3d-acceleration">
|
||
<para>Como posso obter aceleração de hardware 3D para o <trademark class="registered"> OpenGL </trademark>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>A disponibilidade da aceleração 3D depende da versão do Xorg e do tipo de chip de vídeo. Para um chip da nVidia, use os drivers binários fornecidos para o FreeBSD instalando um dos seguintes ports:</para>
|
||
|
||
<para>As versões mais recentes das placas nVidia são suportadas pelo port <package> x11/nvidia-driver </package>.</para>
|
||
|
||
<para>Drivers mais antigos estão disponíveis como <package>x11/nvidia-driver-<replaceable> ###</replaceable> </package></para>
|
||
|
||
<para>A nVidia fornece informações detalhadas sobre qual placa é suportada por qual driver em seu site: <uri xlink:href="http://www.nvidia.com/object/IO_32667.html">http://www.nvidia.com /object/IO_32667.html</uri>.</para>
|
||
|
||
<para>Para a Matrox G200/G400, verifique o port <package> x11-drivers/xf86-video-mga</package>.</para>
|
||
|
||
<para>Para a ATI Rage 128 e Radeon, consulte <citerefentry vendor="xorg"><refentrytitle>ati</refentrytitle><manvolnum>4</manvolnum></citerefentry>, <citerefentry vendor="xorg"><refentrytitle>r128</refentrytitle><manvolnum>4</manvolnum></citerefentry> and <citerefentry vendor="xorg"><refentrytitle>radeon</refentrytitle><manvolnum>4</manvolnum></citerefentry>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
</qandaset>
|
||
</chapter>
|
||
|
||
<chapter xml:id="networking">
|
||
<title>Networking</title>
|
||
|
||
<qandaset>
|
||
<qandaentry>
|
||
<question xml:id="diskless-booting">
|
||
<para>Onde posso obter informações sobre a <quote>inicialização sem disco</quote>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para><quote>Inicialização sem disco</quote> significa que o sistema FreeBSD é inicializado através de uma rede e lê os arquivos necessários de um servidor ao invés de seu disco rígido. Para maiores detalhes, consulte a entrada do Handbook <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/network-diskless.html">Inicialização sem disco</link>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="router">
|
||
<para>Uma maquina FreeBSD pode ser usada como um roteador de rede dedicado?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Sim. Consulte a entrada do Manual em <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/advanced-networking.html">rede avançada</link>, especificamente a seção sobre <link xlink:href="@@URL_RELPREFIX@@/doc/pt_BR.ISO8859-1/books/handbook/network-routing.html">roteamento e gateways</link>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="win95-connection">
|
||
<para>Posso conectar minha maquina <trademark class="registered">Windows</trademark> à Internet via FreeBSD?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Normalmente, as pessoas que fazem essa pergunta têm dois PCs em casa, um com o FreeBSD e outro com alguma versão do <trademark class="registered">Windows</trademark>, a idéia é usar o sistema FreeBSD para conectar-se à Internet e depois ser capaz de acessar a Internet a partir do sistema <trademark class="registered">Windows</trademark> através do sistema FreeBSD. Este é realmente apenas um caso especial da pergunta anterior e funciona perfeitamente bem.</para>
|
||
|
||
<para>Usuários de rede discada devem usar <option>-nat</option> e definir <literal>gateway_enable</literal> para <emphasis>YES</emphasis> no arquivo <filename>/etc/rc.conf</filename>. Para obter mais informações, consulte <citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></citerefentry> ou o <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/userppp.html ">manual no usuário PPP</link>.</para>
|
||
|
||
<para>Se a conexão com a Internet for pela Ethernet, use <citerefentry><refentrytitle>natd</refentrytitle><manvolnum>8</manvolnum> </citerefentry>. Um tutorial pode ser encontrado na seção <link xlink:href="@@URL_RELPREFIX@@/doc/pt_BR.ISO8859-1/books/handbook/firewalls-ipfw.html#network-natd">natd</link> do manual.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="slip-ppp-support">
|
||
<para>O FreeBSD suporta PPP?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Sim. O <citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></citerefentry> fornece suporte para conexões de entrada e saída.</para>
|
||
|
||
<para>Para obter mais informações sobre como usar isso, consulte o <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/ppp-and-slip.html">capítulo sobre o PPP</link> no Handbook.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="natd">
|
||
<para>O FreeBSD suporta NAT ou Mascaramento de IPs?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Sim. Para obter instruções sobre como usar o NAT em uma conexão PPP, consulte a seção do <link xlink:href="@@URL_RELPREFIX@@/doc/pt_BR.ISO8859-1/books/handbook/userppp.html">PPP</link> no manual. Para usar o NAT em algum outro tipo de conexão de rede, consulte a seção <link xlink:href="@@URL_RELPREFIX@@/doc/pt_BR.ISO8859-1/books/handbook/firewalls-ipfw.html#network-natd">natd</link> do manual.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="ethernet-aliases">
|
||
<para>Como posso configurar aliases de Ethernet?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Se o alias estiver na mesma sub-rede que um endereço já configurado na interface, adicione <literal>netmask 0xffffffff </literal>a este comando:</para>
|
||
|
||
<screen><prompt>#</prompt> <userinput>ifconfig <replaceable>ed0</replaceable> alias <replaceable>192.0.2.2 </replaceable>netmask 0xffffffff</userinput></screen>
|
||
|
||
<para>Caso contrário, especifique o endereço de rede e a máscara de rede como de costume:</para>
|
||
|
||
<screen><prompt>#</prompt> <userinput>ifconfig <replaceable>ed0</replaceable> alias <replaceable>172.16.141.5</replaceable> netmask 0xffffff00</userinput></screen>
|
||
|
||
<para>Mais informações podem ser encontradas <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/configtuning-virtual-hosts.html">Handbook</link> do FreeBSD.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="nfs-linux">
|
||
<para>Por que não posso montar o NFS de uma máquina <trademark class="registered">Linux</trademark>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Algumas versões do código NFS do <trademark class="registered">Linux</trademark> aceitam somente solicitações de montagem vindas de uma porta privilegiada; tente executar o seguinte comando:</para>
|
||
|
||
<screen><prompt>#</prompt> <userinput>mount -o -P linuxbox:/blah /mnt</userinput></screen>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="exports-errors">
|
||
<para>Por que o comando <command>mountd</command> continua me dizendo que ele <errorname>can't change attributes</errorname> (não pode alterar os atributos) e que eu tenho uma <errorname>bad exports list</errorname> (lista de exports ruins) no meu servidor NFS do FreeBSD?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O problema mais freqüente é não entender o formato correto de <filename>/etc/exports</filename>. Revise <citerefentry> <refentrytitle>exports</refentrytitle><manvolnum>5</manvolnum></citerefentry> e o <link xlink:href="@@URL_RELPREFIX@@/doc/pt_BR.ISO8859-1/books/handbook/network-nfs.html ">NFS</link> no manual, especialmente na seção <link xlink:href=" @@URL_RELPREFIX@@/doc/pt_BR.ISO8859-1/books/handbook/network-nfs html#configuring-nfs ">configurando o NFS</link>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="ip-multicast">
|
||
<para>Como faço para ativar o suporte a multicast IP?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Instale o pacote ou port <package>net/mrouted</package> e adicione <literal>mrouted_enable="YES"</literal> ao <filename>/etc/rc.conf</filename> para que o FreeBSD inicie este serviço no momento da inicialização.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="fqdn-hosts">
|
||
<para>Por que preciso usar o FQDN para hosts na minha rede?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Veja a resposta no <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/mail-trouble.html">Handbook</link> do FreeBSD.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="network-permission-denied">
|
||
<para>Por que recebo oerro, <errorname>Permission denied</errorname>, para todas as operações de rede?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Se o kernel é compilado com a opção <literal>IPFIREWALL</literal>, esteja ciente de que a política padrão é negar todos os pacotes que não são explicitamente permitidos.</para>
|
||
|
||
<para>Se o firewall foi inadvertidamente configurado de forma errada, restaure a operacionalidade da rede digitando o seguinte comando como <systemitem class="username">root</systemitem>:</para>
|
||
|
||
<screen><prompt>#</prompt> <userinput>ipfw add 65534 allow all from any to any</userinput></screen>
|
||
|
||
<para>Considere configurar a opção <literal>firewall_type="open"</literal> no <filename>/etc/rc.conf</filename>.</para>
|
||
|
||
<para>Para obter mais informações sobre como configurar seu firewall, consulte o <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/firewalls-ipfw.html">Handbook</link>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="ipfw-fwd">
|
||
<para>Por que minha regra <command>ipfw</command> <quote>fwd</quote> para redirecionar um serviço para outra máquina que não está funcionando?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Possivelmente porque você precisa utilizar a conversão de endereços de rede (NAT) em vez de apenas encaminhar os pacotes. Uma regra <quote>fwd</quote> apenas encaminha os pacotes, ela não altera os dados dentro do pacote. Considere esta regra:</para>
|
||
|
||
<screen>01000 fwd <replaceable>10.0.0.1</replaceable> from any to <replaceable>foo 21</replaceable></screen>
|
||
|
||
<para>Quando um pacote com um endereço de destino <replaceable>foo</replaceable> chega à máquina com esta regra, o pacote é encaminhado para <replaceable>10.0.0.1</replaceable>, mas ainda tem o endereço de destino <replaceable>foo</replaceable>. O endereço de destino do pacote não é alterado para <replaceable>10.0.0.1</replaceable>. A maioria das máquinas provavelmente descartaria um pacote que recebesse com um endereço de destino que não fosse o seu. Portanto, usar uma regra <quote>fwd</quote> geralmente não funciona da maneira esperada pelo usuário. Esse comportamento é um recurso e não um bug.</para>
|
||
|
||
<para>Veja o <link linkend="service-redirect"><acronym>FAQ</acronym> sobre redirecionamento de serviços</link>, o manual do <citerefentry><refentrytitle>natd</refentrytitle><manvolnum>8</manvolnum></citerefentry>, ou um dos vários utilitários de redirecionamento de porta na <link xlink:href="@@URL_RELPREFIX@@/ports/index.html">Coleção de Portas</link> para uma maneira correta de fazer isso.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="service-redirect">
|
||
<para>Como posso redirecionar as solicitações de serviço de uma máquina para outra?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>FTP e outras solicitações de serviço podem ser redirecionadas com o pacote ou port <package>sysutils/socket</package>. Substitua a entrada para o serviço em <filename>/etc/inetd.conf</filename> para chamar <command>socket</command>, conforme visto neste exemplo para <application>ftpd</application>:</para>
|
||
|
||
<programlisting>ftp stream tcp nowait nobody /usr/local/bin/socket socket <replaceable>ftp.example.com</replaceable> <replaceable>ftp</replaceable></programlisting>
|
||
|
||
<para>na qual <replaceable>ftp.example.com</replaceable> e <replaceable>ftp</replaceable> são o host e a porta de destino do redirecionamento, respectivamente.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="bandwidth-mgr-tool">
|
||
<para>Onde posso obter uma ferramenta de gerenciamento de largura de banda?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Existem três ferramentas de gerenciamento de largura de banda disponíveis para o FreeBSD. <citerefentry><refentrytitle>dummynet</refentrytitle><manvolnum>4</manvolnum></citerefentry> é integrado ao FreeBSD como parte do <citerefentry><refentrytitle>ipfw</refentrytitle><manvolnum>4</manvolnum></citerefentry>. <link xlink:href="http://www.sonycsl.co.jp/person/kjc/programs.html">ALTQ</link> foi integrado ao FreeBSD como parte do <citerefentry><refentrytitle>pf</refentrytitle><manvolnum>4</manvolnum></citerefentry>. O Bandwidth Manager das <link xlink:href="http://www.etinc.com/"> Tecnologias Emergentes </link> é um produto comercial.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="bpf-not-configured">
|
||
<para>Por que estou recebendo o erro <errorname>/dev/bpf0: device not configured</errorname>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O aplicativo em execução requer o Packet Filter da Berkeley (<citerefentry><refentrytitle>bpf</refentrytitle><manvolnum>4</manvolnum></citerefentry>), mas ele foi removido de um kernel personalizado. Adicione isto ao arquivo de configuração do kernel e construa um novo kernel:</para>
|
||
|
||
<programlisting>device bpf # Berkeley Packet Filter</programlisting>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="mount-smb-share">
|
||
<para>Como faço para montar um disco de uma máquina <trademark class="registered">Windows</trademark> que esteja na minha rede, tal como o smbmount no <trademark class="registered">Linux</trademark>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Use o conjunto de ferramentas <application>SMBFS</application>. Ele inclui um conjunto de modificações do kernel e um conjunto de programas da área de usuário. Os programas e as informações necessárias estão disponíveis como <citerefentry><refentrytitle>mount_smbfs</refentrytitle><manvolnum>8</manvolnum></citerefentry> no sistema base.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="icmp-response-bw-limit">
|
||
<para>O que são essas mensagens sobre: <errorname>Limiting icmp/open port/closed port response</errorname> em meus arquivos de log?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Esta mensagem do kernel indica que alguma atividade está provocando o envio de uma grande quantidade de respostas de reset de ICMP ou TCP (RST). As respostas ICMP são frequentemente geradas como resultado de tentativas de conexão a portas UDP não utilizadas. Os resets TCP são geradas como resultado de tentativas de conexão a portas TCP não abertas. Entre outros, esses são os tipos de atividades que podem causar essas mensagens:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>Ataques de negação de serviço (DoS) de força bruta (em oposição a ataques de pacote único que exploram uma vulnerabilidade específica).</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Varreduras de porta que tentam se conectar a um grande número de portas (em oposição a apenas tentar algumas portas conhecidas).</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
|
||
<para>O primeiro número na mensagem indica quantos pacotes o kernel teria enviado se o limite não estivesse no lugar e o segundo indica o limite. Este limite é controlado usando <varname>net.inet.icmp.icmplim</varname>. Este exemplo define o limite para <literal>300</literal> pacotes por segundo:</para>
|
||
|
||
<screen><prompt>#</prompt> <userinput>sysctl net.inet.icmp.icmplim=300</userinput></screen>
|
||
|
||
<para>Para desativar essas mensagens sem desativar a limitação de resposta, use o <varname>net.inet.icmp.icmplim_output</varname> para desativar a saída:</para>
|
||
|
||
<screen><prompt>#</prompt> <userinput>sysctl net.inet.icmp.icmplim_output=0</userinput></screen>
|
||
|
||
<para>Finalmente, para desabilitar completamente a limitação de resposta, configure <varname>net.inet.icmp.icmplim</varname> para <literal>0</literal>. Desabilitar a limitação de resposta é desencorajado pelos motivos listados acima.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="unknown-hw-addr-format">
|
||
<para>O que são essas mensagens de erro <errorname>arp: unknown hardware address format</errorname>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Isso significa que algum dispositivo na Ethernet local está usando um endereço MAC em um formato que o FreeBSD não reconhece. Isso provavelmente é causado por alguém que está experimentando uma placa Ethernet em algum outro lugar da rede. Isso é mais comumente visto em redes de modem a cabo. É inofensivo e não deve afetar o desempenho do sistema FreeBSD.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="arp-wrong-iface">
|
||
<para>Por que eu continuo vendo mensagens como: <errorname>192.168.0.10 is on fxp1 but got reply from 00:15:17:67:cf:82 on rl0</errorname>, e como desabilitá-lo?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Porque um pacote está vindo de fora da rede inesperadamente. Para desativá-los, defina <varname>net.link.ether.inet.log_arp_wrong_iface</varname> como <literal>0</literal>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="ipv6-only">
|
||
<para>Como faço para compilar um kernel com suporte somente ao IPv6?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Configure seu kernel com estas configurações: <screen>include GENERIC
|
||
ident GENERIC-IPV6ONLY
|
||
makeoptions MKMODULESENV+="WITHOUT_INET_SUPPORT="
|
||
nooptions INET
|
||
nodevice gre</screen></para>
|
||
</answer>
|
||
</qandaentry>
|
||
</qandaset>
|
||
</chapter>
|
||
|
||
<chapter xml:id="security">
|
||
<title>Segurança</title>
|
||
|
||
<qandaset>
|
||
<qandaentry>
|
||
<question xml:id="sandbox">
|
||
<para>O que é uma caixa de areia (sandbox)?</para>
|
||
</question>
|
||
<answer>
|
||
<para><quote>Sandbox</quote> é um termo de segurança. Isso pode significar duas coisas:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>Um processo que é colocado dentro de um conjunto de paredes virtuais que são projetadas para impedir que alguém que interrompa o processo seja capaz de invadir o sistema mais amplo.</para>
|
||
|
||
<para>O processo só é capaz de correr dentro das barreiras. Desde que nada que o processo faça em relação à execução de código seja capaz de violar as barreiras, uma auditoria detalhada de seu código não é necessária para poder dizer certas coisas sobre sua segurança.</para>
|
||
|
||
<para>As barreiras podem ser um ID do usuário, por exemplo. Esta é a definição usada nas páginas de manual de <citerefentry><refentrytitle>security</refentrytitle><manvolnum>7</manvolnum></citerefentry> e <citerefentry> <refentrytitle>named</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
|
||
|
||
<para>Veja o serviço <literal>ntalk</literal>, por exemplo (veja <citerefentry><refentrytitle>inetd</refentrytitle><manvolnum>8</manvolnum></citerefentry>). Este serviço costumava rodar como ID de usuário <systemitem class="username">root</systemitem>. Agora ele é executado como ID do usuário <systemitem class="username">tty</systemitem>. O usuário <systemitem class="username">tty</systemitem> é um sandbox projetado para tornar mais difícil para alguém que invadiu o sistema com sucesso através do <literal>ntalk</literal> ser capaz de hackear além do seu ID de usuário.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Um processo que é colocado dentro de uma simulação da máquina. Isso significa que alguém que é capaz de entrar no processo pode acreditar que ele pode invadir a máquina mais ampla, mas está, na verdade, apenas invadindo uma simulação dessa máquina e não modificando nenhum dado real.</para>
|
||
|
||
<para>A maneira mais comum de fazer isso é construir um ambiente simulado em um subdiretório e então executar os processos nesse diretório chrooted para que o diretório <filename> / </filename> para esse processo seja este, não o diretório <filename>/</filename> real do sistema).</para>
|
||
|
||
<para>Outro uso comum é montar um sistema de arquivos subjacente somente leitura e, em seguida, criar uma camada do sistema de arquivos sobre ele, o que dá a um processo uma visualização aparentemente gravável nesse sistema de arquivos. O processo pode acreditar que é capaz de escrever nesses arquivos, mas o processo apenas vê os efeitos - outros processos no sistema não, necessariamente.</para>
|
||
|
||
<para>Foi feita uma tentativa de tornar esse tipo de sandbox tão transparente que o usuário (ou hacker) não percebe que está dentro dele.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
|
||
<para>O <trademark class="registered">UNIX</trademark> implementa dois sandboxes principais. Um está no nível do processo e o outro está no nível do usuário.</para>
|
||
|
||
<para>Todo processo <trademark class="registered">UNIX</trademark> é completamente protegido contra qualquer outro processo <trademark class="registered">UNIX</trademark>. Um processo não pode modificar o espaço de endereço de outro.</para>
|
||
|
||
<para>Um processo <trademark class="registered">UNIX</trademark> é de propriedade de um determinado ID de usuário. Se o ID de usuário não for o usuário <systemitem class="username">root</systemitem>, ele servirá para proteger o processo contra processos pertencentes a outros usuários. O ID do usuário também é usado para proteger os dados no disco.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="securelevel">
|
||
<para>O que é securelevel?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para><literal>securelevel</literal> é um mecanismo de segurança implementado no kernel. Quando o nível de segurança é positivo, o kernel restringe certas tarefas; nem mesmo o superusuário (<systemitem class="username">root</systemitem>) pode executá-los. O mecanismo de securelevel limita a capacidade de:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>Desativar determinados flags de arquivo, tais como <literal>schg</literal> (o flag de sistema imutável).</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Escrever na memória do kernel através de <filename>/dev/mem</filename> e <filename>/dev/kmem</filename>.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Carregar módulos do kernel.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Alterar as regras do firewall.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
|
||
<para>Para verificar o status do securelevel em um sistema em execução:</para>
|
||
|
||
<screen><prompt>#</prompt> <userinput>sysctl -n kern.securelevel</userinput></screen>
|
||
|
||
<para>A saída contém o valor atual do nível de segurança. Se for maior que 0, pelo menos algumas das proteções do securelevel são ativadas.</para>
|
||
|
||
<para>O securelevel de um sistema em execução não pode ser reduzido, pois isso invalidaria seu propósito. Se uma tarefa exigir que o securelevel seja não-positivo, altere as variáveis <varname>kern_securelevel</varname> e <varname>kern_securelevel_enable</varname> em <filename>/etc/rc.conf</filename> e reinicialize.</para>
|
||
|
||
<para>Para obter mais informações sobre o securelevel e as coisas específicas que todos os níveis fazem, consulte <citerefentry><refentrytitle>init</refentrytitle><manvolnum>8</manvolnum></citerefentry>.</para>
|
||
|
||
<warning>
|
||
<para>O securelevel não é uma bala de prata; tem muitas deficiências conhecidas. Mais frequentemente do que não, fornece uma falsa sensação de segurança.</para>
|
||
|
||
<para>Um dos seus maiores problemas é que, para que seja eficaz, todos os arquivos usados no processo de inicialização até que o nível de segurança seja definido devem ser protegidos. Se um invasor puder fazer o sistema executar seu código antes do nível de segurança que está sendo definido (o que acontece muito tarde no processo de inicialização, pois algumas coisas que o sistema deve fazer na inicialização não podem ser feitas em um nível elevado), suas proteções são invalidadas . Embora essa tarefa de proteger todos os arquivos usados no processo de inicialização não seja tecnicamente impossível, se for obtida, a manutenção do sistema se tornará um pesadelo, já que seria necessário desativar o sistema, pelo menos no modo de usuário único, para modificar um arquivo de configuração.</para>
|
||
|
||
<para>Este ponto e outros são frequentemente discutidos nas listas de discussão, particularmente na <link xlink:href="http://lists.FreeBSD.org/mailman/listinfo/freebsd-security">lista de discussão de segurança do FreeBSD</link>. Pesquise nos arquivos <link xlink:href="@@URL_RELPREFIX@@/search/index.html">aqui</link> para uma discussão extensa. Um mecanismo mais refinado é o preferido.</para>
|
||
</warning>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="extra-named-port">
|
||
<para>O <application>BIND9</application> (<command>named</command>) está escutando em algumas portas de numeração alta. O que está acontecendo?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O BIND usa uma porta aleatória de numeração alta para consultas de saída. Versões recentes dele escolhem uma nova porta UDP aleatória para cada consulta. Isso pode causar problemas para algumas configurações de rede, especialmente se um firewall bloquear pacotes UDP de entrada em portas específicas. Para passar por esse firewall, tente as opções <literal>avoid-v4-udp-ports</literal> e <literal>avoid-v6-udp-ports</literal> para evitar a seleção de números de porta aleatórios dentro de um intervalo bloqueado.</para>
|
||
|
||
<warning>
|
||
<para>Se um número de porta (como 53) for especificado através das opções <literal>query-source</literal> ou <literal>query-source-v6</literal> em <filename>/usr/local/etc/namedb/named .conf</filename>, a seleção de portas aleatórias não será usada. É altamente recomendável que essas opções não sejam usadas para especificar números de porta fixos.</para>
|
||
</warning>
|
||
|
||
<para>Parabéns, a propósito. É uma boa prática ler a saída <citerefentry><refentrytitle>sockstat</refentrytitle><manvolnum>1</manvolnum></citerefentry> e observar coisas estranhas!</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="sendmail-port-587">
|
||
<para>O daemon <application>Sendmail</application> está escutando na porta 587, assim como na porta padrão 25! O que está acontecendo?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Versões recentes do <application>Sendmail</application> suportam um recurso de envio de mensagens que é executado pela porta 587. Isso ainda não é amplamente suportado, mas está crescendo em popularidade.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="toor-account">
|
||
<para>O que é essa conta UID 0 <systemitem class="username">toor</systemitem>? Eu fui comprometido?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Não se preocupe. <systemitem class="username">toor</systemitem> é uma conta de superusuário <quote>alternativa</quote>, onde toor é root soletrada para ao contrário. Ele deve ser usado com um shell não padrão, portanto, o shell padrão para <systemitem class="username">root</systemitem> não precisa ser alterado. Isto é importante porque os shells que não fazem parte da distribuição base, mas que são instalados a partir de ports ou packages, são instalados em <filename>/usr/local/bin</filename> que, por padrão, reside em um sistema de arquivos diferente . Se o shell do <systemitem class="username">root</systemitem> estiver localizado em <filename>/usr/local/bin</filename> e o sistema de arquivos contendo <filename>/usr/local/bin</filename>) não está montado, <systemitem class="username">root</systemitem> não poderá efetuar login para corrigir um problema e terá que reinicializar no modo de usuário único para inserir o caminho para um shell.</para>
|
||
|
||
<para>Algumas pessoas usam <systemitem class="username">toor</systemitem> para tarefas do dia-a-dia do <systemitem class="username">root</systemitem> com um shell não padrão, deixando o <systemitem class="username">root</systemitem>, com um shell padrão, para o modo de usuário único ou emergências. Por padrão, um usuário não pode logar usando <systemitem class="username">toor</systemitem> porque ele não tem uma senha, então efetue login como <systemitem class="username">root</systemitem> e defina um senha para <systemitem class="username">toor</systemitem> antes de usá-lo para efetuar login.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
</qandaset>
|
||
</chapter>
|
||
|
||
<chapter xml:id="ppp">
|
||
<title>PPP</title>
|
||
|
||
<qandaset>
|
||
<qandaentry>
|
||
<question xml:id="userppp">
|
||
<para>Não consigo fazer o <citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></citerefentry> funcionar. O que estou fazendo de errado?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Primeiro, leia o <citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></citerefentry> e o <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/ppp-and-slip.html#userppp">seção sobre PPP do Handbook</link>. Para ajudar na solução de problemas, ative os logs com o seguinte comando:</para>
|
||
|
||
<programlisting>set log Phase Chat Connect Carrier lcp ipcp ccp command</programlisting>
|
||
|
||
<para>Este comando pode ser digitado no prompt de comando <citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></citerefentry> ou pode ser inserido no início da seção <literal>default</literal> do arquivo <filename>/etc/ppp/ppp.conf</filename>. Certifique-se de que o arquivo <filename>/etc/syslog.conf</filename> contenha as linhas abaixo e de que o arquivo <filename>/var/log/ppp.log</filename> exista:</para>
|
||
|
||
<programlisting>!ppp
|
||
*.* /var/log/ppp.log</programlisting>
|
||
|
||
<para>Muito sobre o que está acontecendo pode ser aprendido no arquivo de log. Não se preocupe se isso não faz sentido, pois pode fazer sentido para outra pessoa.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="ppp-hangs">
|
||
<para>Por que o <citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></citerefentry> é interrompido quando eu o executo?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Geralmente, isso ocorre porque o nome do host não será resolvido. A melhor maneira de corrigir isso é certificar-se de que <filename>/etc/hosts</filename> seja lido primeiro, garantindo que a linha <literal>hosts</literal> seja listada primeiro em <filename>/etc/host.conf</filename>. Em seguida, insira uma entrada em <filename>/etc/hosts</filename> para a máquina local. Se não houver nenhuma rede local, altere a linha <systemitem>localhost</systemitem>:</para>
|
||
|
||
<programlisting>127.0.0.1 foo.example.com foo localhost</programlisting>
|
||
|
||
<para>Caso contrário, adicione outra entrada para o host. Consulte as páginas de manual relevantes para mais detalhes.</para>
|
||
|
||
<para>Quando terminar, verifique se este comando foi bem sucedido: <command> ping -c1 `hostname`</command>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="ppp-nodial-auto">
|
||
<para>Por que o <citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></citerefentry> não disca no modo <literal>-auto</literal>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Primeiro, verifique se existe uma rota padrão. Este comando deve exibir duas entradas:</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>Se uma rota padrão não estiver listada, certifique-se de que a linha <literal>HISADDR</literal> foi adicionada ao <filename>/etc/ppp/ppp.conf</filename>.</para>
|
||
|
||
<para>Outro motivo para a falta da linha de rota padrão é que uma rota padrão foi adicionada ao <filename>/etc/rc.conf</filename> e esta linha está faltando no arquivo <filename>/etc/ppp/ppp.conf</filename>:</para>
|
||
|
||
<programlisting>delete ALL</programlisting>
|
||
|
||
<para>Se esse for o caso, volte para seção <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/userppp.html#userppp-final">Configuração final do sistema</link> no Handbook.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="no-route-to-host">
|
||
<para>O que o erro <errorname>No route to host</errorname> significa?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Este erro geralmente ocorre porque a seguinte seção está faltando no arquivo <filename>/etc/ppp/ppp.linkup</filename>:</para>
|
||
|
||
<programlisting>MYADDR:
|
||
delete ALL
|
||
add 0 0 HISADDR</programlisting>
|
||
|
||
<para>Isso é necessário apenas para um endereço IP dinâmico ou quando o endereço do gateway padrão é desconhecido. Ao usar o modo interativo, o seguinte pode ser digitado depois de entrar no modo de pacote. O modo de pacote é indicado pelo <acronym>PPP</acronym> em letras maiúsculas no prompt:</para>
|
||
|
||
<programlisting>delete ALL
|
||
add 0 0 HISADDR</programlisting>
|
||
|
||
<para>Consulte a seção <link xlink:href="@@URL_RELPREFIX@@/doc/pt_BR.ISO8859-1/books/handbook/userppp.html#userppp-dynamicip">Endereços IP dinâmicos e PPP</link> do manual para mais detalhes.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="connection-threeminutedrop">
|
||
<para>Por que minha conexão cai depois de 3 minutos?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O tempo limite padrão do PPP é de 3 minutos. Isso pode ser ajustado com a seguinte linha:</para>
|
||
|
||
<programlisting>set timeout <replaceable>NNN</replaceable></programlisting>
|
||
|
||
<para>onde <replaceable>NNN</replaceable> é o número de segundos de inatividade antes que a conexão seja fechada. Se <replaceable>NNN</replaceable> for zero, a conexão nunca será fechada devido a um tempo limite. É possível colocar este comando em <filename>ppp.conf</filename>, ou digitá-lo no prompt no modo interativo. Também é possível ajustá-lo rapidamente enquanto a linha está ativa conectando-se ao socket de servidor do <application>ppp</application> usando <citerefentry><refentrytitle>telnet</refentrytitle><manvolnum>1</manvolnum></citerefentry> ou <citerefentry><refentrytitle>pppctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>. Consulte a página do manual <citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></citerefentry> para obter mais detalhes.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="ppp-drop-heavy-load">
|
||
<para>Por que minha conexão cai sob carga pesada?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Se o relatório de qualidade de link (<acronym>LQR</acronym>) estiver configurado, é possível que muitos pacotes <acronym>LQR</acronym> sejam perdidos entre o sistema FreeBSD e o peer. <citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></citerefentry> deduz que a linha deve ser ruim e desconectada. O <acronym>LQR</acronym> vem desativado por padrão e pode ser ativado com a seguinte linha:</para>
|
||
|
||
<programlisting>enable lqr</programlisting>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="ppp-drop-random">
|
||
<para>Por que minha conexão cai depois de um período de tempo aleatório?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Às vezes, em uma linha telefônica barulhenta ou mesmo em uma linha com a chamada em espera ativada, o modem pode desligar porque acha incorretamente que perdeu conexão com a operadora.</para>
|
||
|
||
<para>Há uma configuração na maioria dos modems para determinar quão tolerante deve ser a perda temporária de conexão com portadora. Consulte o manual do modem para detalhes.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="ppp-hangs-random">
|
||
<para>Por que minha conexão cai após um período aleatório de tempo?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Muitas pessoas experimentam conexões pendentes sem explicação aparente. A primeira coisa a estabelecer é de que lado do link está pendurado.</para>
|
||
|
||
<para>Ao usar um modem externo, tente usar <citerefentry><refentrytitle>ping</refentrytitle><manvolnum>8</manvolnum></citerefentry> para ver se a luz de <acronym>TD</acronym> está piscando quando os dados são transmitidos . Se piscar, mas a luz de <acronym>RD</acronym> não, o problema é com a extremidade remota. Se <acronym>TD</acronym> não piscar, o problema é local. Com um modem interno, use o comando <literal>set server</literal> em <filename>ppp.conf</filename>. Quando o problema ocorrer, conecte-se ao <citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></citerefentry> usando <citerefentry> <refentrytitle>pppctl</refentrytitle><manvolnum>8</manvolnum></citerefentry>. Se a conexão de rede reviver repentinamente devido à atividade no socket de diagnóstico ou se não se conectar, mas o comando <literal>set socket</literal> for bem-sucedido na inicialização, o problema é local. Se ele puder se conectar, mas as coisas ainda estiverem travadas, ative o log local com <literal>set log local async</literal> e use <citerefentry><refentrytitle>ping</refentrytitle><manvolnum>8</manvolnum></citerefentry> de outra janela ou terminal para fazer uso do link. O registro assíncrono mostrará os dados sendo transmitidos e recebidos no link. Se os dados estão saindo e não voltando, o problema é remoto.</para>
|
||
|
||
<para>Tendo estabelecido se o problema é local ou remoto, existem agora duas possibilidades:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>Se o problema for remoto, leia a entrada <xref linkend="ppp-remote-not-responding"/>.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Se o problema é local, leia a entrada <xref linkend="ppp-hung"/>.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="ppp-remote-not-responding">
|
||
<para>A ponta remota não está respondendo. O que eu posso fazer?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Há muito pouco que pode ser feito sobre isso. Muitos ISPs recusam-se a ajudar usuários que não estejam executando um SO da <trademark class="registered">Microsoft</trademark>. Adicione <literal>enable lqr</literal> ao <filename>/etc/ppp/ppp.conf</filename>, permitindo <citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></citerefentry> para detectar a falha remota e desligar. Essa detecção é relativamente lenta e, portanto, não é tão útil.</para>
|
||
|
||
<para>Primeiro, tente desativar toda a compactação local adicionando o seguinte à configuração:</para>
|
||
|
||
<programlisting>disable pred1 deflate deflate24 protocomp acfcomp shortseq vj
|
||
deny pred1 deflate deflate24 protocomp acfcomp shortseq vj</programlisting>
|
||
|
||
<para>Em seguida, reconecte para garantir que isso não faz diferença. Se as coisas melhorarem ou se o problema for resolvido completamente, determine qual configuração faz a diferença através de tentativa e erro. Esta é uma boa informação para o ISP, embora possa tornar aparente que não é um sistema <trademark class="registered">Microsoft</trademark>.</para>
|
||
|
||
<para>Antes de entrar em contato com o ISP, ative o registro assíncrono localmente e aguarde até que a conexão seja interrompida novamente. Isso pode usar um pouco de espaço em disco. Os últimos dados lidos da porta podem ser de interesse. Geralmente são dados ASCII e podem até descrever o problema (<errorname>Memory fault</errorname>, <errorname>Core dumped</errorname>).</para>
|
||
|
||
<para>Se o ISP for útil, eles devem ser capazes de habilitar o log em sua finalização, então quando o próximo link falhar, eles poderão dizer por que seu lado está tendo um problema.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="ppp-hung">
|
||
<para><citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></citerefentry> foi desativado. O que eu posso fazer?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Nesse caso, reconstrua o <citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></citerefentry> com informações de depuração e, em seguida, use <citerefentry><refentrytitle>gdb</refentrytitle><manvolnum>1</manvolnum></citerefentry> para pegar um rastrear uma pilha do processo <application>ppp</application> que está travado. Para reconstruir o utilitário <application>ppp</application> com informações de depuração, digite:</para>
|
||
|
||
<screen><prompt>#</prompt> <userinput>cd /usr/src/usr.sbin/ppp</userinput>
|
||
<prompt>#</prompt> <userinput>env DEBUG_FLAGS='-g' make clean</userinput>
|
||
<prompt>#</prompt> <userinput>env DEBUG_FLAGS='-g' make install</userinput></screen>
|
||
|
||
<para>Em seguida, reinicie o <application>ppp</application> e espere até que ele seja interrompido novamente. Quando a compilação de depuração do <application>ppp</application> é interrompida, inicie o <application>gdb</application> no processo travado digitando:</para>
|
||
|
||
<screen><prompt>#</prompt> <userinput>gdb ppp `pgrep ppp`</userinput></screen>
|
||
|
||
<para>No prompt <application>gdb</application>, use os comandos <command> bt </command> ou <command> where </command> para obter um rastreamento de pilha. Salve a saída da sessão <application> gdb </application> e <quote> desconecte </quote> do processo em execução, digitando <command> quit </command>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="ppp-same-magic">
|
||
<para>Eu continuo vendo erros sobre a magia sendo a mesma. O que isso significa?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Ocasionalmente, logo após a conexão, pode haver mensagens no log que digam que <errorname>Magic é o mesmo</errorname>. Às vezes, essas mensagens são inofensivas e, às vezes, um lado ou outro termina. A maioria das implementações do PPP não pode sobreviver a esse problema, e mesmo se o link aparecer, haverá solicitações de configuração repetidas e configuração de reconhecimentos no arquivo de log até que o <citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></citerefentry> eventualmente desiste e fecha a conexão.</para>
|
||
|
||
<para>Isso normalmente acontece em máquinas servidor com discos lentos que estão gerando um <citerefentry><refentrytitle>getty</refentrytitle><manvolnum>8</manvolnum></citerefentry> na porta e executando <citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></citerefentry> a partir de um script de login ou programa após o login. Houve relatos de que isso acontecia de forma consistente ao usar slirp. A razão é que no tempo entre <citerefentry><refentrytitle>getty</refentrytitle><manvolnum>8</manvolnum></citerefentry> terminar e o <citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></citerefentry> iniciar, o cliente <citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></citerefentry> inicia o envio de pacotes do protocolo de controle de linha (LCP). Como o ECHO ainda está ligado à porta do servidor, o cliente <citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></citerefentry> vê esses pacotes sendo <quote> refletidos </quote> de volta.</para>
|
||
|
||
<para>Uma parte da negociação do LCP é estabelecer um número mágico para cada lado do link para que as <quote>reflexões</quote> possam ser detectadas. O protocolo diz que quando o parceiro tenta negociar o mesmo número mágico, um NAK deve ser enviado e um novo número mágico deve ser escolhido. Durante o período em que a porta do servidor tem o ECHO ligado, o cliente <citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></citerefentry> envia pacotes LCP, vê o mesmo numero mágica no pacote refletido e reflete o NAK. Ele também vê a reflexão NAK (que também significa que o <citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></citerefentry> deve mudar seu numero magico). Isso produz um número potencialmente enorme de mudanças no número mágico, todas as quais estão se acumulando alegremente no buffer tty do servidor. Assim que <citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></citerefentry> é iniciado no servidor, ele é inundado com alterações de numeros mágicos e quase imediatamente decide que tentou o suficiente para negociar LCP e desiste. Enquanto isso, o cliente, que não vê mais as reflexões, fica feliz a tempo de ver um desligamento do servidor.</para>
|
||
|
||
<para>Isto pode ser evitado permitindo que o par comece a negociar com a seguinte linha em <filename>ppp.conf</filename>:</para>
|
||
|
||
<programlisting>set openmode passive</programlisting>
|
||
|
||
<para>Isto diz ao <citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></citerefentry> para esperar que o servidor inicie as negociações do LCP. Alguns servidores, no entanto, nunca podem iniciar negociações. Nesse caso, tente algo como:</para>
|
||
|
||
<programlisting>set openmode active 3</programlisting>
|
||
|
||
<para>Isso informa ao <citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></citerefentry> para ser passivo por 3 segundos e, em seguida, para iniciar o envio de solicitações de LCP. Se o peer começar a enviar pedidos durante este período, <citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></citerefentry> responderá imediatamente, em vez de esperar pelo período completo de 3 segundos.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="ppp-lcp-constant">
|
||
<para>As negociações LCP continuam até que a conexão seja encerrada. O que está errado?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Há atualmente uma implementação incorreta no <citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></citerefentry> onde ele não associa LCP, CCP & Respostas IPCP com seus pedidos originais. Como resultado, se uma implementação de PPP for mais de 6 segundos mais lenta do que o outro lado, o outro lado enviará duas solicitações adicionais de configuração de LCP. Isso é fatal.</para>
|
||
|
||
<para>Considere duas implementações, <systemitem>A</systemitem> e <systemitem>B</systemitem>. <systemitem>A</systemitem> começa a enviar solicitações LCP imediatamente após a conexão e <systemitem>B</systemitem> leva 7 segundos para iniciar. Quando <systemitem>B</systemitem> é iniciado, <systemitem>A</systemitem> enviou 3 LCP REQs. Estamos supondo que a linha esteja com ECHO desligado, caso contrário, veríamos problemas com números mágicos conforme descrito na seção anterior. <systemitem>B</systemitem> envia um REQ e, em seguida, um ACK para o primeiro dos REQs de <systemitem>A</systemitem>. Isso resulta em <systemitem>A</systemitem> inserindo o estado <acronym>OPENED</acronym> e enviando e ACK (o primeiro) de volta para <systemitem>B</systemitem>. Enquanto isso, <systemitem>B</systemitem> envia de volta mais dois ACKs em resposta aos dois REQs adicionais enviados por <systemitem>A</systemitem> antes de <systemitem>B</systemitem> ser iniciado. <systemitem>B</systemitem> recebe o primeiro ACK de <systemitem>A</systemitem> e entra no estado <acronym>OPENED</acronym>. <systemitem>A</systemitem> recebe o segundo ACK de <systemitem>B</systemitem> e retorna ao estado de <acronym>REQ-SENT</acronym>, enviando outro (adiante) REQ de acordo com o RFC. Em seguida, recebe o terceiro ACK e entra no estado <acronym>OPENED</acronym>. Enquanto isso, <systemitem>B</systemitem> recebe o quarto REQ de <systemitem>A</systemitem>, resultando na sua reversão para o estado <acronym>ACK-SENT</acronym> e enviando outro (segundo) REQ e (adiante) ACK de acordo com o RFC. <systemitem>A</systemitem> obtém o REQ, entra em <acronym>REQ-SENT</acronym> e envia outro REQ. Ele recebe imediatamente o seguinte ACK e insere <acronym>OPENED</acronym>.</para>
|
||
|
||
<para>Isso continua até que um lado conclui que eles estão chegando a lugar nenhum e desiste.</para>
|
||
|
||
<para>A melhor maneira de evitar isso é configurar um lado para ser <literal>passivo</literal> - isto é, fazer um lado esperar que o outro comece a negociar. Isso pode ser feito com o seguinte comando:</para>
|
||
|
||
<programlisting>set openmode passive</programlisting>
|
||
|
||
<para>Deve ser tomado cuidado com esta opção. Este comando também pode ser usado para limitar a quantidade de tempo que o <citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></citerefentry> aguarda que o par inicie as negociações:</para>
|
||
|
||
<programlisting>set stopped <replaceable>N</replaceable></programlisting>
|
||
|
||
<para>Alternativamente, o seguinte comando (onde <replaceable>N</replaceable> é o número de segundos a aguardar antes de iniciar as negociações) pode ser usado:</para>
|
||
|
||
<programlisting>set openmode active <replaceable>N</replaceable></programlisting>
|
||
|
||
<para>Verifique a página de manual para detalhes.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="ppp-shell-test-lockup">
|
||
<para>Por que <citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></citerefentry> bloqueia quando eu me deponho a testá-lo?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Ao usar <command>shell</command> ou <command>!</command>, <citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></citerefentry> executa um shell ou os argumentos passados. O programa <application>ppp</application> aguardará a conclusão do comando antes de continuar. Qualquer tentativa de usar o link PPP durante a execução do comando aparecerá como um link congelado. Isso ocorre porque <citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></citerefentry> está aguardando a conclusão do comando.</para>
|
||
|
||
<para>Para executar comandos como este, use <command>!bg</command>. Isso executará o comando fornecido em segundo plano e <citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></citerefentry> pode continuar a fornecer o link.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="ppp-null-modem">
|
||
<para>Por que <citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></citerefentry> sobre um cabo de modem nulo nunca finaliza?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Não há nenhuma maneira do <citerefentry><refentrytitle>ppp</refentrytitle> <manvolnum>8</manvolnum></citerefentry> determinar automaticamente que uma conexão direta foi eliminada. Isso se deve às linhas usadas em um cabo serial de modem nulo. Ao usar esse tipo de conexão, o LQR deve estar sempre ativado com a seguinte linha:</para>
|
||
|
||
<programlisting>enable lqr</programlisting>
|
||
|
||
<para>O LQR é aceito por padrão se negociado pelo par.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="ppp-auto-noreasondial">
|
||
<para>Por que o <citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></citerefentry> disca sem motivo no modo <option>-auto</option>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Se o <citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></citerefentry> estiver discando inesperadamente, determine a causa e configure os filtros de discagem para evitar que isso ocorra.</para>
|
||
|
||
<para>Para determinar a causa, use a seguinte linha:</para>
|
||
|
||
<programlisting>set log +tcp/ip</programlisting>
|
||
|
||
<para>Isso registrará todo o tráfego através da conexão. Na próxima vez que a linha conectar inesperadamente, o motivo será registrado e terá um carimbo conveniente com a data e hora ao lado dele.</para>
|
||
|
||
<para>Em seguida, desative a discagem nessas circunstâncias. Geralmente, esse tipo de problema surge devido a pesquisas de DNS. Para impedir que as pesquisas de DNS estabeleçam uma conexão (isso <emphasis>não</emphasis> impedirá que o <citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></citerefentry> passe os pacotes através de um diretório estabelecido) conexão), 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>Isso nem sempre é adequado, já que efetivamente quebra os recursos de discagem por demanda. A maioria dos programas precisará de uma pesquisa de DNS antes de fazer qualquer outra coisa relacionada à rede.</para>
|
||
|
||
<para>No caso do DNS, tente determinar o que realmente está tentando resolver um nome de host. A maior parte do tempo, o <application>Sendmail</application> é o culpado. Certifique-se de configurar o <application>Sendmail</application> para não fazer nenhuma pesquisa de DNS em seu arquivo de configuração. Veja a seção sobre <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/smtp-dialup.html">usando e-mail com uma conexão discada</link> no manual do FreeBSD para detalhes. Você também pode adicionar a seguinte linha ao <filename>.mc</filename>:</para>
|
||
|
||
<programlisting>define(`confDELIVERY_MODE', `d')dnl</programlisting>
|
||
|
||
<para>Isso fará com que o <application>Sendmail</application> enfileire tudo até que a fila seja executada, normalmente, a cada 30 minutos, ou até que um <command>sendmail -q</command> seja feito, talvez do <filename>/etc/ppp/ppp.linkup</filename>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="ccp-errors">
|
||
<para>O que esses erros de CCP significam?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Eu continuo vendo os seguintes erros no meu arquivo de log:</para>
|
||
|
||
<programlisting>CCP: CcpSendConfigReq
|
||
CCP: Received Terminate Ack (1) state = Req-Sent (6)</programlisting>
|
||
|
||
<para>Isso ocorre porque o <citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></citerefentry> está tentando negociar a compactação Predictor1, mas o par não deseja negociar nenhuma compactação. As mensagens são inofensivas, mas podem ser silenciadas desativando a compactação:</para>
|
||
|
||
<programlisting>disable pred1</programlisting>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="ppp-connectionspeed">
|
||
<para>Por que o <citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></citerefentry> não registra minha velocidade de conexão?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Para registrar todas as linhas da conversação do modem, ative o seguinte:</para>
|
||
|
||
<programlisting>set log +connect</programlisting>
|
||
|
||
<para>Isso fará com que o <citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></citerefentry> registre tudo até a última string <quote>expect</quote> seja solicitada.</para>
|
||
|
||
<para>Para ver a velocidade de conexão ao usar o PAP ou o CHAP, certifique-se de configurar <citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></citerefentry> para esperar toda a linha CONNECT, usando algo assim:</para>
|
||
|
||
<programlisting>set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 4 \
|
||
\"\" ATZ OK-ATZ-OK ATDT\\T TIMEOUT 60 CONNECT \\c \\n"</programlisting>
|
||
|
||
<para>Isso obtém o CONNECT, não envia nada, então espera um avanço de linha, forçando o <citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></citerefentry> a ler toda a resposta CONNECT.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="ppp-ignores-backslash">
|
||
<para>Por que o <citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></citerefentry> ignora o caractere <literal>\</literal> no meu script de bate-papo?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O utilitário <application>ppp</application> analisa cada linha em seus arquivos de configuração para que ela possa interpretar corretamente seqüências de caracteres como <literal>set phone "123 456 789"</literal> e perceber que o número é realmente apenas um argumento . Para especificar um caractere <literal>"</literal>, escape-o usando uma barra invertida (<literal>\</literal>).</para>
|
||
|
||
<para>Quando o interpretador de conversas analisa cada argumento, ele reinterpreta o argumento para encontrar qualquer sequência especiais escapadas, como <literal>\P</literal> ou <literal>\T</literal>. Como resultado dessa análise dupla, lembre-se de usar o número correto de escapes.</para>
|
||
|
||
<para>Para realmente enviar um caractere <literal> \ </literal>, faça algo como:</para>
|
||
|
||
<programlisting>set dial "\"\" ATZ OK-ATZ-OK AT\\\\X OK"</programlisting>
|
||
|
||
<para>Isso resultará na seguinte seqüência:</para>
|
||
|
||
<programlisting>ATZ
|
||
OK
|
||
AT\X
|
||
OK</programlisting>
|
||
|
||
<para>Ou:</para>
|
||
|
||
<programlisting>set phone 1234567
|
||
set dial "\"\" ATZ OK ATDT\\T"</programlisting>
|
||
|
||
<para>Isso resultará na seguinte seqüência:</para>
|
||
|
||
<programlisting>ATZ
|
||
OK
|
||
ATDT1234567</programlisting>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="fcs-errors">
|
||
<para>Quais são os erros do FCS?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>FCS significa Sequência de Verificação de Quadro. Cada pacote PPP tem uma soma de verificação anexada para garantir que os dados sendo recebidos sejam os dados que estão sendo enviados. Se o FCS de um pacote de entrada estiver incorreto, o pacote será descartado e a contagem HDLC FCS será aumentada. Os valores de erro HDLC podem ser exibidos usando o comando <literal>show hdlc</literal>.</para>
|
||
|
||
<para>Se o link for ruim ou se o driver serial estiver descartando pacotes, ele produzirá o erro ocasional de FCS. Isso geralmente não vale a pena se preocupar, embora deixe substancialmente lento os protocolos de compactação.</para>
|
||
|
||
<para>Se o link congelar assim que se conectar e produzir um grande número de erros de FCS, verifique se o modem não está usando o controle de fluxo de software (XON/XOFF). Se o link precisar usar o controle de fluxo de software, use <literal>set accmap 0x000a0000</literal> para informar o <citerefentry> <refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></citerefentry> para escapar o <literal>^Q</literal> e caracteres <literal>^S</literal>.</para>
|
||
|
||
<para>Outra razão para muitos erros de FCS, pode ser que o terminal remoto parou de falar com <acronym>PPP</acronym>. Nesse caso, ative o log do <literal>async</literal> para determinar se os dados recebidos são realmente um login ou prompt de shell. Se for um prompt de shell no final remoto, é possível terminar o <citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></citerefentry> sem eliminar a linha usando <command>close lcp</command> seguido de <command>term</command>) para reconectar ao shell na máquina remota.</para>
|
||
|
||
<para>Se nada no arquivo de log indicar por que o link foi encerrado, pergunte ao administrador remoto ou ISP por que a sessão foi encerrada.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="desperation">
|
||
<para>Nada disso ajudou - estou desesperado! O que eu posso fazer?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Se tudo mais falhar, envie os detalhes do erro, os arquivos de configuração, como <citerefentry><refentrytitle>ppp</refentrytitle><manvolnum>8</manvolnum></citerefentry> está sendo iniciado, as partes relevantes no arquivo de log , e a saída de <command>netstat -rn</command>, antes e depois de conectar, para a <link xlink:href="http://lists.FreeBSD.org/mailman/listinfo/freebsd-questions">Lista de discussão de questões gerais do FreeBSD</link>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
</qandaset>
|
||
</chapter>
|
||
|
||
<chapter xml:id="serial">
|
||
<title>Comunicações Seriais</title>
|
||
|
||
<para>Esta seção responde a perguntas comuns sobre comunicação serial com o FreeBSD. O PPP é abordado na seção <link linkend="networking">Networking</link>.</para>
|
||
|
||
<qandaset>
|
||
<qandaentry>
|
||
<question xml:id="multiport-serial-support">
|
||
<para>Quais placas multi-seriais são suportadas pelo FreeBSD?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Há uma lista destas no capítulo <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/serial.html"> Comunicações Seriais </link> do Handbook.</para>
|
||
|
||
<para>A maioria das placas PCI multi-portas baseadas em 16550 ou nos seus clones são suportadas sem esforço extra.</para>
|
||
|
||
<para>Alguns cartões clone não-nomeados também são conhecidos por funcionar, especialmente aqueles que afirmam ser compatíveis com AST.</para>
|
||
|
||
<para>Verifique <citerefentry><refentrytitle>uart</refentrytitle><manvolnum>4</manvolnum></citerefentry> e <citerefentry><refentrytitle>sio</refentrytitle><manvolnum>4</manvolnum></citerefentry> para obter mais informações sobre como configurar esses cartões.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="serial-console-prompt">
|
||
<para>Como obtenho o prompt de boot: em um console serial?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Veja <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/serialconsole-setup.html"> esta seção do Handbook</link>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="found-serial">
|
||
<para>Como sei se o FreeBSD encontrou minhas portas seriais ou placas de modem?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Quando o kernel do FreeBSD for inicializado, ele irá sondar as portas seriais para as quais o kernel está configurado. Observe atentamente as mensagens de inicialização ou execute este comando após o sistema estar ativo e em execução:</para>
|
||
|
||
<screen><prompt>%</prompt> <userinput>grep -E '^(sio|uart)[0-9]' < /var/run/dmesg.boot</userinput>
|
||
sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
|
||
sio0: type 16550A
|
||
sio1: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 on acpi0
|
||
sio1: type 16550A</screen>
|
||
|
||
<para>Este exemplo mostra duas portas seriais. O primeiro está no IRQ4, endereço de porta <literal>0x3f8</literal>, e possui um chip UART tipo 16550A. O segundo usa o mesmo tipo de chip, mas está no IRQ3 e está no endereço de porta <literal>0x2f8</literal>. As placas de modem internas são tratadas como portas seriais, exceto pelo fato de sempre terem um modem conectado à porta.</para>
|
||
|
||
<para>O kernel <filename>GENERIC</filename> inclui suporte para duas portas seriais usando as mesmas configurações de IRQ e endereço de porta no exemplo acima. Se estas configurações não forem adequadas para o sistema, ou se houver mais placas de modem ou portas seriais do que o kernel está configurado, reconfigure usando as instruções em <link linkend="make-kernel">construindo um kernel</link> para mais detalhes.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="access-serial-ports">
|
||
<para>Como eu acesso as portas seriais no FreeBSD?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>A terceira porta serial, <filename>sio2</filename>, ou <filename>COM3</filename>, está em <filename>/dev/cuad2</filename> para dispositivos dial-out e em <filename>/dev/ttyd2</filename> para dispositivos dial-in. Qual é a diferença entre essas duas classes de dispositivos?</para>
|
||
|
||
<para>Ao abrir <filename>/dev/ttydX</filename> no modo de bloqueio, um processo aguardará o dispositivo <filename>cuadX</filename> correspondente ficar inativo e, em seguida, aguardar a ativação da linha de detecção. Quando o dispositivo <filename>cuadX</filename> é aberto, ele garante que a porta serial não esteja em uso pelo dispositivo <filename>ttydX</filename>. Se a porta estiver disponível, ela a rouba do dispositivo <filename>ttydX</filename>. Além disso, o dispositivo <filename>cuadX</filename> não se importa com a detecção da portadora. Com este esquema e um modem de resposta automática, os usuários remotos podem efetuar login e os usuários locais ainda podem discar com o mesmo modem e o sistema cuidará de todos os conflitos.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="enable-multiport-serial">
|
||
<para>Como habilitar o suporte para uma placa serial com várias portas?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>A seção sobre configuração do kernel fornece informações sobre como configurar o kernel. Para uma placa serial com várias portas, coloque uma linha <citerefentry><refentrytitle>sio</refentrytitle><manvolnum>4</manvolnum></citerefentry> para cada porta serial na placa no <citerefentry vendor="current"><refentrytitle>device.hints</refentrytitle><manvolnum>5</manvolnum></citerefentry>. Mas coloque os especificadores de IRQ em apenas uma das entradas. Todas as portas no cartão devem compartilhar um IRQ. Para consistência, use a última porta serial para especificar o IRQ. Além disso, especifique a seguinte opção no arquivo de configuração do kernel:</para>
|
||
|
||
<programlisting>options COM_MULTIPORT</programlisting>
|
||
|
||
<para>O exemplo a seguir <filename>/boot/device.hints</filename> é para uma placa serial AST de 4 portas no IRQ 12:</para>
|
||
|
||
<programlisting>hint.sio.4.at="isa"
|
||
hint.sio.4.port="0x2a0"
|
||
hint.sio.4.flags="0x701"
|
||
hint.sio.5.at="isa"
|
||
hint.sio.5.port="0x2a8"
|
||
hint.sio.5.flags="0x701"
|
||
hint.sio.6.at="isa"
|
||
hint.sio.6.port="0x2b0"
|
||
hint.sio.6.flags="0x701"
|
||
hint.sio.7.at="isa"
|
||
hint.sio.7.port="0x2b8"
|
||
hint.sio.7.flags="0x701"
|
||
hint.sio.7.irq="12"</programlisting>
|
||
|
||
<para>Os flags indicam que a porta principal possui um número menor <literal>7</literal> (<literal> 0x700 </literal>) e todas as portas compartilham um IRQ (<literal> 0x001 </literal>).</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="default-serial-params">
|
||
<para>Posso definir os parâmetros seriais padrões para uma porta?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Veja a seção <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/serial.html#serial-hw-config"> Comunicações Seriais </link> no Handbook do FreeBSD .</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="enable-dialup">
|
||
<para>Como posso ativar logins de discagem no meu modem?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Consulte a seção sobre <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/dialup.html">Serviços de Discagem</link> no Handbook do FreeBSD.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="dumb-terminal">
|
||
<para>Como posso conectar um terminal burro na minha máquina FreeBSD?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Esta informação está na seção <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/term.html"> Terminais </link> do Handbook do FreeBSD.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="cannot-tip">
|
||
<para>Por que não consigo executar o comando <command>tip</command> ou o <command>cu</command>?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Os utilitários <citerefentry><refentrytitle>tip</refentrytitle><manvolnum>1</manvolnum></citerefentry> and <citerefentry><refentrytitle>cu</refentrytitle><manvolnum>1</manvolnum></citerefentry> só podem acessar o diretório <filename>/var/spool/lock</filename> via usuário <systemitem class="username">uucp</systemitem> e grupo <systemitem class="groupname">dialer</systemitem> . Use o grupo <systemitem class="groupname">dialer</systemitem> para controlar quem tem acesso ao modem ou sistemas remotos adicionando contas de usuário ao <systemitem class="groupname">dialer</systemitem>.</para>
|
||
|
||
<para>Como alternativa, todos podem ser configurados para executar <citerefentry> <refentrytitle>tip</refentrytitle><manvolnum>1</manvolnum></citerefentry> e <citerefentry> <refentrytitle>cu</refentrytitle><manvolnum>1</manvolnum></citerefentry> digitando:</para>
|
||
|
||
<screen><prompt>#</prompt> <userinput>chmod 4511 /usr/bin/cu</userinput>
|
||
<prompt>#</prompt> <userinput>chmod 4511 /usr/bin/tip</userinput></screen>
|
||
</answer>
|
||
</qandaentry>
|
||
</qandaset>
|
||
</chapter>
|
||
|
||
<chapter xml:id="misc">
|
||
<title>Perguntas Diversas</title>
|
||
|
||
<qandaset>
|
||
<qandaentry>
|
||
<question xml:id="more-swap">
|
||
<para>O FreeBSD usa muito espaço de swap mesmo quando o computador tem memória livre sobrando. Por quê?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O FreeBSD irá proativamente mover páginas ociosas e não usadas da memória principal para swap, a fim de disponibilizar mais memória principal para uso ativo. Esse uso pesado de swap é balanceado usando a memória extra livre para armazenamento em cache.</para>
|
||
|
||
<para>Note que enquanto o FreeBSD é proativo a esse respeito, ele não decide arbitrariamente trocar páginas quando o sistema está realmente inativo. Assim, o sistema não será todo paginado depois de deixá-lo ocioso durante a noite.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="top-freemem">
|
||
<para>Por que <command>top</command> mostra pouca memória livre mesmo quando tenho poucos programas em execução?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para xml:lang="en">The simple answer is that free memory is wasted
|
||
memory. Any memory that programs do not actively
|
||
allocate is used within the FreeBSD kernel as disk cache.
|
||
The values shown by <citerefentry><refentrytitle>top</refentrytitle><manvolnum>1</manvolnum></citerefentry> labeled as
|
||
<literal>Inact</literal> and <literal>Laundry</literal>
|
||
are cached data at different
|
||
aging levels. This cached data means the system does not
|
||
have to access a slow disk again for data it has accessed
|
||
recently, thus increasing overall performance. In
|
||
general, a low value shown for <literal>Free</literal>
|
||
memory in <citerefentry><refentrytitle>top</refentrytitle><manvolnum>1</manvolnum></citerefentry> is good, provided it is not
|
||
<emphasis>very</emphasis> low.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="chmod-symlinks">
|
||
<para>Por que o <command>chmod</command> não altera as permissões nos links simbólicos?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Os links simbólicos não têm permissões e, por padrão, <citerefentry> <refentrytitle>chmod</refentrytitle><manvolnum>1</manvolnum></citerefentry> seguirá links simbólicos para alterar as permissões no arquivo de origem, se possível. Para o arquivo, <filename>foo</filename> com um link simbólico chamado <filename>bar</filename>, este comando será sempre bem-sucedido.</para>
|
||
|
||
<screen><prompt>%</prompt> <userinput>chmod g-w bar</userinput></screen>
|
||
|
||
<para>No entanto, as permissões no arquivo <filename>bar</filename> não serão alteradas.</para>
|
||
|
||
<para>Ao alterar os modos das hierarquias de arquivos do usuario root em vez dos próprios arquivos, use <option>-H</option> ou <option>-L</option> junto com <option>-R</option> para este trabalho. Veja <citerefentry><refentrytitle>chmod</refentrytitle><manvolnum>1</manvolnum></citerefentry> e <citerefentry> <refentrytitle>symlink</refentrytitle><manvolnum>7</manvolnum></citerefentry> para mais em formação.</para>
|
||
|
||
<warning>
|
||
<para><option>-R</option> faz um <emphasis/><citerefentry><refentrytitle>chmod</refentrytitle><manvolnum>1</manvolnum></citerefentry> recursivo. Tenha cuidado ao especificar diretórios ou links simbólicos para diretórios para o <citerefentry><refentrytitle>chmod</refentrytitle><manvolnum>1</manvolnum></citerefentry>. Para alterar as permissões de um diretório referenciado por um link simbólico, use <citerefentry><refentrytitle>chmod</refentrytitle><manvolnum>1</manvolnum></citerefentry> sem nenhuma opção e siga o link simbólico com uma barra à direita (<filename>/</filename>). Por exemplo, se <filename>foo</filename> for um link simbólico para o diretório <filename>bar</filename>, para alterar as permissões de <filename>foo</filename> (na verdade <filename>bar</filename>) faça algo como:</para>
|
||
|
||
<screen><prompt>%</prompt> <userinput>chmod 555 foo/</userinput></screen>
|
||
|
||
<para>Com a barra final, <citerefentry><refentrytitle>chmod</refentrytitle><manvolnum>1</manvolnum></citerefentry> seguirá o link simbólico, <filename>foo</filename>, para alterar as permissões do diretório, <filename>bar</filename>.</para>
|
||
</warning>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="dos-binaries">
|
||
<para>Posso executar binários do DOS no FreeBSD?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Sim. Um programa de emulação DOS, <package>emulators/doscmd</package>, está disponível na Coleção de Ports do FreeBSD.</para>
|
||
|
||
<para>Se o <application>doscmd</application> não for suficiente, o <package>emulators/pcemu</package> emulará um 8088 e serviços de BIOS suficientes para executar muitos aplicativos em modo texto do DOS. Requer o sistema de janelas X.</para>
|
||
|
||
<para>A coleção de ports também tem o <package>emulators/dosbox</package>. O foco principal deste aplicativo é emular antigos jogos do DOS usando o sistema de arquivos local para os arquivos.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="translation">
|
||
<para>O que eu preciso fazer para traduzir um documento do FreeBSD para minha língua nativa?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Veja a <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/fdp-primer/translations.html"> <acronym>FAQ</acronym> de traduções </link> na Documentação do Primer Project do FreeBSD.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="freebsd-mail-bounces">
|
||
<para>Por que os meus emails destinados a qualquer endereço no dominio <systemitem class="fqdomainname">FreeBSD.org</systemitem> são sempre rejeitados?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>O sistema de mensagens do <systemitem class="fqdomainname"> FreeBSD.org </systemitem> implementa algumas verificações do <application>Postfix</application> nos e-mails recebidos e rejeita e-mails que são de retransmissões mal configurados ou que parecem ser spam. Alguns dos requisitos específicos são:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>O endereço IP do cliente SMTP deve possuir um registro de DNS reverso para encaminhar hostnames confirmados.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>O nome completo do host fornecido na conversação SMTP (HELO ou EHLO) deve ser resolvido para o endereço IP do cliente.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
|
||
<para>Outros conselhos para ajudar suas mensagens a chegar ao seu destino incluem:</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para>O email deve ser enviado em texto simples, e as mensagens enviadas para as listas de discussão geralmente não devem ter mais de 200 KB.</para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para>Evite postagem cruzadas excessivas. Escolha <emphasis>uma</emphasis> lista de discussão que pareça mais relevante e envie-a para lá.</para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
|
||
<para>Se você ainda tiver problemas com a infra-estrutura de e-mail no <systemitem class="fqdomainname">FreeBSD.org</systemitem>, envie uma observação com os detalhes para <email>postmaster@freebsd.org</email>; Inclua um intervalo de data/hora para que os registros possam ser revisados -- e observe que apenas mantemos uma semana de registros de e-mail. (Certifique-se de especificar o fuso horário ou o deslocamento de UTC.)</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="free-account">
|
||
<para>Onde posso conseguir uma conta gratuita FreeBSD?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Embora o FreeBSD não forneça acesso aberto a nenhum de seus servidores, outros fornecem sistemas <trademark class="registered">UNIX</trademark> de acesso aberto. A taxa varia e serviços limitados podem estar disponíveis.</para>
|
||
|
||
<para><link xlink:href="http://www.arbornet.org/"> A Arbornet, Inc </link>, também conhecida como <emphasis> M-Net </emphasis>, oferece acesso livre a sistemas <trademark class="registered">UNIX</trademark> desde 1983. Começando num Altos rodando o System III, o site mudou para o BSD/OS em 1991. Em junho de 2000, o site mudou novamente para o FreeBSD. <emphasis>M-Net</emphasis> pode ser acessado via <application>telnet</application> e <application>SSH</application> e fornece acesso básico a todo o pacote de software FreeBSD. No entanto, o acesso à rede é limitado a membros e usuários que doam para o sistema, que é executado como uma organização sem fins lucrativos. O <emphasis>M-Net</emphasis> também oferece um sistema de quadro de avisos e um bate-papo interativo.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="daemon-name">
|
||
<para>Qual é o nome do mascotinho vermelho?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Ele não tem um, e é chamado apenas de <quote>o daemon BSD</quote>. Se você insistir em usar um nome, chame-o de <quote>beastie</quote>. Note que <quote>beastie</quote> é pronunciado <quote>BSD</quote>.</para>
|
||
|
||
<para>Mais informações sobre o daemon BSD estão disponíveis em sua <link xlink:href="http://www.mckusick.com/beastie/index.html">home page</link>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="use-beastie">
|
||
<para>Posso usar a imagem do daemon do BSD?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Possivelmente. O daemon BSD tem copyright de Marshall Kirk McKusick. Verifique sua <link xlink:href="http://www.mckusick.com/beastie/mainpage/copyright.html"> Declaração sobre o Uso da Figura do Daemon do BSD</link> para termos de uso detalhados.</para>
|
||
|
||
<para>Em resumo, a imagem pode ser usada com bom gosto, para uso pessoal, desde que seja dado o crédito apropriado. Antes de usar o logotipo comercialmente, entre em contato com Kirk McKusick <email>mckusick@FreeBSD.org</email> para obter permissão. Mais detalhes estão disponíveis na <link xlink:href="http://www.mckusick.com/beastie/index.html"> Home page do BSD Daemon</link>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="daemon-images">
|
||
<para>Vocês tem alguma imagem BSD daemon que eu poderia usar?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Desenhos Xfig e eps estão disponíveis em <filename>/usr/share/examples/BSD_daemon/</filename>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="glossary">
|
||
<para>Eu vi um acrônimo ou outro termo nas listas de discussão e não entendo o que isso significa. Onde devo procurar?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Consulte o <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/handbook/freebsd-glossary.html">Glossário do FreeBSD</link>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="bikeshed-painting">
|
||
<para>Por que eu deveria me importar com a cor da bikeshed?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>A resposta realmente curta é que você não deveria. A resposta um pouco mais longa é que só porque você é capaz de construir um bikeshed não significa que você deve impedir os outros de construir um só porque você não gosta da cor na qual eles planejam pintá-lo. Esta é uma metáfora indicando que você não precisa discutir sobre cada pequena característica apenas porque você sabe o suficiente para fazê-lo. Algumas pessoas comentaram que a quantidade de ruído gerada por uma mudança é inversamente proporcional à complexidade da mudança.</para>
|
||
|
||
<para>A resposta mais longa e completa é que depois de uma longa discussão sobre se <citerefentry><refentrytitle>sleep</refentrytitle><manvolnum>1</manvolnum></citerefentry> deve receber argumentos secundários fracionários, Poul-Henning Kamp <email>phk@FreeBSD.org</email> publicou uma longa mensagem intitulada <quote><link xlink:href="http://www.bikeshed.com"> Um galpão de bicicleta (qualquer cor serve) na grama mais verde...</link> </quote>As partes apropriadas dessa mensagem são citadas abaixo.</para>
|
||
|
||
<blockquote>
|
||
<attribution>Poul-Henning Kamp <email>phk@FreeBSD.org</email> em <link xlink:href="http://lists.FreeBSD.org/mailman/listinfo/freebsd-hackers">freebsd-hackers</link> 2 de outubro de 1999</attribution>
|
||
|
||
<para><quote>O que acontece com esse bicicletário? </quote> Alguns de vocês me perguntaram.</para>
|
||
|
||
<para>É uma longa história, ou melhor, é uma história antiga, mas na verdade é bem curta. C. Northcote Parkinson escreveu um livro no início dos anos 1960, chamado <quote>Lei de Parkinson</quote>, que contém muitas informações sobre a dinâmica da administração.</para>
|
||
|
||
<para><emphasis> [recorte um pouco o comentário sobre o livro] </emphasis></para>
|
||
|
||
<para>No exemplo específico envolvendo o bicicletário, o outro componente vital é uma usina atômica, acho que isso ilustra a idade do livro.</para>
|
||
|
||
<para>Parkinson mostra como você pode entrar na diretoria e obter aprovação para a construção de uma usina de energia atômica multimilionária ou mesmo bilionária, mas se você quiser construir um galpão de bicicleta, você ficará envolvido em discussões intermináveis.</para>
|
||
|
||
<para>Parkinson explica que isso ocorre porque uma usina atômica é tão vasta, tão cara e tão complicada que as pessoas não conseguem entendê-la e, em vez de tentar, recuam supondo que alguém tenha verificado todos os detalhes antes de chegar tão longe. Richard P. Feynmann dá alguns exemplos interessantes, e muito importantes, relacionados a Los Alamos em seus livros.</para>
|
||
|
||
<para>Uma bicicletário por outro lado. Qualquer um pode construir um desses em um fim de semana e ainda ter tempo de assistir ao jogo na TV. Portanto, não importa o quão bem preparado, não importa o quão razoável você é com a sua proposta, alguém vai aproveitar a chance de mostrar que ele está fazendo o seu trabalho, que ele está prestando atenção, que ele está <emphasis>aqui</emphasis>.</para>
|
||
|
||
<para>Na Dinamarca, chamamos de <quote>definindo sua identidade</quote>. É sobre orgulho pessoal e prestígio, é sobre poder apontar para algum lugar e dizer <quote>Lá!<emphasis> Eu </emphasis> fiz aquilo. </quote> É um traço forte nos políticos, mas presente na maioria das pessoas que têm chance. Basta pensar em passos em cimento molhado.</para>
|
||
</blockquote>
|
||
</answer>
|
||
</qandaentry>
|
||
</qandaset>
|
||
</chapter>
|
||
|
||
<chapter xml:id="funnies">
|
||
<title>Coisas legais do FreeBSD</title>
|
||
|
||
<qandaset>
|
||
<qandaentry>
|
||
<question xml:id="very-very-cool">
|
||
<para>Quão legal é o FreeBSD?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Q. Alguém fez algum teste de temperatura durante a execução do FreeBSD? Eu sei que o <trademark class="registered">Linux</trademark> é mais legal que o DOS, mas nunca vi uma menção ao FreeBSD. Parece ser muito rápido.</para>
|
||
|
||
<para>R. Não, mas fizemos numerosos testes de gostos em voluntários vendados que também receberam 250 microgramas de LSD-25 administrados antecipadamente. 35% dos voluntários disseram que o FreeBSD tinha um gosto de um tipo de laranja, enquanto o <trademark class="registered">Linux</trademark> tinha gosto de névoa roxa. Nenhum dos grupos mencionou variações significativas na temperatura. Eventualmente nós tivemos que lançar os resultados desta pesquisa completamente de qualquer maneira quando descobrimos que muitos voluntários estavam vagando fora da sala durante os testes, assim distorcendo os resultados. Nós achamos que a maioria dos voluntários está na Apple agora, trabalhando em sua nova GUI <quote>risca e arrisca</quote>. É um negócio antigo e engraçado em que estamos!</para>
|
||
|
||
<para>Sério, o FreeBSD usa a instrução <acronym>HLT</acronym> (halt) quando o sistema está ocioso, reduzindo assim seu consumo de energia e, portanto, o calor gerado. Além disso, se você tiver <acronym>ACPI</acronym> (Configuração Avançada e Interface de Energia) configurado, então o FreeBSD também pode colocar a CPU em um modo de baixa energia.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="letmeoutofhere">
|
||
<para>Quem está coçando nos meus bancos de memória??</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Q. Existe alguma coisa <quote>estranha</quote> que o FreeBSD faz ao compilar o kernel que faria com que a memória fizesse um som de algo coçando? Ao compilar (e por um breve momento depois de reconhecer o drive de disquete na inicialização também), um estranho som de algo coçando emana do que parecem ser os bancos de memória.</para>
|
||
|
||
<para>Sim! Você verá referências freqüentes a <quote>daemons</quote> na documentação do BSD, e o que a maioria das pessoas não sabe é que isso se refere a entidades genuínas e não corporais que agora possuem seu computador. O som áspero vindo de sua memória é, na verdade, um sussurro agudo entre os daemons, pois eles decidem como lidar com várias tarefas de administração do sistema.</para>
|
||
|
||
<para>Se o ruído chegar até você, um bom <command>fdisk/mbr</command> do DOS irá se livrar deles, mas não fique surpreso se eles reagirem negativamente e tentarem pará-lo. Na verdade, se em algum momento durante o exercício você ouvir a voz satânica de Bill Gates vindo do alto-falante embutido, saia correndo e não olhe para trás! Livres da influência contrabalançadora dos daemons BSD, os demônios gêmeos do DOS e <trademark class="registered">Windows</trademark> são frequentemente capazes de reafirmar o controle total sobre sua máquina para a danação eterna de sua alma. Agora que você sabe, dada uma escolha, você provavelmente preferiria se acostumar com os ruídos ásperos, não?</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="changing-lightbulbs">
|
||
<para>Quantos hackers do FreeBSD são necessários para trocar uma lâmpada?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Mil, cento e sessenta e nove:</para>
|
||
|
||
<para>Vinte e três para reclamar com -CURRENT sobre as luzes estarem apagadas;</para>
|
||
|
||
<para>Quatro para afirmar que trata-se de um problema de configuração e que tais questões realmente pertencem a -questions;</para>
|
||
|
||
<para>Três para enviar PRs sobre o assunto, uma das quais está arquivada sob doc e consiste apenas da declaração <quote>está escuro</quote>;</para>
|
||
|
||
<para>Um para cometer uma lâmpada não testada que quebra o buildworld, e depois retorna cinco minutos depois;</para>
|
||
|
||
<para>Oito para chamar os remetentes de RP por não incluir patches em seus PRs;</para>
|
||
|
||
<para>Cinco para reclamar sobre o buildworld sendo quebrado;</para>
|
||
|
||
<para>Trinta e um para responder que funciona para eles, e eles devem ter atualizado em um momento ruim;</para>
|
||
|
||
<para>Um para postar um patch para uma nova luz para -hackers;</para>
|
||
|
||
<para>Um para reclamar que ele tinha patches para isso há três anos, mas quando ele os enviou para -CURRENT eles foram ignorados, e ele teve más experiências com o sistema de PRs; além disso, a nova luz proposta não é reflexiva;</para>
|
||
|
||
<para>Trinta e sete para gritar que essa luz não pertencem ao sistema básico, que os committers não têm o direito de fazer coisas assim sem consultar a Comunidade, e O QUE O -CORE ESTÁ FAZENDO SOBRE ISSO!?</para>
|
||
|
||
<para>Duzentos para reclamar da cor do bicicletário;</para>
|
||
|
||
<para>Três para salientar que o patch quebra o <citerefentry><refentrytitle>style</refentrytitle><manvolnum>9</manvolnum></citerefentry>;</para>
|
||
|
||
<para>Dezessete para reclamar que a nova luz proposta está sob a GPL;</para>
|
||
|
||
<para>Quinhentos e oitenta e seis para iniciar uma guerra contra as vantagens comparativas da GPL, da licença da BSD, da licença do MIT, da NPL e da higiene pessoal dos fundadores da FSF, que não são nomeados;</para>
|
||
|
||
<para>Sete para mover várias partes do segmento para -chat e -vocacy;</para>
|
||
|
||
<para>Um para comitar a luz sugerida, mesmo que ela seja mais escura que a antiga;</para>
|
||
|
||
<para>Dois para recuar com uma chama furiosa de uma mensagem de commit, argumentando que o FreeBSD está melhor no escuro do que com uma lâmpada fraca;</para>
|
||
|
||
<para>Quarenta e seis para argumentar veementemente sobre o apoio da luz fraca e exigir uma declaração do alto desempenho;</para>
|
||
|
||
<para>Onze para solicitar uma lâmpada menor para que ela caiba em seu Tamagotchi se decidirmos portar o FreeBSD para essa plataforma;</para>
|
||
|
||
<para>Setenta e três para reclamar sobre o SNR em -chackers e -chat e cancelar a inscrição em protesto;</para>
|
||
|
||
<para>Treze para postar <quote>cancelar a inscrição</quote>, <quote> Como posso cancelar a inscrição? </quote>, ou <quote>Por favor, remova-me da lista</quote>, seguido do rodapé habitual;</para>
|
||
|
||
<para>Um para comitar uma lâmpada de trabalho enquanto todos estão ocupados demais chamando a atenção de todos os outros para esse commit;</para>
|
||
|
||
<para>Trinta e um para salientar que a nova lâmpada iria brilhar 0,364% a mais se compilada com TenDRA (embora tenha que ser reformulada em um cubo), e que o FreeBSD deve, portanto, mudar para TenDRA ao invés de GCC;</para>
|
||
|
||
<para>Um para reclamar que a nova lâmpada não tem carenagem;</para>
|
||
|
||
<para>Nove (incluindo os criadores de PRs) para perguntar <quote>o que é o MFC?</quote>;</para>
|
||
|
||
<para>Cinquenta e sete para se queixar das luzes apagadas duas semanas depois de a lâmpada ter sido trocada.</para>
|
||
|
||
<para><emphasis>Nik Clayton<email> nik@FreeBSD.org </email> acrescenta: </emphasis></para>
|
||
|
||
<para><emphasis>Eu estava rindo bastante disso.</emphasis></para>
|
||
|
||
<para><emphasis>E então eu pensei, <quote> Espere, não deveria haver '1 para documentar isso.' nessa lista em algum lugar? </quote> </emphasis></para>
|
||
|
||
<para><emphasis> E então eu fui iluminado :-) </emphasis></para>
|
||
|
||
<para><emphasis> Thomas Abthorpe <email> tabthorpe@FreeBSD.org </email> </emphasis> diz: <quote> Nenhum, um hacker <emphasis>real</emphasis> do FreeBSD não têm medo do escuro! </quote></para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="dev-null">
|
||
<para>Onde os dados gravados em <filename>/dev/null</filename> vão parar?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Ele entra em um coletor de dados especial na CPU, onde é convertido em calor que é ventilado através do conjunto do dissipador de calor / ventilador. É por isso que o resfriamento da CPU é cada vez mais importante; À medida que as pessoas se acostumam com processadores mais rápidos, elas se tornam descuidadas com seus dados e mais e mais delas acabam no <filename>/dev/null</filename>, superaquecendo suas CPUs. Se você apagar <filename>/dev/null</filename> (o que efetivamente desativa o dissipador de dados da CPU) sua CPU pode ficar mais fria, mas seu sistema rapidamente ficará constipado com todos esses dados em excesso e começará a se comportar de maneira irregular. Se você tem uma conexão de rede rápida, pode resfriar sua CPU lendo dados de <filename>/dev/random</filename> e enviá-los para algum lugar; No entanto, você corre o risco de superaquecer sua conexão de rede e <filename>/</filename> ou irritar seu ISP, pois a maioria dos dados acabará sendo convertida em calor pelo equipamento, mas eles geralmente têm um bom resfriamento, então se você não exagere você deve estar bem.</para>
|
||
|
||
<para><emphasis>Paul Robinson acrescenta:</emphasis></para>
|
||
|
||
<para>Existem outros métodos. Como todo bom administrador de sistemas sabe, é parte da prática padrão enviar dados para a tela de variedade interessante para manter todos os pixies que compõem sua imagem felizes. Os duendes de tela (comumente com erros de digitação ou renomeados como <quote>pixels</quote>) são categorizados pelo tipo de chapéu que usam (vermelho, verde ou azul) e serão ocultados ou exibidos (mostrando a cor do chapéu ) sempre que recebem um pequeno pedaço de comida. Placas de vídeo transformam dados em comida de duende, e então os enviam para os duendes - quanto mais cara a carta, melhor a comida, então é melhor que os pixies se comportem melhor. Eles também precisam de estímulo constante - é por isso que existem proteções de tela.</para>
|
||
|
||
<para>Para levar suas sugestões adiante, você poderia simplesmente jogar os dados aleatórios no console, permitindo que os duendes os consumam. Isso faz com que nenhum calor seja produzido, mantém os pixies felizes e se livra de seus dados rapidamente, mesmo que isso faça as coisas parecerem um pouco confusas na sua tela.</para>
|
||
|
||
<para>Incidentalmente, como um ex-administrador de um grande ISP que teve muitos problemas ao tentar manter uma temperatura estável em uma sala de servidores, eu desencorajaria fortemente as pessoas que enviam os dados que não querem para a rede. As fadas que fazem a troca e o encaminhamento de pacotes também se irritam com isso.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="punk-my-friend">
|
||
<para>Minha colega fica muito no computador, como eu posso brincar com ela?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Instale o <package role="port">games/sl</package> e espere ela digitar <userinput>sl</userinput> para <command>ls</command>.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
</qandaset>
|
||
</chapter>
|
||
|
||
<chapter xml:id="advanced">
|
||
<title>Tópicos Avançados</title>
|
||
|
||
<qandaset>
|
||
<qandaentry>
|
||
<question xml:id="learn-advanced">
|
||
<para>Como posso aprender mais sobre os componentes internos do FreeBSD?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Veja o <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/books/arch-handbook"> Handbook de Arquitetura do FreeBSD </link>.</para>
|
||
|
||
<para>Além disso, muito do conhecimento geral sobre o <trademark class="registered">UNIX</trademark> é diretamente aplicável ao FreeBSD.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="how-to-contribute">
|
||
<para>Como posso contribuir para o FreeBSD? O que posso fazer para ajudar?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para xml:lang="en">We accept all types of contributions: documentation,
|
||
code, and even art. See the article on <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/articles/contributing/article.html">Contributing
|
||
to FreeBSD</link> for specific advice on how to do
|
||
this.</para>
|
||
|
||
<para>E obrigado por considerar nos ajudar!</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="define-snap-release">
|
||
<para>O que são Snapshots e Releases?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Atualmente existem 3 branchs ativas/semi-ativas no <link xlink:href="http://svnweb.FreeBSD.org/base/">Repositório de Subversion</link> do FreeBSD. (Os branchs anteriores são alterados apenas muito raramente, e é por isso que existem apenas 3 ramificações ativas de desenvolvimento):</para>
|
||
|
||
<itemizedlist>
|
||
<listitem>
|
||
<para><symbol>stable/10/</symbol> AKA <emphasis>10-STABLE</emphasis></para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><symbol>stable/11/</symbol> AKA <emphasis>11-STABLE</emphasis></para>
|
||
</listitem>
|
||
|
||
<listitem>
|
||
<para><symbol>head/</symbol> AKA <emphasis>-CURRENT</emphasis> AKA <emphasis>12-CURRENT</emphasis></para>
|
||
</listitem>
|
||
</itemizedlist>
|
||
|
||
<para><literal>HEAD</literal> não é uma tag de branch real. É uma constante simbólica para o fluxo de desenvolvimento atual, não ramificado, conhecido como <emphasis>-CURRENT</emphasis>.</para>
|
||
|
||
<para>No momento, o <emphasis>-CURRENT</emphasis> é o fluxo de desenvolvimento 12.<replaceable>X</replaceable>; o branch <emphasis>11-STABLE</emphasis>, <symbol>stable/11/</symbol>, derivou do <emphasis>-CURRENT</emphasis> em abril de 2016 e o branch <emphasis>10-STABLE</emphasis>,<symbol>stable/10/</symbol>, derivou do <emphasis>-CURRENT</emphasis> em agosto de 2015.</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="kernel-panic-troubleshooting">
|
||
<para>Como posso aproveitar ao máximo os dados que vejo quando meu kernel entra em panic?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Aqui está um panic típico do kernel:</para>
|
||
|
||
<programlisting>Fatal trap 12: page fault while in kernel mode
|
||
fault virtual address = 0x40
|
||
fault code = supervisor read, page not present
|
||
instruction pointer = 0x8:0xf014a7e5
|
||
stack pointer = 0x10:0xf4ed6f24
|
||
frame pointer = 0x10:0xf4ed6f28
|
||
code segment = base 0x0, limit 0xfffff, type 0x1b
|
||
= DPL 0, pres 1, def32 1, gran 1
|
||
processor eflags = interrupt enabled, resume, IOPL = 0
|
||
current process = 80 (mount)
|
||
interrupt mask =
|
||
trap number = 12
|
||
panic: page fault</programlisting>
|
||
|
||
<para>Esta mensagem não é suficiente. Embora o valor do ponteiro de instrução seja importante, ele também depende da configuração, pois varia dependendo da imagem do kernel. Se for uma imagem de kernel <filename>GENERIC</filename> de um dos snapshots, é possível que alguém rastreie a função problemática, mas para um kernel personalizado, somente você pode nos dizer onde a falha ocorreu.</para>
|
||
|
||
<para>Para prosseguir:</para>
|
||
|
||
<procedure>
|
||
<step>
|
||
<para>Anote o valor do ponteiro de instrução. Note que a parte <literal>0x8:</literal> no começo não é relevante neste caso: é a parte <literal>0xf0xxxxxx</literal> que nós queremos.</para>
|
||
</step>
|
||
|
||
<step>
|
||
<para>Quando o sistema for reinicializado, faça o seguinte:</para>
|
||
|
||
<screen><prompt>%</prompt> <userinput>nm -n kernel.that.caused.the.panic | grep f0xxxxxx</userinput></screen>
|
||
|
||
<para>no qual <literal>f0xxxxxx</literal> é o valor do ponteiro de instrução. As probabilidades são de que você não obterá uma correspondência exata, pois os símbolos na tabela de símbolos do kernel são para os pontos de entrada das funções e o endereço do ponteiro de instrução estará em algum lugar dentro de uma função, não no início. Se você não obtiver uma correspondência exata, omita o último dígito do valor do ponteiro de instrução e tente novamente:</para>
|
||
|
||
<screen><prompt>%</prompt> <userinput>nm -n kernel.that.caused.the.panic | grep f0xxxxx</userinput></screen>
|
||
|
||
<para>Se isso não produzir nenhum resultado, corte outro dígito. Repita até que haja algum tipo de saída. O resultado será uma possível lista das funções que causaram o panic. Este é um mecanismo menos do que exato para rastrear o ponto de falha, mas é melhor do que nada.</para>
|
||
</step>
|
||
</procedure>
|
||
|
||
<para>No entanto, a melhor maneira de rastrear a causa de um panic é capturar um despejo de memória e usar o <citerefentry><refentrytitle>kgdb</refentrytitle><manvolnum>1</manvolnum></citerefentry> para gerar um rastreamento de pilha no despejo de memória.</para>
|
||
|
||
<para>Em qualquer caso, o método é este:</para>
|
||
|
||
<procedure>
|
||
<step>
|
||
<para>Certifique-se de que a seguinte linha esteja incluída no arquivo de configuração do kernel:</para>
|
||
|
||
<programlisting>makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols</programlisting>
|
||
</step>
|
||
|
||
<step>
|
||
<para>Mude para o diretório <filename>/usr/src</filename>:</para>
|
||
|
||
<screen><prompt>#</prompt> <userinput>cd /usr/src</userinput></screen>
|
||
</step>
|
||
|
||
<step>
|
||
<para>Compile o kernel:</para>
|
||
|
||
<screen><prompt>#</prompt> <userinput>make buildkernel KERNCONF=<replaceable>MYKERNEL</replaceable></userinput></screen>
|
||
</step>
|
||
|
||
<step>
|
||
<para>Aguarde até o <citerefentry><refentrytitle>make</refentrytitle><manvolnum>1</manvolnum></citerefentry> terminar a compilação.</para>
|
||
</step>
|
||
|
||
<step>
|
||
<screen><prompt>#</prompt> <userinput>make installkernel KERNCONF=MYKERNEL</userinput></screen>
|
||
</step>
|
||
|
||
<step>
|
||
<para>Reinicie.</para>
|
||
</step>
|
||
</procedure>
|
||
|
||
<note>
|
||
<para>Se a variável <varname>KERNCONF</varname> não for informada na linha de comando, o kernel <filename>GENERIC</filename> será compilado e instalado.</para>
|
||
</note>
|
||
|
||
<para>O processo <citerefentry><refentrytitle>make</refentrytitle><manvolnum>1</manvolnum></citerefentry> terá compilado dois kernels. O <filename>/usr/obj/usr/src/sys/MYKERNEL/kernel</filename> e o <filename> /usr/obj/usr/src/sys/MYKERNEL/kernel.debug </filename>. O <filename>kernel</filename> foi instalado como <filename>/boot/kernel/kernel</filename>, enquanto o <filename>kernel.debug</filename> pode ser usado como fonte de símbolos de depuração para o <citerefentry><refentrytitle>kgdb</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para>
|
||
|
||
<para>Para capturar um despejo de memória, edite o <filename>/etc/rc.conf</filename> e defina o <literal>dumpdev</literal> para apontar para a partição de swap ou para <literal>AUTO</literal>. Isso fará com que os scripts <citerefentry><refentrytitle>rc</refentrytitle><manvolnum>8</manvolnum></citerefentry> usem o comando <citerefentry><refentrytitle>dumpon</refentrytitle><manvolnum>8</manvolnum></citerefentry> para ativar os despejos de memória. Este comando também pode ser executado manualmente. Após um panic, o despejo de memória pode ser recuperado usando o <citerefentry><refentrytitle>savecore</refentrytitle><manvolnum>8</manvolnum></citerefentry>; se o <literal>dumpdev</literal> estiver configurado em <filename>/etc/rc.conf</filename>, os scripts <citerefentry><refentrytitle>rc</refentrytitle><manvolnum>8</manvolnum></citerefentry> executarão o <citerefentry><refentrytitle>savecore</refentrytitle><manvolnum>8</manvolnum></citerefentry> automaticamente e colocarão o despejo de memória em <filename>/var/crash</filename>.</para>
|
||
|
||
<note>
|
||
<para>Os despejos de memória do FreeBSD são geralmente do mesmo tamanho que a RAM física. Portanto, verifique se há espaço suficiente em <filename>/var/crash</filename> para manter o despejo. Como alternativa, execute <citerefentry><refentrytitle>savecore</refentrytitle><manvolnum>8</manvolnum></citerefentry> manualmente e faça com que recupere o despejo de memória para outro diretório com mais espaço. É possível limitar o tamanho do despejo de memória usando <literal>options MAXMEM=N</literal> onde <replaceable>N</replaceable> é o tamanho da memória utilizada do kernel em KBs. Por exemplo, para 1 GB de RAM, limite o uso de memória pelo kernel a 128 MB, para que o tamanho do despejo de memória seja de 128 MB em vez de 1 GB.</para>
|
||
</note>
|
||
|
||
<para>Depois que o despejo de memória for recuperado, obtenha um rastreamento de pilha da seguinte maneira:</para>
|
||
|
||
<screen><prompt>%</prompt> <userinput>kgdb /usr/obj/usr/src/sys/MYKERNEL/kernel.debug /var/crash/vmcore.0</userinput>
|
||
<prompt>(kgdb)</prompt> <userinput>backtrace</userinput></screen>
|
||
|
||
<para>Note que pode haver várias telas de informação valiosa. Idealmente, use <citerefentry><refentrytitle>script</refentrytitle><manvolnum>1</manvolnum></citerefentry> para capturar todas elas. Usar a imagem do kernel unstripped com todos os símbolos de depuração deve mostrar a linha exata do código fonte do kernel onde o panic ocorreu. O rastreamento de pilha geralmente é lido de baixo para cima para rastrear a sequência exata de eventos que levam à falha. O <citerefentry><refentrytitle>kgdb</refentrytitle><manvolnum>1</manvolnum></citerefentry> também pode ser usado para imprimir o conteúdo de várias variáveis ou estruturas para examinar o estado do sistema no momento da falha.</para>
|
||
|
||
<tip>
|
||
<para>Se um segundo computador estiver disponível, o <citerefentry><refentrytitle>kgdb</refentrytitle><manvolnum>1</manvolnum></citerefentry> pode ser configurado para fazer uma depuração remota, incluindo pontos de interrupção de configuração e passos únicos através do código do kernel.</para>
|
||
</tip>
|
||
|
||
<note>
|
||
<para>Se o <literal>DDB</literal> estiver habilitado e o kernel cair no depurador, um panic e um despejo de memória podem ser forçados digitando <literal>panic</literal> no prompt do <literal>ddb</literal>. O processo pode parar no depurador novamente durante a fase de panic. Se isso acontecer, digite <literal>continue</literal> e ele concluirá o despejo de memória.</para>
|
||
</note>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="dlsym-failure">
|
||
<para>Por que <function>dlsym()</function> parou de funcionar para executáveis ELF?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>A toolchain ELF não faz, por padrão, os símbolos definidos em um executável visíveis para o vinculador dinâmico. Consequentemente, a busca da função <function>dlsym()</function> por identificadores obtidos de chamadas para <function>dlopen(NULL, flags)</function> não conseguirá encontrar tais símbolos.</para>
|
||
|
||
<para>Para pesquisar, usando a função <function>dlsym()</function>, os símbolos presentes no executável principal de um processo, vincule o executável usando a opção <option>- export-dynamic</option> ao vinculador ELF (<citerefentry><refentrytitle>ld</refentrytitle><manvolnum>1</manvolnum></citerefentry>).</para>
|
||
</answer>
|
||
</qandaentry>
|
||
|
||
<qandaentry>
|
||
<question xml:id="change-kernel-address-space">
|
||
<para>Como posso aumentar ou reduzir o espaço de endereçamento do kernel em uma máquina i386?</para>
|
||
</question>
|
||
|
||
<answer>
|
||
<para>Por padrão, o espaço de endereço do kernel é de 1 GB (2 GB para PAE) para a arquitetura i386. Se você estiver executando um servidor com uso intensivo de rede ou utilizando o ZFS, isso provavelmente não será suficiente.</para>
|
||
|
||
<para>Adicione a seguinte linha ao arquivo de configuração do kernel para aumentar o espaço disponível e recompile o kernel:</para>
|
||
|
||
<programlisting>options KVA_PAGES=<replaceable>N</replaceable></programlisting>
|
||
|
||
<para>Para encontrar o valor correto de <replaceable>N</replaceable>, divida o tamanho do espaço de endereço desejado (em megabytes) por quatro. (Por exemplo, é <literal> 512</literal> para 2 GB.)</para>
|
||
</answer>
|
||
</qandaentry>
|
||
</qandaset>
|
||
</chapter>
|
||
|
||
<chapter xml:id="acknowledgments">
|
||
<title>Agradecimentos</title>
|
||
|
||
<para>Este inocente documento de Perguntas Frequentes foi escrito, reescrito, editado, dobrado, fustigado, mutilado, eviscerado, contemplado, desconcertado, cogitado, regurgitado, reconstruído, castigado e revigorado na última década, por um elenco de centenas, se não milhares de voluntários. Repetidamente.</para>
|
||
|
||
<para>Gostaríamos de agradecer a cada uma das pessoas responsáveis, e nós o encorajamos a <link xlink:href="@@URL_RELPREFIX@@/doc/en_US.ISO8859-1/articles/contributing/article.html">se juntar a eles</link> para tornar este <acronym>FAQ </acronym> ainda melhor.</para>
|
||
</chapter>
|
||
</book>
|