Главная > Операционные системы > UNIX > BSD > FreeBSD Freebsd 10 обновление системы с помощью freebsd-updateРешил прояснить для себя вопрос с обновлением системы. В freebsd есть определенная неоднозначность в этом процессе. Один раз я попал в неприятную ситуацию при обновлении и потратил много времени, пока не понял, в чем же было дело. Сейчас постараюсь рассказать обо всех нюансах обновления freebsd. В качестве подопытной машины у меня выступает версия 10.1 Содержание:
Использование утилиты freebsd-updateУстановить все обновления безопасности на сервер freebsd можно легко и быстро с помощью утилиты freebsd-update. Итак, у нас имеется: # uname -a FreeBSD websrv.local 10.1-RELEASE FreeBSD 10.1-RELEASE #0 r274401: Tue Nov 11 21:02:49 UTC 2014 root@releng1.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC amd64 Запускаем freebsd-update, проверяем наличие обновлений и скачиваем необходимые: # freebsd-update fetch Looking up update.FreeBSD.org mirrors... none found. Fetching public key from update.FreeBSD.org... done. Fetching metadata signature for 10.1-RELEASE from update.FreeBSD.org... done. Fetching metadata index... done. Fetching 2 metadata files... done. Inspecting system... done. Preparing to download files... done. Fetching 19 patches.....10.... done. Applying patches... done. The following files will be updated as part of updating to 10.1-RELEASE-p1: и дальше список обновлений перечисляется. Устанавливаем обновления: # freebsd-update install Installing updates... done. Если после этого мы снова проверим версию системы с помощью uname, то окажется, что ничего не изменилось. Будет показана та же версия. Что же произошло после этого обновления? Произошло бинарное обновление системы до актуальных значений. При этом, если у вас собрано и установлено свое ядро, отличное от GENERIC, то после перезагрузки у вас будет загружено ядро GENERIC. Про это обязательно нужно помнить. Я так долго разбирался, почему вдруг перестала работать команда forward в ipfw. Перепроверил все, что только мог, опустились руки. А все потому, что процесс обновления и перезагрузки сервера были сильно разделены по времени, а заметил я то, что не работает перенаправление еще позже, поэтому не сопоставил эти два события. О том, что у меня не то ядро загружено я и представить не мог. Я же знаю и помню, что ядро собирал и не трогал с тех пор. Вот такой нюанс, о котором нужно не забывать. Чтобы отразить изменения в версии системы, пересоберем и установим ядро GENERIC. Исходные тексты системы, нужные для сборки, находятся в папке /usr/src. Если у вас там пусто, то их необходимо установить. Установка и обновление исходных текстов системы FreebsdДля установки исходных текстов системы есть много способов. Я предлагаю воспользоваться, как мне кажется, самым простым — с помощью программы subversion. Устанавливаем ее из портов: # cd /usr/ports/devel/subversion # make install clean # rehash И качаем исходники для версии 10.1: # svn checkout https://svn0.ru.freebsd.org/base/release/10.1.0 /usr/src Или для версии 10.2: # svn checkout https://svn0.ru.freebsd.org/base/release/10.2.0 /usr/src Для 10.3: # svn checkout https://svn0.ru.freebsd.org/base/release/10.3.0 /usr/src После того, как скачали исходники, снова запускаем обновление системы. Она найдет исправления, которые нужно внести в тексты: # freebsd-update fetch # freebsd-update install После этого собираем и устанавливаем ядро GENERIC: # cd /usr/src # make buildkernel # make installkernel # shutdown -r now Проверяем версию: # uname -a FreeBSD websrv.local 10.1-RELEASE-p1 FreeBSD 10.1-RELEASE-p1 #0 r275828M: Tue Dec 16 16:55:19 MSK 2014 root@websrv.local:/usr/obj/usr/src/sys/GENERIC amd64 Все изменения вступили в силу и отображены. Теперь для того, чтобы иметь всегда актуальную версию критических обновлений безопасности системы, создадим задание cron на ежедневную проверку обновлений: # echo '20 3 * * * root freebsd-update cron' >> /etc/crontab По этому заданию каждый день в 3.20 будет проверяться наличие новых критических обновлений безопасности системы freebsd 10. В случае, если таковые найдутся, они будут закачаны и пользователю root отправлено оповещение. Устанавливать их необходимо вручную. Материал взят с сайта:Главная > Операционные системы > UNIX > BSD > FreeBSD |