Vorlesungen der VisualSphere SoftwareTools AG
Vorlesungen der VisualSphere SoftwareTools AG
Vorlesungen zum Thema Unix/Linux
Einführung zu Unix/Linux
Willkommen in der Unix-Welt!
Dieser Grundkurs geht davon aus, dass Sie ein gewisses Elementarwissen über
Rechner und die Informatik bereits erlangt haben. Begriffe wie Information,
Daten (Zahlen, Zahlensysteme, Text und deren Kodierungen), Strukturen und
Funktionsweise eines PC (CPU, RAM, Bus, Peripherie, BIOS, Boot, OS,
Command-Interpreter), bit-octet-byte, etc sind Ihnen geläufig.
Weiterhin wissen Sie, wie eine Maus und eine Tastatur benutzt wird. Nach
diesem Kurs sollten Sie die Philosophie von UNIX bzw. LINUX verstehen und
in der Lage sein, im Dateisystem zu navigieren, bestimmte Teile
herauszuselektieren, Dateien nach bestimmten Kriterien zu suchen und
eventuell zu verändern. Desweiteren sollten Sie nach diesem Kurs in der Lage
sein, sich selbst weiterzuhelfen und z.B. bei Problemen selbst an die zur
Diagnose und Fehlerbehebung benötigten Informationen zu gelangen.
- Einführung
- Geschichtsabriss UNIX
- Die Entwicklung von Linux
- Distribution, welche nehmen wir?
- Inventar des Rechners
- Installationskonzepte
- Das Dateisystem
- Praktische Installation
- die graphische Benutzeroberfläche ist mehrschichtig:
- Anpassen einer fehlerhaften X-Installation: /etc/X11/XF86Config-4
- Unterteilung in Sektionen
- Einführung
- Zugang zum Computer
- Unix-Dateisystem
- Der Kommandointerpreter oder die Shell
- Unix-Kommandos
- Die Wahl des Benutzers: chsh
- Bestimmung der Shell von Skript zu Skript
- Kleiner Geschichtsabriss
- Die Qual der Wahl...
- Vorteile von tcsh gegenüber bash
- Vorteile von bash im Vergleich zu tcsh
- Syntaktische Unterschiede: export vs setenv
- manual: man
- hypertext Informationsarchiv: info
- Mitgelieferte Dokumentation: /usr/doc/*
- usenet: comp.unix.shell
- Wo befinden wir uns: pwd
- Was befindet sich im aktuellen Verzeichnis:
ls
- Wie erzeugen wir ein Unterverzeichnis: mkdir
- Navigieren wir in der Verzeichnisstruktur:
cd
- Kopieren von Dateien und Verzeichnissen: cp
- Umbenennnen und Verschieben von Dateien und Verzeichnissen: mv
- Zerstören von Dateien und Verzeichnissen: rm
- Erzeugen einer leeren Datei: touch
- Was befindet sich in einer gegebenen Datei:
cat
- Was befindet sich in einer gegebenen Datei:
less
- Dateien erzeugen und verändern:
nedit,vim,xemacs
- Platzverbrauch einer Verzeichnisstruktur:du
- Freier Platz auf der Festplatte: df
- Wieviel Speicherressourcen stehen zur Verfügung:
free
- Automatische Kommando-, Dateinamenskomplettierung
- Alte Kommandosequenzen wiederholen
- Aliase!
- ˜/.bashrc|˜/.cshrc, die Konfigurationsdatei
- Umleitung
- Pipes
- Reguläre Ausdrücke = regular expressions
- Suchen nach Zeichenketten in Dateien: grep users
/etc/group
- Verzeichnisse nach bestimmten Dateien durchsuchen: find
- Prozess im Vordergrund starten
- Prozess im Hintergrund starten
- Auflisten der laufenden Prozesse
- Töten von unerwünschten Prozessen mit kill
- Mehr als nur ein Kommandointerpreter
- Bash, eine vollwertige Programmiersprache
- Interpretierte Sprache
- Anwendungsgebiete
- Learning the Bash-Shell - O'Reilly
- Online-Hilfe
- Grundwissen
- Kontrollstrukturen
- Funktionen
- Anpassung der Umgebung
- Kommentare: #
- Leerzeichen wissentlich setzen!
- Identifikation: #!/bin/bash
- Namenskonventionen
- Ausführbarkeit: chmod +x skript.sh
- Ausführung: ./skript.sh
- Klammerung
- Geschweifte-Klammern: mkdir projekt/{old,new,dist,bugs}
- Tilde-Ersetzung: ˜ nach $HOME
- Parameter-Ersetzung: ${}
- Kommando-Ersetzung $(cmd) oder `cmd`
- Arithmetische Interpretation (( ))
- Prozess-Substitution <(list) oder >(list)
- Wort-Splittung mit FHS
- Pfadnamen-expansion (*,?,[]...)
- Variablen
- Wert einer Variablen: $NAME
- Eingangsparameter (PARAMETER) $1,$*
- Zuweisung NAME=Wert
- Zuweisung NAME=`expr 1 + 1`
- Zuweisung (( NAME= 1 + 1 )) oder let NAME=1+1
- Boolsche Operatoren ||, && und !
- Tests auf Dateien
- Test mit natürlichen Zahlen
- Fallunterscheidung
- for-Schleife
- read variable(n)
- Keine Wertrückgabe (ausser Tricks)
- Lokale Variablen müssen explizit als solche markiert werden
- Boot-Meldungen
- /var/log/messages , dmesg
- Start des Betriebssystems
- Das Konzept Benutzer und Gruppen
- Der privilegierte Benutzer: root
- Hinzufügen eines Benutzers (/etc/passwd, /etc/shadow)
- Das Basisprofil (/etc/skel)
- Erzeugung einer Gruppe
- Einen Benutzer einer Gruppe hinzufügen
- Begrenzung des belegten FP-Platzes, quotas
- Tilgung eines Benutzers
- Breitband-Kernel oder angepasster Kernel?
- Das System der Distributions-Programm-Pakete
- Installation eines Programms anhand der Quell-Sourcen
- Benutzer-Verfügbarkeit von Speichereinheiten
- Neustart nach einem Systemfehler
- Was ist ein Daemon?
- Konzept Systemsicherheit
- Was ist ein Firewall
- Aufsetzen von Routingregeln: iptables (obsolet ipchains)
- Aufsetzen eines Firewalls
- Normaler Druckpfad
- Klassischer Druckerspooler: lpd
- CUPS: Common UNIX Printing System
- Sendmail
- Qmail
- Postfix
- Apache
- Aufpassen: html-Seiten müssen für alle lesbar sein.
- Einer der ersten IP-Services, aufgepasst mit der Sicherheit!
- Anonyme ftp uploads sollten nach Möglichkeit gesperrt sein.
- Proftp
- Secure Shell (ssh)
- Network File System (NFS)
- Auf Coda wartend... http://www.coda.cs.cmu.edu/
- Dokumentation: http://ftp.easynet.be/samba/samba/samba.html
- Erste Referenzen von IBM 1985 über Server Message Block
- Weiterentwickelt von Microsoft
- Dieses Protocoll kann über viele Schichten laufen
- Installation über Distributions-Werkzeuge
- Konfiguration über http://ftp.easynet.be/samba/GUI/
- Kontrolle über /etc/samba/smb.conf
- Nameservice : nmbd
- Services: smbd
- winbindd: windows NT domain server
- Test der Konfiguration: testparm /etc/samba/smb.conf
- Anzeigen der verfügbaren Services: smbclient -L localhost
- Bei Problemen:
http://ftp.easynet.be/samba/docs/man/Samba-HOWTO-Collection/diagnosis.html
- Nachfolger von SMB: Common Internet File System (CIFS)
- Die log-Dateien
- UNIX/LINUX Praxiswissen
- About this document ...