Wie kann ich ein Kernelmodul vorübergehend deaktivieren?

8

Ich möchte ein Kernelmodul vorübergehend (bis zum nächsten Start) deaktivieren.

Wie kann ich das machen?

Seth
quelle
@Rinzwind Ich versuche nicht, es auf die schwarze Liste zu setzen. Ich möchte es nur entfernen, bis ich neu starte.
Seth

Antworten:

7

Verwenden Sie lsmoddiese Option , um den Namen eines Kernelmoduls zu ermitteln, das Sie vorübergehend deaktivieren möchten. Nachdem Sie den Namen gefunden haben, deaktivieren Sie das Modul mit diesem Befehl:

sudo modprobe -r <module_name>

Dieser Befehl schlägt jedoch mit einer Fehlermeldung fehl, etwa FATAL: Module <module_name> is in usewenn ein Prozess Folgendes verwendet:

  • das <module_name>
  • Ein Modul darüber <module_name>hängt direkt davon ab
  • Jedes Modul darüber <module_name>- über den Abhängigkeitsbaum - hängt indirekt davon ab.

Sie können verwenden lsmod | grep <module_name>, um die Namen der Module abzurufen, die Sie daran hindern, ein bestimmtes Modul vorübergehend zu deaktivieren (diese Modulnamen sind in der letzten Spalte aufgeführt).

Mehr über:

Radu Rădeanu
quelle
1
Dies deaktiviert oder 'entfernt' jedoch keine eingebauten Module, was zu einem FATAL: Module g_serial is builtin.Fehler führt.
Tim Visee
2

Es erscheint:

sudo modprobe -r moduleName

Erreicht was ich will. Das Modul wird beim Neustart entfernt und neu geladen.

Seth
quelle
Das Modul wird jedoch neu geladen, wenn Linux dies für erforderlich hält. Dies kann sein oder nicht, was Sie wollen.
Frederick Nord