Как применить обновления на OpenBSD, NetBSD и FreeBSD?

Если после того, чтобы читать, что страница Википедии Ваш вопрос, "почему был бы, я когда-нибудь использую их", затем Вы не понимаете, каковы жесткие ссылки.

Ссылка является записью каталога, которая указывает на блоки на диске. Другими словами, каждый файл в Вашей системе имеет по крайней мере одну ссылку. Когда Вы rm файл фактический системный вызов unlink(). Это удаляет запись каталога. Блоки на диске не изменились, но ссылки не стало, таким образом файла не стало из списка каталогов.

Вы лично никогда не можете использовать жесткие ссылки, но они на всем протяжении Вашей системы. Например:

$ ls -li /bin | grep 53119771
53119771 -rwxr-xr-x 3 root root  26292 2010-08-18 10:15 bunzip2
53119771 -rwxr-xr-x 3 root root  26292 2010-08-18 10:15 bzcat
53119771 -rwxr-xr-x 3 root root  26292 2010-08-18 10:15 bzip2

Вы видите это bunzip2, bzcat и bzip все использование тот же inode. В сущности это - один файл с тремя именами. У Вас могло быть три копии файла, но почему? Это только израсходовало бы дисковое пространство излишне.

25
06.03.2015, 01:39
9 ответов

OpenBSD двоично-централен. Можно обновить двоичные файлы (если какие-либо обновления/изменения доступны) путем выполнения pkg_add:

pkg_add -Uu

Команда OpenBSD рекомендует использовать пакеты по созданию от портов - система пакетов и портов OpenBSD

FreeBSD может быть обновлен через пакеты или порты.

22
27.01.2020, 19:40
  • 1
    pkg_add -u находится достаточно на OpenBSD. Использовать -U при установке единственного пакета (или набор пакетов), если Вы хотите обновить пакеты, от которых это (они) зависят. исправления безопасности –  Kusalananda♦ 18.01.2018, 09:12

В целом при использовании OpenBSD Вы только обновляете свои пакеты при обновлении системы. Так, как заключительный шаг, после обновления до последнего выпуска, необходимо выполниться:

 # pkg_add -ui

Который будет (u) pgrade Ваши установленные пакеты, задавая Вам любые вопросы (i) nteractive при необходимости.

В целом пакеты для данного выпуска не обновляются до следующего выпуска (OpenBSD испытывает недостаток в ресурсах разработчика обеспечения обновлений пакетов на версиях кроме 'текущего'). Если Вы хотите обновить свои пакеты более регулярно, Вы или должны использовать порты, или обновить до нового снимка и затем работать pkg_add -ui снова.

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

9
27.01.2020, 19:40
  • 1
    OpenBSD lacks the developer resources for providing updates to packages on versions other than 'current' Это также относится к обновлениям системы защиты? Таким образом, если критическая дыра в системе безопасности найдена в двоичном пакете, я использую, я должен переустановить ее от портов Stable? –  imgx64 06.11.2012, 06:42
  • 2
    @imgx64 к портам сделаны на -current. OpenBSD не восстановит пакеты для -stable. выпуск 5.9 –  Kusalananda♦ 18.01.2018, 09:14

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

Статья о Журнале OpenBSD объясняет детали:

На практике это означает, что, как только исправление безопасности / обновление посвящает себя дереву OPENBSD_5_3, пакет будет создан из дерева CVS. Этот пакет затем тестируется и продвигается к нашему серверу разветвления на выходе по Stable.MTier.org, чтобы все использовали!

4
27.01.2020, 19:40

, я должен был получить обновления, потому что я установил удар и не хотел страдать от уязвимости Контузии, таким образом, я пошел с предложением Holu https://unix.stackexchange.com/a/103661/93476 , и это исправило меня.

2
27.01.2020, 19:40

Для меня обновляет пакеты NetBSD - это команда в / usr / pkgsrc:

# cvs update -dP && csup /some-path-to-wip-supfile/netbsd-pkgsrc-wip && pkg_rolling-replace -u
1
27.01.2020, 19:40

На NetBSD вы обычно обновляете PKGSRC PKGSRC до последней версии (что не более чем TAR -xvzf pkgsrc-version.tar.gz ) и обновляет установленное программное обеспечение индивидуально.

Дополнительные данные на веб-сайте NetBSD / PKGSRC:

2
27.01.2020, 19:40

Всегда читайте FAQ / руководство: http://www.openbsd.org/faq/upgrade58.html

Каждый раз, когда вы переходите от выпуска к выпуску, вам необходимо обновить пакеты в качестве последнего шага.

1
27.01.2020, 19:40

К сожалению, NetBSD pkgsrc не поддерживает небрежное решение. Вместо этого вам следует использовать диспетчер пакетов, например nih или pkgin . В pkgsrc вы должны принудительно выполнять обновления, которые игнорируют зависимости часто связанных файлов. Также копирование новой версии поверх старой pkgsrc может привести ваше дерево pkgsrc в несогласованное состояние.

1
27.01.2020, 19:40

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

Предполагается, что у вас установлена ​​OpenBSD 6.5 или новее (старый ответ см. Ниже):

Базовая система обновлена ​​с помощью sysupgrade (8) :

doas sysupgrade

Это загрузит и обновите базовую систему до следующей «стабильной» версии OpenBSD, если вы следите за стабильной или выпускной веткой, или до последней «моментальной копии», если вы используете моментальные снимки. Обратите внимание, что вам не следует использовать sysupgrade , если у вас настроенная установка без всех базовых системных наборов.

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

Порты обновляются с помощью pkg_add (1) :

doas pkg_add -u

В системе моментальных снимков вы можете добавить к ней -D snap (см. Руководство).

Вы также захотите проверить соответствующий раздел OpenBSD FAQ перед обновлением, например раздел « После -current и использование снимков » или раздел, связанный с обновлением до последней стабильной версии.

Существует также порт / пакет под названием sysclean 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 / 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

. Это не рекомендуется для новых пользователей.

3
27.01.2020, 19:40

Теги

Похожие вопросы