linklint.png

Richtige Links

out of the box: linklint

01.11.2002
Tote Links in Web-Seiten werfen ein schlechtes Licht auf die Betreiber eines Internet-Auftritts. Doch wer macht sich gern die Arbeit, die internen und externen Links händisch zu überprüfen? Sie nicht? Dann sollten Sie sich linklint ansehen.

out of the box

Es gibt tausende Tools und Utilities für Linux. "out of the box" pickt sich die Rosinen raus und stellt pro Monat ein Progrämmchen vor, das wir für schlichtweg unentbehrlich oder aber zu Unrecht wenig beachtet halten.

Wer einen ganzen Zoo von Links in die HTML-Seitenstruktur seiner Web-Präsenz einbaut, kämpft gegen die Flüchtigkeit des Mediums: So mancher Link auf externe Seiten ist schon veraltet, kaum dass er eingebaut wurde. Da bleibt nichts anderes, als die Verweise regelmäßig zu prüfen.

Viele HTML-Editoren enthalten aus diesem Grund Linkchecker, doch die Seiten dort hineinzuladen, obwohl man eigentlich gar nichts ändern will, ist mühsam. Weitaus weniger Arbeit macht es, ein Progrämmchen, das der Unix-Philosophie "ein Tool – eine Aufgabe" folgt, mit der Überprüfung zu beauftragen. Zum Beispiel linklint von James B. Bowlin, ein eigenständiges Programm, das sich gut aus Shell-Skripten aufrufen lässt und seine Aufgabe sehr umfassend erledigen kann.

Installation ohne Hürden

Praktischerweise müssen Sie zur Installation von linklint nichts kompilieren: Das gesamte Programm wurde als Perl-Skript realisiert. Lediglich perl muss installiert sein – dies ist aber bei allen gängigen Linux-Distributionen der Fall.

Unter http://www.linklint.org/ oder auf der Heft-CD finden Sie das Archiv linklint-2.3.5.tar.gz. Die Installation besteht darin, das Archiv zu entpacken und das Skript unter dem Namen linklint in ein Verzeichnis im Suchpfad zu kopieren:

tar xzf linklint-2.3.5.tar.gz
cd linklint-2.3.5
su  (root-Passwort eingeben)
cp linklint-2.3.5 /usr/local/bin/linklint
exit

Als Installationsziel eignet sich /usr/local/bin im /usr/local-Zweig des Dateisystems, weil dieser nicht unter der Kontrolle des distributionseigenen Paketmanagers steht. Die darin befindlichen Verzeichnisse sind explizit für das händische Einspielen von zusätzlichen Programmen, die nicht im Paketformat der jeweiligen Distribution vorliegen, vorgesehen.

Lokalvorstellung

Als erstes Anwendungsbeispiel testen wir eine lokal vorhandene Seitenstruktur. Der Einfachheit halber verwenden wir die Dokumentation zu linklint, die selbst im HTML-Format vorliegt. Vorher sorgen wir allerdings dafür, dass eine Seite fehlt:

cd linklint-2.3.5
mv doc/bugs.html doc/bugz.html

Jetzt lassen wir linklint seines Amtes walten:

linklint -doc report /doc/@

Der Parameter -doc report weist linklint an, ausführliche Logdateien im Verzeichnis report zu erzeugen. Durch /doc/@ teilen wir dem Programm mit, dass es ausgehend vom Verzeichnis doc alle von dort verlinkten Dateien überprüfen soll. Diese Angabe eines so genannten Linksets werden wir noch ausführlich besprechen.

Dass ein Schrägstrich die Verzeichnisangabe einleitet, obwohl sich doc im aktuellen Verzeichnis (und nicht unterhalb des Wurzelverzeichnisses des Dateisystems) befindet, hängt damit zusammen, dass linklint seine Prüflinge von der sogenannten Document Root des Web-Servers ausgehend sucht. Da wir im Beispiel keinen Web-Server verwenden, definiert das Programm das aktuelle Verzeichnis als Wurzel der Web-Präsenz.

Vom Ergebnis des Checks greifen wir uns exemplarisch die Datei errorF.txt heraus (Listing 1). Sie listet alle Dateien auf, die nicht funktionierende Links ("broken links") enthalten. Wie erwartet erkennt linklint, dass bugs.html nicht mehr existiert und zeigt alle Dateien an, die die verschwundene Datei referenzieren.

Listing 1

errorF.txt

