Вопрос или проблема
Привет, ребята, со вчерашнего дня я пытаюсь исправить проблему, связанную с rock-dkms и rocm-dkms. Каждый раз, когда я пытаюсь обновить или установить какие-либо пакеты в своей системе, возникает эта ошибка:
-------- Начало удаления --------
Модуль: amdgpu
Версия: 3.7-20
Ядро: 5.4.0-42-generic (x86_64)
-------------------------------------
Статус: Перед удалением эта версия модуля была АКТИВНОЙ на этом ядре.
amdgpu.ko:
- Удаление
- Удаление из: /lib/modules/5.4.0-42-generic/updates/dkms/
- Оригинальный модуль
- Оригинальный модуль для этого ядра не найден.
- Используйте команду dkms install для переустановки любой предыдущей версии модуля.
amdttm.ko:
- Удаление
- Удаление из: /lib/modules/5.4.0-42-generic/updates/dkms/
- Оригинальный модуль
- Оригинальный модуль для этого ядра не найден.
- Используйте команду dkms install для переустановки любой предыдущей версии модуля.
amdkcl.ko:
- Удаление
- Удаление из: /lib/modules/5.4.0-42-generic/updates/dkms/
- Оригинальный модуль
- Оригинальный модуль для этого ядра не найден.
- Используйте команду dkms install для переустановки любой предыдущей версии модуля.
amd-sched.ko:
- Удаление
- Удаление из: /lib/modules/5.4.0-42-generic/updates/dkms/
- Оригинальный модуль
- Оригинальный модуль для этого ядра не найден.
- Используйте команду dkms install для переустановки любой предыдущей версии модуля.
Выполнение скрипта post_remove:
depmod...
update-initramfs.........
DKMS: удаление завершено.
------------------------------
Полное удаление модуля версии: 3.7-20
из дерева DKMS.
------------------------------
Готово.
Загрузка новых файлов DKMS amdgpu-3.7-20...
Построение для 5.4.0-42-generic 5.7.16-xanmod2
Построение для архитектуры x86_64
Первичное создание модуля для 5.4.0-42-generic
Безопасная загрузка не включена на этой системе.
Готово.
Принудительная установка amdgpu
amdgpu.ko:
Проверка версии модуля.
- Оригинальный модуль
- Оригинального модуля в этом ядре нет
- Установка
- Установка в /lib/modules/5.4.0-42-generic/updates/dkms/
amdttm.ko:
Проверка версии модуля.
- Оригинальный модуль
- Оригинального модуля в этом ядре нет
- Установка
- Установка в /lib/modules/5.4.0-42-generic/updates/dkms/
amdkcl.ko:
Проверка версии модуля.
- Оригинальный модуль
- Оригинального модуля в этом ядре нет
- Установка
- Установка в /lib/modules/5.4.0-42-generic/updates/dkms/
amd-sched.ko:
Проверка версии модуля.
- Оригинальный модуль
- Оригинального модуля в этом ядре нет
- Установка
- Установка в /lib/modules/5.4.0-42-generic/updates/dkms/
depmod...
Создание резервной копии initrd.img-5.4.0-42-generic в /boot/initrd.img-5.4.0-42-generic.old-dkms
Создание нового initrd.img-5.4.0-42-generic
(Если следующая загрузка не удалась, вернитесь к изображению initrd.img-5.4.0-42-generic.old-dkms)
update-initramfs.........
DKMS: установка завершена.
Первичное создание модуля для 5.7.16-xanmod2
ОШИБКА (dkms apport): пакет ядра linux-headers-5.7.16-xanmod2 не поддерживается
Ошибка! Плохой возвратный статус для сборки модуля на ядре: 5.7.16-xanmod2 (x86_64)
Обратитесь за дополнительной информацией в /var/lib/dkms/amdgpu/3.7-20/build/make.log.
dpkg: ошибка обработки пакета rock-dkms (--configure):
установленный пакет rock-dkms в post-installation скрипте завершился с ошибкой
статус выхода 10
Настройка libio-string-perl (1.08-3)...
Настройка libcwidget4:amd64 (0.5.18-5build1)...
Настройка aptitude-common (0.8.12-1ubuntu4)...
Настройка aptitude (0.8.12-1ubuntu4)...
обновление-альтернатив: использование /usr/bin/aptitude-curses для предоставления /usr/bin/aptitude
(aptitude) в автоматическом режиме
Настройка libsub-name-perl (0.26-1)...
Настройка libfcgi-perl (0.79-1)...
dpkg: проблемы с зависимостями мешают настройке rocm-dkms:
rocm-dkms зависит от rock-dkms; однако:
пакет rock-dkms еще не настроен.
dpkg: ошибка обработки пакета rocm-dkms (--configure):
проблемы с зависимостями - оставляю неконфигурированный
Настройка libclass-accessor-perl (0.51-1)...
Отчет об ошибке не написан, потому что сообщение об ошибке указывает, что это последующая ошибка
из предыдущей неудачи.
Настройка libcgi-fast-perl (1:2.15-1)...
Настройка libparse-debianchangelog-perl (1.2.0-13)...
Обработка триггеров для man-db (2.9.1-1)...
Обработка триггеров для libc-bin (2.31-0ubuntu9)...
Возникли ошибки при обработке:
rock-dkms
rocm-dkms
E: Подпроцесс /usr/bin/dpkg возвратил код ошибки (1)
Я новичок в среде Linux, поэтому я не совсем уверен, что делать, я пытался найти решение, но ничего не работало :/
Проблема решена с помощью:
sudo apt purge linux-image-5.7.16-xanmod2 linux-headers-5.7.16-xanmod2 linux-xanmod-edge
Затем:
dpkg --configure -a && apt-get update && apt-get -f install && apt-get dist-upgrade
.
Ответ или решение
Проблема, которую вы описали, связана с ошибками при обработке пакетов rock-dkms и rocm-dkms в процессе установки или обновления системных компонентов в среде Linux. Давайте попробуем понять, почему возникают такие ошибки и как можно их устранить.
Теория (Theory)
Пакеты rock-dkms
и rocm-dkms
относятся к драйверам для графических процессоров AMD, собранным с помощью DKMS (Dynamic Kernel Module Support). DKMS используется для автоматического перекомпилирования и установки модулей ядра при обновлении самого ядра системы. Такое решение позволяет гарантировать, что каждый раз, когда ваш Linux-ядро обновляется, необходимые модули будут собраны и установлены для новой версии ядра.
Проблема, имеющая место в вашем случае, связана с тем, что одна из версий ядра (5.7.16-xanmod2) не поддерживается установленными заголовками, что вызвало сбой в процессе компиляции модулей. Это привело к некорректному состоянию пакета rock-dkms и, следовательно, пакета rocm-dkms, которые имеют зависимость друг от друга.
Пример (Example)
В отчетах ошибок /var/lib/dkms/amdgpu/3.7-20/build/make.log
, о которых сообщает вывод, можно было бы просмотреть более детальную информацию о том, почему модуль не компилируется для ядра 5.7.16-xanmod2. Однако здесь проблема уже ясна: ядро и его заголовки не обеспечивают поддержку для сборки необходимых модулей.
Применение (Application)
Отдельно нужно отметить, что вам удалось решить проблему, удалив проблемное ядро 5.7.16-xanmod2 и его заголовки. Вот шаги, которые вы выполнили и которые успешно устранили проблему:
-
Удаление проблемного ядра и заголовков:
С помощью командыsudo apt purge linux-image-5.7.16-xanmod2 linux-headers-5.7.16-xanmod2 linux-xanmod-edge
вы удалили из системы некорректное ядро и его заголовки, которые вызывали проблемы. -
Конфигурация и обновление системы:
С помощью командыdpkg --configure -a && apt-get update && apt-get -f install && apt-get dist-upgrade
вы вернули систему в стабильное состояние, устранив неполадки с неустановленными пакетами и произведя полное обновление системы.
Эти шаги позволили восстановить функциональность DKMS модулей для поддерживаемого ядра и избежать дальнейших проблем с зависимостями и установкой пакетов.
Заключение
Таким образом, для решения подобных проблем важно следить за совместимостью ядер и заголовков ядра с установленными модулями и в случае возникновения ошибок производить тщательный анализ логов и корректировать конфигурацию системы. Анализ сообщения об ошибке и выполнение соответствующих действий с учетом зависимости пакетов и модулей могут существенно облегчить поддержку и устранение подобных проблем в будущем.