Bug 42872 - kernel-modules-virtualbox зависит от virtualbox-common
Summary: kernel-modules-virtualbox зависит от virtualbox-common
Status: NEW
Alias: None
Product: Sisyphus
Classification: Development
Component: kernel-modules-virtualbox-std-def (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Valery Sinelnikov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-05-27 08:04 MSK by Антон Мидюков
Modified: 2022-05-27 12:58 MSK (History)
16 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Антон Мидюков 2022-05-27 08:04:57 MSK
kernel-modules-virtualbox зависит от virtualbox-common зачем-то.
Из-за этого имеем недоумение пользователей сервера, которые установили минимальную его конфигурацию.
В Альт сервер сознательно устанавливается kernel-modules-virtualbox-<flavour> в минимальную конфигурацию, чтобы избежать проблем с последующей установкой virtualbox.
Так что хотелось бы узнать: зачем?
Comment 1 Антон Мидюков 2022-05-27 08:13:18 MSK
Собственно, проблема в том, что пакет virtualbox-common включает в себя /etc/modules-load.d/virtulalbox.conf:
vboxdrv
vboxnetflt
vboxnetadp

Загрузка этих модулей ядра в сервере с минимальной конфигурацией при старте, мягко говоря, неправильно.
Comment 2 Sergey V Turchin 2022-05-27 09:19:32 MSK
Может и kernel-modules-virtualbox из минимальной убрать?
Comment 3 Антон Мидюков 2022-05-27 09:45:38 MSK
(Ответ для Sergey V Turchin на комментарий #2)
> Может и kernel-modules-virtualbox из минимальной убрать?

Сами эти три модуля занимают менее 900 кБ. Если их не подгружать, то они не подгрузятся. Наличие модуля в минимальной системе решает проблему установки virtualbox на неё.

Самое интересное, что модуль kernel-modules-virtualbox в минимальной установке уже давно. В mkimage-profiles (релиз сервера на p9) пришло уже в таком виде. Т.е. не позднее, чем с p8 так повелось, а может и раньше:

https://git.altlinux.org/gears/m/mkimage-profiles.git?p=mkimage-profiles.git;a=commitdiff;h=46bc1f68c7217e7d11c8c53bbc83ae09cd91e94b;hp=3d983cf2ecde7a01d9fbf737337c257f2e03e72d

строчка:
@$(call add,BASE_KMODULES,kvm virtualbox)
Comment 4 Anton Farygin 2022-05-27 10:11:42 MSK
наличие virtualbox в серверном дистрибутиве, на самом деле, не очень оправданно.

там скорее нужен qemu-kvm
Comment 5 Evgeny Sinelnikov 2022-05-27 11:34:34 MSK
Очень странное решение у нас с драйверами на сервере. Модули drm насильно отпилены в отдельные подпакеты, что весьма спорно с архитектурной точки зрения. Ведь никто не гарантирует целостность такого отпиливания на уровне зависимостей между модулями ядра.

И все это только для того, чтобы иметь возможность не ставить drm-модули ядра на сервер.

А тут сторонние драйвера и все наоборот - "а давайте их впилим на сервер", поскольку это обеспечивает мнимое удобство. Предлагаю посмотреть на проблему более целостно, с точки зрения всего комплекса требований к серверу.

Кстати, для virtualbox нужно завершить доработку обеспечивающую установку драйверов из gui. Это решило бы данную предполагаемую проблему полноценной установки virtualbox на сервере с графикой.

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

_____

Другой момент состоит в том, что было бы неплохо, при установке любого дистрибутива, сохранять кеш пакетов с драйверами для текущего ядра, поскольку необходимость их доустановки в дальнейшем может потребовать обязательного обновления ядра, что не всегда желательно и возможно.
Comment 6 Антон Мидюков 2022-05-27 12:07:59 MSK
(Ответ для Evgeny Sinelnikov на комментарий #5)
> Очень странное решение у нас с драйверами на сервере. Модули drm насильно
> отпилены в отдельные подпакеты, что весьма спорно с архитектурной точки
> зрения. Ведь никто не гарантирует целостность такого отпиливания на уровне
> зависимостей между модулями ядра.
> 
> И все это только для того, чтобы иметь возможность не ставить drm-модули
> ядра на сервер.

Это уже исправили же.

> 
> А тут сторонние драйвера и все наоборот - "а давайте их впилим на сервер",
> поскольку это обеспечивает мнимое удобство. 

Тяжёлое наследство. Надо в mkimage-profiles-desktop искать коммит с этим впиливанием. Но и так понятно, почему это было сделано.

Возможно, не стоит virtualbox на сервер вообще тащить, как выше написал rider@

Но всё же я хотел бы услышать ответ, зачем у kernel-modules-virtualbox-<flavour> зависимость на virtualbox-common?
Или даже не так. Зачем столько всего в пакете virtualbox-common? Почему это всё находится не в пакете virtualbox? Какой смысл грузить модули ядра, если самого virtualbox нет?
Comment 7 Evgeny Sinelnikov 2022-05-27 12:58:13 MSK
Установка и удаление модулей ядра у нас штука не воспроизводимая, поскольку ядра в системе могут отставать от ядер в репах. В результате, удаление модулей ядра может приводить к необходимости обновления ядра, если модули требуется снова установить.

virtualbox-common это вспомогательный пакет под общие файлы для всех модулей ядра под разные типы ядер. Если модули будут тянуть юзерспейсный софт, то мы получим кучу нежелательных сайд-эффектов.

Их нужно разбирать детальнее, чтобы сказать, что сейчас это нас может устроить. Какие другие приложения вытягиваются у нас через модули ядра?