Gibt es eine Standardmethode zum Auflisten der Parameterwerte eines geladenen Linux-Moduls? Ich suche im Wesentlichen nach einer anderen Antwort auf diese Frage zu den Parametern des Linux-Kernel-Moduls , da das Modul, an dem ich interessiert bin, keine /sys/modules/<module_name>/parameters
Schnittstelle hat.
77
Antworten:
Sie können dies mit diesem einfachen Einwegbefehl tun, der die virtuellen Dateisysteme / proc / modules und / sys verwendet:
Sie erhalten eine Ausgabe wie diese:
Hoffe das hilft.
quelle
alias ls='ls -lah'
. Das Entfernen des Alias oder das Ausführen der Lösung als Skript hat jedoch hervorragend funktioniert.Sie können den Befehl verwenden
systool -vm <Module name>
.sysfsutils
Auf den meisten Systemen ist das Paket enthalten.So sieht die Ausgabe aus, es gibt einen Abschnitt
Parameters
:quelle
systool
ist Teil des Paketssysfsutils
. Und das ist die Antwort, denke ich (könnte aber eine Beispielausgabe haben)Parameters:
Abschnitt nur in der Ausgabe für Module vorhanden zu sein, die eine/sys/modules/<module_name>/parameters
Schnittstelle verfügbar machen . Dies entspricht also leider nicht der Prämisse der Frage.quelle
Sie können den Befehl " modinfo (8) " verwenden, um verfügbare Ladezeitparameter für ein Modul abzurufen . Zum Beispiel:
Um die Parameter geladener Module abzurufen, kombinieren Sie den Befehl modinfo mit einem einfachen Befehl "lsmod | awk '{print $ 1}'".
Wie in:
quelle
Würde als Kommentar hässlich rauskommen, aber ich habe dies auf meinem System überprüft.
Um zu überprüfen, ob Module ohne Parameter in / sys Parameter in modinfo enthalten, ich aber keine gefunden habe.
Ich bin kein Experte, aber der Unterschied besteht darin, dass modinfo die Moduldatei selbst nach den Parametern durchsucht, indem es in den .modinfo-Elf-Headern nachschaut, während sys diese aus seiner Laufzeitvariante liest.
Es kann sein, dass Sie zur Laufzeit Parameter ändern können, die nicht als Modinfo-Parameterwert angezeigt werden. Da das Modulformat jedoch ziemlich fest sein sollte, kann beim Laden möglicherweise kein Optionsparameter an ein Modul übergeben werden, ohne dass dies vorhanden ist eine .modinfo Struktur dafür verlinkt in.
Ich bin neugierig, schlägt Ihr Modul vor, dass es Parameter gibt, die mit modinfo passierbar sind, wenn Sie es auf diese Weise überprüfen, aber es gibt keine in / sys dafür? Auf meinem System konnte ich mit dem oben angegebenen Befehl keine Beispiele dafür finden.
quelle
Für iwlwifi und andere Module habe ich folgendes verwendet:
und ich bekomme diese Ausgabe:
Also ich denke du könntest etwas ausprobieren wie:
Lassen Sie mich wissen, ob das für Sie funktioniert.
quelle
grep .
würde wohl auch genauso gut mit weniger tippen funktionieren. :)grep . /sys/module/<module_name>/parameters/*
grep -R
den Platzhalter im Parameterverzeichnis verwenden und nicht verwenden, wird immer der Dateiname angezeigt. Bonuspunkte: Ergänzen Sie--color
auch das grep und erhalten Sie den nach Farben differenzierten Dateinamen + Wert. ;) Zum Beispielgrep -R --color '.' /sys/module/block/parameters/
Wenn Sie von Katriels Arbeit ausgehen, erhalten Sie einen (zugegebenermaßen hässlichen) Einzeiler, indem Sie die beiden in einer Bash-Schleife kombinieren:
quelle
print
ist etwas grob - verwenden Siewhile read
stattdessen die Syntax:lsmod | while read a b; do echo $a:; modinfo $a | grep parm | sed -e 's/parm://'; done
- Es ändert nichts an der Tatsache, dass modinfo die Parameterwerte nicht zurückgibt ...