Как удалить модуль ядра VirtualBox vboxdrv?

El problema principal aquí es que las comillas no funcionan dentro de comillas :después de expandir una variable, las comillas dentro son solo caracteres ordinarios, p.:

$ foo='foo "bar doo"'
$ printf "<%s>\n" $foo
<foo>
<"bar>
<doo">

Debería usar una matriz para almacenar argumentos de comando como ese:

ARGS=(-name 'FOO*.xml' -or -name 'BAR*.xml' -or -name 'BTT*.txt')

El shell procesará las citas en esta etapa y almacenará palabras de shell distintas como elementos de matriz distintos. Use la matriz como esta:

find. "${ARGLINE[@]}"

Si quiere o necesita, puede construir la matriz pieza por pieza, esto debería dar como resultado la misma matriz:

ARGS=(-name 'FOO*.xml')
ARGS+=(-or -name 'BAR*.xml')
ARGS+=(-or -name 'BTT*.txt')

Sin embargo, tenga en cuenta que también usó acentos graves para "citar" ${ARGLINE}. Eso iniciará una sustitución de comando y ejecutará el contenido de ARGLINEcomo un comando. De ahí proviene su error, el shell intenta ejecutar un programa llamado -name.


En realidad, en su ejemplo, no necesita una matriz, ya que no tiene ningún espacio en blanco dentro de los argumentos. El problema principal aquí suele ser que la diferencia entre el espacio en blanco entre los argumentos y el espacio en blanco dentro de los argumentos se pierde cuando la línea de comando se almacena en una cadena. Pero en tu caso, esto podría funcionar, no es que lo recomiende:

set -f       # disable globbing
ARGLINE="-name FOO*.xml -or -name BAR*.xml -or -name BTT*.txt"
find. $ARGLINE
2
16.06.2019, 01:21
1 ответ

Внимание :У меня нет под рукой системы Fedora -, так что это не проверено!

Я предлагаю удалить файл /etc/modules-load.d/virtualbox.conf; он может принадлежать пакету, поэтому проверьте:dnf provides /etc/modules-load.d/virtualbox.confи при необходимости удалите этот пакет с помощью:dnf remove (that package name).

Согласно этому сообщению на форуме Fedora , вам может потребоваться пересобрать initramfs, чтобы он был собран без драйвера vbox (s ). Используйте:dracut -f /boot/initramfs-"$(uname -r)".img "$(uname -r)"


Конкретное решение из ОП:

I found virtualbox.conf located in /lib/modules-load.d/ and provided by VirtualBox-server. After removing VirtualBox-server, then removing vboxpci, vboxnetadp, vboxnetflt, and vboxdrv via rmmod, and finally rebuilding initramfs as written above, the problem is solved.

2
27.01.2020, 22:08

Теги

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