Umgebungsvariablen unter Windows in einer Datei speichern

Unter Windows gibt es eine Reihe von Umgebungsvariablen. Einige davon werden für den Nutzer gesetzt, andere sind systemweit gesetzt. Möchte man diese Umgebungsvariablen auf einem neuen Rechner ebenfalls einrichten, so wäre es praktisch die gesetzten Umgebungsvariablen zu exportieren.

In der Kommandozeile muss der Befehl eingegeben werden.

Möglich ist dies mit folgendem Kommando, welches in der Kommandozeile eingegeben werden muss:

SET > enviroment.txt

Der Befehl SET gibt die gesetzten Umgebungsvariablen aus, welche anschließend in der Datei enviroment.txt gespeichert werden. Pro Zeile findet man in der Datei jeweils eine Umgebungsvariable und den zugeordneten Wert.

Probleme mit dem cryptsetup-Workarround

Vor einigen Monaten veröffentlichte ich eine Anleitung zur Verschlüsselung eines Ubuntu-Servers. Da es einen Bug im cryptsetup gab, wurde in dem Artikel ein Workarround beschrieben. Mittlerweile wurde das cryptsetup-Paket aktualisiert und der entsprechende Bug gefixt. Allerdings führt dies zu Problemen mit dem Workarround. Möchte man den Server nun entsperren, erhält man folgende Meldung:

$ cryptroot-unlock
/bin/cryptroot-unlock: line 192: 2: parameter not set
/bin/cryptroot-unlock: line 192: 2: parameter not set
/bin/cryptroot-unlock: line 192: 2: parameter not set

Gelöst werden kann dieses Problem in dem folgendes Kommando genutzt wird:

sed 's/print $1, $5/print $1, $3/' /bin/cryptroot-unlock > /tmp/cryptroot-unlock; ash /tmp/cryptroot-unlock

Damit lässt sich der Server entsperren. Im zweiten Schritt kann nun der Workarround entfernt werden und das initramfs aktualisiert werden:

rm /etc/initramfs-tools/hooks/cryptsetup-fix.sh 
update-initramfs -u

Nach einem Neustart des Systems, kann dieses nun wie folgt entsperrt werden:

BusyBox v1.27.2 (Ubuntu 1:1.27.2-2ubuntu3) built-in shell (ash)
Enter 'help' for a list of built-in commands.

# cryptroot-unlock 
Please unlock disk cryptroot (/dev/md1): 
cryptsetup: cryptroot set up successfully
# exit

Anschließend wird das System hochgefahren und der Server steht zur Verfügung.

Plugins in der Custom Firmware der PSP installieren

Sobald auf einer Playstation Portable eine Custom Firmware installiert wurde, kann diese mit Hilfe von Plugins erweitert werden. Es existiert eine Fülle von Plugins für die Playstation Portable. Die meisten Plugins sind für die Version 6.60 der Firmware entwickelt worden. Allerdings laufen Sie meist ohne Probleme mit der letzten Version 6.61. Wenn dies nicht der Fall ist, kann man sich mit einem Plugin behelfen. Dieses sorgt dafür das für die Version 6.60 entwickelte Plugins auch unter der Version 6.61 laufen. Ich persönlich nutze zwei Plugins:

  • PRXShot
  • Game Categories Lite

Das erste Plugin dient dazu Screenshots auf der Playstation Portable zu machen, während das zweite Plugin eine Möglichkeit bietet die installierten Anwendungen zu kategorisieren. Nachdem man ein solches Plugin heruntergeladen hat, stellt sich allerdings die Frage wie dieses installiert wird. Die Plugins selber bestehen meist aus einer PRX-Datei oder einem Ordner mit einer solchen Datei und zusätzlichen Daten. Diese Datei bzw. der Ordner muss in das Verzeichnis SEPLUGINS auf der PSP bzw. dem Memory Stick kopiert werden. Anschließend muss festgelegt werden in welche Kontext das Plugins aktiv sein soll. Die Playstation Portable kennt dabei folgende Kontexte:

  • GAME
  • GAME150
  • POPS
  • VSH

Bei GAME wird das Plugin aktiviert, sobald ein PSP-Spiel gestartet wurde. GAME150 ist der Kontext für Homebrew-Software. Der POPS-Kontext kommt zum tragen wenn ein Playstation 1 gestartet wird. Der letzte Kontext mit dem Namen VSH dürften den meisten Leuten unter dem Namen XMB bekannt sein. Es handelt sich um das Menü der Playstation Portable. Um zu definieren in welchem Kontext das Plugin laufen soll, müssen im SEPLUGINS-Verzeichnis eine Reihe von Dateien angelegt werden:

