LINUX.ORG.RU
решено ФорумAdmin

Pacman и virtualbox-host-modules-lts

 , ,


0

1

Привет, Лор!

Система Archlinux. Поставил ядро linux-lts, ибо с обычным ядром ноут рандомно зависает или падает в kernel panic.

Установлен Virtualbox, и каждый раз при обновлении системы pacman предлагает заменить

virtualbox-host-modules-lts
на
extra/virtualbox-host-dkms

Как можно «заставить» pacman молча обновлять пакеты и перестать спрашивать про замену?

Перемещено hobbit из general


Так в арче видимо решили перестать паковать модули для lts и предлагают переключиться на универсальный пакет. А ты почему-то отказываешься. С первым же обновлением ядра всё слетит к чертям.

Если тебе сильно хочется проигнорить пакет, то можно его в IgnorePkg в конфиге пакмана вписать.

Werenter ★★☆
()
Последнее исправление: Werenter (всего исправлений: 1)

Как можно «заставить» pacman молча обновлять пакеты и перестать спрашивать про замену?

Достать PKGBUILD пакета, в provides написать название заменяющего пакета, пересобрать. Но ты все равно ССЗБ.

xDShot ★★★★★
()
Ответ на: комментарий от Werenter

Как модули для LTS собирались, так и собираются, ничего не слетает.

Если тебе сильно хочется проигнорить пакет, то можно его в IgnorePkg в конфиге пакмана вписать.

Да, это вроде помогает. Зачем собирать модули, когда уже есть собранные.

AbbaT
() автор топика
Ответ на: комментарий от AbbaT

Если мантейнеры решили отказаться от сборки отдельного пакета с модулями VirtualBox и заменить на сборку через dkms стоит следовать принятым в дистрибутиве решениям.

Видимо, при обновлении lts ядра они более не планируют собирать для него отдельно модули.

kostik87 ★★★★★
()
Ответ на: комментарий от AbbaT

Есть уже собранные модули, зачем их собирать самому?

Потому что теперь можно не ждать мейнтейнеров, dkms это позволяет, и арч переходит на такую модель.

Даже если для конкретной версии, которая сейчас, есть уже собранные модули, потом не будет.

Мне просто непонятно поведение pacman.

В Арче наконец осилили DKMS и предлагают обновить на более «правильный» вариант пакета, что тут особо непонятного?

Такое периодинчески происходит, предлагают сменить один пакет на другой, более «правильный» отныне. Не очень часто, но случается. Можно, конечно, отказаться, заигнорить пакет в конфиге, сидеть на том, на каком сидел. Но это так себе идея — такой вариант считай как бы deprecated, и пока-то он работает, но со временем могут начаться проблемы. Да и в случае каких-то не напрямую связанных вопросов помощь сложнее будет получить, когда у тебя какое-то нестандартное легази, а не что и у всех.

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 1)
Ответ на: комментарий от kostik87

новостей про отказ про сборку этого пакета не было, в вики прямо написано использовать этот пакет для linux-lts. Да и мейнтейнер один и тот же, что для linux, что для linux-lts.

AbbaT
() автор топика
Ответ на: комментарий от CrX

Потому что теперь можно не ждать мейнтейнеров, dkms это позволяет, и арч переходит на такую модель.

Где про это можно почитать? Что-то не видел в новостях.

В Арче наконец осилили DKMS и предлагают обновить на более «правильный» вариант пакета, что тут особо непонятного?

Конечно, вот только странно, почему не меняют nvidia-lts на nvidia-dkms?

Но это так себе идея — такой вариант считай как бы deprecated, и пока-то он работает, но со временем могут начаться проблемы.

Опять же, где можно про это прочитать, что это «deprecated» вариант?

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

Что нестандартного в LTS ядре?

AbbaT
() автор топика
Ответ на: комментарий от AbbaT

Подозреваю, что это связано с версией самого virtualbox:

$ pacman -Ss '(^virtualbox$|virtualbox-host-.+)' | grep '^e'
extra/virtualbox 7.1.0-1
extra/virtualbox-host-dkms 7.1.0-1
extra/virtualbox-host-modules-arch 7.1.0-2
extra/virtualbox-host-modules-lts 7.1.0-2

$ pacman -Si virtualbox-host-dkms | grep 'Replaces'
Replaces        : virtualbox-source  virtualbox-host-source  virtualbox-host-modules-lts

