> Благодарю Вас!
> А насчёт обновления самой системы — полагаете, что не выйдет обновиться даже
> постепенно небольшими шажками до близких релизов вроде 8.4 => 10.0 =>
> 10.4 => 12.1?Выйдет, можно по Вашей схеме, можно:
8.4 -> 10.4 -> 12.3 или 13.0
Можно сразу 8.4 -> 13.0 через сборку мира, ядра - накладно по ресурсам, зависит
от hardware. (можно сборку сделать на сторонней 8.4 и затем отдать by NFS /usr/obj
на целевую для установки)
ps. Важно помнить что в ранних релизах, freebsd-update выполнялся при условии
generic kernel! Вот когда появилась возможность выполнять freebsd-update с custom kernel,
это я уж и не вспомню... Просто свое собранное ядро заменялось на generic при апгрейде ОС.
Дело в другом, дано FreeBSD 8.4, на ней:
- ядро generic?
- пакеты установлены через старый pkg_install и из портов
тонкость: новый пакетный менеджер pkg стал основным by default в 10.0
Выполняем бинарный апгрейд ОС:
- основное правило, текущий RELEASE должен быть обновлен до
последнего patch-level (не уверен что это обязон)
# freebsd-update fetch
# freebsd-update install
# reboot
имеем 8.4-pX (последний патчлевел для релиза 8.4)
- производим апгрейд по 10.0 или 10.4 ...
# freebsd-update upgrade -r 10.4-RELEASE
# freebsd-update install
# reboot
- загружаемся с ядром 10.4 нужно еще раз выполнить
# freebsd-update install
... и в конце выдаст сообщение
переустановите пакеты и затем выполните "freebsd-update install"
получаем обновленную систему с ядром 10.4 и миром 10.4
прим: в FreeBSD ядро и базовая система (мир) должны быть синхронизированы
- мы два раза выполнили "freebsd-update install" и получили новую систему,
зачем выполнять еще раз? Ответ: чтобы удалить старые библиотеки и прочий хлам.
Вот почему выдается предупреждение о reinstall packages or ports!
Все пакеты и порты собраны со старыми системными библиотеками, если их
удалить - получим неработающий третичный софт.
Что делать?
вариант 1: не выполнять 3ий "freebsd-update install"
вариант 2: установить compat8x - и тут засада, из портов не сможем, ибо их работа
не поддерживается, из пакетов не сможем - отсутствие репы 10.x EOL. Вытаскивать с
ftp://ftp-archive.freebsd.org/pub/FreeBSD-Archive/old-releas... в надежде что на нем есть compat8x
У меня подразумевается что платформа amd64(64bit)
В принципе, compat8x можно взять с любого релиза и развернуть в /usr/local/lib/compat
и /usr/local/lib32/compat и затем выполнить ldconfig.
После этого можно выполнить 3ий "freebsd-update install"
Итак, имеем 10.4-RELEASE со старым третичным ПО от 8.4:
- установить пакеты не можем их нет
- установить из портов не можем - не поддерижваются
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^- взять с любого релиза и развернуть
руками, описано выше
И последняя засада: у Вас старый пакетный менеджер и дерево установленных портов,
и это нужно трансформировать в формат нового pkg через pkgng!
Опять засада, это бесполезная работа в том смысле что репозитория для 10/11 нет,
обновить пакеты не сможем.
Имеем: 10.4 на который мы стянули compat8x и установили руками.
- делаем апгрейд до 10.4 last patchlevel
# freebsd-update fetch
# freebsd-update install
# reboot
- имеем 10.4-pX
- выполняем апгрейд на 12.3
# freebsd-update upgrade -r 12.3-RELEASE
# freebsd-update install
# reboot
# freebsd-update install
# freebsd-update install
Итак, имеем 12.3-RELEASE в нем:
- пакеты и порты от 8x работу которых обеспечивают библиотеки compat8x
Что дальше?!
Дальше нам нужно установить НОВЫЕ пакеты: КАК?
Только грохнуть все старье - зачистить хлам от старого pkg_install/pkg_add
и от старых портов и установить их или аналоги более свежих версий заново.
Вопрос: сколько времени нужно потратить на верхнее и каков итог?
Суть: своевременный апгрейд!
Верхнее понятно расписано? Вопросы?