Kategorie: Systemstartup
Zugriffe: 823

System: Haiku

Dieses Tutorial beschäftigt sich mit einen Fehler in Haiku durch welchen man, bevor die Boot Symbole angezeigt werden, für mehrere Minuten einen schwarzen Bildschirm hat.

Das Problem liegt an einer gut gemeinten Systemeigenschaft des Paketmanagement Systems durch welches die Aktivitäten von Installation und Deinstallation von Paketen aufgezeichnet werden. Dieses System ermöglicht eine ältere Systemversion über das Bootmenü zu starten um eine Korrektur einer Fehlinstallation zu ermöglichen.

Steigt jedoch die Anzahl an Aufnahmen über einen bestimmten Wert braucht das System immer länger um diese Einträge zu prüfen. Dies macht sich dann bemerkbar durch die lange Wartezeit beim Systemstart bevor die Boot Symbole angezeigt werden.

Die Aufnahmen werden unter /boot/system/packages/administrative abgelegt. Löscht man diesen Ordner wird der Bootvorgang wieder in gewohnter normalen Geschwindigkeit stattfinden. Das Problem dabei ist nur, dass dann die Wiederherstellung einer älteren Systemversion nicht mehr möglich ist.

Da es von Seiten Haiku für dieses Problem noch keine Lösung gibt, hier eine Möglichkeit über ein Script, Einträge zu entfernen die älter als 3 Tage sind:



Gehe in das Verzeichnis /boot/home/config/settings/boot/launch und erstelle eine neue Textdatei mit dem Namen check_backup_packageactivity.sh (Dieser Name ist nur ein Beispiel).

Schreibe folgende Zeilen in die Textdatei:  

#!/bin/sh 

cd /boot/system/packages/administrative 

statinfo=$(find ./stat* -type d | wc -l) 
if [ $statinfo -gt 20 ] ; then 
if [ "$(alert "In the /boot/system/packages/administrative directory your package installation and uninstallation activities are stored. If the number of items above a certain level, it can happen that during system startup before the Bootikons shown hang your system for several minutes remains.


These archived messages are used when you want to run an older system state from the boot menu.


The Archives now has more than 20 entries. Do you want to delete all entries that are older than three days?" "yes" "no")" == "yes" ];then
find -type d -mtime +3 -exec rm -rf {} \;
fi

fi



Damit das Script beim Systemstart ausgeführt wird, muss dieses auf Ausführbar geändert werden.

Führe dafür einen Rechtsklick auf das Script aus und wähle im Kontextmenü Datei-Info aus.

Setzte bei Ausführen Häkchen um die Datei ausführbar zu machen.

Nun wird bei jedem Systemstart das Script ausgeführt.



Steigt die Anzahl von Aufnahmen auf über 20, wird dies über ein Infofenster angezeigt. Bestätigt man hier mit yes werden alle Einträge aus dem /boot/system/packages/administrative Verzeichnis entfernt die älter als 3 Tage sind.

Möchtest Du die Anzahl an Tagen verändern, verändere die Zahl +3 bei 

find -type d -mtime +3 -exec rm -rf {} \;

auf den gewünschten Wert.

 

Anleitung erstellt in Zusammenarbeit von Lelldorin und Humdinger Dezember 2015
Bereitgestellt durch BeSly, der BeOS, Haiku & Zeta Wissensbasis.