Vor einer Neuinstallation von Linux macht es Sinn die Festplatte zu formatieren, weil z.B. Ubuntu es einem nicht erlaubt denselben Volume Group Namen zu verwenden, welcher das vorherige System schon hatte. Dabei muss man noch nicht einmal zeitaufwändig die ganze Festplatte löschen; es reicht auch schon, wenn man nur die Partitionstabelle löscht. Und das geht sogar bei laufendem System.
Continue reading Linux Partitionstabelle löschenSicherstellen dass ein Script nur einmal läuft
Bei Shell Scripts will man oft verhindern, dass das Script zweifach aufgerufen werden kann und dann parallel läuft, etwa bei einem Backup Prozess.
Die gängigen Methoden, wie das prüfen ob der Prozess läuft oder anlegen einer PID Datei sind nicht die besten. Es gibt eine weitaus elegantere- und technisch bessere Methode.
Continue reading Sicherstellen dass ein Script nur einmal läuftSerielle Konsole (RS232) öffnen
Es gibt teilweise noch Geräte, wie die PC Engines APU2, die keine Grafikschnittstelle haben und nur via serielle Konsole drauf zugegriffen werden kann, beispielsweise mittels einem USB zu RS232 Adpaters.
Unter Windows verwendet man dafür das Programm PuTTY, unter Linux und MacOS geht das mit screen
.
ansible: object has no attribute ‚cert_file‘
Wenn man in ansible eine Task wie etwa apt_key
oder uri
ausführt failed das mit der Meldung:
An unknown error occurred: HTTPSConnection.__init__() got an unexpected keyword argument 'cert_file'"
Schuld daran ist eine inkompatible neuere Python Version zu älteren Ansible Versionen.
Da in älteren Ansible Versionen beim URL Handling das das Python Attribut cert_file
hardcoded ist, welches ab Python 3.12 entfernt wurde, kommt hier der Fehler. Folglich lassen sich diese Ansible Versionen mit Python >= 3.12 nicht mehr nutzen.
proxyconnect tcp: dial tcp: lookup $https_proxy: no such host
Diese Meldung die in diesem Fall von terraform kam ist nicht leicht verständlich, die Lösung aber einfach.
Continue reading proxyconnect tcp: dial tcp: lookup $https_proxy: no such hostUniFi: Erweiterte Konsole
Wenn man sich per SSH auf UniFi Geräte (z.B. einen Switch) verbindet, landet man in einer eingeschränkten Shell. Um die volle CLI zu nutzen, muss man sich per telnet auf den host verbinden.
Auf diese Möglichkeit wird meist nicht hingewiesen, weshalb diese Methode grösstenteils unbekannt ist.
Continue reading UniFi: Erweiterte KonsoleBash: Finde Ausdrücke die in keine Datei vorkommen
Wenn man z.B. bei seinem ansible playbooks am umbauen und aufräumen ist, steht nachher die Befürchtung, dass irgendwo noch Ausdrücke/Variablen vorkommen, welcher aber nicht mehr benötigt werden.
Also habe ich ChatGPT gefragt, mir eine Lösung dazu zu entwerfen und herausgekommen ist dieses schöne Shell Script. 😁
Continue reading Bash: Finde Ausdrücke die in keine Datei vorkommenBash Scripting Basics
Ansible: Zugriff auf Element in einer Liste von Verzeichnissen
Angenommen man hat eine folgende List of Dictionaries:
my_users:
- name: "user1"
password: "password!1"
home: "/home/user1"
und man möchte an anderer Stelle das Home-Verzeichnis von „user1“ auslesen, dann geht das mit den selectattr
und map
Filtern.
k8s: kube-proxy und weave-net in CrashLoopBackOff
Nach der Installation von kubernetes mit containerd als container runtime sind sowohl der kube-proxy
als auch weave-net
(oder kube-flannelI
im Status CrashLoopBackOff
, was heisst die Container stürzen gleich nach dem starten wieder ab.
Grund ist, dass containerd standarmässig nicht systemd
als Cgroup
nimmt, was bei den meisten Linux Distributionen und kubernetes der Standard ist.