Umstellung des master-Branch auf main-Branches in Forgejo

Der Standard-Branch in Git ist seit einiger Zeit main, anstatt des veralteteten master. Wer Projekte, die Forgejo nutzen, vom Branch master auf main umstellen möchte, muss den Standard-Branch entsprechend anpassen. Im ersten Schritt sollte lokal der main-Branch aus dem master-Branch erzeugt und auf den Server gepusht werden:

git checkout master
git branch -m main
git push -u origin main

Anschließend kann in Forgejo der Standardbranch von master zu main geändert werden. Dies geschieht in den Einstellungen des Repositories unter Branches:

Die Einstellungen des Repository

Nun kann der Branch auf dem Git-Server gelöscht werden:

git push origin --delete master

Ist dies geschehen, kann der lokale Branch ebenfalls gelöscht werden:

git branch -D master

Auf verbleibenden lokalen Repositories kann die Aktualisierung nun wie folgt vorgenommen werden:

git pull
git checkout main
git branch -D master

Speicher unter macOS bereinigen

Vor allem vor einem macOS-Update kann es vorkommen, dass auf den kleineren Speicherkonfigurationen eines Macs der Speicher knapp wird. Neben dem manuellen Ausmisten helfen hierbei auch Tools wie mac-cleanup-py. Das Tool kann über Homebrew installiert werden:

brew install mac-cleanup-py

Nach der Installation kann das Werkzeug über:

sudo mac-cleanup

aus dem Terminal heraus angestartet werden. Beim ersten Aufruf können die Module für die Bereinigung aktiviert werden. Später kann dies mittels:

mac-cleanup -c

wiederholt werden. Soll die Bereinigung ohne nachfragen durchgeführt werden kann der Parameter -f mit angehangen werden:

sudo mac-cleanup -f

Das Tool selbst ist freie Software unter der Apache License in Version 2.

Aktualisierungsskript für Ubuntu-Rechner

Für Ubuntu-Rechner habe ich es mir seit vielen Jahren angewöhnt ein Skript upgrade.sh zu erzeugen, welches installierte Pakete auf den aktuellen Stand bringt:

#!/bin/sh
apt autoremove -y && apt autoclean -y && apt update && apt full-upgrade -y && apt autoremove -y && apt autoclean -y
snap refresh

Bei apt wird autoremove und autoclean vor und nach dem Upgrade aufgerufen, um bei Systemen mit wenig Speicherplatz für möglichst viel freien Platz zu sorgen. Technisch unspektakulär, aber eine zuverlässige kleine Routine, die die Systempflege deutlich erleichtert.

ELV Fibonacci-Uhr unter Linux ansprechen

Bei der ELV Fibonacci-Uhr handelt es sich um einen Bausatz für eine Fibonacci-Uhr. Diese kann über serielle Terminal-Befehle gesteuert werden. Auf der offiziellen Webseite werden allerdings nur Möglichkeiten angeboten das Ganze über Windows zu bewerkstelligen.

Die ELV Fibonacci-Uhr

Damit es unter Linux funktioniert, müssen ein paar kleinere Hürden genommen werden. In dem Gerät steckt ein CP210x-Chip für die serielle Kommunikation. Allerdings wird dieser auf Anhieb unter Linux nicht erkannt. Ein Aufruf von:

dmesg | tail -n 20

zeigt folgendes:

[   99.803450] usb 1-1: new full-speed USB device number 7 using xhci_hcd
[   99.928828] usb 1-1: New USB device found, idVendor=18ef, idProduct=e037, bcdDevice= 1.00
[   99.928865] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[   99.928883] usb 1-1: Product: Fibonacci-Clock FC1
[   99.928898] usb 1-1: Manufacturer: ELV
[   99.928911] usb 1-1: SerialNumber: 162b12d76ceeec11bd1331f90f611c40

Allerdings taucht kein Gerät unter /dev/tty* auf. lsusb zeigt ebenfalls, dass ein USB-Gerät entdeckt wurde:

Bus 001 Device 007: ID 18ef:e037 ELV Elektronik AG Fibonacci-Clock FC1

Damit das Gerät nun über das serielle Interface angesprochen werden kann, wird im ersten Schritt der Treiber in den Kernel geladen:

modprobe cp210x

Danach wird temporär ein neues Gerät erstellt:

echo 18ef e037 | sudo tee /sys/bus/usb-serial/drivers/cp210x/new_id

Nun kann sich über Screen (alternativ kann auch Picocom genutzt werden) mit dem Gerät verbunden werden:

screen /dev/ttyUSB0 115200

Zum Test kann dort das Kommando v abgesetzt werden. Kommandos wie das Zeitkommando (T12:01:01) sollten am besten am Stück eingefügt werden, da sie sonst automatisch als t-Kommando erkannt werden, welches die Zeit nur anzeigt.

Probleme mit der Stromversorgung des Raspberry Pi 5

Für eine Installation nutzte ich einen Raspberry Pi 5. Neben einigen Problemen mit der thermischen Belastbarkeit zeigte sich noch ein anderes interessantes Verhalten, welches mit der Stromversorgung zusammenhing. Versorgt würde der Raspberry Pi über ein USB-Kabel, welches an einem Industrienetzteil angeschlossen war.

Besagte Installation

Am Rechner selbst waren einige USB-Geräte angeschlossen, welche sporadisch ausfielen und wieder neu starteten. Normalerweise würde der Raspberry Pi die Spannung per Power Delivery mit dem Netzteil aushandeln. Schlägt dies fehl, kann es zu beschreibendem Verhalten kommen, da der Strom für die USB-Geräte auf 600 mA limitiert wird. Um dieses Problem bei einem ausreichend dimensionierten Netzteil zu umgehen, kann der Parameter usb_max_current_enable gesetzt werden. Dazu muss im ersten Schritt die entsprechende Konfiguration bearbeitet werden:

nano /boot/firmware/config

Dort wird nun der Parameter (im Bereich all) auf den Wert 1 gesetzt:

usb_max_current_enable=1

Nach einem Neustart sollte das Verhalten verschwinden, solange die neue Limitierung (etwa 1,6 Ampere) nicht überschritten wird.