Tutorial 2: Linux Basics

ASE WS 2023/24

Dieses Dokument ist kein eigenständiges Tutorial sondern unterstützt die Übung. Die grundlegenden Konzepte werden vorgestellt, hilfreiche Links erleichtern die selbständige Vertiefung.

Ziele:

Dieses Tutorial baut auf den Kenntnissen aus dem Shell-Tutorial auf.

Vorbereitung: wir brauchen eine Shell

Wir brauchen heute für die Beispiele eine simple Linux-Shell und ein paar Linux-Programme.

Option 1: Shell auf dem lokalen Rechner öffnen

Option 2: SSH nach Segfault.net

Anmelden über SSH als Nutzer root auf einem 'disposable root server' via segfault.net. Entweder über Putty oder über das ssh-Programm (seit kurzem auch unter Windows verfügbar).

ssh root@segfault.net # Password is 'segfault'

Hinweis: wenn man das Passwort eingibt, werden keine Zeichen angezeigt.

Achtung: Der Server ist nicht sicher - keine vertraulichen Infos/Passwörter dort eintippen

Erster Schritt auf dem Server: Informationen zu Netzwerk-Schnittstellen prophylaktisch in einen Text-Editor kopieren

Zweiter Schritt: tmate ausführen.

Paketmanagement unter Debian/Ubuntu

Weiterführende Methoden:

Pfade und Umgebungsvariablen

(live)

Troubleshooting, Debugging, Logging

Tipp: Terminal zerschossen - willkürliche Zeilenumbrüche, komische Zeichen, etc.?

→ sicherheitshalber Ctrl-C drücken um einen leeren Prompt zu haben (oder q drücken, wenn gerade less/top/… läuft). Dann stty sane<Return> eintippen, um das Terminal auf Standardwerte zurückzusetzen.

System-Werkzeuge

Netzwerk-Tools

Logs

(live) - cat /var/log/... - journalctl -xe

Aufgaben

Wir beschäftigen uns mit verschiedenen Problemen auf https://sadservers.com/

Beispiel:

# Problem: Webserver geht nicht
uptime # Auslastung anschauen
netstat -pan | grep 80 # Lauscht überhaupt ein Server auf Port 80?
...

Best Practices