Наверное несоответствие версий. Тут два варианта либо ждать virtualbox-7.1.0-2, либо заменить lts на dkms.

dmitry237 ★★★★
()
Ответ на: комментарий от AbbaT

Где про это можно почитать? Что-то не видел в новостях.

Да как бы вот в сообщении от пакмана. Ну и в PKGBUILD’е нового пакета, в области «replaces».

На всякий случай, что значит replaces: https://wiki.archlinux.org/title/PKGBUILD#replaces

An array of obsolete packages that are replaced by the package, e.g. wireshark-qt uses replaces=(‘wireshark’). When syncing, pacman will immediately replace an installed package upon encountering another package with the matching replaces in the repositories. If providing an alternate version of an already existing package or uploading to the AUR, use the conflicts and provides arrays, which are only evaluated when actually installing the conflicting package.

Конечно, вот только странно, почему не меняют nvidia-lts на nvidia-dkms?

Может руки ещё не дошли. Вангую, что тоже заменят.

Опять же, где можно про это прочитать, что это «deprecated» вариант?

См. выше.

Что нестандартного в LTS ядре?

В LTS-ядре ничего (хотя и это не то, что идёт по умолчанию). Нестандартно — использование именно virtualbox-host-modules-lts вместо virtualbox-host-dkms.

CrX ★★★★★
()
Ответ на: комментарий от CrX

Да как бы вот в сообщении от пакмана. Ну и в PKGBUILD’е нового пакета, в области «replaces».

Пакман про это ничего не пишет. Если отказаться, он просто обновит extra/virtualbox-host-modules-lts. Так пакет virtualbox-host-dkms у меня не установлен, т.е. он заранее предлагает заменить пакет.

Нестандартно — использование именно virtualbox-host-modules-lts вместо virtualbox-host-dkms

В Wiki как раз указано, что надо использовать virtualbox-host-modules-lts для LTS ядра, что логично.

AbbaT
() автор топика
Ответ на: комментарий от AbbaT

Пакман про это ничего не пишет. Если отказаться, он просто обновит extra/virtualbox-host-modules-lts. Так пакет virtualbox-host-dkms у меня не установлен, т.е. он заранее предлагает заменить пакет.

Replace так работает — pacman предлагает заменить, когда что-то устарело. Ссылку на вики я дал выше.

Вот, кстати, багрепорт: https://bugs.archlinux.org/task/48523, благодаря которому этот ненужный extra/virtualbox-host-modules-lts предлагается удалить/заменить.

Заменили, естественно, не только для lts, а для любого ядра — для всех теперь нужен один пакет virtualbox-host-dkms.

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 1)
Ответ на: комментарий от AbbaT

Если поставить просто virtualbox-host-modules (именно он раньше шёл для стандартного ядра), его тоже предлагает заменить.

Вот тебе ещё подтверждение, что так и должно быть: https://bbs.archlinux.org/viewtopic.php?pid=1612110#p1612110

CrX ★★★★★
()
Последнее исправление: CrX (всего исправлений: 1)
Ответ на: комментарий от CrX

В Арче наконец осилили DKMS и предлагают обновить на более «правильный» вариант пакета, что тут особо непонятного?

Давно уже так-то осилили. Просто для некоторых модулей есть собранная версия, и для некоторых модулей, где есть и dkms, и прекомпилированнвй варианты, решили переходить на только dkms вариант. Нвидию видимо не хотят пока менять на dkms-only, так как пакет уж очень популярный и компилируется значимое время (не сильно долго, но значимо).

Werenter ★★☆
()
Последнее исправление: Werenter (всего исправлений: 2)
Ответ на: комментарий от AbbaT

Баг от 2016 года, virtualbox-host-modules-lts как был, так и есть, никуда не делся, обновляется.

Ну пользуйся, раз устраивает тогда. Правда я не понимаю, чем не нравится переход на dkms — это даёт больше свободы, например можно любое ядро поставить, например стандартное, или с каким-нибудь набором патчей, и не париться с доставлением ещё виртуалбоксовской фигни к нему — всё аввтоматом обновится. Да и от прихоти мейнтейнера не зависеть, когда ядро уже обновили, а этот пакет для него предсобранный ещё нет. Но дело твоё, конечно.

В Wiki прописано - для linux-lts ставь virtualbox-host-modules-lts.

На заборе тоже много чего понаписано. Вики писалась в бородатые годы тоже. И сообществом. У меня уже фиг знает сколько лет virtualbox-host-dkms, и горя не знаю.

