Warum kam es zu dem Problem? Welche Programme sind an dem Geschehen beteiligt? Was ist der Wortlaut der Fehlermeldungen? Wie heisst Deine Distribution? Warten Sie Bitte auf Rückfragen der Rettungsleitstelle.
echo "- - -" > /sys/class/scsi_host/host0/scan
du / -ah | sort -nr | less
) , pwd, cat, grep, wc, head, tail, less, more/dev/sda2 none swap sw,pri=1 /dev/sdb2 none swap sw,pri=1
/proc/sys/vm/swappiness
(50-60 normal, höher = mehr swapping): Einstellung vm.swappiness=60
in /etc/sysctl.conf
cat /proc/meminfo
(Swap insgesamt + frei),
cat /proc/swaps
(benutzte Swap-geräte),
swapon -s
(swap-Geräte),
vmstat
(Statistiken über den virtuellen Speicher)
ntp -q -d
date -s '2012-07-10 19:09:00' +'%Y-%M-%d %T'
hwclock -w # entspricht --systohc
/etc/network/interfaces
, /etc/resolv.conf
, Proxyserver)arp-scan --interface eth0 --localnet
ngrep -q GET
wird nach Webseitenanfragen gesucht.dnstop eth0 -l 3
/var/log/daemon.log
einBefehle in Abhängigkeit ausführen | |
---|---|
BefehlA ; BefehlB | BefehlA ausführen und dann BefehlB ausführen egal ob BefehlA erfolgreich war oder nicht |
BefehlA & BefehlB
| BefehlA im Hintergrund ausführen und dann gleich BefehlB ausführen ohne auf das beendet von BefehlA zu warten |
BefehlA && BefehlB
| BefehlA ausführen und dann BefehlB ausführen wenn BefehlA erfolgreich war |
BefehlA || BefehlB
| BefehlA ausführen und dann BefehlB ausführen falls BefehlA einen Fehler ergab |
Befehl | Beispielaufruf | Zweck des Programms |
---|---|---|
kill | kill PID | killt einzelne Prozesse nach ihrer Prozess-ID (PID), -9 SIGKILL |
killall | killall -HUP named | killt (mehrere) Prozesse nach ihrem Namen 7) |
mpstat 8) | mpstat -P ALL 2 10 (alle 2s 10 Messungen) | zeigt die Auslastung der CPU, längere Überwachung und Mittelwerte |
ps | ps auxww | laufende Prozesse |
pgrep / pkill | pgrep -u root sshd | sucht/killt Prozessnamen |
top | laufende Prozesse mit Ressourcenverbrauch; htop: viel besser als top, ncurses-Oberfläche, interaktiv |
Aufruf | Wirkung |
---|---|
strace programm | startet programm und gibt dessen Systemaufrufe auf dem Bildschirm aus |
strace -o prog.log programm | wie oben, aber Ausgabe in prog.log Logdatei |
strace -f -o prog.log programm | wie oben, aber verfolgt auch Kindprozesse |
strace -p pid | verfolge die Aufrufe des laufenden Prozesses mit Prozess-ID pid |
strace -e trace=open,close,read,write | gibt nur Systemaufrufe aus, die das Dateimanagement betreffen |
strace -e trace=open,close,read,write | gibt nur Systemaufrufe aus, die das Dateimanagement betreffen |
strace -e trace=file | gibt Dateioperationen aus |
sensors
cat /proc/meminfo
bzw. cat /proc/mtrr
hdparm
lshal
lspci
lsusb
xrandr
pccardctl status
cpufreq-info
echo "1000000" > /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq
/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq
/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
cat /sys/devices/system/cpu/cpu0/cpufreq/stats/total_trans
cat /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state
/etc/sysfs.conf
dauerhaft hintelegen, z. B. devices/system/cpu/cpu0/cpufreq/scaling_min_freq = 3100000
file
(Dateityp anhand von typischen Zeichenketten erkennen lassen) und strings
(druckbare Zeichen einer Datei ausgeben)stress -t 36000 -c 3 -i 3 -m 3 -d 3 --vm-bytes 768MB
Das Verzeichnis /etc sollte auf Servern mit mehreren Administratoren oder allgemein auf wichtigen System versioniert werden. Dazu lassen sich entweder Versionsverwaltungssysteme benutzen oder alternativ spezialisierte Tools wie etckeeper oder metche verwenden.
Traditionellen Unix-implementierungen unterscheiden nur zwischen priviligiertem Benutzer (id=0, root) und unpriviligiertem Benutzer (andere ID als 0). Moderne Linux-Distributionen können Programmen eine Vielzahl von einzelnen Fähigkeiten (=capabilities) geben ohne pauschal alles erlauben zu müsssen.
Die Programme setcap
und getcap
verwalten die Rechte.
Beispielaufruf - Wireshark bekommt CAP_NET_RAW und CAP_NET_ADMIN mit unten genannter Wirkung:
sudo setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/bin/dumpcap
Buchstabe | Bedeutung | Erklärung |
---|---|---|
e | Effective | the capabilities used by the kernel t perform permission checks for the thread. |
p | Permitted | the capabilities that the thread may assume (i.e., a limiting superset for the effective and inheritable sets). If a thread drops a capability from its permitted set, it can never re-acquire that capability (unless it exec()s a set-user-ID-root program). |
i | inheritable | the capabilities preserved across an execve(2). A child created via fork(2) inherits copies of its parent's capability sets. See below for a discussion of the treatment of capabilities during exec(). Using capset(2), a thread may manipulate its own capability sets, or, if it has the CAP_SETPCAP capability, those of a thread in another process. |
Linux Einführung.odp Linux Einführung.pdf
Benutzer- und Gruppenverwaltung.odp Benutzer- und Gruppenverwaltung.pdf
dd if=/dev/zero of=filename.img bs=1k seek=128M count=1mit du -lah und ls -lah kann man den Unterschied zwischen aktuell belegtem und maximal belegbaren Speicherplatz. Achtung: In dem Augenblick wo eine sparse-Datei auf ein anderes Dateisystem kopiert wird muss auch der maximale Speicherplatz zur Verfügung stehen!
ntpdate de.pool.ntp.org
traceroute -T -p PORTNR HOST
tshark -i eth0 -w Traffic-sniff.pcap
sysstat
-Paket enhalten