VirtualBox :«Драйвер ядра не установлен» на ядре 5.15.0

Интересный вопрос. Я думаю, что то, что вы хотите сделать, не полностью возможно, но вы можете приблизиться к этому, используя спецификатор формата %qдоступно в реализации Bash printf:

%q causes printf to output the corresponding argument in a format that can be reused as shell input.

Заключительные строки вашего скрипта могут выглядеть так:

printf "%q\n" "$@" | tr '\n' ' ' >> actions
printf "\n" >> actions

Это не будет записывать команды точно так, как вы их вводите, а в форме который подходит для использования в оболочке, и если вы набрали эти записанные команды, вы получите результат, который изначально предназначался. Для например, после этого:

./action touch "new file"

вы получаете:

#Wed Sep 4 14:10:57 CEST 2019(success)
touch new\ file

Или после этого:

./action echo 'one
two
three
'

вы получаете:

#Wed Sep 4 14:11:44 CEST 2019(success)
echo $'one\ntwo\nthree\n'

Кстати, shellcheckсообщает о 2 ошибках в вашем скрипте:

$ ~/.cabal/bin/shellcheck action

In action line 5:
    echo "#"$(date)"(success)" >>./actions
            ^-- SC2027: The surrounding quotes actually unquote this. Remove or escape them.
            ^-- SC2046: Quote this to prevent word splitting.


In action line 13:
    echo "#"$(date)"(failed)" >>./actions
            ^-- SC2027: The surrounding quotes actually unquote this. Remove or escape them.
            ^-- SC2046: Quote this to prevent word splitting.
0
05.11.2021, 10:18
1 ответ

Oracle VirtualBox стремится поддерживать новейшее выпущенное ядро ​​Linux на момент выпуска конкретной версии VirtualBox .

  • Ядро Linux 5.15.0 выпущено в 2021 г. -10 -31.
  • VirtualBox 6.1.28 (текущая версия )выпущена в 2021 году -10 -19.

Поскольку ядро ​​5.15.0 еще не существовало , когда был выпущен VirtualBox 6.1.28, нет никаких гарантий, что драйверы VirtualBox будут успешно собраны или будут работать с ядром 5.15.0.

Вы также используете пакет ядра, созданный с использованием версии компилятора, отличной от версии вашего Mint 19.3. Это также может вызвать проблемы при сборке драйверов VirtualBox для вашего ядра.

По третьей причине соответствующий пакет linux-headersдля вашего ядра 5.15.0 явно был собран для какого-то другого дистрибутива, потому что он зависит от другой версии libc6. Попытка обновить стандартную версию дистрибутива libc6сторонней -версией очень не рекомендуется , если вы действительно не знаете, что делаете.

Ошибка в libc6обновлении потенциально может «все сломать» :, она может фактически сделать все динамически связанные исполняемые файлы (, т. е. более 99% всех исполняемых файлов ), непригодными для использования.

Если вам нужна более новая версия libc6для того, что вы делаете, вам, вероятно, следует вместо этого обновиться до более новой версии вашего дистрибутива Linux. Другими словами, вы должны серьезно подумать об обновлении до Mint 20.2 в первую очередь, вместо того, чтобы пытаться прикрутить ядро ​​-edge и более новое libc6к Mint 19.3.

И если вам нужен VirtualBox, даже с Mint 20.2, придерживайтесь версии ядра 5.14.x или ниже до тех пор, пока не выйдет следующая отладочная версия VirtualBox (, вероятно, 6.1.30 ), если вы действительно не хотите участвовать в Разработка виртуалбокса.

Сначала необходимо обновить Mint 19.3 до 20 , а затем обновить Mint 20 до 20.2.

4
05.11.2021, 12:55

Теги

Похожие вопросы