null

mergemaster бояться - FreeBSD не обновлять

Неоднократно от разных людей я слышал мнение, что они не хотят обновлять FreeBSD, потому что потом надо еще обновлять конфигурационные файлы через mergemaster, а это очень страшно, долго и нудно. Надо признать, что при использовании mergemaster без некоторых дополнительных настроек, это действительно так.

Но в man mergemaster, который традиционно никто не читает, есть упоминание нескольких опций, позволяющих существенно упроситить процесс обновления конфигурационных файлов. Что же я рекомандовал бы написать в /etc/mergemaster.rc?

Первая опция, которую я туда дописал, это:

PRESERVE_FILES=yes

При включении данной директивы mergemaster сохраняет оригинал всех изменённых файлов в каталоге вида /var/tmp/preserved-files-YYMMDD-HHMISS. Таким образом, даже если что-то будет испорчено, это можно будет восстановить из резервной копии.

Следующая простая директива:

AUTO_INSTALL=yes

разрешает mergemaster доустанавливать все новые файлы без лишних вопросов.

Список файлов, которые точно не должны изменяться системой, так как целиком или полностью содержат Ваши личные настройки, стоит указать в директиве:

IGNORE_FILES="/etc/motd /.profile /root/.profile /etc/hosts /etc/ntp.conf /etc/mail/mailer.conf"

И, наконец, последняя опция позволит mergemaster автоматически обновить те файлы, которые не были редактированы Вами, существенно упростив и ускорив обновление:

AUTO_UPGRADE=yes

При первом запуске после включения данной директивы mergemaster создаст базу файлов, которые не измененялись администратором и целиком и полностью соответствуют исходному содержимому /usr/src/etc. При следущих запусках mergemaster будет задавать вопросы только про те файлы, в которые были внесены изменения, а грязная работа по обновлению, например, стартовых скриптов будет выполнена mergemaster-ом автоматически.

Еще одна хитрость с использованием mergemaster связана именно с тем, что при своей работе он использует ранее созданную в /var/db/mergemaster.mtree базу. Если база не будет обнаружена, то директива AUTO_UPGRADE работать не будет. Поэтому для облегчения первого обновления системы, сразу после её установки для создания базы рекомендую один раз прогнать mergemaster с приведёнными выше настройками.

Коротко о себе:

Работаю в компании Tune-IT и тьютором кафедры Вычислительной техники в СПбГУИТМО.

Очень люблю команду cat, core solaris и IPv6.