Fedora: wie man mit RPM sein System auf Integrität prüft.

Heute geht es um Dateiintegrität und wie man das mit RPM prüft und ggf. behebt. Grund ist das Pinephone.

Fedora: wie man mit RPM sein System auf Integrität prüft.

Wenn man sein Pinephone zum ersten mal bootet, startet es mit dem Image auf der internen Storage mmcblk2. Will man etwas anderes Booten, so steckt man eine SD Karte rein, auf dem das Bootimage drauf ist. Das ist gerade am Anfang, wenn man viel Testet eine normale Sache, weil man die MicroSD Karte leicht wieder mit einem SD-Kartenreader am PC neu bespielen kann.

Wenn man aber zu an einen Punkt gekommen ist, wo das System gut genug funktioniert, möchte man es auf die interne Speicherkarte kopieren. Das könnt Ihr via rsync machen, oder Ihr kopiert die SD-Karte mit dem Tool dd rüber. Das hat aber einen Haken: Von dem System habt Ihr gerade gebootet und das läuft noch. Da man die Karte im laufenden Betrieb nicht wechseln sollte, steht Ihr vor einem Problem. Rsync umgeht das, aber Systemfiles lassen sich nicht so einfach syncen. Würde man so z.b. ein Fedora 33 auf ein anderes Fedora 33 syncen, würde es vermutlich laufen, aber (wie hier) ein Fedora auf Manjaro Syncen, geht sehr wahrscheinlich voll in die Hose.

Wenn wir also dd benutzen steigt zwar die Erfolgschance, aber ein Datenverlust steht im RAM, weil die Programme auf der Partition rumwerkeln und die sich beim Kopieren ändern. Also am besten ALLES was geht beenden: Desktop, Services, alles bis auf SSHd und das Netzwerk.

Schritt 1 – Ermitteln was drauf ist

Dazu führt Ihr „rpm -qa > rpms“ aus. Nicht vergessen das File nachher wieder zu löschen.

Schritt 2 – jedes Paket prüfen

Dazu brauchen wir awk und ein klein wenig Bashmagie:

awk < rpms ‚{print „rpm -V –nolinkto –nomtime –nomode –nouser –nogroup –nordev –nodeps „$1;}‘ | bash > log

Das liest die Liste der RPMs Zeile-für-Zeile ein und prüft das Paket, ob die Checksummen mit den Dateien übereinstimmen. Einige Tests sind absichtlich abgeschaltet worden, weil für den Test, ob eine Datei beschädigt ist oder nicht, nicht nötig. Ob ich da mal dran war und die absichtlich verändert habe, war nicht die Aufgabe, kann man so aber auch machen, wenn man die –no Flags weglässt. „–nodeps“ sollte man aber drin lassen, weil sonst jedes Paket immer mit allen Abhängigkeiten geprüft wird und wir prüfen eh alle einzeln 😉

Schritt 3 – Defekte Dateien finden

Da wir in Schritt 2 eine Log-Datei angelegt haben, werten wir die aus und lassen uns gleich die Paketnamen der defekten Dateien geben. Das „sort -u“ wirft doppelte raus:

grep „\.5\.\.“ log | grep -v “ c “ | grep -v “ d „| grep -v ^S | awk ‚{print „rpm -qf „$2;}‘ | bash | sort -u

.5… ist die Ausgabe, wenn die Datei beschädigt ist und z.b. keine Configdatei ist. Configs können sich natürlich jederzeit ändern, deswegen sind die nicht gleich defekt.

Ein paar Beispiele was die Ausgaben so meinen:

S.5…… c /etc/ssh/sshd_config  Datei hat andere Checksumme, ist aber eine Configdatei
fehlend d /usr/share/man/fr/man1/manconv.1.gz Datei ist eine Dokumentation, nicht tragisch, wenn die nicht da ist.
fehlend /boot/efi/overlays/adau1977-adc.dtbo Datei fehlt und sollte aber da sein.
..5…… /usr/bin/mokutil Datei ist defekt und sollte ersetzt werden.

Schritt 4 – Reparieren