file: errorF.txt
date: Thu, 12 Sep 2002 16:32:17 (local)
Linklint version: 2.3.5
#————————————————————
# ERROR   7 files had broken links
#————————————————————
/doc/
[file: /doc/index.html] had 1 broken link /doc/bugs.html
/doc/doc_index.html had 1 broken link /doc/bugs.html
/doc/hints.html had 1 broken link /doc/bugs.html
/doc/howitworks.html had 1 broken link /doc/bugs.html
/doc/index.html had 1 broken link /doc/bugs.html
/doc/inputs.html had 1 broken link /doc/bugs.html
/doc/outputs.html had 1 broken link /doc/bugs.html

Die gleiche Information schreibt linklint auch in eine HTML-Datei gleichen Basisnamens, aus der die jeweils aufgeführten Dateinamen per Link erreichbar sind. Abbildung 1 zeigt das Ergebnis, dargestellt mit dem Netscape Navigator. Wahlweise lässt sich die linklint-Ausgabe mit den Optionen -textonly oder -htmlonly auf Text- oder HTML-Format beschränken.

Abbildung 1: Fehlende Links

Mit einer anderen interessanten Datei haben wir es bei remote.html zu tun. Sie führt alle Links auf, die die lokale Seitenstruktur verlassen und auf externe Web-Server verweisen. In der linklint-Dokumentation sind dies die in Abbildung 2 gelisteten Links.

Abbildung 2: Externe Links

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • The Answer Girl
    Selbstkompilierte Software hat einen Nachteil: Ob sie sich später sauber deinstallieren lässt, hängt von der eigenen Disziplin ab. Zum Glück lässt sich der nachhelfen.
  • iMaze
    Ein vergessen geglaubtes Spiel wurde im Dezember 2001 zu neuem Leben erweckt. Freunde des Atari-ST-Klassikers MidiMaze werden das Spielprinzip kennen.
  • out of the box
    Es gibt tausende Tools und Utilities für Linux. "out of the box" pickt sich die Rosinen raus und stellt pro Monat ein Progrämmchen vor, das wir für schlichtweg unentbehrlich oder aber zu Unrecht wenig beachtet halten. Dieses Mal geht es um das Netzkopiertool ncp.
  • K-splitter
    Wer sagt, dass Klatsch und Tratsch in einer Linux-Zeitschrift keinen Platz haben? K-splitter plaudert Monat für Monat aus dem KDE-Nähkästchen, posaunt Neuigkeiten aus der K-Welt aus und schaut hin und wieder neugierig hinter die Kulissen.
  • Beispiel-Plugins an Bord

    Highlight, ein freies Programm für das Syntax-Highlighting in vielen Sprachen, ist in Version 3.9 erhältlich.
Kommentare

Infos zur Publikation

LU 12/2014: ANONYM & SICHER

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Ubuntu 14.10 und VirtualBox
Ubuntu 14.10 und VirtualBox
Tim Schürmann, 08.11.2014 18:45, 0 Kommentare

Wer Ubuntu 14.10 in einer virtuellen Maschine unter VirtualBox startet, der landet unter Umständen in einem Fenster mit Grafikmüll. Zu einem korrekt ...

Aktuelle Fragen

Nach Ubdates alles weg ...
Maria Hänel, 15.11.2014 17:23, 4 Antworten
Ich brauche dringen eure Hilfe . Ich habe am wochenende ein paar Ubdates durch mein Notebook von...
Brother Drucker MFC-7420
helmut berger, 11.11.2014 12:40, 1 Antworten
Hallo, ich habe einen Drucker, brother MFC-7420. Bin erst seit einigen Tagen ubuntu 14.04-Nutzer...
Treiber für Drucker brother MFC-7420
helmut berger, 10.11.2014 16:05, 2 Antworten
Hallo, ich habe einen Drucker, brother MFC-7420. Bin erst seit einigen Tagen ubuntu12.14-Nutzer u...
Can't find X includes.
Roland Welcker, 05.11.2014 14:39, 1 Antworten
Diese Meldung erhalte ich beim Versuch, kdar zu installieren. OpenSuse 12.3. Gruß an alle Linuxf...
DVDs über einen geeigneten DLNA-Server schauen
GoaSkin , 03.11.2014 17:19, 0 Antworten
Mein DVD-Player wird fast nie genutzt. Darum möchte ich ihn eigentlich gerne abbauen. Dennoch wür...