Linux ist ein sehr sehr weites Feld, in dem sehr kurzen Kurs habe ich
vieles davon angesprochen aber konzentriert haben wir uns auf einige
wenige zentrale Punkte.
Zuerst: der Kurs basiert auf der Themenliste auf meiner Webseite zu
allgemeinen Linux-Kursen:

http://gnupc.de

Alles auf dieser Webseite gehört zum Thema, aber in dem kurzen
Einführungskurs haben wir nicht alles davon direkt angesprochen. Schauen
Sie sich vor allem die Themen und Links zur ersten Woche an. Aus allen
Wochen haben wir im Kurs die wichtigsten Punkte behandelt.

Ich schlage vor, Sie sehen sich genau diese Punkte intensiv an, mein
Pool von Prüfungsfragen fragt die praktischen Kentnisse in genau diesen
Punkten ab. Sie sollten eine ordentliche Punktzahl schaffen, wenn sie
folgende Grundfertigkeiten beherrschen:

1.) Arbeit im Terminal. Sie geben Befehle ein und interpretieren die
Ausgabe. Grundbefehle:

 ls(Inhalt von Verzeichnissen anzeigen)
 cd(in ein anderes Verzeichnis wechseln)
 cat(Inhalt von Textdateien anzeigen)
 cp (Dateien kopieren)
 rm (Dateien löschen)
 echo "Text" > Datei
 Ausgabe von irgendwelchem Text | grep "Suchbegriff"

 Links: https://wiki.ubuntuusers.de/ls/
        http://gnupc.de/8kommandos.pdf
        https://wiki.ubuntuusers.de/Shell/Umleitungen/

 Fragen Sie Ihre Kameraden, was genau es mit den Umleitungen auf sich hat.

2.)Dateisystem. Welche Dateien sind unter welchen Adressen zu finden.

 Sie sollten prinzipiell wissen, was in den folgenden Ordnern
gespeichert ist:

  /boot (Linux Kernel, Bootkonfiguration)
  /etc (Alle systemweiten Einstellungen in einfachen Textdateien)
  /bin (alle für den Systembetrieb unverzichtbaren Programme, die Shell
Bash, Systemutilities wie cat und viele andere)
  /usr (Anwendungssoftware)
  /home (Nutzerdaten, ähnlich "Eigene Dateien")
  /var (Daten von Systemdiensten wie Logfiles, Datenbanken, Infos zu
Softwarepaketen etc)

 Link: https://de.wikipedia.org/wiki/Filesystem_Hierarchy_Standard

3.)Nutzerverwaltung und Zugriffsrechte
  Das komplette Sicherheitskonzept von Linux basiert auf den
Zugriffsrechten auf bestimmte Dateien, Das bedeutet auch, dass auch
Geräte wie Festplatten, Netzwerkschnittstellen, Drucker etc  im System
als Dateien repräsentiert werden:

 Link: https://wiki.ubuntuusers.de/Rechte/
 lesen Sie auch die weiterführenden Links auf dieser Seite, besonders
die Links zu "Benutzer und Gruppen" und zu chmod und chown

ABER! Bevor Sie sich intensiv und praktisch der Vergabe von
Zugriffsrechten zuwenden, sollten Sie sich mit der Nutzerverwaltung
beschäftigen:

 3.a: Nutzeraccounts anlegen

  Mit adduser können Sie neue Nutzer anlegen, lesen Sie diese Webseite
zu diesem Thema:

 Link: https://wiki.ubuntuusers.de/adduser/

 Legen Sie zwei neue Nutzer an und schauen Sie sich mit cat an, was
genau Sie dabei tun:

 cat /etc/passwd

Die Ausgabe zeigt die zentrale Nutzerdatenbank von Linux. Am Ende dieser
Datei finden Sie Ihre neuen Nutzer. Lesen Sie dazu aufmerksam folgenden

 Link: https://www.selflinux.org/selflinux/html/nutzer_unter_linux06.html

Sie sollten in der Lage sein, Zugriffsrechte für verschiedene Nutzer und
Nutzergruppen zu vergeben und Dateien und Ordnern Nutzer als Besitzer
zuzuordnen. Außerdem sollten Sie Nutzer neuen Gruppen zuweisen können.

Folgende Aufgabe wurde dazu im Kurs gelöst:

legen Sie 2 neue Nutzer an
legen Sie einen Ordner an, in dem alle 3 einfachen Nutzer (also der bei
der Installation erzeugte erste Nutzer und die zwei neuen), Dateien
anlegen können.

Sie müssen außerdem mit dem login vertraut sein, das Tool su erlaubt
einen Neulogin im laufenden Betrieb(Standardmäßig für den root account).
Die folgende Grafik zeigt, was beim Login geschieht:

Link: http://gnupc.de/bash_conf.svg

Was in der Grafik nicht vorkommt: auch Gruppenzugehörigkeiten werden
beim Login live zugewiesen. Relevante Befehle hierzu:

 id (aktuelle Nutzerkonfiguration anzeigen)
 env (alle in der Umgebung der Shellsitzung für den Nutzer gesetzten
Einstellungen anzeigen)

4.) Massenspeichergeräte einrichten

Schauen Sie sich die Datei /etc/fstab an:

 cat /etc/fstab

