Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


admin_grundlagen:kernel

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
admin_grundlagen:kernel [2013/11/15 16:16]
ingo_wichmann [Kernel Bootparameter]
admin_grundlagen:kernel [2016/08/15 20:03]
ingo_wichmann [Einstellungen zur Laufzeit]
Zeile 7: Zeile 7:
   lspci   lspci
   lspci -v   lspci -v
 +  lspci -vv -nn # mit ids
 ===== SCSI ===== ===== SCSI =====
   lsscsi   lsscsi
Zeile 16: Zeile 17:
 ==== Kernel Meldungen anzeigen ==== ==== Kernel Meldungen anzeigen ====
   dmesg   dmesg
 +fortlaufend,​ mit Uhrzeit:
 +  dmesg -wT
  
 ==== Kernel Module anzeigen ==== ==== Kernel Module anzeigen ====
Zeile 32: Zeile 35:
   modprobe -r dummy   modprobe -r dummy
  
-Wenn das nicht geht, weil das Modul in Benutzung ist, dann kann man+Wenn das nicht geht, weil das Modul in Benutzung ist, dann kann man versuchen:
   rmmod -w dummy   rmmod -w dummy
  
Zeile 40: Zeile 43:
 ===== Konfigurations-Dateien ===== ===== Konfigurations-Dateien =====
 ==== Module nicht automatisch laden ==== ==== Module nicht automatisch laden ====
-Beispiel: automatisches laden des Moduls //ipv6// verhindern +Beispiel: automatisches laden des Moduls //ip_tables// verhindern
- +
-''/​etc/​modprobe.conf''​ : +
-<​file>​alias ipv6 off</​file>​+
  
 +''/​etc/​modprobe.d/​notip_tables.conf''​ :
 +<​file>​alias ip_tables off</​file>​
 ==== Module beim Starten laden ==== ==== Module beim Starten laden ====
 Beispiel: Modul //dummy// laden Beispiel: Modul //dummy// laden
Zeile 62: Zeile 64:
 ==== Modul-Optionen setzen ==== ==== Modul-Optionen setzen ====
 Beispiel: 2 Dummy-Interfaces erstellen Beispiel: 2 Dummy-Interfaces erstellen
 +=== einmalig ===
 +  modprobe dummy numdummies=2
  
 +=== dauerhaft ===
 +
 +''/​etc/​modprobe.d/​dummy_params.conf''​ :
 +(( veraltet:
 ''/​etc/​modprobe.conf''​ : ''/​etc/​modprobe.conf''​ :
 +))
 <​file>​options dummy numdummies=2</​file>​ <​file>​options dummy numdummies=2</​file>​
  
Zeile 70: Zeile 79:
   zypper search kmp   zypper search kmp
  
