Durchsuchen nach
Month: März 2019

Kleiner Einblick in Snapshots mit LXC

Kleiner Einblick in Snapshots mit LXC

Mit LXC lassen sich Snapshots von Containers erstellen. Auf diese Weise wird ein gewissen Zustand von dem System abgespeichert. Diesen kann man später nutzen, um damit einen neuen Container zu schaffen, ohne die mühselige Arbeit von Anfang an. In diesem Post will ich zeigen, wie man das mit wenigen LXC-Kommandos erreicht. In diesem Beispiel habe ich schon einen Container namens container1 erstellt und werde ihn nun auch weiterhin verwenden. D.h. überall, wo bei mir container1 steht, solltet ihr euren Containernamen…

Weiterlesen Weiterlesen

Erste Schritte mit LXC

Erste Schritte mit LXC

In diesem Post möchte ich kurz zeigen, wie man mit LXC recht schnell einen ersten Container starten kann. Ich habe hierfür Ubuntu 18.04.2 als Hostsystem gehabt, aber auf anderen System müssten die meisten Kommandos genauso funktionieren. Als erstes müssen wir die entsprechenden Pakete installieren: sudo apt install lxc lxc-templates bridge-utils Nachdem diese Pakete installiert sind, muss geprüft werden, ob alle Einstellungen OK sind. Soweit mir bekannt, kann der folgende Befehl ohne sudo ausgeführt werden. lxc-checkconfig Man müsste nun eine Ausgabe…

Weiterlesen Weiterlesen

lxd auf Ubuntu 18.04.2 LTS installieren

lxd auf Ubuntu 18.04.2 LTS installieren

In diesem Post will ich mit ein paar Stichpunkten beschreiben, wie man lxd auf Ubuntu 18.04.2 LTS installiert. Da es sich bei mir um die Server Version handelt, musste ich am Ende nicht so viel manuell machen. Für die, die nicht wissen was lxd ist: lxd ist eine Software um Container zu verwalten. In diesem Fall um Linux Container. Der erste Schritt besteht also darin, lxd zu installieren: $ sudo apt install lxd Anschließend wird ZFS installiert. Dies ist sinnvoll,…

Weiterlesen Weiterlesen

findstr: Die Zeile darüber ausgeben

findstr: Die Zeile darüber ausgeben

Manchmal hat man Probleme ähnlich wie dieses hier: Man möchte nicht die gesuchte Zeile in einer Datei ausgeben, sondern die Zeile darüber. Und das Ganze soll mit einem Batch-Skript ausgeführt werden. Für dieses Problem habe ich mir einer Testdatei erstellt, die in etwas so aussieht: 123abc234qwe345qwe456abc Alle Zeilen, die über dem gesuchten String abc stehen, sollen ausgegeben werden, also 123456 Das habe ich anschließend in einem Batch-Skript realisiert. Ich hoffe, die Kommentare hierfür sind ausreichend: @echo offSetLocal EnableDelayedExpansionrem set initial…

Weiterlesen Weiterlesen

UCS-2 Kodierung und findstr

UCS-2 Kodierung und findstr

Dateien können verschiedene Kodierungen haben. Das Kommandozeilen-Werkzeug findstr kann in so einem Fall einen gesuchten String in einer Datei nicht finden. Ich hatte eine Datei, die hatte eine UCS-2 Kodierung und beim Aufruf von findstr “abc” utc2.txt kam nichts dabei heraus, obwohl die Textdatei diesen String enthielt. Um den gesuchten String trotzdem zu finden, kann man in so einem Fall auf das SysInternal Tools strings.exe zurückgreifen: strings -nobanner utc2.txt | findstr “abc”

This computer doesn’t have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory

This computer doesn’t have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory

Ich wollte meine ersten Schritte mit minikube auf einer Linux Maschine machen. Diese Maschine war eine virtuelle Maschine, die unter Azure lief. Beim Aufruf von minikube start bekam ich jedoch die Meldung: This computer doesn’t have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory Nach einer Weile kam ich auf eine Lösung. Meine virtuelle Maschine hatte die Größe D2_v2. Laut Dokumentation muss es jedoch eine Maschine der Größe v3 sein: Zur schnellen Information: Alle virtuellen v3-Computer unterstützen geschachtelte Virtualisierung….

Weiterlesen Weiterlesen

CreateProcess failed: The system cannot find the file specified.

CreateProcess failed: The system cannot find the file specified.

Beim Bau der Bibliothek skia unter Windows bekam ich diese Fehlermeldung: [419/2871] copy ../../third_party/externals/icu/common/icudtl.dat icudtl.dat FAILED: icudtl.dat python …/skia/build/skia/gn/cp.py ../../third_party/externals/icu/common/icudtl.dat icudtl.dat CreateProcess failed: The system cannot find the file specified. ninja: fatal: ReadFile: The handle is invalid. Wie es sich herausgestellt hat, lag das Problem darin, dass ninja versucht hat, Python aufzurufen, Python aber nicht gefunden hat. Genauer gesagt, python.exe. Um die python.exe aus den depot_tools aufrufen zu können, muss man vorher erstmal das Skript update_depot_tools.bat aufrufen (wenn man das…

Weiterlesen Weiterlesen

Anmerkungen zu if errorlevel 0

Anmerkungen zu if errorlevel 0

Ab und an sieht man im Internet Batch-Code, bei denen es um die Abfrage geht, ob der Errorlevel 0 oder ungleich 0 ist. Dabei sieht man Code-Zeilen, die in etwa so aussehen: if errorlevel 0 ( …) else ( …) Diese Abfrage ist aber in vielen Fällen falsch. Im Grunde bedeutet sie: Ist der Errorlevel 0 oder größer. D.h. diese Abfrage kommt fast gar nicht in den else-Teil, weil der Errorlevel meist 0 oder größer ist. Außer man hat ein…

Weiterlesen Weiterlesen

mkdirs() gibt false zurück

mkdirs() gibt false zurück

mkdirs() ist in Java eine Funktion, die einen Ordner samt aller Väterordner erstellt, wenn diese noch nicht existieren. Man kann dies mit dem Linuxkommando mkdir -p /path/to/some/dir vergleichen. Wie es sich herausgestellt hat, gibt diese Funktion ein false zurück, selbst wenn sie einen Ordner erfolgreich erstellt hat. Hier ein Java-Beispielcode: import java.io.*;public class MyFirstClass { public static void main(String[] args) { String folderName = “/home/jenkins/a/b”; try { File folder = new File(folderName); if(!folder.mkdirs()) { System.out.println(“Folders created!”); } else { System.out.println(“Failed…

Weiterlesen Weiterlesen