Unter bestimmten Umständen kann der Linux-Kernel beschädigt werden . Wenn Sie beispielsweise einen proprietären Videotreiber in den Kernel laden, wird der Kernel beschädigt. Dieser Zustand kann in Systemprotokollen, Kernelfehlermeldungen (oops und panics) und über Tools wie lsmod
und bis zum Neustart des Systems angezeigt werden.
Was bedeutet das? Beeinträchtigt es meine Fähigkeit, das System zu nutzen, und wie könnte es sich auf meine Support-Optionen auswirken?
lsmod
. Ich habe diese Frage und Antwort geschrieben, um sie allgemeiner zu gestalten, damit jemand, der fragt, was "verdorben" bedeutet, sie leicht finden kann.Antworten:
Wenn der Kernel beschädigt ist, bedeutet dies, dass er sich in einem Zustand befindet, der nicht von der Community unterstützt wird . Die meisten Kernel-Entwickler ignorieren Fehlerberichte, die befallene Kernel betreffen, und Community-Mitglieder bitten Sie möglicherweise, den Befallszustand zu korrigieren, bevor sie Probleme im Zusammenhang mit dem Kernel diagnostizieren können. Darüber hinaus sind einige Debugging-Funktionen und API-Aufrufe möglicherweise deaktiviert, wenn der Kernel beschädigt ist.
In den meisten Fällen mit proprietären Treibern können Sie den Verschmutzungszustand ignorieren. Einige Szenarien, die dazu führen, dass der Kernel verschmutzt wird, können jedoch auf schwerwiegende Systemprobleme hinweisen.
Die Funktion soll Bedingungen identifizieren, die die ordnungsgemäße Behebung eines Kernelproblems erschweren können. Beispielsweise kann das Laden eines proprietären Moduls die Kernel-Debug-Ausgabe unzuverlässig machen, da Kernel-Entwickler keinen Zugriff auf den Quellcode des Moduls haben und daher nicht feststellen können, was das Modul möglicherweise mit dem Kernel getan hat. Wenn im Kernel zuvor ein Fehler aufgetreten ist oder ein schwerwiegender Hardwarefehler aufgetreten ist, sind die vom Kernel generierten Debuginformationen möglicherweise nicht zuverlässig.
Der Kernel kann aus verschiedenen Gründen beschädigt werden , einschließlich (aber nicht beschränkt auf) den folgenden:
Jede dieser Bedingungen wird durch ein bestimmtes Flag im Kernel dargestellt. Einige Linux-Hersteller wie SUSE fügen zusätzliche Taint-Flags hinzu , um Bedingungen wie das Laden eines Moduls anzuzeigen, das vom Hersteller nicht unterstützt wird.
Weitere Informationen finden Sie in der Kerneldokumentation . Die dort aufgelisteten Taint-Flags sind (mit _ als Ersatz für 'leer')
rmmod -f
, andernfalls, wenn alle Module normal entladen wurden.quelle