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.
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
Fahrplan |
Hauptseite | Feedback | FAQ
2³² Stars In The Sky Abschlussrunde mit Vorstellung FreifunkBW::Camp Alice explodiert! Begrüßung und Einleitung Bondage-Workshop BorgBackup Treffen Build yourself a SNMP replacement Building a Photobooth Closing und Review Combining the Intertubes using Multipath TCP Critical Mass CyberMorning Show Cybern Demoshow Die manpages.debian.org-Modernisierung Digitalisierte Stromnetze und Smart Meter in Deutschland Einführung Infotresen Einführung in Onshape Einführung in die Chaosvermittlung Electronic GeekBag Esoterische Programmiersprachen FreeBSD: The Power to Serve a Community Freifunk Interconnectivity Freifunk-Admin-Talkrunde From Mirai to Apple Guerilla Stricken Gulasch Karaoke Gulaschausgabe HTTP Security Header Hack the Badge - Preisverleihung Hackertours Haecksenfryhstyck How to fly to the Moon How we bodged the Badge Improving the Web of Trust with GNOME Keysign Introduction to Automated Binary Analysis Jonglier-Workshop Lightning Talks Lossless Data Compression Mammut statt Vogel Mate Making DIY McFly McFly Menstruation Matters Mitgliederverwaltung für Erfas My Little Pony - Videoanalyse ist Magie Network Flow Analysis using Netflow protocols and tflow2 Neues ECAD-Programm horizon OWASP TOP 10 OWASP Top 10 Privacy Risks Project PGP Keysigning Panik überall Pixel-Art Workshop Playing Studio Sets Live with Ableton Podcasten QR-Codes SHA2017 Orga Meet @ GPN17 Salt-Orchestrated Software Defined Freifunk Backbone im Hochstift Smarthome mit ioBroker Sysadmin Nightmares The Elektr0nic Window Towards a more secure operating system without sacrificing usability Vertrauen ist gut, Kontrolle ist besser. Virtual Reality mit Freier Software WCW 2017 Livestream Webserversecurity 101 Werwölfe von Düsterwald What to hack Wie kommt eigentlich das Internet von Hamburg nach Stuttgart? ZFS replication with zrepl ffbw.de Workshop git-dit gokrazy: ein Go userland für Raspberry Pi 3 appliances hacking galaxy S8 iris recognition small modifications and embodied connectivity the dark side of the wifi Æ-DIR Installation Workshop