12.10. Файлы настройки
Пред. | Глава 12. Настройка и оптимизация | След.

## 12.10. Файлы настройки

### 12.10.1. Каталог `/etc`

Во FreeBSD определён ряд каталогов, предназначенных для хранения конфигурационных файлов. Это:

`/etc` | Основные файлы конфигурации системы. Тут размещены системно–зависимые данные.
`/etc/defaults` | Версии системных конфигурационных файлов по умолчанию.
`/etc/mail` | Дополнительные конфигурационные файлы sendmail(8), другие конфигурационные файлы MTA.
`/etc/ppp` | Настройка для user- и kernel-ppp программ.
`/etc/namedb` | Основное место расположения данных named(8). Обычно `named.conf` и файлы зон расположены здесь.
`/usr/local/etc` | Конфигурационные файлы установленных приложений. Могут содержать подкаталоги приложений.
`/usr/local/etc/rc.d` | Скрипты запуска/остановки установленных приложений.
`/var/db` | Автоматически генерируемые системно-специфичные файлы баз данных, такие как база данных пакетов, и так далее

### 12.10.2. Имена хостов

#### 12.10.2.1. `/etc/resolv.conf`

`/etc/resolv.conf` определяет, как резолвер (resolver) FreeBSD получает доступ к Системе Доменных Имён (DNS).

Основные записи `resolv.conf`:

`nameserver` | IP адрес сервера имён. Сервера опрашиваются в порядке описания. Максимальное количество адресов — три.
`search` | Список доменов для поиска с помощью hostname lookup. Обычно определяется доменом, в котором находится компьютер.
`domain` | Домен, в котором находится компьютер.

Типичный вид `resolv.conf`:

search example.com nameserver 147.11.1.11 nameserver 147.11.100.30

### Примечание:

Опции `search` и `domain` нельзя использовать совместно.

Если вы используете DHCP, dhclient(8) обычно перезаписывает `resolv.conf` информацией, полученной от серверов DHCP.

#### 12.10.2.2. `/etc/hosts`

`/etc/hosts` — простая текстовая база данных, напоминающая старый Интернет. Она работает совместно с DNS и NIS, сопоставляя доменные имена IP адресу. Отдельные компьютеры, соединённые с помощью локальной сети, могут быть записаны тут вместо named(8) сервера с целью упрощения. Кроме того, `/etc/hosts` используется для записи IP адресов и соответствующих им доменов, избавляя от внешнего трафика, используемого для запросов к DNS серверам.

# $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'). #

Формат `/etc/hosts`:

[IP адрес в Интернете] [имя компьютера] [alias1] [alias2] ...

Например:

10.0.0.1 myRealHostname.example.com myRealHostname foobar1 foobar2

За дополнительной информацией обращайтесь к hosts(5).

### 12.10.3. Настройка лог файлов

#### 12.10.3.1. `syslog.conf`

`syslog.conf` is является файлом конфигурации для syslogd(8). В нём указываются, типы сообщений генерируемые `syslog`, и лог файлы, в которые они записываются.

# $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

За более полной информацией обратитесь к syslog.conf(5).

#### 12.10.3.2. `newsyslog.conf`

`newsyslog.conf` — конфигурационный файл newsyslog(8), программы, обычно контролируемой cron(8). newsyslog(8) определяет, когда лог-файлы нуждаются в архивировании и перегруппировке. `logfile` перемещается в `logfile.0`, `logfile.0` перемещается в `logfile.1`, и так далее. Другое именование получится при архивировании с помощью gzip(1): `logfile.0.gz`, `logfile.1.gz`, и т.д.

`newsyslog.conf` показывает, какие лог файлы должны быть проинспектированы, сколько их должно быть сохранено, и когда они должны быть пересмотрены. Лог файлы могут быть перегруппированы и/или заархивированы, когда они либо достигнут определённого размера, либо при достижении определённых даты/времени.

# 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

За дополнительной информацией обращайтесь к newsyslog(8).

### 12.10.4. `sysctl.conf`

`sysctl.conf` очень похож на `rc.conf`. Значения устанавливаются в виде `variable=value`. Указанные значения устанавливаются после перевода системы в многопользовательский режим. Однако не все переменные могут быть установлены в этом режиме.

Пример `sysctl.conf`, настроенного для выключения протоколирования фатальных ошибок программ и разрешения Linux-программам определять, что они запускаются под FreeBSD:

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

Пред. | Наверх | След.
12.9. Настройка виртуальных серверов | Начало | 12.11. Настройка с помощью sysctl

Этот, и другие документы, могут быть скачаны с http://ftp.FreeBSD.org/pub/FreeBSD/doc/.

По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите в рассылку <doc@FreeBSD.org>.