Normale Ansicht

Nextcloud auf dem RasPi – Teil 5

17. September 2024 um 04:00

Im vorherigen Artikel habe ich beschrieben, wie man den Raspberry Pi und den Router konfiguriert, um auf die Nextcloud aus dem Internet zuzugreifen. Da die Verbindung derzeit unverschlüsselt ist, werde ich nun erläutern, wie man eine SSL-Verschlüsselung implementieren und erzwingen kann.

Installation

Zu Beginn installieren wir Certbot, um ein Let’s-Encrypt-Zertifikat zu erstellen.

sudo apt install python3-certbot-apache -y

Der Vorgang wird wie folgt gestartet. Dabei ist es wichtig, die korrekte DynDNS-Adresse (dnsHome.de) anzugeben. Zudem muss eine eMail-Adresse hinterlegt werden.

sudo certbot --apache

Nachdem das Zertifikat ausgestellt wurde, folgt die Konfiguration des VirtualHost. Diesen erstellt man mit dem folgenden Befehl und fügt den unten aufgeführten Block in die Datei /etc/apache2/sites-available/raspi.conf ein.

Dabei müssen die Pfade für das Zertifikat und der Servername an die eigene DynDNS angepasst werden.

sudo nano /etc/apache2/sites-available/raspi.conf
<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html/nextcloud
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost *:443>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/html/nextcloud
#        Header always set Strict-Transport-Security "max-age=31536000"
#        Header append X-FRAME-OPTIONS "SAMEORIGIN"
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLCertificateFile /etc/letsencrypt/live/meinecloud.dnshome.de/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/meinecloud.dnshome.de/privkey.pem
Include /etc/letsencrypt/options-ssl-apache.conf
ServerName meinecloud.dnshome.de
</VirtualHost>
</IfModule>

Nun werden die nicht mehr benötigten Vorgaben der VirtualHosts deaktiviert, der neue VirtualHost aktiviert und das SSL-Modul des Apache2 eingeschaltet.

sudo a2dissite 000-default.conf
sudo a2dissite 000-default-le-ssl.conf
sudo a2ensite raspi.conf
sudo a2enmod ssl

Danach wird der Webserver neu gestartet.

sudo service apache2 restart

HTTPS erzwingen

Um Verbindungen über HTTPS zu erzwingen, muss das Apache2-Modul „rewrite“ aktiviert werden.

sudo a2enmod rewrite

Danach öffnen wir den VirtualHost erneut

sudo nano /etc/apache2/sites-available/raspi.conf

und fügen die folgenden drei Rewrite-Zeilen hinzu.

<VirtualHost *:80>
    RewriteEngine On
    RewriteCond %{HTTPS} !=on
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
...

Anschließend wird der Webserver erneut neu gestartet.

sudo service apache2 restart

Regelmäßige Erneuerung des SSL-Zertifikats

Ein Let’s Encrypt-Zertifikat sollte monatlich erneuert werden, um sicherzustellen, dass die verschlüsselte Kommunikation auf Ihrer Website
kontinuierlich geschützt ist. Die regelmäßige Erneuerung gewährleistet, dass das Zertifikat gültig bleibt und Ihre Websitebesucher vor potenziellen Sicherheitsrisiken wie Man-in-the-Middle-Angriffen geschützt werden.

Dafür navigieren wir zum Home-Verzeichnis

cd ~/

und erstellen die Datei zertifikat.sh.

nano zertifikat.sh

Dort wird der folgende Inhalt eingetragen.

#!/bin/bash
certbot certonly --renew-by-default --apache --rsa-key-size 4096 -d meinecloud.dnshome.de
/etc/init.d/apache2 restart

Auch hier ist der Servername an die eigene DynDNS anzupassen.

Nun wird das erstellte Skript ausführbar gemacht

sudo chmod +x zertifikat.sh

und ein Cronjob erstellt,

sudo nano /etc/crontab

der das Script jeweils am 1. jeden Monats um 2:30 Uhr ausführt. Dabei ist folgende Zeile am Ende hinzuzufügen

30 2 1 * *      root    /home/radiouser/zertifikat.sh >/home/radiouser/zertifikat.log 2>&1

und der Cronjob neu zu starten.

sudo /etc/init.d/cron restart

Vorschau

