Freebsd 10 оновлення системи
Вирішив прояснити для себе питання з оновленням системи. У freebsd є певна неоднозначність у цьому процесі. Один раз я потрапив в неприємну ситуацію при оновленні і витратив багато часу, поки не зрозумів, в чому ж була справа. Зараз спробую розповісти про всі нюанси поновлення freebsd. Як піддослідної машини у мене виступає версія 10.1
Використання утиліти freebsd-update
Встановити всі оновлення безпеки на сервер freebsd можна легко і швидко за допомогою утиліти freebsd-update. Отже, у нас є:
Запускаємо freebsd-update. перевіряємо наявність оновлень і викачуємо необхідні:
і далі список оновлень перераховується.
Якщо після цього ми знову перевіримо версію системи за допомогою uname, то виявиться, що нічого не змінилося. Буде показана та ж версія. Що ж сталося після цього оновлення? Сталося бінарне оновлення системи до актуальних значень. При цьому, якщо у вас зібрано і встановлено своє ядро, відмінне від GENERIC, то після перезавантаження у вас буде завантажено ядро GENERIC. Про це обов'язково потрібно пам'ятати. Я так довго розбирався, чому раптом перестала працювати команда forward в ipfw. Перевірив ще раз все, що тільки міг, опустилися руки. А все тому, що процес оновлення і перезавантаження сервера були сильно розділені за часом, а помітив я те, що не працює перенаправлення ще пізніше, тому не зіставив ці дві події. Про те, що у мене не те ядро завантажене я й уявити не міг. Я ж знаю і пам'ятаю, що ядро збирав і не чіпав з тих пір. Ось такий нюанс, про який потрібно не забувати.
Щоб відобразити зміни у версії системи, пересоберем і встановимо ядро GENERIC. Вихідні тексти системи, потрібні для збірки, знаходяться в папці / usr / src. Якщо у вас там порожньо, то їх необхідно встановити.
Установка і оновлення вихідних текстів системи Freebsd
Щоб відновити початкові текстів системи є багато способів. Я пропоную скористатися, як мені здається, найпростішим - за допомогою програми subversion. Встановлюємо її з портів:
І качаємо исходники для версії 10.1:
Або для версії 10.2:
Після того, як завантажили вихідні, знову запускаємо оновлення системи. Вона знайде виправлення, які потрібно внести в тексти:
Після цього збираємо і встановлюємо ядро GENERIC:
Всі зміни вступили в силу і відображені.
Тепер для того, щоб мати завжди актуальну версію критичних оновлень безпеки системи, створимо завдання cron на щоденну перевірку оновлень:
За цим завданням кожен день о 3.20 буде перевірятися наявність нових критичних оновлень безпеки системи freebsd 10. У разі, якщо такі знайдуться, вони будуть закачані і користувачеві root відправлено оповіщення. Встановлювати їх необхідно вручну.