Vollbildmodus: Seiteninhalt ohne Menus

Administration

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 auf Rückfragen der Rettungsleitstelle.
Was ist das, "Nacht"?
Das ist der Zeitraum, in dem Du effektiv administrieren kannst. Weil
anscheinend die User alle total faul sind, und sich ausgeloggt haben.
-- Wilfried Kramer

Goldene Regeln

  • nicht nur reaktiv sondern proaktiv agieren: Wer nur Feuer löscht kommt irgendwann nicht mehr nach
  • Das Netz an einer zentralen Stelle dokumentieren
  • Rechner übersichtlich lassen (ein fremder admin sollte also alles finden können, vor allem init-Skripte usw.)
  • Notfallpläne entwerfen

Unterseiten

Links

Dokumente

Themen

  • Hilfe/Dokumentation (man + Kategorien! [man man], info, apropos, whatis) tldp.org, lok. user groups, irc, foren, mailinglisten
  • Hardware-Erkennung: lsusb, lshal, lspci, lshw
    • kudzu: RedHat, Fedora
    • hwsetup: Knoppix
    • discover Debian Mandriva?
    • hwinfo SuSE
    • Harddrake Mandriva
    • HotPlug für hotplug-Geräte wie FireWire, USB usw.
  • Bootmanager und Bootprozess, Runlevel (init 1 bzw. heute sein symlink telinit, /etc/inittab), initrd
  • shutdown (init 0, halt, shutdown -h now oder +10 für 10min, -r = reboot, shutdown -c) Server zeitgesteuert herunterfahren
  • Dateisystemaufbau ( /proc !)
  • Umleitungen der Eingabe- und Ausgabe, UNIX Pipes und Streams
  • Devices (LPI 1 S.153), Dateitypen (sockets, fifos, …)
  • Kernel (Versionen, Branches , uname -a)
  • Dateisysteme und Formatierung (Journaling, inodes, superblock, sym- / hardlinks, Dateisystemchecks: tune2fs), FIXME
    • Mounten / Mountoptionen / Automounter / Freigaben mounten
    • Dateimanagement: ls, cd, mkdir, rm, rmdir, cp, mv, ln, touch, df, du (du / -ah | sort -nr | less) , pwd, cat, grep, wc, head, tail, less, more
    • offene Dateien: lsof (offene Datei anzeigen) und fuser -u (Wer hat die Datei geöffnet?)
    • Bibliotheken: ldd (Abhängigkeiten), ltrace (wann werden diese Bibl. aufgerufen?)
    • sparse-files (wachsende Dateien die nicht voll zugewiesen sind)1)
  • System- und Umgebungsvariablen (env oder printenv, export, set)
  • Rechte (chown, chmod, su, sudo, /etc/sudoers, SUID, SGID usw.), Quota (quota, edquota, repquota, quotaon)
    • Benutzer: (hinzufügen: users, useradd (adduser), usermod, userdel, chfn, chsh, deaktivieren, PAM, Dateien wie shadow, visudo, vigr (group), vipw (passwd), wohl nicht mehr nötig: pwconv; UID 500/1000, GID 100) chage. siehe hier
    • Gruppen: groups, groupadd (addgroup), groupmod, groupdel, newgrp
    • login (id, w, who, whoami, last, lastb, /etc/motd, issue + issue.net, shell, home, /etc/skel , etc/profile /etc/.bashrc (bei nicht netzlogins, aber oft include).
  • Dienstekonzept (Daemons) FIXME(Seite)
  • SWAP (mkswap, swapon, swapoff), Verteilung auf mehrere Festplatten, wenn er mit gleicher Priorität für mehrere Partitionen aufgerufen wird:
    /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

  • Software installieren (kompilieren, Paketmanager)
  • Tastenkombinationen (strg-alt-f1-6 ; strg-alt-backspace, alt-z, alt-d,)
  • Shells (shells, alias, ncurses, history, auto-completion), terminal, console
  • Konsolen, (Virtuelle) Terminals, Tastenkombinationen
  • Logdateien überwachen
    • tailf /path/to/logfile - Logfiles beim wachsen zusehen (TIPP: an „loco“ pipen für Farbkodierung)

Netzwerk

  • Drucker / Weg durch das Drucksystem (Cups: webinterface, /etc/cups/cupsd.conf /etc/cups/printers.conf; lpd: /etc/printcap, lpq, lp, lpr, lpc, lprm)

Prozesskontrolle und Prioritäten

Befehle 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 2)
mpstat 3) 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

