GNU / Linux für Fachinformatiker (Systemintegration), Teil 1
Unterrichtsmaterialien
- Live DVD
- https://learning.lpi.org/pdfstore/LPI-Learning-Material-101-500-de.pdf Andere Sprachen
- https://learning.lpi.org/pdfstore/LPI-Learning-Material-102-500-de.pdf Andere Sprachen
- Berliner_Straßenverzeichnis.txt
Folien
Installation Hyper-V
... und bei der Gelegenheit auch WSL.
Windows-Server
Einrichtung Hyper-V VM
Maschine Erstellen
- Name "Live" oder so (eigentlich egal)
- Generation 2 (nicht egal!)
- 4096 MB Arbeitsspeicher (2048 reichen eigentlich auch)
- Festplatte ist erstmal egal
- Live-Medium live-dvd.iso (wie oben)
Zusätzliche Konfiguration
- Rechtsklick auf "Live" → Einstellungen
- Prozessor: CPU-Kerne nach Bedarf (z.B. 4)
- Arbeitsspeicher: kein dynamischer Arbeitsspeicher
- Sicherheit: Sicheren Start deaktivieren (wichtig!)
Aufgabe Dateipfade
Benutzt ls um folgende Ausgabe anzuzeigen:
-r--r--r-- 1 root root 12M 17. Nov 11:30 /boot/vmlinuz
-r--r--r-- 1 root root 12M 17. Nov 11:30 vmlinuz
-r--r--r-- 1 root root 12101568 17. Nov 11:30 ../boot/vmlinuz
-r--r--r-- 1 root root 12M 17. Nov 11:30 ../vmlinuz
^- Größe beachten ^- Pfad beachten
Antwort wieder als Screenshot im Privatchat
Hiniweis:
- Absolute Pfade beginnen immer mit einem
/. - Relative Pfade beginnen niemals mit
/. - Relative Pfade gelten relativ zum Arbeitsverzeichnis.
- Das Arbeitsverzeichnis wechselt man mit
cd.
Hinweis: Es gibt mehrere Dateien namens vmlinuz im System. Diese sehen aber unterschiedlich aus und alle Beispiele hier zeigen die selbe Datei.
Zusatz: Sorge dafür, dass alle vier Zeilen direkt untereinander stehen.
Dateisysteme
Aufgabe Dateien und Ordner
Mit dem Kommando tree kann man Dateien in einer Baumansicht anzeigen.
Erstelle folgenden Ordnerbaum. Ortsnamen sind Ordner, Bahnhöfe sind Dateien.
~$ tree -C DE/
DE/
├── Berlin
│ ├── Berlin Alexanderplatz
│ ├── Berlin Friedrichstraße
│ ├── Berlin Ostbahnhof
│ ├── Berlin Ostkreuz
│ └── Betriebsbahnhof Rummelsburg
└── Brandenburg
├── Brand Tropical Island
├── Cottbus
│ ├── Cottbus Hbf
│ ├── Cottbus-Merzdorf
│ ├── Cottbus-Sandow
│ └── Cottbus-Wilmersdorf Nord
├── Lübbenau (Spreewald)
├── Lübben (Spreewald)
├── Raddusch
└── Vetschau
4 directories, 14 files
Schickt mir am Ende via Teams einen Screenshot per Privatnachricht.
Hinweis: Benötigte Kommandos sind touch und mkdir. Nutzt cd, um weniger Schreibarbeit zu haben. Wenn ihr euch vertippt, müsst ihr auch rm, rmdir, oder mv nutzen.
Hinweis: Nicht nur Leerzeichen müssen besonders behandelt werden ;-)
Zusatz
Man kann den ganzen Ordnerbaum mit zwei Befehlen erstellen. Postet mir die Befehlszeilen.
Manuelle Installation
Teil 1, Freitag 28. Nov.
~# fdisk /dev/sda
: g
: n
> 1
> 2048
> +64M
: n
> 2
> (enter)
> +20G
: n
> 3
> (enter)
> -8G
: n
> 4
> (enter)
> (enter)
: t
> 1
> 1
: w
~# mkfs.vfat -F32 -n SYSTEM /dev/sda1
~# mkfs.ext3 -L Debian /dev/sda2
~# mkfs.btrfs -L home /dev/sda3
~# mkswap -L SWAP /dev/sda4
~# mount /dev/sda1 /mnt
~# debootstrap --variant=minbase trixie /mnt
~# mount -o rbind /dev /mnt/dev
~# mount -o rbind /proc /mnt/proc
~# mount -o rbind /sys /mnt/sys
~# chroot /mnt
~# apt-get install --no-install-recommends grub-efi network-manager init nano linux-image-amd64
~# mkdir /boot/efi
~# mount /dev/sda1 /boot/efi
~# grub-install
~# update-grub
Root-Passwort fixen via GRUB-"Hack"
- Im grub-Menü
edrücken in der
linux ...-Zeilequietersetzen durchinit=/bin/bash- Amerikanische Tastatur (muhahaha)
F10zum durchbooten- → Prozess
1wird eine bash als root-User (win!) - → Filesystem ist aber readonly :-(
~# mount -o remount,rw /~# passwd
...~# mount -o remount,ro /
/etc/fstab erzeugen mit nano
# Quelle Mountpunkt Typ Optionen Dump/Pass
/dev/sda2 / ext4 rw 0 0
/dev/sda3 /home btrfs defaults 0 0
/dev/sda1 /boot/efi vfat ro,umask=0077 0 0
UUID=... none swap sw 0 0
Teil 2, Dienstag, 2. Dez. (Legacy-Boot)
~# fdisk /dev/sda
: o
: n
> p
> 1
> 2048
> -8G
: n
> p
> 2
> (enter)
> (enter)
: w
~# mkfs.btrfs /dev/sda1
~# mkswap /dev/sda2
~# mount /dev/sda1 /mnt
~# btrfs subvolume create /mnt/trixie
~# btrfs sub cre /mnt/home
~# debootstrap --variant=minbase trixie /mnt/trixie
~# umount /mnt
~# mount -o subvol=trixie /dev/sda1 /mnt
~# mount -o rbind /dev /mnt/dev
~# mount -o rbind /proc /mnt/proc
~# mount -o rbind /sys /mnt/sys
~# chroot /mnt
~# apt-get install --no-install-recommends grub-pc net-tools ifupdown busybox-static nano vim isc-dhcp-client iputils-ping linux-image-amd64 init systemd-
~# grub-install /dev/sda
~# update-grub
~# passwd
...
-> REBOOT
Aufgabe Pipelines
überfliegt die man-pages zu den Mini-Pipeline-Programmen
wc, grep, sort, uniq, cut, tr
Frage 1:
Wie viele verschiedene Straßen- u. Platznamen gibt es in Berlin?
Hinweis: Es gibt 13171 Einträge im Straßenverzeichnis. Hier kommen einige Straßen jedoch mehrfach vor, wenn sie durch mehrere Bezirke gehen.
Antwort via Teams-Privatnachricht.
Zusatz: Wie kann man genau die Einträge auflisten, die mehrfach vorkommen?
Frage 2:
Wie viele verschiedene Stadtteile gibt es laut Liste in Berlin.
Task-Switching und Speicherschutz (Multitasking)
Aufgabe Reguläre Ausdrücke
Geht die Lektionen auf https://regexone.com durch.
Hinweis: beachtet den Erklärtext. Es geht darum die Muster mit den jeweils angegeben Techniken zu finden, nicht nur irgendwie.
Zusatz: Versucht die selben Suchmuster im Programm grep nachzuvollziehen. Beachtet, dass dort das Suchmuster als Argument, und der Suchtext als "Eingabedatenstrom" übergeben werden.
Hinweis: Die Regex-Syntax von der Webseite entspricht grep -P. Nutzt außerdem grep --color=auto -P ....
Aufgabe Netzwerk
Stellt sicher, dass ihr auf einem Rechner im Schulungsraum arbeitet.
Verbindet euch mit nc/netcat/ncat zu 10.0.9.104 Port 1024.
Schickt mir einen Screenshot des Textes, der euch entgegen kommt.
Zusatz: Schaut in der man-Page zu ncat nach, wie ihr den augehenden Port bestimmen könnt. Verbindet euch von Port 2048 aus.
Hinweis: Das Programm auf dem Server ist
~$ ncat -vklp 1024 0.0.0.0 -c 'cat "Text.txt"'
Aufgabe TMUX
Benutzt tmux um Text vom Terminal zu kopieren.
Auf dem Dozentenrechner (ssh user@10.0.9.104) liegt eine Datei namens "ソニー株式会社" (der Name der Firma Sony). Benutzt die Kopieren-und-Einfügen-Funktion von tmux um den Dateinamen zu Kopieren und jeweils eine Datei namens "ソニー株式会社-NAME" (mit eurem Namen) anzulegen.
Strg+b[→ zum Text scrollenStrg+SPACE→ Text markierenAlt+w→ kopiert den TextStrg+b]→ fügt den Text ein
Hinweis: Benutze dazu eine eigene tmux-Session → Strg+b d (um die gemeinsame Session zu verlassen), tmux (ohne Argument) starten.
WSL - Windows Subsystem for Linux
\> wsl --update
\> wsl --install -d debian
\> wsl --set-version debian 2
\> wsl --list -v
-> sollte Debian in WSLv2 listen
\> wsl
-> Startet die Linux-Shell
~$ sudo apt-get update
~$ sudo apt-get install pciutils usbutils psutils psmisc net-tools x11-apps kcalc
^^ für die Beispile, die wir hier fahren
Logical Volume Manager (LVM)
Aufgabe VIM
Startet im Terminal das Programm vimtutor und geht das Tutorial durch.
Zusatz (einfach):
- Probiert den vi-Modus in
kateaus.
Zusatz (Advanced!):
- Wie kann man eigentlich automatisch Klammern schließen lassen?
Wie kann ich Zeilennummern einblenden
- in roter Farbe ;-)
- Wie kann man in einem Shellscript IF-Bedingungen einklappen
Hinweis: vergesst nicht, Pause zu machen.








