Problematische USB-Sticks unter Windows formatieren

Manchmal kann ein USB-Stick unter Windows nicht mit den grafischen Bordmitteln formatiert werden. Dies kann auftreten, wenn auf dem USB-Stick mehrere Partitionen vorhanden sind. In einem solchen Fall kann auf die Kommandozeile und das Werkzeug diskpart zurückgegriffen werden.

Die Kommandozeile unter Windows

Mithilfe dieses Werkzeuges können bestehende Partitionen gelöscht und der USB-Stick neu initialisiert werden. Dazu muss die Kommandozeile gestartet werden und der Befehl diskpart eingegeben werden. Anschließend müssen die vorhandenen Datenträger ermittelt werden:

list disk

Das Kommando listet dabei die angeschlossenen Datenträger auf:

  Datenträger ###  Status         Größe    Frei     Dyn  GPT
  ---------------  -------------  -------  -------  ---  ---
  Datenträger 0    Online         3953 GB    12 MB        *
  Datenträger 1    Online         7450 MB  3263 MB        *

Mithilfe der Auflistung kann der korrekte Datenträger ausgewählt werden:

select disk 1

Im letzten Schritt muss der Datenträger bereinigt und mit einer neuen Partition versehen werden:

clean
create partition primary

Nachdem der Vorgang abgeschlossen wurde, kann diskpart mittels exit verlassen werden und der Stick normal formatiert werden.

EPC-QR-Code mittels qrencode erstellen

Vor etlichen Jahren hatte ich mit qrencode ein Werkzeug vorgestellt, um QR-Codes auf der Kommandozeile zu generieren. Neben normalen QR-Code können mit dem Werkzeug auch andere Codes wie EPC-QR-Codes erstellt werden. Dazu muss im ersten Schritt eine Textdatei erzeugt und entsprechend befüllt werden:

BCD
001
1
SCT
BIC12345678
Ada Lovelace
DE07123412341234123412
EUR3.14


Verwendungszweck

Der Wert in der ersten Zeile ist der Service Tag, welcher immer BCD ist und in der nächsten Zeile von einer Versionsnummer ergänzt wird. Anschließend folgt die Zeichenkodierung, in diesem Fall ist es UTF-8. Daraufhin folgt die Identifikation für den SEPA Credit Transfer, anschließend die BIC und der Name des Zahlungsempfängers. Mit dem Zahlungsbeitrag folgen die optionalen Werte, welche bei Bedarf ausgelassen werden dürfen, indem eine Leerzeile genutzt wird.

Der generierte EPC-QR-Code

Anschließend kann aus der Datei der entsprechende QR-Code erstellt werden:

cat epc.txt | qrencode -o epc.png -l M -s 24

Gedacht sind diese Codes, um Überweisung auf mobilen Endgeräten schnell vorzunehmen, indem die entsprechenden Daten über den QR-Code eingelesen werden.

WordPress CLI installieren und nutzen

Für das Content-Management-System WordPress existiert neben dem eigentlichen System auch eine separate Kommandozeile. Die hört auf den Namen WP-CLI und muss im ersten Schritt installiert werden:

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar
mv wp-cli.phar /usr/local/bin/wp

Damit ist die WP-CLI installiert und kann über das Kommando:

wp --info

getestet werden. Um WP-CLI aktuell zu halten, kann das Kommando:

wp cli update

genutzt werden.

Grundsätzlich sollten die Befehle der WP-CLI im Kontext des Webserver-Nutzers ausgeführt werden. In den meisten Fällen ist dies www-data. Eine Ausnahme bilden die Befehle zur Installation und zur Aktualisierung. Wird versucht ein WP-CLI-Befehl unter dem root-Nutzer auszuführen, so erhält der Nutzer folgende Meldung:

Error: YIKES! It looks like you’re running this as root. You probably meant to run this as the user that your WordPress installation exists under.

