/etc/modprobe.conf
https://www.debian.org/releases/stable/amd64/release-notes/ch-information.de.html
Admins who were depending on different values will need to ensure they are set in the correct way to take precedence. A file in /etc/modprobe.d will override one with the same name under /lib/modprobe.d, but the names are processed in alphabetical order, so /lib/modprobe.d/systemd.conf follows and overrides (for instance) /etc/modprobe.d/dummy.conf. Make sure that any local configuration file has a name that sorts after „systemd.conf“, such as „/etc/modprobe.d/zz-local.conf“.
Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Hardware Schnittstellen anzeigen
ls /sys/bus/*/*
USB
lsusb lsusb -v
PCI
lspci lspci -v lspci -vv -nn # mit ids
SCSI
lsscsi
Kernel-Module
Modulverzeichnis:
ls /lib/modules/$(uname -r)/
Befehle
Kernel Meldungen anzeigen
dmesg
fortlaufend, mit Uhrzeit:
dmesg -wT
Kernel Module anzeigen
lsmod
Informationen und mögliche Parameter zu einem Modul anzeigen
Informationen zum Modul „dummy“ anzeigen
modinfo dummy
Modul von Hand laden
Modul „dummy“ laden
modprobe dummy
Oder (veraltet, ohne Support für Dependencies):
insmod dummy
Modul entladen
Kernel-Modul „dummy“ entladen:
modprobe -r dummy
Wenn das nicht geht, weil das Modul in Benutzung ist, dann kann man versuchen:
rmmod -f dummy
Konfigurations-Dateien
Module nicht automatisch laden
Beispiel: automatisches laden des Moduls ip_tables verhindern
- /etc/modprobe.d/notip_tables.conf
blacklist ip_tables
Laden des Moduls blockieren
- /etc/modprobe.d/nodummy.conf
alias dummy off
oder
- /etc/modprobe.d/nodummy.conf
install dummy /bin/false
Module beim Starten laden
Beispiel: Modul dummy laden
Debian
/etc/modules
dummy
SuSE
/etc/sysconfig/kernel :
MODULES_LOADED_ON_BOOT="dummy"
RedHat
/etc/rc.modules :
modprobe dummy
chmod +x /etc/rc.modules
Modul-Optionen setzen
Beispiel: 2 Dummy-Interfaces erstellen
einmalig
modprobe dummy numdummies=2
dauerhaft
/etc/modprobe.d/z_dummy_params.conf :
1)
options dummy numdummies=2
Fehlendes Kernel-Modul nachträglich installieren
openSuSE 11.1
zypper search kmp
Debian 7
Verfügbare Pakete anzeigen:
aptitude search modules aptitude search dkms
( Vorsicht: nicht alle angezeigten Pakete enthalten kernel-Module )
CentOS 5
Verfügbare Pakete anzeigen:
yum list | grep kmod
Modul über ELRepo nachinstallieren
ELRepo ist ein Repository mit Fokus auf hardware-nahen Paketen
Repository ELRepo hinzufügen (siehe auch yum):
Verfügbare Pakete anzeigen:
yum search kmod
Modul installieren
yum install kmod-ntfs
testen
modprobe ntfs dmesg | tail
Fehlendes Kernel-Modul selbst bauen
Problem: es gibt in der verwendeten Distribution keinen Treiber für folgendes Gerät:
lsusb
Bus 001 Device 005: ID 0a46:6688 Davicom Semiconductor, Inc.
als Nutzer
Lösung: jagen & sammeln & Modul selbst kompilieren: Auf der Seite http://alcopop.org/unix/linux/dm9601/ sind zwei passende Treiber verlinkt:
wget http://www.silencio.ro/DM9601.GZ
Entpacken und hineinwechseln:
tar xzf DM9601.GZ cd 2.6.18/
USB-ID hinzufügen:
vi dm9601.h
DM9601_DEV( "Davicom USB-100", 0x0a46, 0x6688, DEFAULT_GPIO_RESET )
Kompilieren:
make
Als root
Modul laden
insmod /tmp/2.6.18/dm9601.ko
Testen ob Gerät erscheint:
dmesg ifconfig -a
Aufräumen:
rmmod dm9601
Gerät entfernen
Modul installieren:
cp /tmp/2.6.18/dm9601.ko /lib/modules/`uname -r`/kernel/drivers/usb/net depmod -a
Doku
CentOS / Redhat
Kernel kompilieren
Neuen Kernel installieren
Debian 6.0
Repository hinzufügen, z.B. Debian Backports
apt-get -t squeeze-backports install linux-image
Passende Version auswählen, z.B.
apt-get -t squeeze-backports install linux-image-2.6.39-bpo.2-686-pae
Einstellungen zur Laufzeit
Mögliche Einstellungen sind in der Kerneldokumentation in der Datei Documentation/filesystems/proc.txt beschrieben. Hier ein paar Beispiele:
Maximale PID
Maximale PID anzeigen:
sysctl kernel.pid_max
Aktuelle PID ermitteln:
cat & kill 19477
Maximale PID ändern (kleiner als die grade ermittelte):
sysctl kernel.pid_max=18000 cat & kill %1
IPv4-Pingantworten ausschalten
- /etc/sysctl.conf
net.ipv4.icmp_echo_ignore_all=1
sysctl -p
oder
- /etc/sysctl.d/test.conf
net.ipv4.icmp_echo_ignore_all=1
sysctl -p /etc/sysctl.d/test.conf
Testen:
ping localhost
sysrq
Wenn das System nicht mehr reagiert ( z.B. überhohe Last, X Absturz ) gibt es als letzte Rettung oft nur die „magischen“ Tastenkombinationen aus ALTGr + SysRq + Buchstabe. Wobei „SysRq“ die „Druck“-, bzw. „S-Abf“-Taste meint.3):
| Buchstabe | Funktion | |
| h | Hilfe zu den SysRq Keys anzeigen | help |
| e | Allen Prozessen ( außer init ) das Signal TERM schicken | tErm |
| i | Allen Prozessen ( außer init ) das Signal KILL schicken | kIll |
| s | Alle gemounteten Dateisysteme syncen | Sync |
| u | Alle Dateisysteme umounten | Umount |
| b | System _sofort_ rebooten | reBoot |
| o | System _sofort_ ausschalten | powerOff |
| k | Alle Prozesse dieses Terminals killen | KillTTY |
- Eselsbrücken: BUSTIER ← (dann allerdings von Hinten nach Vorne)
- SUB - hektisches Notaus
Kist sehr nützlich, um die grafische Oberfläche zu beenden. (Ersatz für Ctrl+Alt+Backspace)
sysctl -w 'kernel.sysrq=1'
Diese Einstellungen rebootfest machen:
/etc/sysctl.d/kernel.conf :
kernel.sysrq = 1
Kernel Bootparameter
Eine Übersicht über die Parameter, die der Kernel beim Booten auswertet findet sich in der Datei Documentation/kernel-parameters.txt in den Kernel-Quelltexten.
Kernel Bootparameter können beim Booten oder über die Konfigurationsdatei des Bootloaders übergeben werden.
Kernel Compile-parameter
Auf den meisten Systemen ist es nicht notwendig, den Kernel neu zu kompilieren. Es macht Unerfahrenen mehr Ärger als es bringt. Trotzdem ist es interessant, sich die Einstellungen anzusehen, die auf Kernel-Ebene möglich sind:
Dokus & Links
/usr/lib/sysctl.d/* (CentOS 7) Documentation/sysrq.txt 