<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>42872</bug_id>
          
          <creation_ts>2022-05-27 08:04:57 +0300</creation_ts>
          <short_desc>kernel-modules-virtualbox зависит от virtualbox-common</short_desc>
          <delta_ts>2022-05-27 12:58:13 +0300</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>kernel-modules-virtualbox-std-def</component>
          <version>unstable</version>
          <rep_platform>x86_64</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>NEW</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P5</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Антон Мидюков">antohami</reporter>
          <assigned_to name="Valery Sinelnikov">greh</assigned_to>
          <cc>boyarsh</cc>
    
    <cc>glebfm</cc>
    
    <cc>greh</cc>
    
    <cc>jqt4</cc>
    
    <cc>kernelbot</cc>
    
    <cc>ldv</cc>
    
    <cc>mike</cc>
    
    <cc>nir</cc>
    
    <cc>rider</cc>
    
    <cc>sbolshakov</cc>
    
    <cc>shrek</cc>
    
    <cc>sin</cc>
    
    <cc>vitty</cc>
    
    <cc>vsu</cc>
    
    <cc>vt</cc>
    
    <cc>zerg</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>211166</commentid>
    <comment_count>0</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2022-05-27 08:04:57 +0300</bug_when>
    <thetext>kernel-modules-virtualbox зависит от virtualbox-common зачем-то.
Из-за этого имеем недоумение пользователей сервера, которые установили минимальную его конфигурацию.
В Альт сервер сознательно устанавливается kernel-modules-virtualbox-&lt;flavour&gt; в минимальную конфигурацию, чтобы избежать проблем с последующей установкой virtualbox.
Так что хотелось бы узнать: зачем?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>211167</commentid>
    <comment_count>1</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2022-05-27 08:13:18 +0300</bug_when>
    <thetext>Собственно, проблема в том, что пакет virtualbox-common включает в себя /etc/modules-load.d/virtulalbox.conf:
vboxdrv
vboxnetflt
vboxnetadp

Загрузка этих модулей ядра в сервере с минимальной конфигурацией при старте, мягко говоря, неправильно.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>211170</commentid>
    <comment_count>2</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2022-05-27 09:19:32 +0300</bug_when>
    <thetext>Может и kernel-modules-virtualbox из минимальной убрать?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>211171</commentid>
    <comment_count>3</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2022-05-27 09:45:38 +0300</bug_when>
    <thetext>(Ответ для Sergey V Turchin на комментарий #2)
&gt; Может и 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)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>211172</commentid>
    <comment_count>4</comment_count>
    <who name="Anton Farygin">rider</who>
    <bug_when>2022-05-27 10:11:42 +0300</bug_when>
    <thetext>наличие virtualbox в серверном дистрибутиве, на самом деле, не очень оправданно.

там скорее нужен qemu-kvm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>211176</commentid>
    <comment_count>5</comment_count>
    <who name="Evgeny Sinelnikov">sin</who>
    <bug_when>2022-05-27 11:34:34 +0300</bug_when>
    <thetext>Очень странное решение у нас с драйверами на сервере. Модули drm насильно отпилены в отдельные подпакеты, что весьма спорно с архитектурной точки зрения. Ведь никто не гарантирует целостность такого отпиливания на уровне зависимостей между модулями ядра.

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

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

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

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

_____

Другой момент состоит в том, что было бы неплохо, при установке любого дистрибутива, сохранять кеш пакетов с драйверами для текущего ядра, поскольку необходимость их доустановки в дальнейшем может потребовать обязательного обновления ядра, что не всегда желательно и возможно.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>211177</commentid>
    <comment_count>6</comment_count>
    <who name="Антон Мидюков">antohami</who>
    <bug_when>2022-05-27 12:07:59 +0300</bug_when>
    <thetext>(Ответ для Evgeny Sinelnikov на комментарий #5)
&gt; Очень странное решение у нас с драйверами на сервере. Модули drm насильно
&gt; отпилены в отдельные подпакеты, что весьма спорно с архитектурной точки
&gt; зрения. Ведь никто не гарантирует целостность такого отпиливания на уровне
&gt; зависимостей между модулями ядра.
&gt; 
&gt; И все это только для того, чтобы иметь возможность не ставить drm-модули
&gt; ядра на сервер.

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

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

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

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

Но всё же я хотел бы услышать ответ, зачем у kernel-modules-virtualbox-&lt;flavour&gt; зависимость на virtualbox-common?
Или даже не так. Зачем столько всего в пакете virtualbox-common? Почему это всё находится не в пакете virtualbox? Какой смысл грузить модули ядра, если самого virtualbox нет?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>211181</commentid>
    <comment_count>7</comment_count>
    <who name="Evgeny Sinelnikov">sin</who>
    <bug_when>2022-05-27 12:58:13 +0300</bug_when>
    <thetext>Установка и удаление модулей ядра у нас штука не воспроизводимая, поскольку ядра в системе могут отставать от ядер в репах. В результате, удаление модулей ядра может приводить к необходимости обновления ядра, если модули требуется снова установить.

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

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

    </bug>

</bugzilla>