GAME.TXT
GAME150.TXT
POPS.TXT
VSH.TXT

Soll nun ein Plugin in entsprechenden Kontext aktiv sein, so muss dieses in der dazugehörigen Datei aktiviert werden. Für das Plugin PRXShot würde dies z.B. so aussehen:

ms0:/seplugins/prxshot/prxshot.prx 1

Jedes Plugin kann in mehreren Kontexten aktiviert werden, allerdings ist darauf zu achten, das nicht jedes Plugin in jedem Kontext läuft. Meist ist dies aber in der Dokumentation des entsprechenden Plugins beschrieben. Sobald das Plugin aktiviert ist, kann es in allen Kontexten, für die es aktiviert wurde, genutzt werden.

Konvertierung der Map von Minecraft 1.12 auf 1.13 durchführen

Vor einigen Wochen erschien Version 1.13 des Open-Word-Spieles Minecraft. Im Zuge dieser Aktualisierung wurden unter anderem die Daten der Blöcke verändert. Beim Erzeugen der Weltkarte über die freie Minecraft-Rendersoftware Mapcrafter traten nach dem Update Probleme auf.

Nur die bereits konvertierten Chunks werden gerendert

Während der Server ohne Probleme lief, wurden in der Karte nur bestimmte Chunks gerendert. Der Grund hierfür war das nur die Chunks in das neue Format der Version 1.13 konvertiert wurden, die von den Spielern auf dem Server besucht worden waren. Alle anderen Chunks lagen noch im Format der Version 1.12 vor. Eine Lösung für dieses Problem schafft der mit 1.13 neu eingeführte Kommandozeilen-Parameter –forceUpgrade des Minecraft-Servers. Wenn man diesen entsprechend startet:

java -Xmx4096M -Xms2048M -jar minecraft_server.jar nogui --forceUpgrade

beginnt der Server alle Chunks in das neue Format zu überführen:

[06:42:34] [Server thread/INFO]: Starting minecraft server version 1.13.1
...
[06:42:34] [Server thread/INFO]: Forcing world upgrade!
[06:42:34] [Server thread/INFO]: Counting chunks...
[06:42:48] [Server thread/INFO]: Upgrading structure data...
[06:42:48] [Server thread/INFO]: 0% completed (0 / 1630135 chunks)...
[06:42:49] [Server thread/INFO]: 0% completed (0 / 1630135 chunks)...
..
[08:52:58] [Server thread/INFO]: 99% completed (1629866 / 1630135 chunks)...
[08:52:59] [Server thread/INFO]: 99% completed (1630017 / 1630135 chunks)...
[08:53:00] [pool-4-thread-1/INFO]: World optimizaton finished after 7812721 ms

Je nach der Größe der eigenen Welt kann dieser Vorgang durchaus einige Stunden in Anspruch nehmen. Nachdem alle Chunks konvertiert wurden, funktioniert das Rendering der Weltkarte wieder wie gewohnt.

Unter macOS alle Dateien eines Verzeichnisses hashen

Für die Überprüfung einiger Dateien unter macOS wollte ich diese mittels SHA1 hashen. Dazu dient das Kommando shasum:

shasum text.txt

Möchte man nun die Hashes aller Dateien eines Verzeichnisses berechnen, so kann man sich folgenden Befehls bedienen:

find . -type f -print0  | xargs -0 shasum

Anschließend erhält man eine Liste der Dateien mit den entsprechenden Hashwerten:

f6b53e378767be11ec05a25bc1be5cd6bd973fc6  ./schema.dxf
d5e5fb854be213410d8f734fee284bb12615349f  ./schema.svg
43ced91a43074bae41b5774bde6e35015ba1ed9c  ./schema.skb
0160e7f2265b51d6c5067a1468aa0cda42bc7e43  ./schema.skp
80b96f10c14b6c9bad809565d4be5c1ddc0c36a1  ./schema1.jpg
b4c9ecdc0cdec4b939049ad5e55164a09c7c6f85  ./schema2.jpg
821b657612029cf127cfb920b1943072ee333e54  ./schema.sh
64d44e1871aaa25cf0a5f34f76979f62be9617d6  ./schema.txt