Nun haben wir eine Liste mit Paketnamen und müssen die nur noch reparieren. In meinem Fall waren es vier defekte Pakete:

dnf reinstall dcraw efibootmgr f2fs-tools mokutil -y

Das muß natürlich bei Euch so nicht passen, es könnte auch gut gehen oder andere Dateien betreffen!

Vom efibootmgr wissen wir jetzt, daß er gar nicht nötig ist auf einem Pinephone, weil das U-Boot benutzt und so gesehen kein EFI Bios vorhanden ist.

Ein Wort noch zum Pinephone:

Kopiert das System ruhig auf die interne Karte, weil das dann ca. 5x schneller ist: beim Booten, beim Runterfahren, Apps starten und updaten. Es lohnt sich wirklich.

Pinephone: Unter Fedora keine Tonausgabe mehr

Liebe Linuxphonies,

wenn Ihr in den letzten Tagen keine Updates eingespielt habt, dann lasst es erst einmal bleiben.

Pinephone: Unter Fedora keine Tonausgabe mehr

Irgendetwas ist mit dem Zugang zu den Tongeräten passiert. Egal aus welche Tonquelle man etwas abspielt, es kommt nicht an den Lautsprechern an. Damit ist das Gerät jetzt natürlich unbrauchbar. Bugreports dazu sind raus.

Dies erklärt aber auch, wieso man trotz Telefonverbindung kein Gespräch führen kann. Das könnte aber auch bedeuten, daß man vielleicht schon längst sauber telefonieren könnte, wenn das Tonproblem an sich gelöst wäre.

Außerdem müßt Ihr Euch auf ein Massenupdate von 1.4 GB einstellen, welches mein Pinephone hinter sich gebracht hat. Hat auch nur 1 Stunde gedauert 😀

 

Fedora: Pinephone hat nur noch 1 Majorproblem

Moin Linux-Phonies,

kleines Update zum Pinephone und dem Einsatz von Linux auf Telefonen.

Fedora: Pinephone hat nur noch 1 Majorproblem

Was eine Telefon mindestens können müßte, steck schon im Namen: Telefonieren. Bislang hat das Pinephone mit Fedora da leider gepatzt. In einem Anfall von Testwahn habe nach eine sehr großen Update gestern Abend einfach mal ausprobiert, wie das so mit Gnome und Phosh jetzt hinhaut.

Nach Einlegen einer Sim-Karte konnte das Telefon tatsächlich in Netz, hat eine funktionierende IP bekommen und konnte SMS empfangen und senden. Per Firefox ohne WLAN ins Internet war auch kein Problem.

Nun die Königsdisziplin: Telefonieren.

Also Calls App gestartet, Festnetznummer ausgewählt und auf anrufen geklickt. Sauschnell klingelte es auf dem Festnetz und das sage ich nicht einfach so, weil mit Skype kann sich so etwas richtig ziehen ;). Der Anruf an sich kam zustande, aber es war nichts zu hören, auf beiden Seiten.

Die Ursache im Pinephone liegt in den komischen Audiodevices im Pulseaudio. Die Eingabegeräte sind stumm und dummerweise nicht einfach stumm geschaltet, sondern echt stumm. d.b. die Kommunikation mit der Hardware funktioniert nicht sauber. Das auch das Gegenüber nicht zu hören war, hat ähnliche Ursachen. Mit Fedora Ton aus dem Pine zu bekommen, ist schon bei normalen Audio schwer, aber die interne Umschaltung der Geräte und deren Modi ist leider immer noch nicht funktional.

Da dies aber das letzte große Problem ist, und es hier tatsächlich kleine Fortschritte ( Quantumbereich ) gegeben hat, habe ich Hoffungen vor 2030 noch damit normal zu telefonieren 😉

Als kleine Randnotiz: Gnome-Shell

Nach meiner Updateaktion zeigte die Gnome-Shell ordentliche Macken, was aber nicht an einem Update von Gnome lag, sondern bei dem 267 anderen Updates zu suchen sein muß. Leider ist das so umfangreich, daß es eine Weile dauern wird, bis die Ursache gefunden ist.