Im nächsten Teil zeige ich, wie man die aufgelaufenen Fehler nach der Erstinstallation der Nextcloud beheben kann.

Linux Kernel 6.11 veröffentlicht

Von:MK
16. September 2024 um 15:03

Linus Torvalds hat die Veröffentlichung von Linux-Kernel 6.11 angekündigt. Diese neue Version bringt einige wichtige Verbesserungen und neue Funktionen mit sich, die vor allem die Stabilität und Sicherheit des Systems erhöhen. Zu den Highlights gehört ein neuer Mechanismus, der dabei hilft, Bluetooth- und WLAN-Chips auf bestimmten Geräten besser zu unterstützen. Außerdem gibt es Optimierungen, die […]

Der Beitrag Linux Kernel 6.11 veröffentlicht erschien zuerst auf fosstopia.

Ubuntu 22.04.5 LTS ist ab sofort verfügbar

Von:MK
14. September 2024 um 04:28

Canonical hat Ubuntu 22.04.5 LTS am 12. September 2024 veröffentlicht. Dies ist das fünfte und letzte geplante Point-Release von Ubuntu 22.04 LTS (Jammy Jellyfish). Es bringt die neuesten Sicherheitsupdates und aktualisierte Komponenten. Ubuntu 22.04.5 LTS kommt sechs Monate nach Ubuntu 22.04.4 LTS. Es ist eine aktuelle Installationsversion für diejenigen, die Ubuntu 22.04 LTS auf einem […]

Der Beitrag Ubuntu 22.04.5 LTS ist ab sofort verfügbar erschien zuerst auf fosstopia.

Datensicherheit und Privatsphäre: Warum Linux die bessere Wahl ist

Von:MK
13. September 2024 um 16:30

In der heutigen digitalen Welt sind Datensicherheit und der Schutz der Privatsphäre von zentraler Bedeutung. Mit dem stetigen Anstieg von Cyberangriffen, Überwachungsmaßnahmen und dem Missbrauch von Nutzerdaten ist es entscheidend, ein Betriebssystem zu wählen, das Dir die größtmögliche Kontrolle über Deine Daten gibt und Dich vor unerwünschten Zugriffen schützt. Während Windows auf vielen Computern das […]

Der Beitrag Datensicherheit und Privatsphäre: Warum Linux die bessere Wahl ist erschien zuerst auf fosstopia.

Überprüfung des Hashwertes

15. September 2024 um 08:00

Möchte man den Hashwert eines Ubuntu-Images mit Hilfe der Prüfsumme überprüfen, geht man wie folgt vor.

Zuerst wird das Ubuntu-Image und die dazugehörige SHA256SUMS-Datei herunter geladen. Beide Dateien sollten sich im gleichen Verzeichnis befinden.

Ubuntu Release Server
Ubuntu Release Server
Ubuntu Release Server (Ubuntu 24.04.1 LTS)
Ubuntu Release Server (Ubuntu 24.04.1 LTS)

Prüfsummencheck

Danach führt man folgenden Befehl in diesem Verzeichnis aus, um die Prüfziffern zu checken.

sha256sum -c SHA256SUMS 2>&1 | grep OK
Intergritätsprüfung des Hashwertes am Terminal
Intergritätsprüfung am Terminal

Wenn alles in Ordnung ist wird dies mit „OK“ bestätigt.

Wozu das Ganze?

Diese Art von Integritätsprüfung stellt sicher, dass das ISO-Image korrekt heruntergeladen wurde und dass die lokale Datei eine genaue Kopie der auf den Download-Servern gespeicherten Datei ist. Ein Fehler beim Download könnte zu einer beschädigten Datei führen, die bei der Installation unerwartete Probleme verursachen kann.

Weitere Beispiele

Das Ganze lässt sich natürlich auch auf andere Betriebssystem-Images anwenden.

Intergritätsprüfung des Hashwertes am Terminal (Beispiel: Raspberry Pi OS)
Intergritätsprüfung am Terminal (Beispiel: Raspberry Pi OS)
Intergritätsprüfung des Hashwertes am Terminal (Beispiel: Linux Mint 22)
Intergritätsprüfung am Terminal (Beispiel: Linux Mint 22)

Ubuntu 22.04.5 LTS ist ab sofort verfügbar

Von:MK
14. September 2024 um 04:28

