GPN17:Die manpages.debian.org-Modernisierung: Unterschied zwischen den Versionen

aus dem Wiki des Entropia e.V., CCC Karlsruhe
K (Fahrplanbot tut Dinge)
K (Video)
 
(2 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
{{#ev:mediacccde|https://media.ccc.de/browse/conferences/gpn/gpn17/gpn17-8510-die_manpages_debian_org-modernisierung.html||right}}
Ein Vortrag von Michael Stapelberg auf der [[GPN17]].
Ein Vortrag von Michael Stapelberg auf der [[GPN17]].
Mit manpages.debian.org haben wir kürzlich die vollständigste Manpage-Seite im Netz geschaffen. In diesem Vortrag geht es um die dahinterstehende Motivation, Ziele, Implementation, Überraschungen und Zukunftspläne des Projekts.


Ein paar statische Seiten ausliefern klingt einfach. Manpages von einem Betriebssystem auszuliefern klingt wie etwas, was schon etliche Male erledigt wurde. Wenn man jedoch ein bisschen genauer hinschaut, stellt man schnell fest, dass man einige Wochen darauf aufwenden kann, wenn einem die Details wichtig sind.
Ein paar statische Seiten ausliefern klingt einfach. Manpages von einem Betriebssystem auszuliefern klingt wie etwas, was schon etliche Male erledigt wurde. Wenn man jedoch ein bisschen genauer hinschaut, stellt man schnell fest, dass man einige Wochen darauf aufwenden kann, wenn einem die Details wichtig sind.
Zeile 17: Zeile 15:


* [https://manpages.debian.org manpages.debian.org]
* [https://manpages.debian.org manpages.debian.org]
* [https://entropia.de/Datei:Manpages.d.o_GPN17.pdf Folien (PDF, 445K)]




{{Navigationsleiste GPN17:Vorträge}}
{{Navigationsleiste GPN17:Vorträge}}

Aktuelle Version vom 31. Mai 2017, 18:44 Uhr

Ein Vortrag von Michael Stapelberg auf der GPN17.

Ein paar statische Seiten ausliefern klingt einfach. Manpages von einem Betriebssystem auszuliefern klingt wie etwas, was schon etliche Male erledigt wurde. Wenn man jedoch ein bisschen genauer hinschaut, stellt man schnell fest, dass man einige Wochen darauf aufwenden kann, wenn einem die Details wichtig sind.

Als einfaches Beispiel: man kann nicht einfach alle Dateien unter /usr/share/man/ extrahieren. Schließlich enthalten unterschiedliche Debian-Binärpakete Manpages mit dem selben Namen: mysqld(8) ist beispielsweise sowohl in mariadb-server-core-10.0 als auch in mysql-server-core-5.5 enthalten.

Generell, wenn man lediglich Manpages aus Paketen extrahiert, macht man es sich zu einfach. Beliebte Pakete wie vi(m) oder ganeti benutzen das Konzept der „slave alternative“-Symlinks, damit die Manpage /usr/share/man/man1/vi.1 auch auf genau die derzeit bevorzugte/installierte Variante von vi (oder Version von ganeti) zeigt. Diese Indirektion wird zur Installationszeit (!) von einem shell-Script (!) aufgesetzt.

Zu diesem inhärent schwierigen Datensatz kommen hohe Ansprüche an moderne Websites und betagte Hardware als Laufzeitumgebung hinzu, und schon steht man vor einem interessanten Problem.

Kommt zu meinem Vortrag für haufenweise interessante Details und Fun-Facts!

Links