Linux разные версии ядра и модулей ядра

15.04.2022

Поступил заказ на фрилансе - перенести сайты с вебхостинга на VPS, хостер hostland.ru. Ничего не обычного: перенести базы данных и файлы, развернуть веб-сервер, настроить сайты и сертификаты, обеспечить безопасность.

Но когда дело дошло до firewall (ufw), то внезапно получил такой ответ:

•••
plaintext
ERROR: problem running iptables: modprobe: FATAL: Module ip_tables not found in directory /lib/modules/4.19.0-18-amd64 iptables v1.8.4 (legacy): can't initialize iptables table `filter': Table does not exist (do you need to insmod?) Perhaps iptables or your kernel needs to be upgraded.

В ядро 4.19.0-18 не установлены дополнительные модули, среди которых iptables

Определение проблемы

Ладно, получим информацию о дистрибутиве:

•••
bash
$ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04 LTS Release: 20.04 Codename: focal

А теперь узнаем что за ядро:

•••
bash
$ uname -a Linux hostXXX 4.19.0-18-amd64 #1 SMP Debian 4.19.208-1 (2021-09-29) x86_64 x86_64 x86_64 GNU/Linux

Посмотрим пакеты с упоминанем linux:

•••
bash
$ dpkg -l | grep linux ii console-setup-linux 1.194ubuntu3 all Linux specific part of console-setup ii libselinux1:amd64 3.0-1build2 amd64 SELinux runtime shared libraries ii linux-base 4.5ubuntu3.7 all Linux image base package ii linux-image-5.4.0-107-generic 5.4.0-107.121 amd64 Signed kernel image generic ii linux-image-virtual 5.4.0.107.111 amd64 Virtual Linux kernel image ii linux-modules-5.4.0-107-generic 5.4.0-107.121 amd64 Linux kernel extra modules for version 5.4.0 on 64 bit x86 SMP ii util-linux 2.34-0.1ubuntu9 amd64 miscellaneous system utilities

И еще:

В /lib/modules/ другая версия модулей ядра, отличная от запущенного
В /lib/modules/ другая версия модулей ядра, отличная от запущенного

Запущено ядро версии 4.19.0-18-amd64 без модулей, а установлено ядро версии 5.4.0-107.121-amd64.

Варианты решения

Установить модули ядра через apt:

•••
bash
$ sudo apt install linux-modules-4.19.0-18-amd64

В моем случае Unable to locate package.

Поискать пакет на www.debian.org или pkgs.org или kernel.ubuntu.com.

Не нашел.

Поискать решение в интернете, например вот.

Не помогло.

Написать хостеру.

Техническая поддержка решила проблему (свою) в течении 10 минут.
Техническая поддержка решила проблему (свою) в течении 10 минут.

Получилось!