Fryboyter

Pi-hole - Interface eth0 does not currently exist

Seit einiger Zeit erhält man als Nutzer von Pi-hole unter Umständen die Fehlermeldung interface eth0 does not currently exist in der grafischen Oberfläche.

Der Grund hierfür ist in der Regel, dass Pi-hole schneller startet als die Netzwerkverbindung aufgebaut wird. Auf die Funktion hat dies keinen Einfluss, auch noch später getestet wird, ob eine Netzwerkverbindung vorhanden ist. Irgendwie nervt es aber trotzdem, da diese Meldung anhand eines hüpfenden Symbols anagezeigt wird. Löscht man die Meldung, verschwindet es zwar, aber nach einem Neustart des Raspberry Pi geht es wieder von vorne los.

Die Lösung diese (kosmetischen) Problems ist ziemlich einfach. Man trägt einfach am Anfang der Datei /etc/pihole/pihole-FTL.conf DELAY_STARTUP=5 ein. Damit wird der Start um 5 Sekunden verzögert, sodass zwischenzeitlich die Netzwerkverbindung aufgebaut werden kann.

Je nach Konfiguration und verwendeten Raspberry Pi kann man eventuell einen niedrigeren Wert eintragen. Mit 5 Sekunden sollte man aber immer auf der sicheren Seite sein und es dürfte zu verschmerzen sein, wenn Pi-Hole etwas später zur Verfügung steht. Zumal man in der Regel ja nicht täglich mehrere Neustarts durchführt.

OSBN | Linux

WLAN-Verbindung unter KDE Plasma auf 5 GHz umstellen

Ein Notebook ist mit einem WLAN verbunden das sowohl 2,4 als auch 5 Ghz unterstützt. Es verbindet sich allerdings immer nur mit 2,4 Ghz. Der Grund hierfür könnte sein, dass keine BSSID oder die falsche hinterlegt wurde.

Unter KDE Plasma ruft man hierfür die Systemeinstellungen (systemsettings5) auf und klickt in der linken Spalte im Bereich Netzwerk auf Verbindungen. Beim betreffenden WLAN öffnet man den Reiter Wi-Fi und wählt bei BSSID den Eintrag mit 5 Ghz aus (z. B. Frequenz: 5.180 Mhz). Nun klickt man noch auf Anwenden und trennt anschließend die WLAN-Verbindung und baut sie neu auf. Nun sollte die Netzwerkverbindung über 5 Ghz aufbauen.

Linux | OSBN

AUR-Pakete wegen Python-Update neu erstellen

Als ich eben die über AUR installierte Software aktualisieren wollte, habe ich folgende Fehlermeldung erhalten.

Der Vorgang konnte nicht durchgeführt werden (In Konflikt stehende Dateien)
tortoisehg: /usr/lib/python3.9/site-packages/hgext3rd/__init__.py existiert im Dateisystem (gehört zu mercurial)
tortoisehg: /usr/lib/python3.9/site-packages/hgext3rd/__pycache__/__init__.cpython-39.pyc existiert im Dateisystem (gehört zu mercurial)
Fehler sind aufgetreten, keine Pakete wurden aktualisiert.

Die Ursache ist, dass in den offiziellen Paketquellen von Arch Linux Python auf Version 3.10 aktualisiert wurde. Was es leider nötig macht die Pakete, die Python nutzen und über AUR installiert wurden, neu zu erstellen.

Als Erstes sollte man mittels pacman -Syu die Pakete aus den offiziellen Paketquellen aktualisieren.

Um sich nun die betroffenen Pakete im AUR anzusehen, kann man folgenden Befehl ausführen.

pacman -Qqo /usr/lib/python3.9 | pacman -Qm -

In meinem Fall werden drei Pakete angezeigt, die ich neu erstellen muss. Wer als AUR-Helper paru verwendet, kann diese mit folgendem Befehl automatisch neu erstellen. Mit anderen AUR-Helpern die eine Rebuild-Funktion anbieten sollte es vergleichbar funktionieren.

pacman -Qoq /usr/lib/python3.9 | pacman -Qmq - | paru -S --rebuild -

Führt man den Befehl nun spaßeshalber noch einmal aus, sollte man die Meldung “Fehler: Kein Paket besitzt /usr/lib/python3.9” erhalten.

Und ja, das ist einer der Nachteile an AUR. Dafür lassen sich die dortigen Rezepte leichter prüfen als beispielsweise fertige Pakete aus einem PPA. Und leichter erstellen lassen sie sich in der Regel auch.

Linux | OSBN

PeaZip unter Wayland starten

Aus reiner Neugierde wollte ich mir das Packprogramm PeaZip ansehen. Direkt nach dem Starten ist das Programm mit folgender Fehlermeldung abgestürzt.

[FORMS.PP] ExceptionOccurred 
  Sender=EAccessViolation
  Exception=Access violation
  Stack trace:
  $00000000007438D3
  $0000000000723049
  $00000000008ADC66
  $00000000008AD5FC
  $00000000008A9415
  $00000000007B3EFB
  $00000000007B3E02
  $0000000000448D9D
  $0000000000447B43
[FORMS.PP] ExceptionOccurred 

Die Ursache ist Wayland. PeaZip ist damit wohl noch nicht wirklich kompatibel. Daher muss man PeaZip mit dem x11 backend starten. Führt man also QT_QPA_PLATFORM=xcb peazip aus, startet PeaZip ohne Probleme.

OSBN | Linux

Zeichenkette an bestimmter Position in einer Datei einfügen

In einem Hauptverzeichnis sind diverse Dateien in Unterverzeichnissen vorhanden. In jeder dieser Dateien soll die gleiche Zeichenkette in die gleiche Zeile eintragen werden ohne das eine bereits vorhandene Zeile überschrieben wird. Nehmen wir als Beispiel einmal einen Front-Matter-Bereich eines der hier veröffentlichten Artikel.

---
title: WLAN-USB-Stick Cudy WU1300S unter Linux
date: 2021-05-02T16:49:00+0200
categories:
- OSBN
- Linux
tags:
- WLAN
- USB
slug: wlan-usb-stick-cudy-wu1300S-unter-linux
---

Was tun, wenn man nun beispielsweise zwischen der Zeile mit dem Datum und der Kategorie eine Zeile mit include_toc: true eintragen will? Am einfachst und aufwändigsten wäre es jede Datei händisch anzupassen. Da es sich aber um Dateien im drei- oder vierstelligen handelt, ist das keine gute Idee.

Um Dateien zu ändern, kann man das Tool sed nutzen, was eines der “Urgesteine” unter Linux ist.

sed -i'4 i include_toc: true' Dateiname 

Die 4 gibt hierbei die gewünschte Zeile an. Das i dahinter steht für insert. Also einfügen.

Wer das ganze erst einmal testen will, ohne dass die Datei geändert wird, kann einfach -i bei dem Befehl entfernen. Dann wird der Inhalt der Datei inklusive der Änderung ausgegeben, ohne die Änderung zu speichern.

Bleibt nur noch wie man den Befehl auf alle betreffenden Dateien automatisch anwendet. Hier reicht, wie so oft, eine einfache Schleife.

#/bin/bash
for i in $(find posts -name '*.md');
do
    sed -i '4 i include_toc: true' $i
done;

Hiermit wird im aktuellen Verzeichnis sowie in den darin vorhandenen Unterverzeichnissen nach Dateien mit der Endung .md (Markdown-Dateien) gesucht. Diese werden dann mit dem sed Befehl entsprechend geändert.

OSBN | Linux