If you REALLY mean to run this as root, we won’t stop you, but just bear in mind that any code on this site will then have full control of your server, making it quite DANGEROUS.

If you’d like to continue as root, please run this again, adding this flag: –allow-root

If you’d like to run it as the user that this site is under, you can run the following to become the respective user:

sudo -u USER -i — wp

Per sudo mit dem korrekten Nutzer ausgeführt funktioniert das Ganze:

sudo -u www-data wp transient delete --all
Success: 163 transients deleted from the database.

Mittels der WP-CLI lassen sich eine Reihe von Aufgaben bewerkstelligen. So verfügt die CLI über Methoden, um Kommentare zu erzeugen und zu verwalten. Mit dem Befehl:

wp comment delete $(wp comment list --status=spam --format=ids)

können z.B. alle Spam-Kommentare gelöscht werden. Über den core-Namespace können unter anderem WordPress-Updates vorgenommen werden:

wp core update

Vor allem im Zusammenhang mit einer Automation spielt WP-CLI seine Stärken aus. So können neue WordPress-Installationen angelegt werden und entsprechende Plugins automatisch installiert werden. In der Entwickler-Dokumentation von WordPress findet sich eine Referenz der Befehle der WP-CLI.

Entwickelt wird WP-CLI auf Github. Lizenziert ist das CLI unter der MIT-Lizenz und damit freie Software. Die offizielle Seite des Projektes ist unter wp-cli.org zu finden.

Software unter Windows über die Kommandozeile installieren

Linux hat seinen Paketmanager, macOS hat Homebrew – unter Windows sieht es etwas mau aus, was die Installation von Applikationen auf der Kommandozeile angeht. Mittels des Werkzeuges Scoop kann dies allerdings geändert werden. Nach der einmaligen Installation von Scoop können über dieses Werkzeug Applikationen über die Kommandozeile installiert werden:

scoop install curl

Die Applikationen werden im Benutzerverzeichnis des angemeldeten Nutzers installiert, sodass keine administrative Berechtigungen für die Installationen benötigt werden.

scoop.sh

Die offizielle Seite des Projektes ist unter scoop.sh zu finden. Der Quelltext von Scoop ist auf GitHub zu finden und Freie Software. Er ist unter der The Unlicense-Lizenz lizenziert.

Aktuelle Prozesse einer MariaDB-Installation anzeigen

Manchmal ist es interessant in einer MariaDB-Installation hinter die Fassade zu schauen. So kann ermittelt werden, welche Prozesse und Queries aktuell abgearbeitet werden. Um diese Liste einzusehen, sollte die Kommandozeile der MariaDB-Installation geöffnet werden:

mariadb

Anschließend kann der Befehl show processlist eingegeben werden:

MariaDB [(none)]> show processlist;

Die Ausgabe enthält die entsprechenden Nutzer und die aktuell ausgeführten Queries:

+--------+-------------+-----------+------+---------+------+--------------------------+------------------+----------+
| Id     | User        | Host      | db   | Command | Time | State                    | Info             | Progress |
+--------+-------------+-----------+------+---------+------+--------------------------+------------------+----------+
|      1 | system user |           | NULL | Daemon  | NULL | InnoDB purge coordinator | NULL             |    0.000 |
|      2 | system user |           | NULL | Daemon  | NULL | InnoDB purge worker      | NULL             |    0.000 |
|      3 | system user |           | NULL | Daemon  | NULL | InnoDB purge worker      | NULL             |    0.000 |
|      4 | system user |           | NULL | Daemon  | NULL | InnoDB purge worker      | NULL             |    0.000 |
|      5 | system user |           | NULL | Daemon  | NULL | InnoDB shutdown handler  | NULL             |    0.000 |
| 179949 | root        | localhost | NULL | Query   |    0 | Init                     | show processlist |    0.000 |
+--------+-------------+-----------+------+---------+------+--------------------------+------------------+----------+