Неудачное обновление до debian 13

Вот что сказал ваш робот:

Тема: Незавершённый переход WB8 на Debian Trixie, репозитории остались Bullseye

Здравствуйте.

Контроллер Wiren Board wirenboard-AASFVAAK оказался в смешанном состоянии после обновления.

Версия релиза:

RELEASE_NAME=wb-2606-trixie-transition
SUITE=testing
TARGET=wb8/bullseye
REPO_PREFIX=libcurl3-gnutls:

APT настроен на репозитории Bullseye:

deb http://debian-mirror.wirenboard.com/debian bullseye main
deb http://debian-mirror.wirenboard.com/debian bullseye-updates main
deb http://debian-mirror.wirenboard.com/debian-security bullseye-security main
deb https://repos.influxdata.com/debian bullseye stable
deb http://deb.wirenboard.com/wb8/bullseye testing main

При этом часть пакетов уже обновилась до Trixie, например:

libc6:arm64 2.41-12+deb13u3
libcurl4t64:arm64 8.21.0-2~bpo13+1
libnm0:arm64 1.52.1-1-wb100
libwbmqtt1-5:arm64 5.7.3

Команда:

dpkg --configure -a

сконфигурировала большинство пакетов, но оставила ошибки зависимостей:

mc                         depends on libglib2.0-0t64
wpasupplicant              depends on libreadline8t64
libnm0:arm64               depends on libglib2.0-0t64
libpolkit-agent-1-0:arm64  depends on libglib2.0-0t64
libgdk-pixbuf-2.0-0:arm64  depends on:
                           libglib2.0-0t64
                           libpng16-16t64
                           libtiff6
libpolkit-gobject-1-0:arm64 depends on libglib2.0-0t64

Проверка показала, что необходимые пакеты недоступны:

libglib2.0-0t64:
  Installed: (none)
  Candidate: (none)

libreadline8t64:
Installed: (none)
Candidate: (none)

libpng16-16t64:
Installed: (none)
Candidate: (none)

libtiff6:
Installed: (none)
Candidate: (none)

apt-get update завершается без ошибок, но загружает только репозитории Bullseye и wb8/bullseye testing.

Дополнительная ошибка при обработке триггеров:

gtk-update-icon-cache: symbol lookup error:
/lib/aarch64-linux-gnu/libgdk_pixbuf-2.0.so.0:
undefined symbol: g_task_set_static_name

ЧТО мне делать и как всё исправить.

приложен диагностический архив, доступен только сотрудникам поддержки
(595,5 КБ)

Разобрали архив диагностики. Нашли причину: при обновлении конфликтуют пакеты libcurl4-gnutls (новый, Trixie) и libcurl3-gnutls (старый, Bullseye) — они оба претендуют на один и тот же файл библиотеки, из-за чего apt-get install -f каждый раз падает на одном и том же месте, не продвигаясь дальше.

Чтобы починить, выполните по SSH по порядку:

apt-get remove libcurl3-gnutls
apt-get -f install
apt-get dist-upgrade
dpkg --configure -a
reboot

После перезагрузки пришлите, пожалуйста, вывод:

wb-release
dpkg --audit
systemctl --failed

Надо убедиться, что переход на Trixie завершился полностью и лишних ошибок не осталось.

Не вышло.

Помоему я потерял связь и система зависла

