Понизить ядро для установки zfs dkms

Вопрос или проблема

Я понизил версию моего Ubuntu 24.04 с пользовательским ядром 6.12.6 до 6.8.0-51-generic, но у меня все еще есть проблема, когда

$ sudo dpkg --configure -a
 Deleting module zfs-2.2.2 completely from the DKMS tree.
 Loading new zfs-2.2.2 DKMS files...
 Building for 6.8.0-51-generic 6.12.6
 Building initial module for 6.8.0-51-generic
 Done.
 Building initial module for 6.12.6
 configure: error:
    *** None of the expected "blkdev_get_by_path()" interfaces were
 detected.
    *** This may be because your kernel version is newer than what is
    *** supported, or you are using a patched custom kernel with
    *** incompatible modifications.
    ***
    *** ZFS Version: zfs-2.2.2-0ubuntu9.1
    *** Compatible Kernels: 3.10 - 6.6

 ERROR (dkms apport): kernel package linux-headers-6.12.6 is not
 supported
 Error! Bad return status for module build on kernel: 6.12.6
 (x86_64)
 Consult /var/lib/dkms/zfs/2.2.2/build/make.log for more >>information.
 dpkg: error processing package zfs-dkms (--configure):
 installed zfs-dkms package post-installation script subprocess
 returned error exit status 10
 Processing triggers for initramfs-tools (0.142ubuntu25.4) ...
 update-initramfs: Generating /boot/initrd.img-6.12.6
 Errors were encountered while processing:
  zfs-dkms

и

$ uname -a
Linux dado-tp 6.8.0-51-generic #52-Ubuntu SMP PREEMPT_DYNAMIC Thu Dec 5 13:09:44 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux.

Я пытался удалить все с помощью dpkg -r zsf dkms

Так как я могу это исправить?

Это указано прямо в вашем выводе:

*** Compatible Kernels: 3.10 - 6.6

Причина этого ограничения заключается в том, что версия 2.2.2 была выпущена 1 декабря 2023 года, в то время как ядро Linux 6.7 было выпущено 7 января 2024 года. Так что, конечно, 2.2.2 не могла поддерживать 6.7, 6.8 и так далее 😊

Последняя версия ZFS 2.3.0 прекрасно поддерживает ядро 6.12.

Вы можете либо понизить ядро еще больше, либо установить более новую ZFS (что лучше).

Ответ или решение

Для решения проблемы с установкой ZFS DKMS на вашей Ubuntu 24.04 с использованием некорректной версии ядра, сначала важно понимать суть проблемы. Ваша текущая установка, как видно из вывода команды, столкнулась с несовместимостью между версией ZFS (2.2.2-0ubuntu9.1) и версией ядра. В данном случае, ZFS версии 2.2.2 поддерживает ядра от 3.10 до 6.6, в то время как у вас установлена версия ядра 6.8.0-51-generic.

Теория:

ZFS (Zettabyte File System) — это продвинутый файловый система и томовый менеджер, который требует компиляции модуля ядра (через DKMS) для интеграции с операционной системой. Поскольку ядро и модули взаимодействуют напрямую, версионная совместимость играет критическую роль. При использовании ядра, которое не поддерживается текущей версией ZFS, вы столкнетесь с ошибками при компиляции модуля.

Пример:

Ваш случай, предоставленный в вопросе, показывает именно это: компиляция ZFS для ядра 6.12.6 не удалась, а также возникли проблемы с ядром 6.8.0-51-generic. Это связано с тем, что ZFS версии 2.2.2 просто не предназначена для работы с этими версиями ядра, о чем было указано в выводе команды с ошибкой ‒ "Unsupported Kernel version".

Применение:

  1. Обновление ZFS:

    • Рекомендуемое решение — обновите ZFS до более свежей версии, которая поддерживает ваше текущее ядро. Согласно предоставленной информации, версия ZFS 2.3.0 недавно выпущена и поддерживает ядра, включая 6.12.x.
    • Для обновления ZFS, выполните следующие шаги:
      • Добавьте репозиторий или PPA, который содержит необходимую версию ZFS. Для этого можно использовать команды apt-add-repository и apt-get update.
      • Затем установите обновленную версию с помощью apt-get install, убедившись, что устанавливается именно версия ZFS 2.3.0 или выше.
  2. Понижение ядра:

    • Если по каким-либо причинам обновление ZFS недоступно, вы можете рассмотреть понижение версии ядра. Имейте в виду, что это менее предпочтительный вариант, поскольку может повлиять на безопасность и стабильность системы.
    • Убедитесь, что на вашем компьютере установлены заголовки и инструментальные средства для выбранной версии ядра. Для этого используйте apt-get install с указанием конкретной версии linux-headers и linux-image.
  3. Проверка правильности удаления:

    • Убедитесь, что вы правильно удалили старые версии ZFS и DKMS. Команда dpkg -r может не полностью удалить все связанные файлы. Используйте dpkg –purge или apt-get remove с флагом –purge, чтобы полностью удалить все настройки и файлы.
  4. Регулярные обновления системы:

    • Регулярные обновления вашей системы и используемых пакетов помогут избежать подобных проблем в будущем. Используйте apt-get update и apt-get upgrade для поддержания актуальности пакетов.

Резюме:

Наиболее эффективным решением вашей проблемы будет обновление ZFS до версии, идеально совместимой с текущей версией ядра. Это гарантирует, что ваша система останется безопасной и стабильной, а ZFS будет функционировать корректно. Избегайте использования неподдерживаемых или несовместимых версий ПО, чтобы не создавать потенциальные уязвимости в вашей системе. Этот подход соответствует лучшим практикам в области IT и обеспечивает долгосрочную стабильность и безопасность вашей системы.

Оцените материал
Добавить комментарий

Капча загружается...