Home Assistant – Alpine Linux

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
Erläuterung der Dateirechte für Besitzer, Gruppen und andere im rwx Schema
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!

Wenn Du Fragen zu dieser Anleitung hast, dann schau doch einfach mal bei uns im vorbei!