root@wirenboard-AASFVAAK:/mnt/data/telegraf/bin# apt-get remove libcurl3-gnutls
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
You might want to run ‘apt --fix-broken install’ to correct these.
The following packages have unmet dependencies:
gnupg1 : Depends: libcurl3-gnutls (>= 7.16.2) but it is not going to be installed
libgdk-pixbuf-2.0-0 : Depends: libglib2.0-0t64 (>= 2.80.0) but it is not installable
Depends: libpng16-16t64 (>= 1.6.46) but it is not installable
Depends: libtiff6 (>= 4.0.3) but it is not installable
libnm0 : Depends: libglib2.0-0t64 (>= 2.44.0) but it is not installable
libnss-systemd : Depends: systemd (= 247.3-7+deb11u8)
libpam-systemd : Depends: systemd (= 247.3-7+deb11u8)
libpolkit-agent-1-0 : Depends: libglib2.0-0t64 (>= 2.80.0) but it is not installable
libpolkit-gobject-1-0 : Depends: libglib2.0-0t64 (>= 2.80.0) but it is not installable
mc : Depends: libglib2.0-0t64 (>= 2.78.0) but it is not installable
network-manager : Depends: libcurl3-gnutls (>= 7.24.0) but it is not going to be installed
Depends: libnm0 (= 1.42.4-1~bpo11+1-wb103) but 1.52.1-1-wb100 is to be installed
policykit-1 : Depends: libpolkit-agent-1-0 (= 0.105-31+deb11u2) but 126-2 is to be installed
Depends: libpolkit-gobject-1-0 (= 0.105-31+deb11u2) but 126-2 is to be installed
python3-pycurl : Depends: libcurl3-gnutls (>= 7.74.0) but it is not going to be installed
udev : Depends: libudev1 (= 247.3-7+deb11u8) but 257.13-1~deb13u1 is to be installed
wpasupplicant : Depends: libreadline8t64 (>= 6.0) but it is not installable
E: Unmet dependencies. Try ‘apt --fix-broken install’ with no packages (or specify a solution).
root@wirenboard-AASFVAAK:/mnt/data/telegraf/bin# apt-get -f install
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
Correcting dependencies… Done
The following packages were automatically installed and are no longer required:
alsa-topology-conf alsa-ucm-conf alsa-utils fontconfig gir1.2-glib-2.0 glib-networking-common glib-networking-services hicolor-icon-theme ifmetric libabsl20240722 libaom3 libasound2-data libasound2t64 libatm1 libatopology2t64
libavif16 libbluetooth3 libbpf0 libcairo-gobject2 libcairo2 libcbor0 libcolord2 libdatrie1 libdav1d7 libdconf1 libde265-0 libduktape207 libepoxy0 libevent-core-2.1-7 libevent-pthreads-2.1-7 libfftw3-single3 libfribidi0 libgav1-1
libgdk-pixbuf2.0-common libgirepository-1.0-1 libgraphite2-3 libgudev-1.0-0 libharfbuzz0b libheif-plugin-dav1d libheif-plugin-libde265 libheif1 libi2c0 libimagequant0 libjim0.79 libjson-glib-1.0-0 libjson-glib-1.0-common liblcms2-2
libmbim-glib4 libmbim-proxy libmbim-utils libmm-glib0 libndp0 libnewt0.52 libngtcp2-crypto-gnutls8 libnsl-dev libopts25 libpango-1.0-0 libpangocairo-1.0-0 libpangoft2-1.0-0 libpixman-1-0 libproxy1v5 libqmi-glib5 libqmi-proxy
libqmi-utils libqrtr-glib0 librav1e0.7 libsamplerate0 libsasl2-modules libsharpyuv0 libslang2 libssl3t64:armhf libsvtav1enc2 libteamdctl0 libthai-data libthai0 libtirpc-dev libwayland-client0 libwayland-cursor0 libwayland-egl1
libwtmpdb0 libxcb-render0 libxcb-shm0 libxcomposite1 libxcursor1 libxdamage1 libxfixes3 libxinerama1 libxkbcommon0 libxrandr2 libxrender1 libyuv0 libzstd1:armhf mc-data mobile-broadband-provider-info ncurses-term nftables
openssh-sftp-server putty-tools python3-dbus python3-gi python3-pycares python3-pycurl python3-wb-nm-helper read-edid sgml-base sntp usb-modeswitch usb-modeswitch-data xkb-data xml-core
Use ‘apt autoremove’ to remove them.
The following additional packages will be installed:
libgpg-error-l10n makedev spawn-fcgi uuid-runtime
The following packages will be REMOVED:
adwaita-icon-theme bluez dbus-user-session dconf-gsettings-backend dconf-service glib-networking gsettings-desktop-schemas gtk-update-icon-cache i2c-tools libassuan9 libgdk-pixbuf-2.0-0 libgdk-pixbuf2.0-bin libgtk-3-0 libgtk-3-bin
libgtk-3-common libnm0 libnss-systemd libpam-systemd libpolkit-agent-1-0 libpolkit-gobject-1-0 librest-0.7-0 librsvg2-2 librsvg2-common libsoup-gnome2.4-1 libsoup2.4-1 mc modemmanager network-manager ntp openssh-server policykit-1
putty task-wb-base-system task-wb-common-pkgs udev wb-nm-helper wb-suite wpasupplicant
The following NEW packages will be installed:
libgpg-error-l10n makedev spawn-fcgi uuid-runtime
0 upgraded, 4 newly installed, 38 to remove and 1 not upgraded.
6 not fully installed or removed.
Need to get 258 kB of archives.
After this operation, 132 MB disk space will be freed.
Do you want to continue? [Y/n] Y
Get:1 Index of /debian/ bullseye/main arm64 makedev all 2.3.1-94.1 [40.2 kB]
Get:2 Index of /debian/ bullseye/main arm64 uuid-runtime arm64 2.36.1-8+deb11u2 [99.9 kB]
Get:3 Index of /debian/ bullseye/main arm64 libgpg-error-l10n all 1.38-2 [104 kB]
Get:4 Index of /debian/ bullseye/main arm64 spawn-fcgi arm64 1.6.4-2 [14.1 kB]
Fetched 258 kB in 10s (26.5 kB/s)
(Reading database … 45527 files and directories currently installed.)
Removing putty (0.74-1+deb11u2) …
Removing libgdk-pixbuf2.0-bin (2.42.2+dfsg-1+deb11u5) …
Removing task-wb-common-pkgs (1.20.9) …
Removing wb-suite (1.20.9) …
Removing wb-nm-helper (1.37.1) …
Removing ‘diversion of /usr/share/wb-mqtt-confed/schemas/interfaces.schema.json to /usr/share/wb-nm-helper/usr++share++wb-mqtt-confed++schemas++interfaces.schema.json by wb-nm-helper’
Removing network-manager (1.42.4-1~bpo11+1-wb103) …