Canonical hat Ubuntu 22.04.5 LTS am 12. September 2024 veröffentlicht. Dies ist das fünfte und letzte geplante Point-Release von Ubuntu 22.04 LTS (Jammy Jellyfish). Es bringt die neuesten Sicherheitsupdates und aktualisierte Komponenten. Ubuntu 22.04.5 LTS kommt sechs Monate nach Ubuntu 22.04.4 LTS. Es ist eine aktuelle Installationsversion für diejenigen, die Ubuntu 22.04 LTS auf einem […]

Der Beitrag Ubuntu 22.04.5 LTS ist ab sofort verfügbar erschien zuerst auf fosstopia.

Datensicherheit und Privatsphäre: Warum Linux die bessere Wahl ist

Von:MK
13. September 2024 um 16:30

In der heutigen digitalen Welt sind Datensicherheit und der Schutz der Privatsphäre von zentraler Bedeutung. Mit dem stetigen Anstieg von Cyberangriffen, Überwachungsmaßnahmen und dem Missbrauch von Nutzerdaten ist es entscheidend, ein Betriebssystem zu wählen, das Dir die größtmögliche Kontrolle über Deine Daten gibt und Dich vor unerwünschten Zugriffen schützt. Während Windows auf vielen Computern das […]

Der Beitrag Datensicherheit und Privatsphäre: Warum Linux die bessere Wahl ist erschien zuerst auf fosstopia.

LibreOffice 24.8.1 erschienen

Von:MK
13. September 2024 um 03:51

Die Document Foundation hat heute LibreOffice 24.8.1 veröffentlicht. Es handelt sich um das erste Wartungsupdate der neuesten LibreOffice-Serie, das über 85 Fehler behebt. Die neue Version ist drei Wochen nach dem Hauptrelease von LibreOffice 24.8 verfügbar und erhöht durch Fehlerbehebungen und Stabilitätsverbesserungen die Zuverlässigkeit der kostenlosen und plattformübergreifenden Office-Suite. Insgesamt behebt LibreOffice 24.8.1 89 gemeldete […]

Der Beitrag LibreOffice 24.8.1 erschienen erschien zuerst auf fosstopia.

KDE Plasma 6.1.5 erschienen

Von:MK
12. September 2024 um 08:00

Das KDE-Projekt hat KDE Plasma 6.1.5 veröffentlicht, die letzte Wartungsversion der Plasma 6.1 Serie. Mit diesem Update werden zahlreiche Fehler behoben, um die Stabilität und Zuverlässigkeit des Desktops zu verbessern. KDE Plasma 6.1.5 erschien wenige Wochen nach Version 6.1.4. Es verbessert die Geschwindigkeit der Suchfunktion von Plasma Discover und ermöglicht Drag-and-Drop auf ein automatisch ausblendendes […]

Der Beitrag KDE Plasma 6.1.5 erschienen erschien zuerst auf fosstopia.

Veranstaltungshinweis: Kielux 24

Von:MK
11. September 2024 um 09:15

Die 22. Kieler Open Source und Linux Tage 2024 finden vom 19. bis 21. September 2024 statt und bieten wieder ein spannendes Programm für Open-Source-Interessierte. Als Hybrid-Event konzipiert, können die Teilnehmer sowohl vor Ort in Kiel als auch online teilnehmen. Der Auftakt wird mit dem Linux Presentation Day am 19. September gemacht, der vor allem […]

Der Beitrag Veranstaltungshinweis: Kielux 24 erschien zuerst auf fosstopia.

Probleme bei Ubuntu 24.04.1 LTS behoben – Upgrades wieder möglich

Von:MK
10. September 2024 um 07:30

Letzte Woche wurden Upgrades auf Ubuntu 24.04.1 LTS vorübergehend ausgesetzt. Grund dafür waren unerwartete Abhängigkeitsprobleme bei Kernel-Headern nach dem Upgrade. Der Fehler war unter der Nummer 2078720 dokumentiert und wurde inzwischen behoben. Ab sofort sind die Upgrades wieder möglich. Hauptproblem: Fehlende Kernel-Header-Abhängigkeiten Das neue Upgrade-Tool *ubuntu-release-upgrader* führte einen verbesserten Algorithmus ein. Leider kam es dabei […]

