Weiter: Disketten Hoch: Anhang Zurück: Glossar

B. Technische Einzelheiten

 

In der Einleitung habe ich die Barrieren angesprochen, die einer Arbeit wie dieser entgegenstehen und eine ihrer Ursachen in der Technik vermutet. Ich hoffe, daß dieser Abschnitt zum einen die Hindernisse überwindbar wirken läßt und zum anderen für eine mir notwendig erscheinende Transparenz sorgt.

Die Arbeit wurde auf einem handelsüblichen IBM-kompatiblen PC durchgeführt. Als Betriebssystem kam das freie Unix-artige Linux zum Einsatz. Für Linux sprechen seine Stabilität, seine freie Verfügbarkeit und der große Fundus an freier Software. Gerade die beiden letzten Punkte sind nicht zu unterschätzen, weil leistungsfähige Software in der Regel teuer ist. Mit Linux und der Software aus dem GNU-Projekt stehen jedoch Programme umsonst zur Verfügung, die in der Regel schneller und zuverlässiger funktionieren als ihre kommerziellen Pendants.

Aus dem GNU-Projekt kam eine breite Palette an Programmen zum Einsatz: vom Allzweck-Werkzeug Emacs (Editor, E-Mail, Nachrichtenprogramm usw.) über awk bis hin zum Programm nl, das nur Zeilen numeriert. Unter Unix gehört die Möglichkeit der Weiterleitung des Ergebnisses eines Programms an das nächste zum Standard. Die Erstellung einfacher Übersichten oder Statistiken konnte daher auf der Ebene der Kommandozeile erledigt werden. Komplexere Aufgaben wurden von sogenannten Shell-Scripten erledigt (s.u.).

Die Artikel der Stichprobe habe ich zum einen über meinen privaten Netzzugang im Hanse e.V. mittels uucp und zum anderen über den Usenet-Rechner der Universität Hamburg mittels des Programms suck bezogen. Auf meinem Rechner (minerva.hanse.de) wurden die Artikel vom Nachrichtensystem C-News in Empfang genommen. Den Unwägbarkeiten des Nachrichtensystems wurden die Artikel durch ein Shell-Script entzogen und die neu eingetroffenen Artikel jeden Abend in die entsprechenden Verzeichnisse auf einer separaten Partition kopiert.

Mit der Archivierung habe ich am 26. April - probehalber - begonnen und am 6. Juni aufgehört. Artikel, die nicht in den Zeitraum vom 1. - 31. Mai fielen, habe ich gelöscht. Die anderen habe ich in der vorgefundenen Reihenfolge der Übersichtlichkeit halber umbenannt (von 1 aufwärts). Über die Erweiterung des Emacs zum Nachrichtenprogramm mittels GNUS waren die Mitteilungen in ihren sicheren Verzeichnissen genauso lesbar wie die Artikel im Nachrichtensystem.

Es folgt ein Beispiel für ein Shell-Script. Das Programm erwartet als Parameter den Namen eines Verzeichnisses. Es wechselt in das angegebene Verzeichnis und zählt dort in jedem Artikel die Anzahl der Bytes, die auf die Trennzeile zwischen Kopf und Text einer Mitteilung folgen. Die einzelnen Werte werden addiert, und am Schluß wird die Gesamtsumme ausgegeben. Das Ergebnis des Programms fand in der Tabelle 3.1 in der Rubrik Netto Verwendung.

#!/bin/bash -norc
#
# Script soll Trennzeile zwischen Header und Body eines 
# Artikels finden und die Anzahl der folgenden Bytes zählen.
#

BASE=/home/pat/News/sp

if [ $# -eq 0 ]; then
    echo "Bitte Verzeichnis angeben."
elif [ $# -gt 0 ]; then
    if [ -d $BASE/$1 ]; then
        WDIR=$BASE/$1
    elif [ ! -d $BASE/$1 ]; then
        echo "Wohl verschrieben..."
    fi
fi

if [ ! -z $WDIR ];then 
    TOTAL=0
    for i in $WDIR/*; do
        CURRENT=$i
        LineNum=0
        for j in `grep -n -v [[:alnum:]] $CURRENT | cut -f 1 -d :`;do 
            if [ $LineNum -eq 0 ]; then
                LineNum="$j"
            fi
        done
        BYTES=`sed 1,"$LineNum"d $CURRENT | wc -c`
        TOTAL=$[ $TOTAL + $BYTES ]
    done
    echo "Bytecount: $TOTAL"
fi


Weiter Hoch Zurück Inhalt