Контроллер не пингуется?

Нет, вообще пропал из сети, на роутере его не видно.

Простите меня, я не предполагал, что удаление этого пакета потянет за собой удаление других (

Контроллер у вас 8.5, будем восстанавливать через debug

  1. Подключить USB-C кабель к разъёму Debug USB на контроллере и к компьютеру (Windows 7+ или Linux; на macOS и телефонах не работает).
  2. На компьютере появится новое последовательное устройство — COM-порт в Windows (Диспетчер устройств) или /dev/ttyACM*//dev/ttyUSB* в Linux.
  3. Открыть терминальную программу (MobaXterm, PuTTY, или screen /dev/ttyACM0 115200 в Linux) с параметрами 115200 8N1.
  4. Так как контроллер уже включён (просто в подвешенном apt-состоянии) — сессия должна сразу показать текущий вывод консоли/приглашение логина. Если экран пустой — нажать Enter.
  5. Логин — root, пароль как задан на этом контроллере (или wirenboard, если не менялся).

Напишите, пожалуйста, как закончите.

К сожалению до железа доеду только к вечеру. попробую подключится через дебаг.

Вопрос, можно ли выключить контролер чтобы перенести на стенд, или не стоит его выключать.

Какие операции необходимо сделать после подключения к консоли. может его обновить чере фит ?

Я предполагал, что вы подключитесь к консоли, подключите контроллер кабелем ethernet, через командную строку вернете его в сеть и установите необходимые пакеты, чтоб он снова заработал штатно через wifi.

fit на флэшке - хороший вариант. Единственный недостаток - все стороннее ПО, кроме штатного, будет утеряно.

  1. Скачать fit-файл: testing-релиз (раз контроллер был на testing) или stable.
  2. Переименовать файл в wb_update.fit (для обычного обновления, не _FACTORYRESET — данные в /mnt/data сохранятся).
  3. Скопировать на флешку (FAT32).
  4. Выключить контроллер кнопкой, дождаться, пока погаснет индикатор.
  5. Вставить флешку, включить контроллер.
  6. В первые 5 секунд после включения зажать кнопку FW и держать до короткого писка — отпустить.
  7. Контроллер сам найдёт wb_update.fit на флешке, пикнет дважды и начнёт прошивку — 5-10 минут.
  8. Индикатор начнёт ровно мигать зелёным

В принципе я готов удалить стороннее по. Но меня интересуют конфиги , основной бэкап я сделал, но к сожалению не сделал БЭКАП SVG файлов и скриптов. Обновление через FIT затронет эти файлы или всё надо будет с нуля настраивать ?

И то, и другое хранится в /mnt/data/etc, и должно сохраниться после обновления. Но бэкап лишним точно не будет. Поэтому предлагаю вначале подключиться через debug, сделать бэкап (или оживить сеть, или забэкапить просто текстовый вывод терминала командой cat <нужный файл>), и далее - идти путем обновления с флэшки.

Какой у вас часовой пояс, и когда вы планируете заняться контроллером? Я должен вам помочь с процессом восстановления.

  1. Новосибирск находится в часовой зоне МСК+4
  2. Я планирую всё-таки выключить контролер (если это допустимо) и привезти завтра на работу (дома нет нормальных условий для подключения) и заняться им с 8 утра по Новосибирску.
  3. Я Так и не нашёл где лежат JSON файлы для SVG панелей чтобы сделать с них копии.

По итогам телефонного разговора: бэкап чувствительных данных есть, текущее состояние контроллера некритично, вы планируете завтра утром провести процедуру восстановления прошивки через флэшку.

Восстановил прошивку через fit, всё работает, резервные данные не понадобились. Спасибо за оперативную ТП.