2gusia (2gusia) wrote,
2gusia
2gusia

Апгрейд nas4free на 10.1, Finch chroot, ПОСЛЕ апгрейда хоста

Разработчик Finch предлагает два варианта апгрейда. Один - полностью после апгрейда хоста, другой - частично до, частично после. По мне так проще делать одним куском - тогда работы "до" отпадают.

Поехали - Finch chroot
1. Заходим в chroot

nas4free // root~$ finch chroot

2. пишет - пора апгрейдиться

* The FreeBSD kernel on the host system: FreeBSD-amd64-10.1-RELEASE
* Version of FreeBSD installed on finch: FreeBSD-amd64-9.3-RELEASE


3. подставляем желаемую новую версию (нам её сказали в предложении апгрейдиться чуть выше), переопределяем временно имя версии, чтобы дало апгрейдиться, запускаем апдейт - это надолго, порядка часа.

nas4free // root^> new_release="10.1-RELEASE"
nas4free // root^> uname_override on
nas4free // root^> freebsd-update -r "$new_release" upgrade


Почти сразу задаёт вопрос о нестандартном ядре nas4free

WARNING: This system is running a "nas4free-x64" kernel, which is not a
kernel configuration distributed as part of FreeBSD 9.3-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...
У меня было 30.000 с хвостом. Так как на экране что-то происходит, беспокойства не вызывает. Я как раз смотрел футбол, иногда поглядывая на экран. Займитесь чем-то подобным.

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). Процесс продолжается.

6. Минут через 10-15 систему можно побеспокоить, нажав Enter. В ответ выплёвывает либо пустые строки с ~ в начале, после этих строк END. Тогда снова ждём. Либо с более осмысленным текстом - именами неких файлов. Тогда процесс подходит к концу и можно с интервалом минуту-другую предлагать заканчивать, набирая

:q

Не знаю, может и можно не набирать - но руки-то чешутся :)

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

На все вопросы - соглашаемся.

11. Хоть у нас qjail и нету - может потом пригодится. Обновляем.
nas4free // root^> qjail update -b

UPD от 23 авг 2015 - qjail появился. По этой команде qjail убивает старый мир и копирует из chroot. Занимает секунды.

12. Убиваем возможные остатки старого финча
nas4free // root^> rm -rf /var/distfiles/finch

13. Обновляем установленный софт
nas4free // root^> pkg upgrade
Updating FreeBSD repository catalogue...
FreeBSD repository is up-to-date.
All repositories are up-to-date.
Checking for upgrades (12 candidates): 100%
Processing candidates (12 candidates): 100%
The following 13 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
compat9x-amd64: 9.2.902000.201310

Installed packages to be UPGRADED:
plexmediaserver: 0.9.12.3.1173 -> 0.9.12.4.1192
lsof: 4.89.d,8 -> 4.89.e,8

Installed packages to be REINSTALLED:
sudo-1.8.13 (ABI changed: 'freebsd:9:x86:64' -> 'freebsd:10:x86:64')
qjail-4.0 (ABI changed: 'freebsd:9:x86:64' -> 'freebsd:10:x86:64')
portmaster-3.17.7 (ABI changed: 'freebsd:9:x86:64' -> 'freebsd:10:x86:64')
nano-2.4.1 (ABI changed: 'freebsd:9:x86:64' -> 'freebsd:10:x86:64')
libiconv-1.14_8 (ABI changed: 'freebsd:9:x86:64' -> 'freebsd:10:x86:64')
jq-1.4 (ABI changed: 'freebsd:9:x86:64' -> 'freebsd:10:x86:64')
indexinfo-0.2.3 (ABI changed: 'freebsd:9:x86:64' -> 'freebsd:10:x86:64')
gettext-runtime-0.19.4 (ABI changed: 'freebsd:9:x86:64' -> 'freebsd:10:x86:64')
ca_root_nss-3.19.1_1 (ABI changed: 'freebsd:9:*' -> 'freebsd:10:*')
bash-4.3.39 (ABI changed: 'freebsd:9:x86:64' -> 'freebsd:10:x86:64')

The process will require 10 MiB more space.
79 MiB to be downloaded.

Proceed with this action? [y/N]:


На всё соглашаемся

14. UPD от 23 авг 2015 Записываем текущую версию финча
echo "FreeBSD-`uname -m`-`uname -r | cut -d- -f1-2`" > "/var/db/finch/installed"
/UPD

15. Выходим из chroot
exit
exit

16. Перегружаемся из вебгуя

16. Проверяю Plex - работает

БИНГО!

PS Возможно, по подобной процедуре придётся обновлять клетки (jails). Не хотелось бы - больно муторно. Переставить заново может быть проще и быстрее...
Tags: chroot, nas, nas4free
Subscribe

  • Танцы с WiFi свистком TP-Link TL-WN821N. Не зря вас Тупой Линк величают

    Понадобилось мне срочно подключить десктоп по WiFi. зашел в магазин, у них нашелся TP-Link TL-WN821N Времени не было, взял. Хочу рассказать…

  • Статья про SSD Apacer в NAS

    Сегодня после длительной борьбы с web-редактором IXBT Live (который оказался не совместимым с Google Docs), наконец, опубликовали мой опус про SSD,…

  • OpenZFS и XigmaNAS

    Месяц назад я писал про Open ZFS. Там были мысли о том, когда он будет доступен в XogmaNAS. А в конце декабря зацепился на эту тему языками с…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

  • 12 comments

  • Танцы с WiFi свистком TP-Link TL-WN821N. Не зря вас Тупой Линк величают

    Понадобилось мне срочно подключить десктоп по WiFi. зашел в магазин, у них нашелся TP-Link TL-WN821N Времени не было, взял. Хочу рассказать…

  • Статья про SSD Apacer в NAS

    Сегодня после длительной борьбы с web-редактором IXBT Live (который оказался не совместимым с Google Docs), наконец, опубликовали мой опус про SSD,…

  • OpenZFS и XigmaNAS

    Месяц назад я писал про Open ZFS. Там были мысли о том, когда он будет доступен в XogmaNAS. А в конце декабря зацепился на эту тему языками с…