Raspberry Pi und die Mirrors

Visits: 693

Ich habe meine Resourcen für Raspberry Pi zur Verfügung gestellt, auch hier ist ein Mirror der Files verfügbar. Eigentlich sogar 2, ein weiterer liegt noch auf meiner JiffyBox. Jetzt am Donnerstag sollen ja die Tests der ersten Charge über die Bühne sein.

Leider steht vor dem Erfolg der Schweiß, oder so ähnlich. Aus diesem Grund konnte das mit dem Mirror auch nicht ‘einfach so’ klappen. Zum einen wollte ich auf meinem virtuellen Server keinen FTP-Zugang einrichten und zum andern lässt der Tarif, den ich hier für meine Webseiten gebucht habe, Directory listing nicht zu. Ich wollte auch nicht unnötig viel Arbeit für die R-Pi-Leute machen, also musste mal eben eine eigene Lösung her. Bestimmt gibt’s dafür eine Lösung auch fertig irgendwo her, aber wo ist dann der Spaß?

Also die Aufgabenstellung: synchronisiere 2 Server mit einem 3. Server und erzeuge ein Directory Listing ohne das Apache-Modul. Meine Lösung sieht vor:

  1. rsync vom raspberry-pi Server auf meinen virtuellen Server
  2. index.html erstellen für jedes Verzeichnis, mit Auflistung aller Unterverzeichnisse und Dateien
  3. Alle Dateien (inklusive der erstellten index.html) vom virtuellen Server auf den Webhosting-Server synchronisieren.

Ist alles ja gar nicht so schwer. Zu 1. wird auf dem virtuellen Server rsync ausgeführt:

rsync -azPv rsync://rsync-source/ /var/www/mirror/

Ich weiß jetzt nicht so wirklich, ob die Leute von Raspberry Pi es so gut fänden, wenn ich die Serveradresse verrate, deshalb lasse ich die hier mal weg.

Zu 2. habe ich dann ein PHP-Skript geschrieben, dass rekursiv durch die Verzeichnisse geht und entsprechende Dateien schreibt. Ja, es ist Quick & Dirty…:

<?php
function createIndex($folderName,$displayRoot) {
    $output = "<html><head><title>$folderName</title></head><body><h1>Index of $displayRoot</h1><table>";
    $i=0;
    $allEntries = null;
    $currHandle = opendir($folderName);
    if ($currHandle !== FALSE) {
        $currEntry = readdir($currHandle);
        while ($currEntry !== FALSE) {
            $allEntries[$i++] = $currEntry;
            $currEntry = readdir($currHandle);
        }
        sort($allEntries);
        foreach ($allEntries as $currEntry) {
            $procThis = $folderName . '/' . $currEntry;
            if (is_dir($procThis)) {
                if ($currEntry != '.' && $currEntry != '..') {
                    createIndex($procThis, $displayRoot . '/' . $currEntry);
                }
                $fsize = 0;
            }
            else {
                $fsize = filesize ($procThis);
            }
            if ($currEntry != '.' && $currEntry != 'index.html') {
                $output .= "\n<tr><td><a href=\"$currEntry\">$currEntry</a></td>";
                if ($fsize > 0) {
                    $output .= '<td>' . $fsize . ' bytes</td><td>' . date ("Y-m-d H:i:s.", filemtime($procThis)) . '</td>';
                }
                else {
                    $output .= '<td></td><td></td>';
                }
            }
            $output .= '</tr>';
        }
    }
    $output .="</table></body></html>";
    $handle = fopen($folderName . '/index.html','w');
    fwrite($handle,$output);
    fflush($handle);
    fclose($handle);
}
createIndex("/var/www/mirror", "/mirror");
?>

Das ganze Verzeichnis wird dann zu 3. per lftp mit dem Webhosting-Server synchronisiert:

open ftp://user:password@ftp.loco-toys.de
mirror -R -v --only-newer /var/www/mirror/ /

Diese 2 Zeilen in eine Datei geschrieben (z.B. synch.lftp) und der Aufruf erfolgt dann mit

lftp -f synch.lftp

Diese 3 Schritte werden dann noch sinnvoll in der crontab eingetragen, und schon haben wir 2 weitere Mirrors für Raspberry Pi.

Bleibt nur noch zu hoffen, dass ich überhaupt einen der Dinger aus der ersten Charge bekomme, und dass meine Mirrors nicht so beliebt sind, dass mir die Domains geperrt werden.

Immer noch keine Raspberry-Pis

Visits: 612

Wie im Forum von Raspberry-Pi zu lesen ist, ist der Verkaufstermin auf Ende Januar verschoben worden. Damit verpasse ich die 2. Gelegenheit, zu einem Geburtstag die Dinger in der Hand zu haben. Die ersten 10 Beta-Boards werden zwar bei ebay versteigert, aber so sehr ich den Laden auch unterstützen möchte, die limitierten Versionen mit Echtheitszertifikat kann ich mir nicht leisten.

Raspberry Pi wohl erst Anfang Dezember

Visits: 591

Gnarf, ich kann es ja gar nicht abwarten. Ich “brauche” in jedem Raum meiner Wohnung einen Computer, der mindestens als Surfstation funktioniert. Möglichst noch Musik und Filme abspielen kann und natürlich sollten die Rechner vor allem komplett passiv gekühlt sein und nichts an Strom verbrauchen. Letzteres macht mein Hauptdesktop schon genug, schließlich muss der aber auch aktuelle Spiele anbieten können.

Meine Versuche mit EPIA-Rechnern waren schon nicht verkehrt, aber die (Strom-)Kosten/Nutzen waren noch nicht ganz das, was ich eigentlich wollte. Zumal mich auch die Treiber für die Grafikkarte unter Linux nicht überzeugen konnten, und die passiv betreibbaren Versionen an manchen Stellen schon etwas nervig langsam waren.

Aber dann las ich von Raspberry Pi Systemen. Sie könnten einiges meiner Träume wahr machen. Zu Preisen von 25 oder 35 $ (ohne / mit Netzwerk) und bei einem Verbrauch von ~3,5 Watt und erstaunlich guter Grafikkarte und (aber wen wundert es wirklich) komplett passiver Kühlung sind sie schon extrem verführerisch. Externes wird alles über USB angeschlossen, bis auf Bild (HDMI) und Ton (3,5mm Klinke). Die Stromversorgung erfolgt durch einen Mini-USB-Anschluß (5V) , also ziemlicher Standard, und kann auch durch Batterien erfolgen. PoE wird erstmal nicht zu den Fähigkeiten gehören, aber das kann man mit Adaptern auch noch selbst schustern.

Zu einem nutzbaren Computer fehlt also nur noch Tastatur/Maus, ein Display und ggf. ein Massenspeicher. So klein wie das Ding ist, kann man das sicher in ein Displaygehäuse integrieren oder einfach hinten dran kleben. Wenn dann noch ein Touchscreen dran kommt… Ach, ich will das Teil.

Leider wird der Verkauf nicht wie erst geplant im November starten, vorraussichtlich Anfang Dezember. So lange muss ich noch auf mein zukünftiges Spielzeug warten, gesetzt dem Fall, ich bin schnell genug beim Bestellen. Die Nachfrage dürfte meiner Meinung nach die erste Charge von 10.000 Stück weit übersteigen.