-==== Debian ====+==== Debian ​====
 Verfügbare Pakete anzeigen: ​ Verfügbare Pakete anzeigen: ​
   aptitude search modules   aptitude search modules
 +  aptitude search dkms
 ( Vorsicht: nicht alle angezeigten Pakete enthalten //​kernel//​-Module ) ( Vorsicht: nicht alle angezeigten Pakete enthalten //​kernel//​-Module )
- 
-Beispiel WLAN Treiber ipw3945 
-  aptitude install ipw3945-modules-2.6-686 ipw3945d firmware-ipw3945 
-  modprobe ipw3945 
  
 ==== CentOS 5 ==== ==== CentOS 5 ====
Zeile 137: Zeile 143:
   * http://​wiki.centos.org/​HowTos/​BuildingKernelModules   * http://​wiki.centos.org/​HowTos/​BuildingKernelModules
  
-===== Eigenes ​Kernel-Modul schreiben ​===== +=====Kernel ​kompilieren ​====== 
-Keine Angst, nur ein ganz einfaches "Hello World" Beispiel ... +[[lpi2::​kernel_kompilieren]]
-==== Debian ​==== +
- +
-  cd +
-  aptitude install linux-source-xxx +
-  tar xjf /​usr/​src/​linux-source-xxx +
-  mkdir hello +
-  vi hello.c +
-<​file>​ +
-#include <​linux/​init.h>​ +
-#include <​linux/​module.h>​ +
-#include <​linux/​kernel.h>​ +
- +
-static int hello_init(void) +
-+
-  printk(KERN_ALERT "Hello World!\n"​);​ +
-  return 0; +
-+
- +
-static void hello_exit(void) +
-+
-  printk(KERN_ALERT "Good bye world!\n"​);​ +
-+
- +
-module_init(hello_init);​ +
-module_exit(hello_exit);​ +
- +
- +
-MODULE_LICENSE("​GPL"​);​ +
-MODULE_AUTHOR("​me"​);​ +
-</​file>​ +
- +
-  vi Makefile +
-<​file>​ +
-obj-m   := hello.o +
-</​file>​ +
-  make -C ../​linux-source-2.6.18/​ SUBDIRS=$PWD modules+
  
 ====== Neuen Kernel installieren ====== ====== Neuen Kernel installieren ======
Zeile 187: Zeile 157:
 Mögliche Einstellungen sind in der Kerneldokumentation in der Datei ''​[[http://​kernel.org/​doc/​Documentation/​filesystems/​proc.txt|Documentation/​filesystems/​proc.txt]]''​ beschrieben. Hier ein paar Beispiele: Mögliche Einstellungen sind in der Kerneldokumentation in der Datei ''​[[http://​kernel.org/​doc/​Documentation/​filesystems/​proc.txt|Documentation/​filesystems/​proc.txt]]''​ beschrieben. Hier ein paar Beispiele:
  
-Auf sehr hoch belasteten Servern kann es Sinn machen, die Anzahl der gleichzeitig geöffneten Dateien zu erhöhen:+=== Maximale PID ===
  
-''/​etc/sysctl.conf'' ​: +Maximale PID anzeigen: 
-<​file>​ +  sysctl kernel.pid_max 
-fs.file-max = 16384 + 
-kernel.threads-max ​2048+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 === 
 +(( Defaults in ''/​usr/lib/sysctl.d/*'' ​(CentOS 7) )) 
 + 
 +<​file ​txt /​etc/​sysctl.conf
 +net.ipv4.icmp_echo_ignore_all=1
 </​file>​ </​file>​
  
   sysctl -p   sysctl -p
  
 +oder
 +<file txt /​etc/​sysctl.d/​test.conf>​
 +net.ipv4.icmp_echo_ignore_all=1
 +</​file>​
 +
 +  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 ((Die vollständige Liste der Befehle steht in der Kerneldokumentation in der Datei ''​[[http://​kernel.org/​doc/​Documentation/​sysrq.txt|Documentation/​sysrq.txt]]''​ )): 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 ((Die vollständige Liste der Befehle steht in der Kerneldokumentation in der Datei ''​[[http://​kernel.org/​doc/​Documentation/​sysrq.txt|Documentation/​sysrq.txt]]''​ )):
  
-| Buchstabe | Funktion | +| Buchstabe | Funktion ​|  ​
-|h|Hilfe zu den SysRq Keys anzeigen| +|h|Hilfe zu den SysRq Keys anzeigen|help  ​
-|e|Allen Prozessen ( außer init ) das Signal TERM schicken| +|e|Allen Prozessen ( außer init ) das Signal TERM schicken|  tErm
-|i|Allen Prozessen ( außer init ) das Signal KILL schicken| +|i|Allen Prozessen ( außer init ) das Signal KILL schicken|  kIll
-|s|Alle gemounteten Dateisysteme syncen| +|s|Alle gemounteten Dateisysteme syncen|  Sync
-|u|Alle Dateisysteme umounten| +|u|Alle Dateisysteme umounten|  Umount
-|b|System _sofort_ rebooten| +|b|System _sofort_ rebooten|  reBoot
-|o|System _sofort_ ausschalten|+|o|System _sofort_ ausschalten| ​ ​powerOff| 
 +|k|Alle Prozesse diese Terminals killen| ​ KillTTY| 
 + 
 +  * //​Eselsbrücken:​ BUSTIER// <- (dann allerdings von Hinten nach Vorne) 
 +  * //SUB// - hektisches Notaus 
 +  * ''​K''​ ist sehr nützlich, um die grafische Oberfläche zu beenden. (Ersatz für Ctrl+Alt+Backspace)
  
   sysctl -w '​kernel.sysrq=1'​   sysctl -w '​kernel.sysrq=1'​
Zeile 220: Zeile 219:
 Eine Übersicht über die Parameter, die der Kernel beim Booten auswertet findet sich in der Datei ''​Documentation/​kernel-parameters.txt''​ in den Kernel-Quelltexten. ​ 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 [[admin_grundlagen:​bootloader|Bootloaders]] ​( z.B. ''/​boot/​grub/​menu.lst''​ ) übergeben werden. ​+Kernel Bootparameter können beim Booten oder über die Konfigurationsdatei des [[admin_grundlagen:​bootloader|Bootloaders]] übergeben werden. ​
  
 ====== Kernel Compile-parameter ====== ====== Kernel Compile-parameter ======
admin_grundlagen/kernel.txt · Zuletzt geändert: 2020/09/07 10:22 (Externe Bearbeitung)