CrX ★★★★★
()
Ответ на: комментарий от CrX

Например тем, что меня устраивают собранные модули, зачем мне их компелять? Вот для сторонних ядер и нужен dkms

На заборе тоже много чего понаписано. Вики писалась в бородатые годы тоже. И сообществом. У меня уже фиг знает сколько лет virtualbox-host-dkms, и горя не знаю.

Явно в вики написано то, что сообщество считает правильным.

Ладно, проблема всё же решена, как и советовали - закинул virtualbox-host-dkms в IgnorePkg. Костыль, но хоть так.

AbbaT
() автор топика
Ответ на: комментарий от AbbaT

Например тем, что меня устраивают собранные модули, зачем мне их компелять?

Ну например потому что собранные модули есть не всегда вовремя. Оно же автоматически компиляется и занимает пару секунд при обновлении. Другие хуки, особенно на шрифты всякие, и то намного дольше.

Явно в вики написано то, что сообщество считает правильным.

Или когда-то считало, а потом просто не меняло это место в статье годами. Мейнтейнеры явно считают иначе, раз поместили «virtualbox-host-modules-lts» в «replaces» (что оно значит, я выше написал — obsolete packages). Но в любом случае, хозяин барин, рад что проблема решена.

CrX ★★★★★
()
Ответ на: комментарий от CrX

Ну например потому что собранные модули есть не всегда вовремя. Оно же автоматически компиляется и занимает пару секунд при обновлении. Другие хуки, особенно на шрифты всякие, и то намного дольше.

Маинтейнер Virtualbox он же маинтейнер модулей для основного и и lts-ядра.

Или когда-то считало, а потом просто не меняло это место в статье годами. Мейнтейнеры явно считают иначе, раз поместили «virtualbox-host-modules-lts» в «replaces» (что оно значит, я выше написал — obsolete packages). Но в любом случае, хозяин барин, рад что проблема решена.

Это добавил относительно недавно чел, который числится одним из админов вики ;) В общем да, решена, но как я и говорил, мне непонятна ситуация «навязывания» dkms пакета.

AbbaT
() автор топика
Ответ на: комментарий от CrX

Это условно, понятия не имею сколько собирается. Nvidia 139 секунд:

[2024-09-14T20:15:16+0300] [ALPM] running '70-dkms-install.hook'...
[2024-09-14T20:15:16+0300] [ALPM-SCRIPTLET] ==> dkms install --no-depmod nvidia/560.35.03 -k 6.10.10-arch1-1
[2024-09-14T20:17:35+0300] [ALPM-SCRIPTLET] ==> depmod 6.10.10-arch1-1
dmitry237 ★★★★
()
Ответ на: комментарий от dmitry237

Ну на то он и нвидиевский блоб. Виртуалбоксовское у меня 4 секунды собирается:

[2024-09-05T07:24:20+0300] [ALPM] running '70-dkms-install.hook'...
[2024-09-05T07:24:20+0300] [ALPM-SCRIPTLET] ==> dkms install --no-depmod v4l2loopback/0.13.2 -k 6.10.8-arch1-1
[2024-09-05T07:24:22+0300] [ALPM-SCRIPTLET] ==> dkms install --no-depmod v4l2loopback-dc/2.1.3 -k 6.10.8-arch1-1
[2024-09-05T07:24:24+0300] [ALPM-SCRIPTLET] ==> dkms install --no-depmod vboxhost/7.0.20_OSE -k 6.10.8-arch1-1
[2024-09-05T07:24:28+0300] [ALPM-SCRIPTLET] ==> depmod 6.10.8-arch1-1

Это на Ryzen 7 5700X. На каком-нибудь i3, наверное подольше будет — может секунд 10… Но уж точно не минуту ;)

CrX ★★★★★
()
Ответ на: комментарий от dmitry237

Зачем собирать то, что уже собрано? Есть собранные модули, как для виртуалбока, нвидии, и т.д. Собирать их самому, для стандартных ядер - это очень сильный ход, хотя и такие ребята есть ;)

AbbaT
() автор топика
Последнее исправление: AbbaT (всего исправлений: 1)
Ответ на: комментарий от dmitry237

В смысле самому? Это выполняет pacman во время обновления.

Зачем, если можно поставить уже собранные модули. Я понимаю, если ядро нестандартное, в остальном - это лишнее.

Наверное все, у кого nvidia

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

AbbaT
() автор топика