===== pi-update 2022 bullseye ===== So ein Betriebssystem Update ist immer schwierig. Setzt man es komplett neu auf, oder versucht man ein upgrade? Letztes Jahr beim [[pisetup|Setup auf Buster]] bin ich den ersteren Weg gegangen. Dieses Mal den letzteren. Ich habe buster auf bullseye aktualisiert - mit einigen Problemen. Man sollte nicht die Prozesse, wie z.B. die Datenbank beenden, da der update Tabellen kopieren will, wenn er die Software aktualisiert. Ausserdem hat danach der 'sudo apt-get dist-upgrade' einen Fehler gebracht. Lösung aus [[https://linuxnews.de/2021/11/16/raspberry-pi-os-auf-bullseye-aktualisieren/|Artikel]]. Die folgenden Pakete haben unerfüllte Abhängigkeiten: libc6-dev : Beschädigt: libgcc-8-dev (< 8.4.0-2~) aber 8.3.0-6+rpi1 soll installiert werden' Lösung: sudo apt install libgcc-8-dev gcc-8-base Danach festgestellt, das das Redo-logfile von der MariaDB so gross ist. Das kann man von 100MB auf 8MB setzen. [[https://central.owncloud.org/t/mysql-mariadb-optimal-settings-for-running-on-raspberrypi-3-model-b/17004|Artikel]] sudo systemctl stop mysql /etc/mysql/mariadb.conf.d/50-server.cnf innodb_log_file_size = 8M innodb_log_buffer_size = 8M cd /var/lib/mysql sudo mv ib_logfile0 nach /tmp Von aussen kam man nicht mehr an die Datenbank. Fehlermeldungen: 2003: Can't connect to MySQL server on '{host}:3306' (-2 Name or service not known) Unexpected error in connect_db: Bessere Fehlermeldungen kommen, wenn man im code: import mysql.connector from mysql.connector import errorcode und dann try: cnx = mysql.connector.connect(user='', password='', host='', database='') except mysql.connector.Error as err: print(err) Lösung: sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf bind-address = 0.0.0.0 Noch ein Problem in phpmysql. Wenn man dort auf Rechte klickt, kommt eine Fehlermeldung, dass 'collation' nicht stimmen. Lösung in dem [[https://github.com/phpmyadmin/phpmyadmin/issues/15463|Artikel]]. #1267 - Unerlaubte Mischung von Sortierreihenfolgen (utf8mb4_general_ci, COERCIBLE) und (utf8mb4_unicode_ci, COERCIBLE) für Operation '<>' Lösung: Auf der Startseite von phpmysql muss man den Zeichensatz/Kollation der Verbindung zum Server:' von "utf8mb4_unicode_ci" auf "utf8mb4_general_ci" setzen, dann geht wieder alles. Dann startete am Mac der Browser nicht mehr, nachdem ich Ventura 13.0 installiert hatte. apachectl status /usr/local/bin/apachectl: line 95: lynx: command not found brew install lynx sudo apachectl start Achtung, wenn man bullseye neu aufsetzt, gibt es keinen default-user pi mehr! sudo rename-user Man kann sich einen Symlink /home/pi setzen, der wird die meisten Tools wieder zum Laufen bringen. Wer will, verwendet als „neuen“ Nutzernamen bei der Einrichtung einfach wieder „pi/raspberry“. Create a file named userconf in the boot folder to create a user. The contents of the file are as follows username:password-hash The password hash is generated using the following command echo "password" | openssl passwd -6 -stdin For example: pi:$6$38HiUnLhwlE1DRdL$MHHb6/OsyAlZNqmW7igj333g/CRwG/g5nls7ylTEqZZg9rOIM/cUvE962.5x6M0ONMz/r6OlBy/G6f4v8zrH51 Nach dem Upgrade auf bullseye ging auch die Verbindung zu den beiden MO-Pflanzenüberwachungen nicht mehr. Man musste miflora wieder installieren. Wenn es nur so einfach wäre. Die Bluetooth Verbindungen gingen wohl alle nicht mehr. Und das Rollo ist morgens um 8 Uhr rauf gefahren, ohne dass ich was gemacht hatte. sudo pip3 install miflora Damit bluetooth wieder ging, einiges ausprobiert. Welches davon nicht nötig war, weiss ich jetzt nicht. Hier die Schritte sudo apt-get install bluetooth sudo pip3 install bluetooth pip3 install bluetooth pip3 install bluepy pip install pybluez pip install bluepy sudo pip install pybluez sudo apt-get install libatlas-base-dev sudo apt install bluetooth bluez libbluetooth-dev sudo systemctl status bluetooth sudo systemctl restart bluetooth sudo systemctl status bluetooth sudo rfkill unblock bluetooth Nachdem ich weitere Probleme mit bluetooth habe, liegt es wohl am neuen python 3.9. Also wird nach dieser [[https://www.linuxcapable.com/how-to-install-python-3-7-on-debian-11-bullseye/|Anleitung]] python3.7 installiert. Beim neu kompilieren meiner Homeautomation (test.c), fand er usb.h und mysql.h nicht mehr. sudo apt-get install libusb-dev sudo apt-get install libmariadb-dev-compat libmariadb-dev PHP Fatal error: Uncaught Error: Call to undefined function bcdiv() in /home/pi/HomeAutomation/check/luftbefeuchter_check.php:175 sudo apt-get install php-bcmath pah.mqtt, also mosquitto geht auch nicht mehr. erst gemerkt, als morgens das Rollo um 8 Uhr automatisch rauf ging, statt wenn ich das iPad aus dem Flugmodus nehme sudo pip3 install paho-mqtt Und immer wieder das gleiche Problem: "pip3 install" Pakete landen unter der jeweiligen Python Version! Also aktuell unter /home/pi/.local/lib/python3.9/site-packages. Daher findet er nicht mehr diejenigen, die vorher unter python3.7 gelandet sind. Es kommt noch schlimmer. Da Eineige Programme ja mit sudo aufgerufen werden müssen, muss man ja mit "sudo pip3 install" installieren. Die landen wohl aber nicht unter /root, sondern unter /usr/local/lib/python3.9/dist-packages/. Stand November 2022