Der Beitrag Probleme bei Ubuntu 24.04.1 LTS behoben – Upgrades wieder möglich erschien zuerst auf fosstopia.

Ubuntu 24.04 – Upgrade vorerst gestoppt

Von:MK
06. September 2024 um 17:43

Canonical hat den Upgrade-Prozess von Ubuntu 22.04 LTS auf die neueste Version 24.04 LTS vorübergehend gestoppt. Ursprünglich wurde das Upgrade nach der Veröffentlichung von Ubuntu 24.04.1 am 29. August freigegeben, doch aufgrund von Nutzerproblemen wurde diese Entscheidung rückgängig gemacht. Aktualisiert: Das Problem ist mittlerweile behoben. Mehr dazu hier. Anwender meldeten zahlreiche Fehler, die von Installationsabbrüchen […]

Der Beitrag Ubuntu 24.04 – Upgrade vorerst gestoppt erschien zuerst auf fosstopia.

6 Dinge, die Du bei einem Linux-System niemals tun solltest

Von:MK
06. September 2024 um 16:30

Ein Linux-System bietet Flexibilität und Kontrolle, aber mit dieser Freiheit kommen auch Verantwortung und die Notwendigkeit, bestimmte Vorsichtsmaßnahmen zu treffen. Denn Ihr wisst ja von Onkel Ben: Aus großer Kraft folgt große Verantwortung. Wenn du möchtest, dass dein Linux-Erlebnis reibungslos, sicher und effizient verläuft, gibt es einige Dinge, die du auf keinen Fall tun solltest. […]

Der Beitrag 6 Dinge, die Du bei einem Linux-System niemals tun solltest erschien zuerst auf fosstopia.

Debian 12.7 „Bookworm“ veröffentlicht

Von:MK
01. September 2024 um 05:47

Das Debian-Projekt hat die Veröffentlichung von Debian 12.7 “Bookworm” bekannt gegeben. Das aktualisierte ISO Installationsmedium für das aktuelle Debian GNU/Linux 12 „Bookworm“ Betriebssystem steht zum Download zur Verfügbung. Debian 12.7 wurde nur zwei Monate nach Debian 12.6 veröffentlicht und stellt seltsamerweise das sechste Point-Release von Debian Bookworm dar. Dabei handelt es sich um das sechste, […]

Der Beitrag Debian 12.7 „Bookworm“ veröffentlicht erschien zuerst auf fosstopia.

Nextcloud auf dem RasPi – Teil 4

13. September 2024 um 04:00

Um die auf dem Raspberry Pi installierte Nextcloud nun von außen über das Internet zu erreichen, ist es nötig, eine Webadresse über die öffentliche IP-Adresse mit der, wie im Artikel „Nextcloud auf dem RasPi – Teil 3“ beschriebenen, internen festen IP-Adresse des Raspberry Pi zu verknüpfen. Hierbei greife ich auf einen DynDNS-Dienst zurück. Ich zeige im folgenden Beitrag die Vorgehensweise mit einem bestehenden Account von dnsHome.de.

Das alles realisiert man über ein sogenanntes Portforwarding (Portfreigabe). Hierzu weist man den Router an, Anfragen über alle benötigten Ports zur internen IP des Raspberry Pi durchzustellen. In meinem Fall sind das die Ports 443, 80, 5900, 5349 und 43434. Wie man das Ganze umsetzt, zeigt der Screenshot meiner FRITZ!Box. Diese Einstellungen sind die Grundvoraussetzungen für die Erreichbarkeit der Nextcloud aus dem Internet.

Ports

  • Port 443 – HTTPS
  • Port 80 – HTTP
  • Port 5900 – VNC (optional)
  • Port 5349 – Turn-Server (optional)
  • Port 43434 – SSH (optionales Beispiel)

Portfreigabe

Portfreigabe in der FRITZ!Box
Portfreigabe in der FRITZ!Box

Ermittlung der öffentlichen IP-Adresse

Über den Befehl

curl ifconfig.me

erhält man die öffentliche IP-Adresse, über die der Raspberry Pi nun aus dem Internet erreichbar ist. Ein anschließender Test sollte ungefähr so aussehen.

Erreichbarkeit über öffentliche IP-Adresse
Erreichbarkeit über öffentliche IP-Adresse

