6.10. Arquivos de Configuração

6.10.1. Estrutura do /etc

Existem vários diretórios onde as informações de configuração são mantidas. Incluindo:

/etc Informação genérica de configuração; aqui os dados são específicos do sistema.
/etc/defaults Versões padrão dos arquivos de configuração do sistema.
/etc/mail Configuração extra do sendmail(8), outros arquivos de configuração de Agentes de Transporde de Correio.
/etc/ppp Configuração para programas ppp de usuário e de kernel.
/etc/namedb Configuração padrão dos dados do named(8). Normalmente o arquivo named.conf e arquivos de zona são armazenados aqui.
/usr/local/etc Arquivos de configuração para aplicações instaladas. Pode conter subdiretórios por aplicação.
/usr/local/etc/rc.d Scripts de inicialização/parada para aplicações instaladas.
/var/db Arquivos de banco de dados específicos de sistema gerados automaticamente, como base da dados de pacotes, a base de dados locate, e assim por diante.

6.10.2. Nomes de Servidores

6.10.2.1. /etc/resolv.conf

O arquivo /etc/resolv.conf determina como o resolvedor do FreeBSD acessa o Sistema de Nome de Domínios da Internet (DNS).

As entradas mais comuns no arquivo resolv.conf são:

nameserver O endereço IP do servidor de nomes que o resolvedor deve pesquisar. Os servidores são na ordem em que estão listados num máximo de três.
search Lista de pesquisa para a procura do nome de servidor. Normalmente determinado pelo domínio do servidor local.
domain O nome do domínio local.

Um resolv.conf típico:

search example.com
nameserver 147.11.1.11
nameserver 147.11.100.30

Nota: Apenas as opções search e domain devem ser usadas.

Se você estiver usando geralmente o dhclient(8), ele reescreve o resolv.conf com a informação recebida do servidor DHCP.

6.10.2.2. /etc/hosts

O arquivo /etc/hosts é uma base em texto remanescente da velha Internet. Funciona em conjunto com o servidores DNS e NIS oferecendo mapeamento de nome para endereços IP. Computadores locais conectados à Rede Local podem ser colocados aqui para propósitos simples de nomeamento ao invés de configurar um servidor named(8). Adicionalmente, o arquivo /etc/hosts pode ser usado para oferecer uma base local de nomes Internet, reduzindo a necessidade de pesquisa externa para nomes geralmente mais usados.

# $FreeBSD$
#
# Host Database
# This file should contain the addresses and aliases
# for local hosts that share this file.
# In the presence of the domain name service or NIS, this file may
# not be consulted at all; see /etc/nsswitch.conf for the resolution order.
#
#
::1          localhost localhost.my.domain myname.my.domain
127.0.0.1          localhost localhost.my.domain myname.my.domain

#
# Imaginary network.
#10.0.0.2          myname.my.domain myname
#10.0.0.3          myfriend.my.domain myfriend
#
# According to RFC 1918, you can use the following IP networks for
# private nets which will never be connected to the Internet:
#
#       10.0.0.0    -   10.255.255.255
#       172.16.0.0      -   172.31.255.255
#       192.168.0.0     -   192.168.255.255
#
# In case you want to be able to connect to the Internet, you need
# real official assigned numbers.  PLEASE PLEASE PLEASE do not try
# to invent your own network numbers but instead get one from your
# network provider (if any) or from the Internet Registry (ftp to
# rs.internic.net, directory `/templates').
#

O arquivo /etc/hosts possui o seguinte formato:

[Endereço Internet] [hostname oficial] [apelido1] [apelido2] ...

Por exemplo:

10.0.0.1 meuHostnameReal.exemplo.com meuHostnamereal foobar1 foobar2

Consulte hosts(5) para mais informações.

6.10.3. Configuração dos Arquivos de Log

6.10.3.1. syslog.conf

syslog.conf é um arquivo de configuração para o programa syslogd(8). Indica que tipo de mensagens do syslog são armazenadas nos arquivos de log.

