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

nas4free FreeBSD 11 апргейд - одержание "The update metadata is correctly signed, but failed..."

Как я писал в предыдущем посте, уткнулся в проблемку с апгрейдом на nas4free chroot и jail до текщей версии FreeBSD 11.0-RELEASE. Удалось преодолеть.

Finch chroot.

Апгрейд 10.3-> 11.0 проводится практически так же как было описано для 10.x -> 10.3

C важным НО. Если сразу дать команды
nas4free11test // root^> new_release="11.0-RELEASE"
nas4free11test // root^> uname_override on
nas4free11test // root^> freebsd-update -r "$new_release" upgrade


- то вываливается с сообщением, вынесенным в заголовок. Полный выхлоп
[под катом]nas4free11test // root^> new_release="11.0-RELEASE"
nas4free11test // root^> uname_override on
nas4free11test // root^> freebsd-update -r "$new_release" upgrade
Looking up update.FreeBSD.org mirrors... 4 mirrors found.
Fetching public key from update4.freebsd.org... done.
Fetching metadata signature for 10.3-RELEASE from update4.freebsd.org... done.
Fetching metadata index... done.
Fetching 2 metadata files... done.
Inspecting system... done.

WARNING: This system is running a "nas4free-x64" kernel, which is not a
kernel configuration distributed as part of FreeBSD 10.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/lib32

The following components of FreeBSD do not seem to be installed:
world/games

Does this look reasonable (y/n)? y

Fetching metadata signature for 11.0-RELEASE from update4.freebsd.org... done.
Fetching metadata index... done.
Fetching 1 metadata patches. done.
Applying metadata patches... done.
Fetching 1 metadata files... done.

The update metadata is correctly signed, but
failed an integrity check.
Cowardly refusing to proceed any further.


Решение нагуглилось и состоит в том, что сперва софт в chroot надо апдейтить до последней версии 10.3, как и описано во FreeBSD Handbook.

# freebsd-update fetch
# freebsd-update install


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

По результатам Plex в chroot сохраняет работоспособность.

Jails aka клетки.

Здесь хитрее. Разработчик, alexey123 предусмотрел механизм для мажорного апгрейда клеток. В вариантах до и после апгрейда хост системы. Но во всех вариантах я получил отлуп, заканчивающийся знакомым

The update metadata is correctly signed, but
failed an integrity check.
Cowardly refusing to proceed any further.


Апдейт до самой свежей версии 10.3 софта клетки не помог.

Была надежда, что, если его сделать изнутри клетки руками
# freebsd-update fetch
# freebsd-update install


то TheBrig сможет апгрейд сделать. С одной стороны, при ручном апдейте якобы уже обновлённой клетки что-то качалось и патчилось (аргумент в пользу гипотезы, что в TheBrig требуется что-то подправить напильником). Корявый и долгий, но выход нашёлся. Изнутри клетки сработала та же команда, которой обновлял chroot
freebsd-update -r 11.0-RELEASE upgrade

Существенно добавляет трудоёмкости этому варианту то, что придётся снимать chflags у тех компонентов, которые надо заменять. На всякий случай приведу список. (NB К сожалению, в хосте nas4free freebsd-update нет, выпилен. Так что по науке, из хоста не апдейтить.)

