Оновлення freebsd, порти, msnp

Оновити ОС FreeBSD в загальному випадку досить просто і легко, але для початку потрібно визначитися якого роду поновлення нас цікавлять.

  • Оновлення самої ОС FreeBSD
    • Оновлення ядра FreeBSD
    • Оновлення світу FreeBSD
  • Оновлення встановленого програмного забезпечення (порти, ports)

Тепер розберемо по порядку кожен варіант оновлень.

Як і в будь-який інший операційній системі в ОС FreeBSD теж знаходять помилки і уразливості, і їх треба виправляти.
Для цього розробники FreeBSD пропонують кілька варіантів:

  • Бінарне оновлення.
  • Оновлення «по-старому», складанням з початкових кодів.

Бінарне оновлення зробити досить просто, але все пройде успішно якщо у вас GENERIC ядро ​​і ви не робили змін в інших частинах ОС.
Звичайно в деяких випадках і з кастомними ядром бінарне оновлення теж може пройти успішно, але гарантій абсолютно немає.

Отже, що потрібно набирати в консолі при бінарному оновленні:

# Freebsd-update fetch
Завантажити бінарні поновлення з сервера оновлень

# Freebsd-update install
встановимо поновлення

# reboot
перезавантаження потрібно якщо оновилося ядро ​​або інші важливі частини системи

Ось так все просто!
У разі якщо у вас в системі присутній директорія з вихідними текстами то оновляться і вони, що в подальшому може бути корисно при перезібравши.

Варіант з оновленням з початкових кодів вимагає трохи більше рухів тіла, а так само у вас повинні бути вихідні.

csup -g -L / root / stable-supfile
Приступаємо безпосередньо до компіляції:
# Cd / usr / src /
# Make buildworld
# Make installworld
# reboot

Після перезавантаження необхідно зібрати ядро:
# Cd / usr / src
# Make buildkernel KERNCONF = GENRIC
# Make installkernel KERNCONF = GENERIC
# reboot
В даному випадку використовуємо GENERIC ядро, але ви можете поправити ядро ​​під свої потреби.

Оновлення встановленого програмного забезпечення.

Є кілька варіантів як встановити софт в ОС FreeBSD:

  • Збірка з «портів»
  • Збірка з вихідних кодів
  • Установка скомпілірованих пакетів

Збирання з початкових кодів не рекомендується, хоча ви напевно знаєте про проблеми якщо вибрали даний варіант.

Порти FreeBSD це грубо кажучи набір вказівок для системи, звідки завантажувати вихідні, які патчі застосовувати, які права виставляти, і т.п.
Для того щоб використовувати всю міць «портів» та їх зручність, порти необхідно завантажити і регулярно оновлювати, робиться це так:

# Portsnap fetch
# Portsnap extract
Ці дві команди потрібно використовувати якщо у вас ще не встановлені «порти».

# Portsnap fetch update
Ця команда використовується для відновлення дерева портів

Для складання будь-якого порту наприклад php потрібно використовувати таку команду:

# Make -C / usr / ports / lang / php5 / install clean

Для поновлення рекомендую використовувати наприклад portupgrade який так само можна встановити з портів командою:

# Make -C / usr / ports / ports-mgmt / portupgrade / install clean

Після поновлення дерева портів потрібно подивитися що власне потребує оновлення

# Pkg_version -v | grep need
apache-2.2.15_2 freetype2-2.3.11 gio-fam-backend-2.22.4 Ну ось у нас є явні кандидати на оновлення, за допомогою portupgrade робимо приблизно так:

# Portupgrade -a
Такою командою ми відновимо все.

# Portupgrade apache-2.2.15_2
Такою командою ми відновимо тільки пакет Apache

Установка і оновлення вже зібраних пакетів виглядає приблизно так:

# Pkg_add -r mc
Установка пакета Midnight Commander

# Pkg_deinstall mc
Видалення пакета Midnight Commander

# Pkg_add -r mc
Установка оновленого пакету робиться точно так само як і первісна його установка.