12

Разбор обычных проблем при обновлении ArchLinux

Проблема: перестал запускаться blueman-manager - программа для управления bluetooth подключениями.

$ blueman-manager

Traceback (most recent call last):

File "/usr/bin/blueman-manager", line 15, in <module>

from blueman.main.Manager import Blueman

ModuleNotFoundError: No module named 'blueman'

Эту проблему в общем виде я уже знаю - обновил python на 3.13 а библиотеки остались в путях "...3.10" поэтому он их не видит.

Хороший вариант будет обновить систему в этом случае (как и во многих других когда не охота решать проблемы, возникшие на пустом месте)

$ sudo pacman -Suy

:: Synchronizing package databases...

core 118.0 KiB 274 KiB/s 00:00 [########################################################] 100%

extra 7.6 MiB 9.22 MiB/s 00:01 [########################################################] 100%

multilib 133.8 KiB 801 KiB/s 00:00 [########################################################] 100%

:: Starting full system upgrade...

:: Replace lib32-sdl2 with multilib/lib32-sdl2-compat? [Y/n] y

:: Replace p7zip with extra/7zip? [Y/n] y

:: Replace sdl2 with extra/sdl2-compat? [Y/n] y

:: Replace webrtc-audio-processing with extra/webrtc-audio-processing-0.3? [Y/n] y

resolving dependencies...

looking for conflicting packages...

error: failed to prepare transaction (could not satisfy dependencies)

:: installing icu (76.1-1) breaks dependency 'libicui18n.so=75-64' required by electron28

:: installing icu (76.1-1) breaks dependency 'libicuuc.so=75-64' required by electron28

:: installing flac (1.5.0-1) breaks dependency 'libFLAC.so=12-64' required by electron28

Тут можно вызвать пояснительную команду: чего ему надо?


Эта ошибка pacman говорит о конфликте зависимостей. Обновление системы пытается установить новые версии пакетов icu (76.1-1) и flac (1.5.0-1), но у вас установлен пакет electron28, который жестко зависит от старых версий библиотек из этих пакетов (libicui18n.so=75-64, libicuuc.so=75-64, libFLAC.so=12-64).

Что происходит:

  1. pacman -Suy хочет обновить icu и flac.

  2. Новые icu и flac предоставляют библиотеки libicu*.so=76-64 и libFLAC.so=13-64 (или похожие новые версии).

  3. Пакет electron28 требует именно старые версии (...=75-64, ...=12-64).

  4. pacman не может одновременно удовлетворить требование electron28 (старые библиотеки) и установить новые версии icu и flac (которые предоставляют новые библиотеки). Поэтому он останавливает транзакцию.

Почему electron28 вызывает проблему:

Пакет electron28 скорее всего:

  1. Из AUR (Arch User Repository): Пакеты из AUR собираются локально и могут отставать от обновлений в официальных репозиториях. Мантейнер пакета electron28 в AUR еще не обновил его для сборки с новыми icu и flac.

  2. Из неофициального репозитория: Аналогично AUR, репозиторий может отставать.

  3. Очень старый пакет: Возможно, он когда-то был в репозиториях, но был удален, а у вас остался.

Решение:

Самый частый и рекомендуемый способ - временно удалить пакет, вызывающий конфликт, обновиться, а затем попробовать установить его снова (он, вероятно, потребует пересборки из AUR).

  1. Определите, что зависит от electron28: Чтобы понять, нужен ли вам electron28 напрямую, или он нужен для какой-то другой программы:

    pacman -Qi electron28 | grep "Required By"

    # Или более подробно:

    pactree -r electron28

    Если ничего важного от него не зависит, или вы можете обойтись без этой программы временно, переходите к шагу 2.

  2. Удалите electron28:

    sudo pacman -Rdd electron28

    • Внимание: Флаг -dd используется для игнорирования зависимостей при удалении. Используйте его с осторожностью. В данном случае он нужен, чтобы pacman не ругался, что удаление electron28 сломает сам electron28 (что логично).

    • Альтернатива (безопаснее): Если electron28 нужен какой-то программе (например, some-app), лучше удалить и программу, и electron28 вместе: sudo pacman -R some-app electron28.

  3. Запустите обновление системы снова:

    sudo pacman -Suy

    Теперь конфликта быть не должно, и система обновится.


Сработало. Обновилось. Проблемы ушли. Но, правда, пришлось откатить ядро 6.14.2-arch1-1 на прошлую версию 6.12.1-arch1-1 которая была установлена потому что в новом пакете ядра больше нет модуля reiserfs, а у меня все еще эта файловая система.

$ uname -r

6.12.1-arch1-1

В 2011м когда ArchLinux был установлен на этот ноут версия ядра была 2.6.33
За 14 лет много ядер сменилось, а система работает как вечная несмотря на все проблемы с обновлениями, которые иногда бывают.

Всем спасибо за внимание. Если кому-то будет полезно то здесь более полный лог того, что я делал для последнего обновления.

Разбор обычных проблем при обновлении ArchLinux

GNU/Linux

1.2K поста15.6K подписчика

Правила сообщества

Все дистрибутивы хороши.

Будьте людьми.

1
Автор поста оценил этот комментарий

Кароче как не суй, все равно получишь traceback

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Да это не трэйсбэк. Это считается человечье описание стандартной проблемы при обновлении. Их не так много - на моей памяти кроме этой еще бывает шляпа с подписями пакетов да и все вроде.

Автор поста оценил этот комментарий
Всегда поражало, какой только хуйней не занимаются адепты линукса.
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Это раз в пятилетку. Остальное время все просто работает. Думается маки и виндовсы полностью переустанавливаются чаще.

показать ответы
0
Автор поста оценил этот комментарий
Оффтоп: почему не работает клавиатура Acer okw010 уже под двумя дистрибутивами? Все стандартные клавиши работают, но когда нажимаешь любую дополнительную клавишу, типа vol+, то клавиатура вообще перестаёт реагировать на нажатия. Пока её не переподключишь физически через USB. Проверено на KDE neon и Fedora Kde.
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Это довольно странная и специфичная проблема. Тот факт, что она воспроизводится на двух разных дистрибутивах (хоть и с одним DE - KDE), но при этом стандартные клавиши работают, указывает на проблему либо с самой клавиатурой (её прошивкой/контроллером), либо с тем, как ядро Linux или подсистема ввода обрабатывают специфические коды от мультимедийных клавиш этой конкретной модели.

Вот несколько шагов для диагностики и возможного решения:

Проверка системных логов в реальном времени:

Откройте терминал.

Выполните команду sudo dmesg -w или sudo journalctl -f.

Нажмите одну из мультимедийных клавиш, которая вызывает зависание.

Посмотрите, появляются ли какие-либо сообщения об ошибках (особенно связанные с USB, HID, input) в момент нажатия и зависания. Скопируйте эти сообщения, они могут дать ключ к разгадке.

Проверка в TTY (текстовой консоли):

Переключитесь в чисто текстовую консоль, нажав Ctrl+Alt+F3 (или F4, F5, F6).

Войдите в систему под своим логином и паролем.

Попробуйте нажать мультимедийную клавишу (например, громкость). Звук, скорее всего, не изменится, но главное – проверьте, перестает ли клавиатура реагировать на другие нажатия (например, ввод символов, Enter) в этой консоли.

Если клавиатура зависает даже в TTY, проблема, скорее всего, на уровне ядра/драйвера HID или аппаратной части/прошивки клавиатуры.

Если клавиатура не зависает в TTY, проблема может быть связана с графической подсистемой (Xorg/Wayland), libinput или обработкой горячих клавиш в KDE.

Вернуться в графический режим можно обычно через Ctrl+Alt+F1 или Ctrl+Alt+F7.

Идентификация устройства:

Подключите клавиатуру и выполните в терминале lsusb.

Найдите строку, соответствующую вашей клавиатуре Acer. Запишите её ID (например, 1234:5678). Это Vendor ID и Product ID.

Поищите в интернете по Acer OKW010 Linux freeze multimedia keys или по её VendorID:ProductID Linux bug. Возможно, кто-то уже сталкивался с подобной проблемой и нашёл решение или обходной путь (например, специальный параметр для модуля ядра usbhid).

Проверка с помощью evtest:

Установите утилиту evtest (sudo apt install evtest на Debian/Ubuntu/Neon, sudo dnf install evtest на Fedora).

Запустите sudo evtest. Вам будет предложен список устройств ввода. Выберите номер, соответствующий вашей клавиатуре Acer OKW010.

Нажимайте обычные клавиши – вы увидите события.

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

Проверка других USB-портов:

Попробуйте подключить клавиатуру к другому USB-порту, желательно другого типа (например, если использовали USB 3.0, попробуйте USB 2.0, или наоборот). Также попробуйте порты на задней панели материнской платы, если использовали передние.

Исключение проблем с питанием USB:

Хотя маловероятно, что мультимедийная клавиша вызывает проблему с питанием, иногда странные USB-устройства могут вызывать сбои. Если используется USB-хаб, попробуйте подключить клавиатуру напрямую к компьютеру.

Обновление системы и ядра:

Убедитесь, что ваша система полностью обновлена, включая ядро Linux. Иногда исправления для таких проблем появляются в новых версиях ядра или библиотек.

sudo apt update && sudo apt full-upgrade (KDE Neon)

sudo dnf upgrade --refresh (Fedora)

Перезагрузитесь после обновления.

Тест на другом DE/WM или сессии:

Если проблема не проявлялась в TTY, попробуйте установить другое легковесное окружение (например, LXQt или даже просто оконный менеджер типа Openbox) и проверить работу клавиатуры там. Это поможет понять, специфична ли проблема для KDE.

Также проверьте, есть ли разница между сессиями X11 и Wayland (если ваш дистрибутив предлагает выбор на экране входа).

Вероятные причины:

Баг в прошивке клавиатуры: Клавиатура посылает некорректную последовательность USB-событий при нажатии мультимедийной клавиши, с которой не справляется драйвер Linux HID.

Баг в драйвере Linux HID: Драйвер некорректно обрабатывает коды, посылаемые этой конкретной моделью клавиатуры.

Конфликт на уровне обработки событий: Что-то в стеке ввода (libinput, Xorg/Wayland, KDE) вызывает сбой при обработке специфического события от мультимедийной клавиши.

Что делать дальше: Соберите информацию из пунктов 1, 2, 3, 4. Особенно важны логи dmesg/journalctl и вывод evtest в момент сбоя, а также результат теста в TTY и Vendor/Product ID. С этой информацией можно будет более предметно искать решение или даже составить баг-репорт для разработчиков ядра или вашего дистрибутива.

https://kreagenium.ru/chat/keyboard_problem_342

0
Автор поста оценил этот комментарий

Кстати, только сейчас нашел "новость" об удалении reiserfs из ядра linux c 6.13 https://archlinux.com.ru/forum/viewtopic.php?t=3781
После того как вперся при обновлении. Таки придется форматировать винт впервые за 14 лет.

0
Автор поста оценил этот комментарий

А разве не pacman -Syu? где -S это установка, y - это обновление репозиториев и u - это апгрейт пакетов. Если пакет из AUR то проше его перебилдить сновыми библиотеками командой например yay -S -- rebuild название_пакета. Из-за 13 Пайтона у меня тоже пара пакетов не запускалисб, пересобрал и все норм

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Аргументы команды можно в разном порядке писать. pacman -Suy и pacman -Syu выполнит одно и то же.
Предпочитаю сразу все обновить иначе можно долго огребать последствия рассинхрона между версиями бибилиотек в самых неожиданных местах. Одно починишь, другое сломается, другое починишь третье сломается и т.д. Поэтому лучший выход обновить сразу все.
А то что было установлено через AUR лучше действительно пересобрать если оно действительно еще нужно, но c electron28 не тот случай от него ничего не зависело и он удалился через pacman -R electron28

показать ответы
3
Автор поста оценил этот комментарий

Один в один dll-hell из винды, про который уже все забыли. Но это была 98-я , а не что то современное.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

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