Freebsd-update - бінарне оновлення системи - замітки bsdельніка; )

Безсумнівно, правильний шлях оновлення системи лежить через перезбирання світу (make world). Але є шлях і простіше. Він заснований на бінарному оновленні системи через freebsd-update. Дана утиліта вже є в основній системі. Її опис свідчить, що freebsd-update призначена для отримання, установки і відкату бінарних оновлень системи і поновлення є тільки для тих релізів і архітектур, які підготовлені командою розробників, зокрема для гілок RC, RELEASE, BETA.

Команд у неї небагато. ось основні

fetch - отримує оновлення для поточної архітектури і конфіграціі
cron - випадково, з проміжком від 1 до 3600 секунди виконує fetch для отримання оновлень.
Якщо оновлення є, то шле лист, зазвичай на ім'я root.
upgrade - отримує файли, необхідні для поновлення на новий реліз. Перш ніж використовувати, ознайомтеся з анонсами і правилами поновлення для нового релізу, якщо потрібне виконання додаткових дій.
install - встановлює отримані поновлення.
rollback - видаляє встановлені оновлення.

Зазвичай, для поточних оновлень виконується

У тому випадку, якщо патчі безпеки ставилися до ядра (ядро або модулі), по завершенню роботи freebsd-update систему необхідно буде перезавантажити. Для регулярної відпрацювання цієї операції, можна скористатися cron (8), помістивши в нього наступний рядок:

Цей рядок змусить freebsd-update кожен день перевіряти наявність оновлень для вашої системи. У тому випадку, якщо патчі безпеки є, вони будуть збережені на локальний диск, але не застосовано. Застосування патчів необхідно проводити вручну.
Утиліта freebsd-update в стані оновлювати тільки GENERIC-ядро. У тому випадку, якщо Ви використовуєте ядро ​​власної збірки, Вам потрібно його перекомпіліровать після кожної відпрацювання freebsd-update, в якій порушені зміни стосуються ядру. freebsd-update також може виявляти і оновлювати GENERIC ядро, по шляху / boot / GENERIC (якщо воно існує), тому, зберігати ще одне ядро ​​в / boot / GENERIC - це хороша ідея.

Рівень патчів на системі ідентифікує число, наступне за буквою 'p' в імені релізу (команда uname -r).

Увага! Ви можете оновлювати систему, будучи завантаженим на власному ядрі, однак завжди рекомендується мати в системі копію стандартного ядра, розташованого в / boot / GENERIC каталозі. Його можна отримати, наприклад, з інсталяційного диска FreeBSD:


Де X.Y - це реліз системи, який Ви використовуєте.

Крім цього, GENERIC ядро ​​можна зібрати з вихідних кодів:

Шаг1: отримання оновлень

Для того, щоб оновити систему на певний реліз, freebsd-update необхідно запускати з ключем -r, де після 'r' вказується кінцева версія системи.

У тому випадку, якщо система запущена нема на GENERIC ядрі, ви отримаєте про це відповідне повідомлення:

WARNING: This system is running a «MYKERNEL» kernel, which is not a kernel configuration distributed as part of FreeBSD 8.0-RELEASE. This kernel will not be updated: you MUST update the kernel manually before running »/ usr / sbin / freebsd-update install»

Це попередження на цьому етапі можна ігнорувати. Нове GENERIC ядро ​​можна використовувати як проміжний крок в процесі оновлення.

Зверніть увагу, що на даному етапі, всі зміни і злиття конфиг-файлів відбуваються в іншому каталозі, тому, в разі проблем (пропажа харчування), система завантажитися в звичний стан, а кроки по оновленню доведеться робити заново.

КРОК 2: застосування оновлень для ядра

Шаг3: застосування оновлень userland

Після перезавантаження, freebsd-update повинна бути запущена знову, для поновлення базових утиліт і бібліотек.


Увага! Оскільки на цьому етапі можлива інсталяція бібліотек більш старших версій, сторони по (наприклад встановлюється з портів) потрібно встановлювати заново. Для цього можна скористатися утилітами (ports-mgmt / portupgrade, ports-mgmt / portinstall). Якщо в даний момент часу ця процедура неможлива, прочитайте пункт 'c' в поміченими.

Якщо Вами використовується не GENERIC ядро, саме час, щоб його перебудувати і встановити (cd / usr / src make kernel KERNCONF = «MYKERNEL»)


Вітаю, процес оновлення завершено.