Nun wäre es einfach, diese IP-Adresse mit einer Domain zu verknüpfen. Die wenigsten Nutzer verfügen jedoch über eine feste öffentliche IP-Adresse. Aus diesem Grund greift man hier auf einen DynDNS-Anbieter zurück, da sich aufgrund von Zwangstrennungen durch den Provider die öffentliche IP-Adresse bis zu einmal am Tag ändern kann.

Damit ein DynDNS-Anbieter eine Webadresse dauerhaft mit dem Router verknüpfen kann, muss dieser regelmäßig Informationen über die aktuelle öffentliche IP-Adresse erhalten. Dies kann über eine FRITZ!Box realisiert werden oder durch die Verwendung des ddclient, der auf dem Raspberry Pi installiert wird und so den Kontakt zum DynDNS-Anbieter aufrechterhält. Bei einer Änderung der IP wird diese wieder der DynDNS-Adresse zugewiesen.

Als DynDNS-Anbieter empfehle ich den Dienst dnsHome.de (ein Account ist vorher einzurichten).

Installation ddclient

Zuerst wird ddclient auf dem Raspberry Pi installiert.

sudo apt install ddclient -y

Während der Installation möchte der Client einen DynDNS-Anbieter einrichten. Da dnsHome.de dem ddclient nicht bekannt ist, empfehle ich die Einrichtung einfach durchzuklicken. Im Anschluss öffnet man die Konfigurationsdatei von ddclient

sudo nano /etc/ddclient.conf

und ersetzt den gesamten Inhalt mit folgendem Inhalt.

# Configuration file for ddclient generated by debconf
#
# /etc/ddclient.conf
protocol=dyndns2
ssl=yes
daemon=3600
use=web, web=ip.dnshome.de
server=www.dnshome.de
login=meinecloud.dnshome.de
password=geheim
datenboxx.dnshome.de

Bei „login“ und „password“ sollten natürlich die eigenen Zugangsdaten eingetragen werden, die zuvor bei dnsHome.de vergeben wurden.

Start ddclient

Sobald alles konfiguriert ist, kann der Client gestartet werden.

sudo ddclient start

Um sicherzustellen, dass die Nextcloud einen Login-Bildschirm über die DynDNS-Adresse bereitstellt, ist folgender Eintrag in der Datei /var/www/html/nextcloud/config/config.php erforderlich.

sudo nano /var/www/html/nextcloud/config/config.php

Die DynDNS-Adresse muss nun als vertrauenswürdige Domain eingetragen werden.