Links

Debugging

  • strace startet Programme und gibt deren Aufrufe wieder.
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
  • GDB: The GNU Project Debugger FIXME

Hardware Diagnose-Tools

  • Lüfterdrehzahlen und Temperaturen (Paket lm-sensors):
    sensors
  • Arbeitsspeicher: cat /proc/meminfo bzw. cat /proc/mtrr
  • DMA: hdparm
  • Geräte IDs anzeigen: lshal
    • PCI-Geräte: lspci
    • USB-Geräte: lsusb
  • Grafikkarte: xrandr
  • S.M.A.R.T.-Status für Festplatten: smartmontools (siehe S.M.A.R.T.- und Temperaturstatus auslesen)
  • PCMCIA: pccardctl status
  • Taktregelung der CPU
    • Paket cpufrequtils:
      cpufreq-info
    • auch ein Gnome-applet mit der gleichen Funktionalität verfügbar
    • Direktzugriff mittels sysfs (Einheit ist Hz, cpu0 ist der erste Kern, cpu1 der zweite usw.; Ändern der Werte einfach möglich z.B. 1 Ghz als Minimaltakt einstellen wäre
      echo "1000000" > /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq
      • Governor einstellen (userspace, conservative, …)
        cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
      • Liste der Governors anzeigen:
        cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
      • minimale CPU-Frequenz: /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq
      • maximale CPU-Frequenz: /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq
      • Geschwindigkeit einstellen (userspace governor): /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
      • Statistiken:
        • cat /sys/devices/system/cpu/cpu0/cpufreq/stats/total_trans
        • cat /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state
      • mit Debian-Paket sysfsutils kann man Einstellungen in /etc/sysfs.conf dauerhaft hintelegen, z. B.
        devices/system/cpu/cpu0/cpufreq/scaling_min_freq = 3100000
  • I/O (auch: E/A = Eingabe/Ausgabe-operationen auf Datenspeichern wie Festplatte)
    • :!: Tools des „sysstat“-Pakets (sar, mpstat, iostat, sadf und sa; Auswertung z.B. mit ksar) für Linux sollte man sich anschauen.
    • iotop für eine schnelle Anzeige welches Programm gerade I/O-Belastung verursacht
    • unbekannte Dateien identifizieren: file (Dateityp anhand von typischen Zeichenketten erkennen lassen) und strings (druckbare Zeichen einer Datei ausgeben)

Distributionen

Kurs-Know-how

  • gems: Den Inhalt einer Console auf mehrere Rechner übertragen

Konfigurationsskripte

Alle systemweiten Konfigurationsdateien finden sich unter /etc. Für einige gibt es praktische Konfigurationsskripte, die den Einstieg sehr vereinfachen. Hier eine Auswahl der vorhandenen Skripte:

Befehl Erklärung
baseconfig Basiskonfiguration
apacheconfig Webserver Apache
eximconfig Mailserver exim
gpmconfig Maus-Einstellungen für die Konsole
kbdconfig Tastatur einrichten
liloconfig Bootmanager LILO konfigurieren
magicfilterconfig Drucker
pppconfig Verbindung zum ISP anlegen
tzconfig Zeitzone einstellen. Direkt auf Berlin setzen:
cp /usr/share/zoneinfo/Europe/Berlin /etc/localtime

Welche (weiteren) im Einzelnen zur Verfügung stehen, ist abhängig von den installierten Paketen. Prinzipiell sind sie über den Befehl „ls /usr/sbin/*config“ zu finden.

Einstellungen Versionieren

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 metche verwenden.

Systemlimits

  • server:Quota
  • allgemeine Limits: ulimit -n

Bücherempfehlungen

  • Kurzreferenzen: Linux kurz&gut (O`Reilly): Teil einer Reihe, gibts auch für Apache, MySQL, PHP
  • Komplettwerk: Linux (M. Kofler, Addison-Wesley)
  • Apache: Apache Webserver 2 (S. Wolfgarten, Addison-Wesley)
  • MySQL: MySQL 5 (M. Kofler, Addison-Wesley)

alte Unterlagen

1) sparse-Datei anlegen z.B. einer Datei mit 128 GB:
dd if=/dev/zero of=filename.img bs=1k seek=128M count=1
mit 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!
2) bei Debian im Paket psmisc
3) mit sysstat-Paket enhalten
 
linux/administration.txt · Zuletzt geändert: 2012/01/10 02:16 von st
 
Backlinks: [[linux:administration]]