Апгрейд nas4free с 10.x на 10.3, Finch chroot, ПОСЛЕ апгрейда хоста
Jul 27, 2016 22:47
Разработчик Finch предлагает два варианта апгрейда. Один - полностью после апгрейда хоста, другой - частично до, частично после. По мне так проще делать одним куском - тогда работы "до" отпадают. ВНИМАНИЕ процесс небыстрый, у меня занял ~2 часа
Поехали - Finch chroot 1. Заходим в chroot
nas4free // root~$ finch chroot
2. пишет - пора апгрейдиться
* The FreeBSD kernel on the host system: FreeBSD-amd64-10.3-RELEASE * Version of FreeBSD installed on finch: FreeBSD-amd64-10.2-RELEASE
3. подставляем желаемую новую версию (нам её сказали в предложении апгрейдиться чуть выше), переопределяем временно имя версии, чтобы дало апгрейдиться, запускаем апдейт - это надолго, порядка часа.
Думает, потом сразу задаёт вопрос о нестандартном ядре nas4free
WARNING: This system is running a "nas4free-x64" kernel, which is not a kernel configuration distributed as part of FreeBSD 10.2-RELEASE. This kernel will not be updated: you MUST update the kernel manually before running "/usr/sbin/freebsd-update install".
The following components of FreeBSD seem to be installed: kernel/generic src/src world/base world/doc world/games world/lib32
The following components of FreeBSD do not seem to be installed:
Does this look reasonable (y/n)? y
Это нормально, Жмём y ...ждём... Через несколько минут начинает выяснять, какие нужны патчи 10...20...30... У меня было 40.000 с хвостом. Так как на экране что-то происходит, беспокойства не вызывает. Я как раз смотрел кино с этого смого NAS через Plex на этом самом finch, иногда поглядывая на экран. Займитесь чем-то подобным.
4. Разобравшись что патчить, начинает качать. Терпение, терпение
Applying patches... done. Fetching 11257 files... done. Attempting to automatically merge changes in files... done.
5. Один-единственный файл система не смогла объединить автоматически - старый и новый файл hosts The following file could not be merged automatically: /etc/hosts Press Enter to edit this file in nano and resolve the conflicts manually...
Просит это сделать ручками и открывает в nano следующий текст [Объединение файлов hosts] <<<<<<< current version ::1 localhost localhost.local 127.0.0.1 localhost localhost.local 192.168.1.34 nas4free.local nas4free ======= # $FreeBSD: releng/10.1/etc/hosts 109997 2003-01-28 21:29:23Z dbaker $ # # Host Database # # This file should contain the addresses and aliases for local hosts that # share this file. Replace 'my.domain' below with the domainname of your # machine. # # In the presence of the domain name service or NIS, this file may # not be consulted at all; see /etc/nsswitch.conf for the resolution order. # # ::1 localhost localhost.my.domain 127.0.0.1 localhost localhost.my.domain # # Imaginary network. #10.0.0.2 myname.my.domain myname #10.0.0.3 myfriend.my.domain myfriend # # According to RFC 1918, you can use the following IP networks for # private nets which will never be connected to the Internet: # # 10.0.0.0 - 10.255.255.255 # 172.16.0.0 - 172.31.255.255 # 192.168.0.0 - 192.168.255.255 # # In case you want to be able to connect to the Internet, you need # real official assigned numbers. Do not try to invent your own network # numbers but instead get one from your network provider (if any) or # from your regional registry (ARIN, APNIC, LACNIC, RIPE NCC, or AfriNIC.) # >>>>>>> 10.1-RELEASE
К счастью здесь строки, начинающиеся с # - комментарии. Я посмотрел на те, что без знака комментария и решил, что три строки вначале, а именно ::1 localhost localhost.local 127.0.0.1 localhost localhost.local 192.168.1.34 nas4free.local nas4free
- соответствуют моим пожеланиям. Да, у меня задан домен local и nas называется nas4free с IP 192.168.1.34 Эти строки я не трогал. У вас они могут быть чуть другими. А вот две строки-аналога в середине текста, а именно ::1 localhost localhost.my.domain 127.0.0.1 localhost localhost.my.domain
Выглядят как шаблон общего вида. Их я закомментировал, добавив в начале #, то есть #::1 localhost localhost.my.domain #127.0.0.1 localhost localhost.my.domain
Теперь выходим из nano с сохранением (жмём Ctrl-X, затем Y). Процесс продолжается.
Дальше у меня спросил разрешить конфликт с rc.shutdown, причём система сама справилась, просила утвердить сделаное. При апгрейде с 10.3 до 11.0 было больше предложений утвердить сделанное - все утвердил.
6. Минут через 10-15 систему можно побеспокоить, нажав Enter. В ответ выплёвывает либо пустые строки с ~ в начале, после этих строк END. Тогда снова ждём. Либо с более осмысленным текстом - именами неких файлов. Тогда процесс подходит к концу и можно с интервалом минуту-другую предлагать заканчивать, набирая
:q
Не знаю, может и можно не набирать - но руки-то чешутся :)
Нам предлагают установь скачанное - что и делаем. To install the downloaded upgrades, run "/usr/sbin/freebsd-update install". nas4free // root^> /usr/sbin/freebsd-update install
7. процесс скачки патчей заканчивается предложением закончить их установку после замены ядра и ребута.
Installing updates... Kernel updates have been installed. Please reboot and run "/usr/sbin/freebsd-update install" again to finish installing updates.
Но ребут не нужен, ядро и так уже новое. Просто отключаем сделанную с 3 пункте маскировку сего факта. nas4free // root^> uname_override off
8. И завершаем установку апдейтов. Видно, что ниже будут предупреждения о возможных ошибках. Разработчик рекомендует их игнорировать. nas4free // root^> freebsd-update install Installing updates...
Installing updates...ln: ///.cshrc: No such file or directory
Completing this upgrade requires removing old shared object files. Please rebuild all installed 3rd party software (e.g., programs installed from the ports tree) and then run "/usr/sbin/freebsd-update install" again to finish installing updates.
9. Видим предложение системы пересобрать весь софт, установленный через дерево портов и ещё раз запустить апдейт.
И разработчик также рекомендует принудительный ребилд установленных портов. Так и делаем
nas4free // root^> portmaster -f
Система нам сообщает
===>>> No /usr/ports//root exists, and no information ===>>> about /root can be found in /usr/ports/MOVED
pkg: Warning: Major OS version upgrade detected. Running "pkg-static install -f pkg" recommended ===>>> No valid installed port, or port directory given ===>>> Try portmaster --help
То есть у меня портов нет - и славно. Перестраивать нечего. Если у вас иначе - действуйте как выше рекомендовала система.
10. А у меня она хочет обновить менеджер пакетов, что и делаем nas4free // root^> pkg-static install -f pkg
На все вопросы - соглашаемся. Затем nas4free // root^> pkg update nas4free // root^> pkg upgrade
На все вопросы - соглашаемся.
11. Обновляем qjail nas4free // root^> qjail update -b Прим. qjail stop если ругается на запущенные клетки
По этой команде qjail убивает старый мир и копирует из chroot. Занимает секунды.
В конце qjail сообщает что надо апгрейдить версии конфигов - так и делаю
qjail update -u Прим для апгрейда на 11.0 команда оказалась излишней - но не повредит, если ошибочно введёте.
12. Убиваем возможные остатки старого финча nas4free // root^> rm -rf /var/distfiles/finch