За последние две недели вы могли получить удовольствие от сборки собственных двоичных выпусков NetBSD с помощью sysbuild. Но в чём радость, если нет простого способа модернизировать уже установленную NetBSD до новой версии?
Для модернизации NetBSD до новой версии из дистрибутивных архивов нужно действовать примерно следующим образом:
Просто? Да. Легко? Нет. Описанная выше процедура неочевидна для новичков в NetBSD. (На самом деле, если вы скажете кому-нибудь, что для обновления компьютера нужно распаковать архивы, то в 2012 году на вас будут смотреть так, как будто вы шутите.) Шутки в сторону, самое неприятное в этой процедуре то, что она очень монотонная и поэтому администратор очень легко может допустить простую ошибку и испортить работающую систему. (Со мной такое случалось... несколько раз.)
Компьютеры предназначены для автоматизации простых и повторяющихся задач, таких как эта, и в этом они очень хороши. Многие годы я производил обновление NetBSD вручную и позже написал для себя хреновые и ненадёжные сценарии для модернизации системы. Эти сценарии никогда не были предназначены для повторного использования и они даже не имели подобающей обработки ошибок. Более того, поскольку эти сценарии обитали в моём домашнем каталоге, я вспоминал про них и брал с собой при каждой установке NetBSD на новый компьютер.
Прошло много времени, прежде чем я сел и переписал свои сценарии в нечто более приличное. Нечто имеющее документацию, файл конфигурации и снабжённое тестами.
Итак, по всем описанным выше причинам, сегодня я представляю sysupgrade.
sysupgrade - это сценарий, который автоматизирует (упрощает) весь процесс модернизации установленной NetBSD до нового выпуска, будь то работающая или выключенная система. sysupgrade проделывает описанные выше шаги и руководствуется файлом конфигурации. Этот инструмент можно найти в pkgsrc/sysutils/sysupgrade, сразу после sysbuild. Вместе с ним устанавливаются страницы руководства sysupgrade(8) и sysupgrade.conf(5), файл конфигурации sysupgrade.conf по умолчанию, с которого стоит начать, должен ответить на большинство ваших вопросов.
Для нетерпеливых, следующая команда модернизирует ваш компьютер до указанной версии:
$ sysupgrade auto ftp://ftp.NetBSD.org/pub/NetBSD/NetBSD-<X.Y.Z>/$(uname -m)
Учтите, что в настоящее время sysupgrade - экспериментальный инструмент. У меня он хорошо работает на разных компьютерах (на которых запущены NetBSD 6.0 BETA и -current), и я использую описанную выше процедуру модернизации многие годы без каких-либо проблем. Однако соблюдайте осторожность, как и со всем новым программным обеспечением. Если вы используете NetBSD на виртуальной машине, перед запуском sysupgrade можно сделать её снимок. Я не думаю, что ваш компьютер взорвётся, но бережёного бог бережёт!
Приятного пользования, обратная связь приветствуется!
P.S.: Здесь ещё есть что улучшить. В файле TODO в каталоге пакета описаны некоторые идеи, над которыми я бы хотел поработать позже.
Автор перевода на русский язык: Владимир Ступин