[[start|zurück]] ====== Linux – Grundlagen (Kernel, Distributionen, Shell, Rechte, Paketverwaltung) ====== Linux ist ein freies, offenes Betriebssystem, das in Servern, Containern, Routern, Android-Smartphones, TV-Geräten, Clustern und Supercomputern verwendet wird. Diese Seite erklärt: * Kernel & Distributionen * Dateisystemstruktur * Shell & Befehle * Benutzer & Gruppen * Rechte (chmod, chown) * Dienste (systemd) * Paketmanagement * Logging * Netzwerkgrundlagen --- ====== 1. Was ist Linux? ====== Linux besteht aus zwei Teilen: * **Kernel** – der Kern des Systems (Treiber, Prozesse, Speicherverwaltung) * **Distribution** – Kernel + Tools + Paketverwaltung + Desktop/Server Der Kernel ist überall ähnlich, die Distribution bestimmt: * komfort oder minimal * Paketmanager (apt, yum, pacman) * Standardwerkzeuge * Desktopumgebung * Zweck (Server, Desktop, Spezialgeräte) --- ====== 2. Wichtige Linux-Distributionen ====== ===== Debian ===== * sehr stabil * ideal für Server * Grundlage von Ubuntu * bei dir im HomeLab überall im Einsatz ===== Ubuntu ===== * einsteigerfreundlich * häufig auf Desktops & Cloud ===== CentOS Stream / RHEL / Rocky ===== * Enterprise-Distribution * stabil, für Firmenumgebungen ===== Arch Linux ===== * Rolling Release * sehr aktuell * für Fortgeschrittene ===== Alpine Linux ===== * extrem leicht * ideal für Container (Docker-Images) --- ====== 3. Linux-Dateisystemstruktur ====== Linux besitzt eine standardisierte Verzeichnisstruktur (FHS – Filesystem Hierarchy Standard): / ├── bin → Basisbefehle (ls, cp, mv) ├── sbin → Systembefehle (fsck, reboot) ├── etc → Konfigurationsdateien ├── usr → Programme & Libraries ├── var → Logs, Datenbanken, Mail ├── home → Benutzerverzeichnisse ├── root → root Benutzerverzeichnis ├── opt → Zusatzsoftware ├── lib → Bibliotheken └── tmp → temporäre Dateien Wichtig: * alles ist Datei (auch Hardware → /dev) --- ====== 4. Shell & Terminal ====== Die Shell ist die Benutzeroberfläche im Textmodus. Standard-Shell: **bash** Wichtige Befehle: ===== Navigation ===== ls → Verzeichnis anzeigen cd → wechseln pwd → aktuelles Verzeichnis anzeigen ===== Dateien ===== cp → kopieren mv → verschieben/umbenennen rm → löschen mkdir → Ordner erstellen touch → Datei erstellen ===== Informationen ===== top → Prozesse ansehen df -h → Speicherplatz free -h → RAM uname -a → Kernel-Version ===== Netzwerk ===== ip addr → IP-Adressen ip route → Routing ss -tulpen → offene Ports ping → Verbindung testen --- ====== 5. Benutzer & Gruppen ====== Linux ist strikt multi-user-fähig. Benutzer anzeigen: cat /etc/passwd Gruppen anzeigen: cat /etc/group wichtige Befehle: useradd benutzer passwd benutzer groupadd gruppe ===== root ===== * Superuser * alle Rechte * vorsichtig verwenden ===== sudo ===== Erlaubt temporäre root-Rechte → sicherer Beispiel: sudo apt update --- ====== 6. Dateirechte unter Linux ====== Linux kennt drei Rechteebenen: * **User** * **Group** * **Others** und drei Arten von Rechten: * r = read * w = write * x = execute Format: -rwxr-x--- Zahlenform (Oktal): * 7 = rwx * 5 = r-x * 4 = r-- Beispiele: chmod 755 script.sh chmod 640 config.txt chown benutzer:gruppe datei.txt --- ====== 7. systemd & Dienste ====== systemd ist das Init-System moderner Distributionen. Es startet Dienste, überwacht sie und organisiert Boot-Prozesse. Wichtige Befehle: systemctl start dienst systemctl stop dienst systemctl restart dienst systemctl enable dienst systemctl status dienst journalctl -u dienst journalctl zeigt Logs: journalctl -xe --- ====== 8. Paketverwaltung ====== Linux nutzt Paketmanager, um Software zu installieren. ===== Debian / Ubuntu ===== apt update apt upgrade apt install paket apt remove paket ===== RHEL / CentOS / Rocky ===== dnf install paket ===== Arch ===== pacman -S paket ===== Alpine ===== apk add paket --- ====== 9. Prozesse unter Linux ====== Alles läuft als Prozess. Prozesse anzeigen: ps aux top htop (optional) Prozess beenden: kill PID kill -9 PID --- ====== 10. Logging unter Linux ====== Logs liegen unter: /var/log Beispiele: * syslog (Systemmeldungen) * auth.log (Loginversuche) * dmesg (Kernelmeldungen) * journalctl (systemd-Logs) --- ====== 11. Netzwerk unter Linux ====== IP anzeigen: ip a Gateway: ip r DNS: cat /etc/resolv.conf Ports: ss -tulpen Firewall: * ufw * iptables * nftables --- ====== 12. Best Practices ====== * root möglichst nicht verwenden * sudo nutzen * Backups /etc nicht vergessen * SSH härten (Schlüsselauthentifizierung) * Updates regelmäßig einspielen * Dienste minimieren * Logs prüfen --- ====== Zusammenfassung ====== * Linux besteht aus Kernel + Distribution * Shell ist das zentrale Werkzeug * Benutzerrechte sind strikt geregelt * systemd verwaltet Dienste * Paketmanager installieren Software * Logs & Netzwerkwerkzeuge sind essenziell für die Administration