# $FreeBSD$
#
#       Spaces ARE valid field separators in this file.  However,
#       other *nix-like systems still insist on using tabs as field
#       separators.  If you are sharing this file between systems, you
#       may want to use only tabs as field separators here.
#       Consult the syslog.conf(5) manual page.
*.err;kern.debug;auth.notice;mail.crit    /dev/console
*.notice;kern.debug;lpr.info;mail.crit;news.err /var/log/messages
security.*                    /var/log/security
mail.info                      /var/log/maillog
lpr.info                    /var/log/lpd-errs
cron.*                    /var/log/cron
*.err                      root
*.notice;news.err                  root
*.alert                  root
*.emerg                  *
# uncomment this to log all writes to /dev/console to /var/log/console.log
#console.info                  /var/log/console.log
# uncomment this to enable logging of all log messages to /var/log/all.log
#*.*                        /var/log/all.log
# uncomment this to enable logging to a remote log host named loghost
#*.*                        @loghost
# uncomment these if you're running inn
# news.crit                  /var/log/news/news.crit
# news.err                    /var/log/news/news.err
# news.notice                  /var/log/news/news.notice
!startslip
*.*                      /var/log/slip.log
!ppp
*.*                      /var/log/ppp.log

Consulte a página de manual do syslog.conf(5) para mais informação.

6.10.3.2. newsyslog.conf

newsyslog.conf é o arquivo de configuração para o newsyslog(8), um programa que normalmente é agendado para ser executado pelo cron(8). O newsyslog(8) determina quando os arquivos de log necessitam ser arquivados ou reorganizados. arquivolog é renomeado para arquivolog.0, arquivolog.0 é renomeado para arquivolog.1, e assim sucessivamente. Alternativamente, os arquivos de log podem ser arquivados no formato gzip(1), fazendo com que sejam nomeados: arquivolog.0.gz, arquivolog.1.gz, e assim sucessivamente.

newsyslog.conf indica os arquivos de log a serem gerenciados, quantos devem ser mantidos, e quando devem ser modificados. Arquivos de log podem ser rearranjados e/ou arquivados ao chegarem à um determinado tamanho, ou em um período de tempo/data.

# configuration file for newsyslog
# $FreeBSD$
#
# filename    [owner:group]    mode count size when [ZB] [/pid_file] [sig_num]
/var/log/cron              600 3     100  *     Z
/var/log/amd.log            644 7     100  *     Z
/var/log/kerberos.log          644 7     100  *     Z
/var/log/lpd-errs              644 7     100  *     Z
/var/log/maillog            644 7     *    @T00 Z
/var/log/sendmail.st            644 10    *    168   B
/var/log/messages              644 5     100  *     Z
/var/log/all.log            600 7     *    @T00 Z
/var/log/slip.log              600 3     100  *     Z
/var/log/ppp.log            600 3     100  *     Z
/var/log/security              600 10    100  *     Z
/var/log/wtmp              644 3     *    @01T05 B
/var/log/daily.log            640 7     *    @T00 Z
/var/log/weekly.log          640 5     1    $W6D0 Z
/var/log/monthly.log            640 12    *    $M1D0 Z
/var/log/console.log            640 5     100  *     Z

Consulte página de manual do newsyslog(8) para mais informação.

6.10.4. sysctl.conf

sysctl.conf se parece muito com o rc.conf. Os valores são ajustados no formato variável=valor. Os valores especificados são configurados antes do sistema alcançar o modo multi usuário. Nem todas as variáveis são ajustáveis neste modo.

Um exemplo de sysctl.conf desligando a emissão de log de sinais de saídas fatais fazendo com que os programas Linux saibam que estão realmente sendo executados sob o FreeBSD.

kern.logsigexit=0       # Do not log fatal signal exits (e.g.  sig 11)
compat.linux.osname=FreeBSD
compat.linux.osrelease=4.3-STABLE

Este, e outros documentos, podem ser obtidos em ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

Para perguntas sobre FreeBSD, leia a documentação antes de contatar <questions@FreeBSD.org>.
Para perguntas sobre esta documentação, envie e-mail para <doc@FreeBSD.org>.