Hier sind alle Speichergeräte unter Linux konfiguriert. Die Datei wird
beim Systemstart gelesen.

Link: https://wiki.ubuntuusers.de/fstab/

Mit dem Befehl mount können Sie auch im laufenden Betrieb Einträge in
dieser Datei aktivieren, mit umount können Sie sie auch aushängen.
Fragen Sie Ihre Kameraden, wie das geht, es ist einfach in der Praxis
aber schwer theoretisch zu erklären.

Natürlich müssen diese Speichergeräte erst einmal existieren, dazu kann
man Netzwerkressourcen aufrufen(haben wir im Kurs nicht gemacht) oder
physischen Speicher partitionieren und formatieren.
Dazu sollten Sie die Werkzeuge cfdisk, parted und mkfs kennen.
Die ersten beiden kümmern sich um Partitionen, Sie sollten eine
virtuelle Festplatte in Virtualbox mit cfdisk partitionieren können und
sich die verfügbaren Partitionen mit parted -l anzeigen können.

Lesen Sie dazu die folgenden Seiten:

https://wiki.ubuntuusers.de/fdisk/ (Achtung! nur die Variante cfdisk ist
für die Prüfung relevant)

https://wiki.ubuntuusers.de/GNU_Parted/ (Nur parted -l ist im Kurs relevant)

https://wiki.ubuntuusers.de/Formatieren/ (Achtung! Ignorieren Sie die
Abschnitte zu grafischen Tools, Sie müssen nur mkfs kennen)

Relevante Terminalkommandos außer den genannten Partitions/Formatierungs
Programmen:

 df (Massenspeicherbelegung anzeigen)
 du (Speicherverbrauch durch Dateien anzeigen)
 blkid (Identifikations UUIDs von Partitionen anzeigen)

Alle Aktionen dieser Tools greifen auf Gerätedateien in /dev zu, die
üblichen SATA Laufwerke werden dort als Dateien mit Namen wie /dev/sda
(erstes SATA Laufwerk am Bus) und /dev/sdb (zweites Laufwerk)
repräsentiert. Die eientlichen Partitionen sind dann Nummern nach diesen
Laufwerksbezeichnern:
 Die erste Partition auf /dev/sda ist /dev/sda1
 die erste logische Partition auf /devsdc ist /dev/sdc5

Das ist wichtig. Fragen Sie ihre Kameraden, wie die
Laufwerks/Partitionsbezeichner funktioneren. Auch hier gilt: einfach in
der Praxis, schwierig zu erklären. 

5.) Systemdienste und Logfiles

Der Kurs und die Prüfung berücksichtigt in Sachen Steuerung von
Systemdiensten ausschließlich das aktuelle System systemd:

Link: https://www.linux.com/learn/managing-services-linux-systemd
(Ignorieren Sie auch hier die grafischen Tools, nur systemctl auf der
Kommandozeile ist relevant)

Wir haben im Kurs als Beispiel mit dem Webserver Apache gearbeitet.
Installation:

 apt get install apache2

Nach Ă„nderungen der Konfiguration unter /etc/apache2 aktiviert man die
Konfiguration mit:

 systemctl restart apache2

Den aktuellen Status und die Prozessnummern zeigt man so an:

 systemctl status apache2

6.) Konfigurationsdateien bearbeiten mit VIM

Alle Konfigurationsdateien unter Linux sind einfache Textdateien, die
vom Administrator Root mit Hilfe eines Texteditors eingestellt werden.
Es gibt keine Konfigdatenbank in einem speziellen Format wie es bei der
Windows Registry der Fall ist.

Links:  http://gnupc.de/linuxserversurvival-de.pdf

Auf der gnupc Seite sind weitere Erklärungen für den Texteditor VIM zu
finden. Lassen Sie sich bei den ersten Schritten von Ihren Kameraden
unterstützen. Sie müssen vor allem Wissen, was die Modi sind und wie man
zwischen ihnen wechselt.


7.) Prozesskontrolle

Programme starten in Linux als Prozesse, die über ID Nummern
kontrollierbar sind.

Folgende Tools sind relevant:

 top (laufende Prozesse geordnet nach Ressourcenverbrauch anzeigen)
 ps (existierende Prozesse anzeigen)
 kill (Prozessen Sinale senden)

Links:  https://wiki.ubuntuusers.de/Prozesse/
        https://wiki.ubuntuusers.de/kill/


Installieren Sie ein aktuelles Debian Linux (ist kostenlos
herunterladbar) in einer virtuellen Maschine in Virtualbox, damit Sie
die Aufgaben praktisch ausführen können. Fragen Sie ihre Kameraden, die
am Kurs teilgenommen haben, wenn Sie nicht weiterwissen.

8.) Paketmanagement mit apt

In Debian Linux und daraus abgeleiteten Distributionen (Ubuntu, Knoppix etc) wird
der Softwarebestand mit dem System apt verwaltet.
APT sorgt auch dafür, dass Dienste in Paketen automatisch für Systemd 
registriert und gestartet werden.

Wichtige Dateien:

 /etc/apt/
 /var/cache/apt
 
Wichtige Kommandos:

  apt update 
  apt upgrade
  apt install Paket
  apt remove(oder purge) Paket
  apt search