'trusted_domains' => 
  array (
    0 => '192.168.88.159',
    1 => 'meinecloud.dnshome.de',

Sobald dies erledigt ist, kann die Nextcloud im Browser über http://meinecloud.dnshome.de erreicht werden.

Vorschau

Im nächsten Teil zeige ich, wie man ein SSL-Zertifikat erstellt und dauerhaft eine verschlüsselte Verbindung zur Nextcloud sicherstellt.

LibreOffice 24.8.1 erschienen

Von:MK
13. September 2024 um 03:51

Die Document Foundation hat heute LibreOffice 24.8.1 veröffentlicht. Es handelt sich um das erste Wartungsupdate der neuesten LibreOffice-Serie, das über 85 Fehler behebt. Die neue Version ist drei Wochen nach dem Hauptrelease von LibreOffice 24.8 verfügbar und erhöht durch Fehlerbehebungen und Stabilitätsverbesserungen die Zuverlässigkeit der kostenlosen und plattformübergreifenden Office-Suite. Insgesamt behebt LibreOffice 24.8.1 89 gemeldete […]

Der Beitrag LibreOffice 24.8.1 erschienen erschien zuerst auf fosstopia.

KDE Plasma 6.1.5 erschienen

Von:MK
12. September 2024 um 08:00

Das KDE-Projekt hat KDE Plasma 6.1.5 veröffentlicht, die letzte Wartungsversion der Plasma 6.1 Serie. Mit diesem Update werden zahlreiche Fehler behoben, um die Stabilität und Zuverlässigkeit des Desktops zu verbessern. KDE Plasma 6.1.5 erschien wenige Wochen nach Version 6.1.4. Es verbessert die Geschwindigkeit der Suchfunktion von Plasma Discover und ermöglicht Drag-and-Drop auf ein automatisch ausblendendes […]

Der Beitrag KDE Plasma 6.1.5 erschienen erschien zuerst auf fosstopia.

Veranstaltungshinweis: Kielux 24

Von:MK
11. September 2024 um 09:15

Die 22. Kieler Open Source und Linux Tage 2024 finden vom 19. bis 21. September 2024 statt und bieten wieder ein spannendes Programm für Open-Source-Interessierte. Als Hybrid-Event konzipiert, können die Teilnehmer sowohl vor Ort in Kiel als auch online teilnehmen. Der Auftakt wird mit dem Linux Presentation Day am 19. September gemacht, der vor allem […]

Der Beitrag Veranstaltungshinweis: Kielux 24 erschien zuerst auf fosstopia.

Nextcloud auf dem RasPi – Teil 3

11. September 2024 um 04:00

Das Zuweisen einer statischen IP-Adresse an einen Raspberry Pi ist sinnvoll, um sicherzustellen, dass das Gerät immer unter derselben Adresse im Netzwerk erreichbar ist. Dies ist besonders nützlich für bestimmte Anwendungen wie z.B. Nextcloud, für die eine konstante IP-Adresse wichtig ist.

Festlegen einer statischen internen IP-Adresse

Eine statische lokale IP setzt man wie folgt. Zuerst installiert man dhcpcd.

sudo apt install dhcpcd -y

und trägt dann folgenden Block mit

sudo nano /etc/dhcpcd.conf

am Ende der /etc/dhcpcd.conf ein. Hierbei habe ich mich für die interne IP 192.168.178.136. Dies ist natürlich abhängig vom Adressbereich des eigenen Netzwerks. Auch die IP des Routers ist entsprechend anzupassen.

profile static_eth0
static ip_address=192.168.178.23/24
static routers=192.168.178.1
static domain_name_servers=192.168.178.1

Zum Schluss wird der Dienst dhcpcd neu gestartet.

sudo service dhcpcd restart

Vorschau

Im nächsten Teil zeige ich, was nötig ist, die Nextcloud über das Internet erreichbar zu machen.

GPIO-Ärger auf dem Raspberry Pi 5

10. September 2024 um 14:11

(Aktualisiert 13.9.2024) Mit der Auslieferung des Raspberry Pi 5 im Herbst 2024 hat sich bei einigen Low-Level-Tools der GPIO-Zugriff geändert: Für die Modelle bis einschließlich Raspberry Pi 4 erfolgt der GPIO-Zugriff über chip0 bzw. /dev/gpiochip0. Beim Raspberry Pi musste dagegen chip4 bzw. /dev/gpiochip4 verwendet werden. Scripts, die universell auf alten und neuen Geräten laufen sollten, brauchten eine entsprechende Fallunterscheidung.

Mit Kernel 6.6.47, der mittlerweile standardmäßig als Update unter Raspberry Pi OS installiert wird, ändert sich wieder alles! Auch beim Raspberry Pi 5 muss nun /dev/gpiochip0 verwendet werden. Eine Referenz aller internen GPIO-Nummern gibt cat /sys/kernel/debug/gpio.

Die Änderung betrifft unter anderem:

  • Python: gpiozero, lgpio, gpiod
  • Bash: gpioset, gpioget
  • C: lgpio, libgpiod, wiringpi

Scripts, die mit diesen Modulen bzw. Bibliotheken verfasst wurden, müssen geändert werden (Umstellung von GPIO-Chip 4 auf GPIO-Chip 0). Im Folgenden habe ich diesbezüglich Anleitungen für diverse Fälle zusammengefasst.

13.9.2024: Mit dem neuesten Update von Raspberry Pi OS wird ein Link von /dev/gpiochip4 auf /dev/gpiochip0 eingerichtet, wodurch die Auswirkungen des veränderten Kernels in den meisten Fällen nicht mehr spürbar sind.

ls -l /dev/gpiochip*

crw-rw---- 1 root gpio 254,  0 13. Sep 08:39 /dev/gpiochip0
crw-rw---- 1 root gpio 254, 10 13. Sep 08:39 /dev/gpiochip10
crw-rw---- 1 root gpio 254, 11 13. Sep 08:39 /dev/gpiochip11
crw-rw---- 1 root gpio 254, 12 13. Sep 08:39 /dev/gpiochip12
crw-rw---- 1 root gpio 254, 13 13. Sep 08:39 /dev/gpiochip13
lrwxrwxrwx 1 root root       9 13. Sep 08:39 /dev/gpiochip4 -> gpiochip0

Von gpiozero gibt es mittlerweile eine aktualisierte Version, die das richtige Chip-Device erkennt.

Python-Scripts mit gpiozero

Beim Start derartiger Scripts auf dem Raspberry Pi 5 mit dem aktuellen Kernel (>= 6.6.47) tritt die Fehlermeldung can not open gpiochip auf. Das Script bricht ab. Der Fehler ist bekannt, es wird demnächst eine neue Version des Python-Modules geben. Bis dahin ist es am einfachsten, das Script wie folgt zu starten:

RPI_LGPIO_CHIP=0 ./gpiozero-led.py

Alternativ führen Sie export RPI_LGPIO_CHIP=0 aus und fügen diese Anweisung auch in /home/your-account/.bashrc ein. Eine weitere Möglichkeit ohne die externe Definition von Umgebungsvariablen besteht darin, am Beginn Ihres Python-Scripts die folgende Zeile einzubauen:

import os 
os.environ['RPI_LGPIO_CHIP']='0'

Im gpiozero-Issue ist auch von PWM-Problemen zu lesen, die sich selbst mit RPI_LGPIO_CHIP=0 nicht lösen lassen. Das kann ich nicht bestätigen. Mein PWM-Test-Script gibt zwar eine Warnung aus, funktioniert aber.

Python-Scripts mit lgpio

Wenn Sie in Ihrem Python-Script das lgpio-Modul verwenden, müssen Sie den Handle nun IMMER mit gpiochip_open(0) öffnen, also:

# alle Raspberry-Pi-Modelle mit aktuellen Kernel >= 6.6.45
handle = lgpio.gpiochip_open(0)

# Raspberry Pi 5 mit Kernel < 6.6.45
# handle = lgpio.gpiochip_open(4)

Python-Scripts mit gpiod

Wenn Sie in Ihrem Python-Script das gpiod-Modul verwenden, müssen Sie die Initialisierung nun IMMER mit 'gpiochip0' durchführen, also:

chip = gpiod.Chip('gpiochip0')     # alle Modelle mit Kernel >= 6.6.45
# chip = gpiod.Chip('gpiochip4')   # Raspberry Pi 5 mit Kernel < 6.6.45

pinout-Kommando

Auch das Kommando pinout liefert zur Zeit Fehlermeldungen (can’t connect to pigpio at localhost sowie Unable to initialize GPIO Zero). Hinter den Kulissen handelt es sich bei dem Kommando um ein Python-Script, das gpiozero verwendet. Bis dieses Modul aktualisiert wird, hilft der oben schon erwähnte Trick mit RPI_LGPIO_CHIP=0 weiter, also:

RPI_LGPIO_CHIP=0 pinout

bash-Scripts mit gpioset, gpioget und gpiomon

Bei den genannten Kommandos übergeben Sie als ersten Parameter die Chip-Nummer. Ab Kernel 6.6.45 lautet diese IMMER 0, also z.B.:

chip=0
gpioset $chip 7=1   # GPIO 7 (Pin 26) auf "high" stellen
gpioset $chip 7=0   # GPIO 7 (Pin 26) auf "low" stellen

bash-Scripts mit pinctrl

Hier ändert sich nichts. pinctrl war schon in der Vergangenheit in der Lage, die richtige Chip-Nummer selbst zu erkennen, und das funktioniert weiterhin. Großartig!

pinctrl set 7 op dh   # LED an Pin 26 ein
pinctrl set 7 op dl   # LED an Pin 26 aus

C-Programme mit lgpio

Ab Kernel 6.6.45 müssen Sie IMMER die Chip-Nummer 0 verwenden, also:

#define CHIP 0
...
h = lgGpiochipOpen(CHIP);  // open connection to I/O chip

C-Programme mit gpiod

Ab Kernel 6.6.45 müssen Sie IMMER "gpiochip0" verwenden, also:

char *chipname = "gpiochip0";
chip = gpiod_chip_open_by_name(chipname);
...

wiringpi

Die von Gordon Drogon entwickelte wiringpi-Bibliothek ist seit vielen Jahren veraltet (gilt bis Version 2.5).

2024 hat der Grazer Computer Club die Wartung der Bibliothek übernommen. Damit ist diese Bibliothek (jetzt in Version 3.0) wieder verwendbar! Weitere Informationen sowie Installationshinweise gibt es auf der GitHub-Projektseite:

https://github.com/WiringPi/WiringPi

Persönliche Anmerkung

Diese ganze Angelegenheit ist ein einziges Trauerspiel. Dass beim Raspberry Pi 5 anfänglich /dev/gpiochip4 als interne GPIO-Schnittstelle verwendet wurde (und nicht von Anfang an /dev/gpiochip0 wie bei früheren Raspberry-Pi-Modellen), war schon eine äußerst fragwürdige Entscheidung. Aber die Schnittstelle jetzt, fast ein Jahr nach dem Release des Raspberry Pi 5 und Raspberry Pi OS Bookworm, zu ändern, ist einfach irrsinnig.

Mit dem Kernel-Update funktionieren unzählige GPIO-Scripts von einen Tag auf den anderen nicht mehr. So etwas muss von vorne herein vermieden werden, und, wenn es denn gar nicht anders geht, viel viel besser kommuniziert werden. Die Maintainer der GPIO-Bibliotheken waren offenbar allesamt überrascht von der Änderung. Unprofessioneller geht’s nicht.

Hintergründe / Links

Dieser Blog-Beitrag ist ursprünglich unter https://pi-buch.info/low-level-gpio-zugriff-geaendert-mit-kernel-6-6/ erschienen. Danke an Hr. Strohmayer, der mich als erster auf dieses Problem aufmerksam gemacht hat.

Probleme bei Ubuntu 24.04.1 LTS behoben – Upgrades wieder möglich

Von:MK
10. September 2024 um 07:30

Letzte Woche wurden Upgrades auf Ubuntu 24.04.1 LTS vorübergehend ausgesetzt. Grund dafür waren unerwartete Abhängigkeitsprobleme bei Kernel-Headern nach dem Upgrade. Der Fehler war unter der Nummer 2078720 dokumentiert und wurde inzwischen behoben. Ab sofort sind die Upgrades wieder möglich. Hauptproblem: Fehlende Kernel-Header-Abhängigkeiten Das neue Upgrade-Tool *ubuntu-release-upgrader* führte einen verbesserten Algorithmus ein. Leider kam es dabei […]

Der Beitrag Probleme bei Ubuntu 24.04.1 LTS behoben – Upgrades wieder möglich erschien zuerst auf fosstopia.

Nextcloud auf dem RasPi – Teil 2

09. September 2024 um 16:00

Um später alle Vorzüge, wie Nextcloud Office, von Nextcloud Hub nutzen zu können, empfehle ich den Document Server Collabora Online – Built-in CODE Server (ARM64) auf dem Raspberry Pi via Terminal beizeiten zu installieren, da es über die grafische Oberfläche i.d.R. zu einem Timeout kommt. Wie das Ganze funktioniert erläutere ich in diesem Artikel.

Nextcloud Office

Nextcloud Office ist eine in Nextcloud integrierte Office-Lösung, die es ermöglicht, Dokumente, Tabellen und Präsentationen direkt im Browser zu erstellen und gemeinsam zu bearbeiten. Basierend auf Open-Source-Technologien wie Collabora Online unterstützt es gängige Dateiformate wie DOCX und ODT. Die Echtzeit-Zusammenarbeit und vollständige Integration in die Nextcloud-Plattform ermöglicht eine sichere und effiziente Teamarbeit, bei der alle Daten unter eigener Kontrolle bleiben. Ideal für Unternehmen, die Wert auf Datenschutz und Datensouveränität legen.

Installation

cd /var/www/html/nextcloud
sudo -u www-data php -d memory_limit=512M ./occ app:install richdocumentscode_arm64

Aktivierung

Abschließend wird die Nextcloud Office-App in den Nextcloud Hub-Paketen für die spätere Nutzung
aktiviert.

Anmerkung

Dies funktioniert nur auf 64-Bit-Systemen!

Vorschau

Im nächsten Teil zeige ich, wie man dem Raspberry PI eine feste interne IP-Adresse im heimischen Netzwerk zuweist.

❌