[на что ругается с chflags]root@plex:/ # /usr/sbin/freebsd-update install
src component not installed, skipped
Installing updates...chflags: ///bin/rcp: Operation not permitted
chflags: ///lib/libc.so.7: Operation not permitted
chflags: ///lib/libcrypt.so.5: Operation not permitted
chflags: ///lib/libthr.so.3: Operation not permitted
chflags: ///libexec/ld-elf.so.1: Operation not permitted
chflags: ///libexec/ld-elf32.so.1: Operation not permitted
chflags: ///sbin/init: Operation not permitted
chflags: ///usr/bin/chfn: Operation not permitted
chflags: ///usr/bin/chpass: Operation not permitted
chflags: ///usr/bin/chsh: Operation not permitted
chflags: ///usr/bin/crontab: Operation not permitted
chflags: ///usr/bin/login: Operation not permitted
chflags: ///usr/bin/opieinfo: Operation not permitted
chflags: ///usr/bin/opiepasswd: Operation not permitted
chflags: ///usr/bin/passwd: Operation not permitted
chflags: ///usr/bin/rlogin: Operation not permitted
chflags: ///usr/bin/rsh: Operation not permitted
chflags: ///usr/bin/su: Operation not permitted
chflags: ///usr/bin/ypchfn: Operation not permitted
chflags: ///usr/bin/ypchpass: Operation not permitted
chflags: ///usr/bin/ypchsh: Operation not permitted
chflags: ///usr/bin/yppasswd: Operation not permitted
chflags: ///usr/lib/libcrypt.so: Operation not permitted
chflags: ///usr/lib/librt.so.1: Operation not permitted
chflags: ///usr/lib/libthr.so: Operation not permitted
chflags: ///usr/lib32/libc.so.7: Operation not permitted
chflags: ///usr/lib32/libcrypt.so.5: Operation not permitted
chflags: ///usr/lib32/librt.so.1: Operation not permitted
chflags: ///usr/lib32/libthr.so.3: Operation not permitted
chflags: ///bin/rcp: Operation not permitted
chflags: ///lib/libc.so.7: Operation not permitted
chflags: ///lib/libcrypt.so.5: Operation not permitted
chflags: ///lib/libthr.so.3: Operation not permitted
chflags: ///libexec/ld-elf.so.1: Operation not permitted
chflags: ///libexec/ld-elf32.so.1: Operation not permitted
chflags: ///sbin/init: Operation not permitted
chflags: ///usr/bin/chfn: Operation not permitted
chflags: ///usr/bin/chpass: Operation not permitted
chflags: ///usr/bin/chsh: Operation not permitted
chflags: ///usr/bin/crontab: Operation not permitted
chflags: ///usr/bin/login: Operation not permitted
chflags: ///usr/bin/opieinfo: Operation not permitted
chflags: ///usr/bin/opiepasswd: Operation not permitted
chflags: ///usr/bin/passwd: Operation not permitted
chflags: ///usr/bin/rlogin: Operation not permitted
chflags: ///usr/bin/rsh: Operation not permitted
chflags: ///usr/bin/su: Operation not permitted
chflags: ///usr/bin/ypchfn: Operation not permitted
chflags: ///usr/bin/ypchpass: Operation not permitted
chflags: ///usr/bin/ypchsh: Operation not permitted
chflags: ///usr/bin/yppasswd: Operation not permitted
chflags: ///usr/lib/libcrypt.so: Operation not permitted
chflags: ///usr/lib/librt.so.1: Operation not permitted
chflags: ///usr/lib/libthr.so: Operation not permitted
chflags: ///usr/lib32/libc.so.7: Operation not permitted
chflags: ///usr/lib32/libcrypt.so.5: Operation not permitted
chflags: ///usr/lib32/librt.so.1: Operation not permitted
chflags: ///usr/lib32/libthr.so.3: Operation not permitted


Запускать апдейт надо ещё на старой версии хоста, на 10.3 в нашем случае. Такая процедура ручного обновления очень долгая и для одной клетки. И если клеток несколько - можно поседеть обновлямши. Так что я написал разработчику, найдёт время - займётся. Сейчас у Алексея, к сожалению, жёсткий дефицит времени. Пока же спокойно можно (варианты в порядке моего мнения о снижении предпочтительности )
- не спешить обновляться до 11.0-RELEASE, тем более, что доступна только БЕТА сборка nas4free 11
- создать клетку под хостом на 11.0-RELEASE, поставить софт, тот же plex, и перенести в неё библиотеки из старой клетки
- неопределённо долго жить с клеткой на 10.3 под хостом на 11.0
- на крайний случай никто не запрещает всё же провести апгрейд вручную, как описано выше.

Так что в сухом остатке у меня для обновления боевого NAS всё оттестировано, кони пьяны, хлопцы запряжёны. Жду только публичную сборку as4free от разработчиков (а из тем временем понесло (смотрю текущие сборки :)
Tags: chroot, jail, nas, nas4free
Subscribe

  • Иноходец

    Садовник спросил у Эзопа - Почему за огородными растениями нужно ухаживать, а сорняки растут сами? - Потому, что одни для земли родные дети, а…

  • Простой и действенный способ продлить жизнь (но вам не понравится)

    Опубликована статья. "Castration delays epigenetic aging and feminizes DNA methylation at androgen-regulated loci" Причем не британскими, а…

  • Туплю

    В жару я тупею. :( То есть тело переносит вполне сносно (особенно если есть возможность холодного душа каждый час :) - а мозг сбавляет обороты.…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

  • 0 comments