The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Обновление старого релиза FreeBSD"
Отправлено lavr, 20-Янв-22 12:22 
>> База установленных пакетов ОДНА, итогом сборки порта является установка
>> собранных бинарников и РЕГИСТРАЦИЯ их в локальной базе пакетов.
> Но ведь база данных портов (само дерево, настройки, данные об уже собранных
> ранее портах) — она ведь тоже должна существовать, должен же portmaster
> знать, с чем работает. Получается, две базы данных установленного ПО —
> для pkg и для portmaster.

Это Ваши "выводы" от незнания.

Порты - это директория с инструментарием для сборки из исходников,
дерево:
/usr/ports/INDEX-N (где N=цифра релиза)
/usr/ports/README
/usr/ports/UPDATING - все важные изменения и руководства к апгрейду
/usr/ports/Makefile
/usr/ports/Mk/ - важные defines для сборки make
/usr/ports/Tools/ - необходимый инструментарий
/usr/ports/category/portname/Makefile
............................/distinfo
............................/pkg-descr
............................/pkg-plist
............................/files/patches...

как видно из верхнего, порт - это проект сборки третичного ПО,
где category - это множество по направлению:
/usr/ports/archivers
/usr/ports/astro
/usr/ports/audio
/usr/ports/base
/usr/ports/benchmarks
/usr/ports/biology
/usr/ports/cad
...
/usr/ports/databases
/usr/ports/deskutils
/usr/ports/devel
/usr/ports/distfiles
/usr/ports/dns
/usr/ports/editors
/usr/ports/emulators

внутри каждой категории, директория с отдельными портами: portname
# ls -la /usr/ports/archivers/bzip2/
total 32
drwxr-xr-x    3 root  wheel   512  7 июня   2021 .
drwxr-xr-x  269 root  wheel  5632 27 дек.  18:16 ..
-rw-r--r--    1 root  wheel   153 13 марта  2021 distinfo
drwxr-xr-x    2 root  wheel   512  7 июня   2021 files
-rw-r--r--    1 root  wheel  2161  6 апр.   2021 Makefile
-rw-r--r--    1 root  wheel   155  1 июля   2019 pkg-descr
-rw-r--r--    1 root  wheel   571 20 окт.   2014 pkg-plist
#

Собирать порты можно вручную или используя порт-менеджеры,
наиболее распространенные и рекомендуемые:
- portmaster (shell скрипт использующий пакетный менеджер "pkg")
- portupgrade

результатом сборки в конечном итоге является "пакет", который
устанавливается в систему и регистрируется в локальной базе
пакетов которую использует и которой управляет пакетный
менеджер "pkg"

>> Соль в том, что если мы выполняем сборку из портов с изменением
>> опций сборки, последующее обновление через пакетный менеджер pkg
>> делать нельзя.
> Нельзя почему? Просто потому что опции сборки обнулятся дефолтными или потому что
> у pkg могут быть проблемы при работе с пакетом, установленным из
> порта?

pkg использует by default официальный репозиторий FreeBSD, опции
с которыми собраны пакеты - есть зависимости.

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

Если после это Вы попробуете обновится через пакетный менеджер pkg,
получите бяку.

>> Если какие-то пакеты не устраивают, то наименее затратный путь:
>> 1. все что возможно установить из пакетов
>> 2. остальное установить из портов
>> 3. последующие обновления только из портов (например portmaster)
> То есть, если я правильно понял, процесс обновления будет разбит на две
> части — отдельно обновления "родных" пакетов (pkg) и отдельно обновления того,
> установлено в пакеты через порты (portmaster).

Нет никаких ОТДЕЛЬНО:
- есть пакетный менеджер и база установленных пакетов

Соответственно:

Вариант 1: используете только пакеты из FreeBSD REPO - только пакетный менеджер,
нет проблем с апгрейдом, все через "pkg"

Вариант 2: регулярно модифицируете дерево портов под себя и создаете СВОЙ REPO -
репозиторий и сами собираете ВСЕ пакеты и используете свой репозиторий, нет
проблем, используете только "pkg" с указанием своего репо.

Вариант 3:
- этап 1 - устанавливаете по максимуму все из пакетов
- этап 2 - устанавливаете из портов то что Вам нужно с Вашими опциями сборки
руками или с помощью порт-менеджера
- этап 3 - дальнейший апгрейд только через порт-менеджер, ибо pkg использует
FreeBSD repo в котором иные зависимости, ОТЛИЧНЫЕ от того что Вы установили
дополнительно из портов со своими зависимостями

Потренируйтесь в виртуалке, придут знания и наступит понимание, нет знаний - нет
понимания процессов.

 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру