Ziel
Diese Anleitung zeigt Dir wie Du im Terminal von Home Assistant Systembefehle ausführen kannst.
Voraussetzung
Du hast Home Assistant installiert. In Home Assistant ist das Terminal installiert.
Vorbereitung
Zunächst brauchst Du ein Backup Deines Home Assistant falls Du durch eine fehlerhafte Eingabe das System zum Absturz bringst.
Allgemeines zu Alpine
Alpine Linux ist eine sehr kleine, auf Sicherheit und Ressourceneffizienz ausgelegte Linux-Distribution. Sie basiert auf der C-Bibliothek musl (anstatt GLIBC) und BusyBox, sowie dem Init-System OpenRC (anstatt systemd). Dies führt zu einer Basis-Image-Größe von nur etwa 5 MB. Damit eignet sie sich ideal für Docker-Container, eingebettete Systeme und virtuelle Maschinen. Dank gehärtetem Kernel, Position-Independent Executables (PIE) und schnellem apk-Paketmanager ist Alpine sicher und performant.
Paketverwaltung
| Paket installieren | apk add nano | Das Beispiel installiert den nano Text-Editor |
| Pakete auflisten | apk info | Listet alle installierten Pakete auf. Einschränkung mit ergänztem "name" möglich |
| Pakete auflisten | apk search | Listet alle verfügbaren Pakete auf. Einschränkung mit ergänztem "name" möglich. |
| Pakete entfernen | apk del nano | Das Beispiel löscht den nano Text-Editor |
| Paket-Index aktualisieren | apk update | Aktualisiert den Paket-Index / Software-Repository |
| Pakete aktualisieren / upgraden | apk upgrade | Aktualisiert alle installierten Pakete |
Service- / Dienste-Verwaltung
| Dienst hinzufügen | rc-update add docker | Fügt den Docker Dienst zum System hinzu |
| Alle Dienste anzeigen | rc-update -v show | Listet alle installierten Diensten auf. |
| System stoppen | halt | |
| System ausschalten | poweroff | Schaltet das System aus |
| System neu starten | reboot | Startet das System neu |
Dateisystem Zugriff
| Verzeichnis wechseln | cd Verzeichnisname |
| Eine Verzeichnisebene nach oben wechseln | cd .. |
| In das Home Verzeichnis wechseln | cd ~ |
| Inhalt eines Verzeichnisses anzeigen | ls ODER ls -lah (für mehr Details) |
| Datei umbenennen | mv Dateiname1 Dateiname2 |
| Datei kopieren | cp Dateiname1 /pfad/Ziel/Verzeichnis/ |
| Datei verschieben | mv Dateiname1 /pfad/Ziel/Verzeichnis/ |
| Verzeichnis inklusive Unterverzeichnissen und Dateien löschen | rm -rf /pfad/Ziel/Verzeichnis |
| Datei suchen explizit oder eine Zeichenfolge die Teil des Namens ist | find / -name Dateiname ODER find / -name "*Zeichenfolge*" |
| Inhalt einer Datei anzeigen | cat Dateiname |
| Speicherbelegung im Dateisystem anzeigen | df -h |
Netzwerkverwaltung
| Informationen zu den Netzwerkschnittstellen anzeigen | ifconfig -a |
| Netzwerk-Routen anzeigen | route -n |
Systemverwaltung
| Betriebssystemversion anzeigen | cat /etc/os-release |
| CPU Informationen anzeigen | cat /proc/cpuinfo |
Konfigurationsdateien und ihre Aufgabe
| Apache httpd Konfiguration | /etc/apache2/ |
| Mountpunkte bei Systemstart | /etc/fstab |
| Liste aller bekannten Geräte im Netzwerk im System | /etc/hosts |
| Name des Systems | /etc/hostname |
| Adressen für die DNS Namensauflösung | /etc/resolv.conf |
Dateirechte

Dateityp:
- = Normale Datei / d = Verzeichnis / l = Link / b = Block / s = Socket
Die Dateirechte werden mit dem Kommando chmod verändert, dabei werden die Rechte als Ziffern dargestellt und die Berechtigungen addiert.
Z.B. chmod 764 Dateiname: Der Besitzer darf lesen/schreiben/ausführen, die Gruppe darf lesen/schreiben alle anderen fürfen nur lesen (d rwx rw- r--).
Bei einem Verzeichnis steht das x für die Erlaubnis den Inhalt anzuzeigen.
cmod +x Dateiname macht die Datei für alle ausführbar. (Analog gibt es -x, +r, -r, +w, -w.)
Der Besitzer einer Datei/eines Vezeichnisses wird geändert mit:
chmod Besitzer:Gruppe Dateiname
Referenz:
Alpine Package Keeper (apk)
---
Vielen Dank an den User Loxley für diese Anleitung!