Як застосувати оновлення для OpenBSD, NetBSD та FreeBSD?


25

Я вже зараз використовую OpenBSD. Все, що я роблю, але це перехід від одного випуску до іншого, завжди лише оновлення. Я налаштував систему так, що вона працює як мій маршрутизатор і брандмауер, і вона працює досить добре. Але я ніколи не оновлюю пакунки. Все, що я роблю, - це просто перейти до наступного випуску.

Походить із світу Linux, я звик застосовувати оновлення кілька разів на тиждень; але як це зробити на * BSD? - Або це не є частиною філософії * BSD?



Оновлення OpenBSD за допомогою pkg_addє pkg_add -uvi, правда?
полемон


Хоча це посилання може відповісти на питання, краще включити сюди суттєві частини відповіді та надати посилання для довідки. Відповіді лише на посилання можуть стати недійсними, якщо пов’язана сторінка зміниться. - З огляду
Архемар

Відповіді:


22

OpenBSD є бінарним центром. Ви можете оновити двійкові файли (якщо доступні оновлення / зміни), виконавши pkg_add :

pkg_add -Uu

Команда OpenBSD рекомендує використовувати пакети над побудовою з портів - пакети OpenBSD і порти

FreeBSD можна оновити за допомогою пакетів або портів .


1
pkg_add -uдостатньо для OpenBSD. Використовуйте -Uпід час встановлення одного пакету (або набору пакетів), якщо ви хочете оновити пакети, від яких залежить ці (ці).
Кусалаланда

9

Загалом, під час використання OpenBSD ви оновлюєте ваші пакунки лише під час оновлення системи. Отже, як останній крок, після оновлення до останнього випуску слід виконати:

 # pkg_add -ui

Який (u) переробляє встановлені пакети, задаючи вам будь-які питання (i) нетерактивні при необхідності.

Як правило, пакети для даного випуску не оновлюються до наступного випуску (OpenBSD не вистачає ресурсів для розробника для надання оновлень для пакетів для інших версій, крім 'поточних'). Якщо ви хочете регулярно оновлювати ваші пакети, вам потрібно використовувати порти або оновити новий знімок, а потім запустити pkg_add -uiзнову.

Для подальшого читання перевірте: http://www.openbsd.org/faq/faq15.html


3
OpenBSD lacks the developer resources for providing updates to packages on versions other than 'current'Це стосується також оновлень безпеки? Отже, якщо в двійковому пакеті, який я використовую, знайдено критичний отвір у безпеці, мені доведеться перевстановити його зі стабільних портів?
imgx64

@ imgx64 Виправлення безпеки портів виконуються в -current. OpenBSD не буде відновити пакети для -stable.
Kusalananda

4

OpenBSD: M: Tier забезпечує стабільні пакети для архітектур amd64 та i386. Це дозволяє оновлювати вашу систему з останніми виправленнями безпеки з -stableвідділення портів.

У статті про OpenBSD Journal пояснюються деталі:

На практиці це означає, що як тільки виправлення / оновлення безпеки буде зроблено для дерева OPENBSD_5_3, з дерева CVS буде створений пакет. Потім цей пакет випробовується та пересилається на наш сервер-вентилятор на Stable.MTier.org, щоб кожен користувався!


3

Різні системи BSD мають чітке розділення на "базову систему" та "стороннє програмне забезпечення (порти / пакети)". Ви оновите два окремо.

Це передбачає, що у вас є установка OpenBSD 6.5 або пізнішої версії (див. Далі стару відповідь):

Базова система оновлена sysupgrade(8):

doas sysupgrade

Це завантажить та оновить базову систему до наступної "стабільної" версії OpenBSD, якщо ви слідкуєте за стабільною або випусковою гілкою, або до останнього "знімка", якщо ви використовуєте знімки. Зверніть увагу, що ви не повинні використовувати, sysupgradeякщо у вас є спеціальна установка без усіх базових системних наборів.

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

Порти оновлюються pkg_add(1):

doas pkg_add -u

У системі знімків ви можете додати -D snapдо цього (див. Посібник).

Ви також захочете перевірити відповідний розділ FAQ FAQ OpenBSD перед оновленням, наприклад, розділ " Слідування за поточним та використання знімків " або розділ, що стосується оновлення до останнього стабільного випуску.

Існує також порт / пакет з назвою sysclean(in sysutils/sysclean), який допоможе вам вказати базові бібліотеки системи та інші файли, які вже не є частиною встановлення за замовчуванням. Він також розповість, які порти використовують застарілі бібліотеки.


Стара відповідь, що стосується випусків OpenBSD до 6.5:

У випадку OpenBSD, якщо припустити, що ви хочете перейти від одного стабільного випуску до наступного стабільного випуску (стрибкові випуски не підтримуються, якщо ви не зробите нову інсталяцію), ви починаєте, читаючи конкретні поширені запитання щодо оновлення, яке здійснюєте. У разі оновлення з 5,9 до 6,0 ви читаєте " Посібник з оновлення: 5,9 до 6,0 ".

Загалом, суть його полягає у завантаженні інсталяційного носія для випуску, до якого ви хочете оновити, та вибору з меню "(U) pgrade". Після оновлення базової системи ви завантажуєте її та, як root, оновлюєте всі встановлені пакети за допомогою pkg_add -u.

Пакети, що належать до стабільної версії OpenBSD, незвично оновлюються дуже часто. Зазвичай це відбувається лише тоді, коли виправлені критичні помилки. Тож бігати pkg_add -uкілька разів на тиждень, ймовірно, не дуже вдасться (але продовжуйте робити це, оскільки це може призвести до критичних виправлень).

Якщо ви будете дотримуватися "поточного", справи будуть дуже різними. Тоді ви будете будувати ваші пакунки з дерева портів, перевірених у CVS /usr/ports, і, ймовірно, також будете перебудовувати базову систему вручну (див. " Створення системи з джерела "). Встановлені порти можуть бути оновлені dpb(in /usr/ports/infrastructure/bin), якщо надано правильні параметри та список встановлених вручну пакетів.

Я використовую

#!/bin/sh -x

pkg_info -P -q -m | sort -o "$HOME/packages"
/usr/ports/infrastructure/bin/dpb -scuR -P "$HOME/packages"

Слідом за

$ doas pkg_add -u -D unsigned
$ doas pkg_delete -a

Це не рекомендується для нових користувачів.


2

Мені потрібно було отримати оновлення, тому що я встановив bash і не хотів страждати від вразливості Shellshock, тому я пішов із пропозицією Холу /unix//a/103661/93476, і це мене налагодило.



1

Завжди читайте поширені запитання / посібник: http://www.openbsd.org/faq/upgrade58.html

Щоразу, коли ви переходите від релізу до випуску, вам потрібно робити оновлення пакунків як останній крок.


1

На жаль, NetBSD pkgsrcне підтримує недбале рішення. Натомість слід використовувати менеджер пакунків, як nihабо pkgin. Під цим pkgsrcвам потрібно примусити оновлення, яке ігнорує часто пов'язані файлові залежності. Також копіювання нової версії на стару pkgsrcможе привести ваше pkgsrcдерево до непомітного стану.


0

Для мене оновлення пакетів NetBSD - це команда в / usr / pkgsrc:

# cvs update -dP && csup /some-path-to-wip-supfile/netbsd-pkgsrc-wip && pkg_rolling-replace -u
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.