Custom Debian Distributions

Vortrag auf dem 6. LinuxTag Chemnitz

7. März 2004

Kurzfassung

Custom Debian Distributions (früher Debian Interne Projekte) sind nutzerorientierte Teile der Debian GNU/Linux Distribution, die spezielle Zielgruppen von Anwendern unterstützen wollen. In diesen kommt besonders die Tatsache zum Ausdruck, daß Debian als Verbindungsglied zwischen Upstream Autor und Endanwender verstanden werden kann. Die wachsende Bedeutung von Linux für den Desktop im allgemeinen wird bei Debian durch die Tatsache reflektiert, daß im vergangenen Jahr einige neue Custom Debian Distributions entstanden sind und die bereits existierenden weitere Fortschritte verzeichnen konnten.

Der Vortrag richtet sich an Zuhörer, die an der Philosophie der Custom Debian Distributions und der dabei eingesetzten Techniken, um die Projekte zu verwalten, interessiert sind. Es wird im Detail erläutert, warum diese Projekte keine Abspaltungen ("forks") von Debian sind, sondern vollständig in die Debian GNU/Linux Distribution integriert sind und welche Vorteile durch diesen Ansatz erzielt werden. Das Konzept der Meta-Pakete und Nutzer-Rollen basierter Menüs wird eingehend behandelt. Schließlich wird ein Plan skizziert, wie man in Zukunft auf Basis der Custom Debian Distributions an den eigenen Bedarf angepaßte Knoppix-Live-CDs erzeugen könnte.

Der Vortrag richtet sich an ein technisch interessiertes Publikum.

Weiterer Vortrag zu diesem Thema: Debian-Med

Auf dieser Seite befindet sich die MagicPoint-Quelle inclusive dem verwendeten MagicPoint-Style des Vortrages.
Hier befinden sich die vorformatierten Folien.

Custom Debian Distributions

Debian in speziellen Einsatzgebieten

(Seite 1)

Überblick

  • Was ist Debian?
  • Was sind Custom Debian Distributions?
  • Debian - adaptierbar für jeden Zweck?
  • Technologie
    • Meta-Pakete
    • Nutzer Menüs
  • Dokumentation
  • Zukunft
(Seite 2)

Was ist Debian?

  • Linux: Kern des Betriebssystems
  • Anwendungen: Programme mit denen Nutzer interagieren
  • Distribution: Linux-Kern + Sammlung von Anwendungen
  • Distributor: Firma, die eine Distributionen zusammenstellt
  • Geschäftsmodell: Verkauf dieser Distribution, Nutzerunterstützung und -schulung
  • Beispiele: Mandrake, RedHat, Suse^H^H^H^HNovell und andere.
  • Debian ist einer dieser Distributoren.
(Seite 3)
Verzeihung.
Das war nicht korrekt.
(Seite 4)

Was ist Debian? (nächster Versuch)

Das Debian-Projekt ist eine Gemeinschaft von Individuen die in Gemeinschaftsarbeit ein freies Betriebssystem entwickeln. Dieses Betriebssystem, das wir entwickelt haben, wird
Debian GNU/Linux,
genannt, oder einfach nur Debian. Weiterhin wird daran gearbeitet, Debian mit anderen Kerneln anzubieten, hauptsächlich für Hurd. Andere mögliche Kernel sind BSD und auch Ports für MS Windows sind geplant.
(Seite 5)

Netzwerk des Vertrauens

Debian Entwickler Schlüsselring
(Seite 6)

Unterschiede zu anderen Distributionen

  • Debian ist keine Firma sondern eine Organisation.
  • Debian verkauft nichts.
  • Debian Mitglieder (sogenannte Entwickler) sind Freiwillige.
  • Die Entwickler arbeiten an dem gemeinsamen Ziel: Das bestmögliche Betriebssystem herzustellen.
  • Debian ist die größte Sammlung sofort installierbarer freier Software im Internet
  • Es gibt zwei Möglichkeiten Debian GNU/Linux zu beziehne:
    • Es kann bei verschiedenen anderen Distributoren auf CD erworben werden
    • Kostenlose Installation direkt aus dem Web
  • Der letzte Weg ist der übliche und es gibt äußerst praktische Programme, die das sehr flexibel unterstützen.
(Seite 7)

Was sind Custom Debian Distributions?

  • Debian besteht aus etwa 10000 Programm-Paketen
  • In der Regel sind Nutzer jedoch nur an einer Untermenge all dieser Pakete interessiert
  • Custom Debian Distributions sorgen für spezielle Nutzergruppen mit unterschiedlichen Fähigkeiten und Interessen
  • Es sind nicht nur praktische Sammlungen von spezifischen Programm-Paketen sondern es wird auch für leichte Installation und Konfiguration Sorge getragen.
  • Keine Abspaltung ("fork") von Debian

→ Grundidee: Es wird keine separate Distribution erstellt, sondern Debian für einen speziellen Zweck angepaßt.

(Seite 8)

Lösungen anderer Distributoren

  • Kommerzielle Linux Distributoren haben spezielle Produkte
    • Unternehmen (Corporate Server - Mandrake, Advanced Server - Red Hat, Enterprise Server - SuSE)2
    • Workstation oder Home-Editions, Office-Desktops
    • Produkte für spezielle Aufgaben
      • Mailserver (SuSE Linux Openexchange Server)
      • Firewall (Multi Network Firewall - Mandrake, SuSE Firewall on CD)
      • Cluster (Mandrake Clustering)
      • Content Management System (Red Hat)
      • Portal Server (Red Hat)
  • Diese Produkte bieten Lösungen für spezielle Nutzerprobleme

→ Debian benutzt Custom Distributions

(page 9)

Motivation

Profil der ins Auge gefaßten Nutzer:
  • Geringe technische Kompetenz
  • Nicht in der Lage, Programme so wie sie direkt von den Autoren angeboten werden mit akzeptablem Aufwand zu installieren
  • Kein Interesse an der Administration
  • Interesse begrenzt auf eine definierte Untermenge der verfügbaren freien Software
  • Bedarf für leichte Bedienbarkeit
  • Exakt beschreibbare Sicherheitsanforderungen
(Seite 10)

Status freier Software für Spezialgebiete

  • Schwierig zu installieren
  • Schwierig zu betreuen
  • Schwer zu benutzen (teilweise fehlen GUIs)
  • Ungewöhnliche Lizenzen
  • Vom ursprünglichen Autor nicht weiter betreut
  • Portierungsprobleme (Architektur, Byteorder, 32/64Bit)
  • Datenformate nicht austauschbar
  • Parallele Entwicklung ein und derselben Funktionalität
  • Die verwendeten Software-Werkzeuge sind teilweise nicht für den Verwendungszweck geeignet

→ Fehlen einer Integrationsumgebung

(Seite 11)

Debian-Junior

Debian für Kinder von 1 bis 99
  • Debian zu einem System entwickeln, daß Kinder aller Altersgruppen nutzen möchten
  • Es soll so schön werden, daß Kinder es mögen
  • Es soll als Spielwiese für Experimente dienen
  • Es sollen nicht nur Spiele zur Verfügung gestellt werden, sondern auch für Qualitätsstandards bei diesen Spielen gesorgt werden
  • Das Hauptaugenmerk liegt auf kleinen Kindern, ältere sollten so gut mit Debian umgehen können, daß keine speziellen Anpassungen mehr nötig sind
(Seite 12)

Debian-Edu

Debian für die Bildung
  • Debian zur optimalen Distribution für Bildung machen
  • Vereinigung verschiedener Initiativen rund um freie Software für die Ausbildung
  • Mit SkoleLinux verschmolzen
  • Integration von Forks: Französische Debian Education Distribution, LinEx (Linux Extremadura)
  • Kooperation mit anderen Bildung-orientierten Projekten (wie Seul, Ofset, KdeEdu)
  • Sehr aktives Projekt seit Übernahme durch norwegisches Skolelinux
(Seite 13)

Debian-Med

Debian im Gesundheitswesen
  • Integrierte Softwareumgebung für alle medizinischen Aufgaben
  • Besonderes Augenmerk gilt der Qualität der Programm-Pakete des medizinischen Bereichs, die bereits in Debian integriert sind.
  • Erstellen von Paketen mit medizinischer Software, die in Debian im Moment noch fehlen
  • Schaffen einer generellen Infrastruktur für medizinisch orientierte Nutzer
  • Ermöglichung der Integration freier medizinischer Software, durch Kooperation mit Autoren
(Seite 14)

DeMuDi

Debian Multimedia Distribution
  • Noch keine offizielle Custom Debian Distribution doch der Projektkoordinator bereitet gerade die notwendigen Schritte vor
  • Orientiert auf Musik und Multimedia
  • Debian GNU/Linux soll die Plattform der Wahl für Musiker und Multimedia-Künstler werden
  • DeMuDi ist Teil eines von der Europäischen Union geförderten Projekts namens AGNULA
  • Der Initiator ist im Moment noch kein Debian Entwickler doch es ist durchaus möglich, auch schon in diesem Stadium für Debian zu arbeiten
(Seite 15)

Debian-Desktop

Debian GNU/Linux für alle
  • bestmögliches Betriebssystem für Privat- und Firmen-Arbeitsplätze
  • Motto: "Software, die einfach funktioniert"
  • Optimales Zusammenspiel von Debian mit Desktops wie Gnome / KDE
  • Einfache Bedienung für Anfänger ohne Einschränkung der Flexibilität für Experten
  • Einfache Konfiguration (Hardware-Erkennung)
  • Internationalisierung
(Seite 16)

Debian-Lex

Debian GNU/Linux für die Rechtsanwaltskanzlei
  • lex wurde vom Lateinischen "law" abgeleitet
  • Komplettes System für alle Aufgaben der Rechtsanwaltskanzlei
  • Vorhandene Pakete durch angepasste Vorlagen für Rechtsanwälte aufwerten
    • OpenOffice.org
    • SQL-Ledger
    • Beispiel-Datenbank-Schema für PostgreSQL.
(Seite 17)

Debian-NP

Debian GNU/Linux für gemeinnützige Organisationen
  • Bedürfnisse kleiner gemeinnütziger Organisationen abdecken
  • Desktop Anwendungen in integrierter, dokumentierter, stabiler, freier Arbeitsplatzumgebung
  • Gemeinnützige Organisationen setzen oft Freie Software ein
  • Viele gemeinsame Punkte mit anderen Custom Debian Distributions
  • Spezielle Aufgaben:
    • Spenden
    • Mitgliederlisten
    • Organisation von Konferenzen
(Seite 18)

Debian Accessibility Project

Debian für blinde und sehgestörte Menschen
  • Unterstützung für Menschen mit Behinderungen
  • Besondere Aufmerksamkeit für
    • Bildschirm-Leser
    • Bildschirm-Vergrößerungsprogramme
    • Software Sprach-Synthesizer
    • Spracherkennungssoftware
    • Scanner-Treiber und OCR Software
    • Spezielle Software wie edbrowse (Web-Browser mit Philosophie von Zeileneditoren)
  • Text-Interfaces zur Verfügung stellen
  • Bildschirmleser-Funktionalität während Installation
(Seite 18)

Weitere denkbare Projekte

  • Behörden
  • Büro
  • Finanzbuchhaltung
  • ???
(Seite 17)

Warum nicht von Debian abspalten?

  • Separate Distribution kostet zusätzlichen Aufwand
    • Großer Aufwand für gleiche Qualität
    • Kontinuierliche Aktualisierung (Basis-System, Installationssystem ...)
    • Kompetente Sicherheitsexperten notwendig
    → Abspaltung wäre eine schlechte Idee.
  • Integration in Debian hat Vorteile
    • Enorm große Nutzerbasis auf der ganzen Welt erhöht den Bekanntheitsgrad der Speziallösungen automatisch mit Debian
    • Sicheres und stabiles System ohne zusätzlichen Aufwand
    • Bug Tracking System umsonst
    • Infrastrukture (HTTP-, FTP-, Mailserver, PKI, ...) umsonst
  • Vorteile auch für Debian
    • Nutzerfreundlichere Pakete = Verbesserung der Qualität
(Seite 21)

Debian - adaptierbar für jeden Zweck?

  • Entwickelt von etwa 1000 Freiwilligen
  • Flexibel, da nicht an kommerzielle Interessen gebunden
  • Strenge Regeln ("Policy") sorgen dafür, daß alle Bestandteile miteinander harmonieren
  • Gemeinsames Interesse jedes einzelnen Entwicklers, das beste Betriebssystem für sich selbst zu erhalten
  • Entwickler haben im "realen Leben" Kinder oder arbeiten im medizinischen Umfeld etc.
  • Entwickler haben Freiheit, Visionen zu verwirklichen, ohne Einschränkung durch Firmeninteressen
  • Auf diese Weise kann jeder Entwickler Einfluß auf die Entwicklung von Debian nehmen - er muß es einfach nur in Angriff nehmen
(Seite 22)

Gründe für die Anpassungsfähigkeit

Folgende technische Merkmale garantieren die Anpassungsfähigkeit:
  • Wesentliche Eigenschaften von Debian:
    • Sicherheit
    • Stabilität
    • Qualität
    • Sorgfältiges Testen (BTS)
    • Kontinuität (Erhalten alter Konfigurationen)
  • Funktionale Paketverwaltungswerkzeuge
  • Unterstützung von 11 Hardware Architekturen (Automatische Erzeugung von Paketen für: alpha, arm, hppa, i386, ia64, m68k, mips, mipsel, powerpc, s390, sparc)
(Seite 20)

Technologie (1): Meta-Pakete

  • Sammlung spezifischer Software
    • Keine Suche nach verfügbarer Software erforderlich
    • Nutzer muß nicht die lange Liste der Debian-Pakete im einzelnen durchforsten
    • Leichte Vergleichbarkeit von Software mit gleicher Funktionalität
    • Schutz vor versehentlichem Löschen benötigter Pakete
    • Konflikte zu inkompatiblen Paketen
    • Vereinfachte Installation
    • Geringer Aufwand für die Administration
  • Angepaßte Konfiguration innerhalb von Meta-Paketen
    • Berücksichtigung spezieller Bedürfnisse von Projekt-Nutzern
  • Dokumentations-Pakete
    • Packen und Erzeugen relevanter Dokumentation
    • Übersetzung
(Seite 21)

Handhabung von Meta-Paketen

Kommandozeilen-Werkzeuge
apt-cache
(-)
grep-dctrl
(-)
auto-apt
(-)
Textbasierte Nutzerschnittstellen
tasksel
(o)
aptitude
(+)
dselect
(--)
Graphische Nutzerschnittstellen
gnome-apt
(o)
synaptic
(+)
kpackage
(o)
Web-Schnittstellen
Web-Suche: http://packages.debian.org/cgi-bin/search_packages.pl?keywords=med-&subword=1 (o)
Package Tracking System: http://packages.qa.debian.org/<letter> (--)
Package Developers: http://qa.debian.org/developer.php?login=<developer> (o)
list-junior (junior-doc) (--)
(Seite 22)

Zukünftige Handhabung

  • Offensichtlich gibt es im Moment noch nicht die cleveren Werkzeuge, wie das für Debian üblich ist.
  • Werkzeuge, die direkt nach Meta-Paketen suchen entwerfen oder vorhandene anpassen
  • Übereinkunft treffen: zusätzliches Flag für debian/control in Policy getroffen werden
  • Verknüpfung mit Debian Package Tags
(Seite 23)

Technologie (2): Nutzermenüs

  • Erstellung einer Liste von Projektnutzern mittels debconf um Gruppen wie junior und med in /etc/group zu verwalten
  • Diese Nutzer erhalten ein extra Menü
  • Andere Nutzer werden nicht mit diesen zusätzlichen Menüs belästigt
  • Ein Befehl update-subproject zum aktualisieren der Nutzermenüs nach der Installation neuer Pakete oder dem hinzufügen von Nutzern zu diesen Gruppen wird zur Verfügung gestellt
  • Die aktuellen Debian-Med Pakete vermitteln einen Eindruck von diesen Menüs
(Seite 24)

Dokumentation

(Seite 25)

Technologie (3): Live CDs

(page 26)

Knoppix-Kopfstand

  • Knoppix-Remastering heute: Knoppix-ISO holen und Platz für eigene Pakte schaffen
    → Selbst mit bittorrent unsinnig
  • Knoppix-Mastering morgen: "Basis-Knoppix" in chroot und eigene Pakete hinzufügen
    → Knoppix-Baukasten in Debian integrieren
    • Könnte selbst Custom Debian Distribution sein
    • Knoppix-Derivat direkt vom Debian-Mirror erzeugen / anpassen
      • debootstrap
      • Installation von Knoppix-Dateien in chroot-Umgebung
      • Anpassen der chroot-Umgebung an Verwendungszweck
      • Erzeuge ISO wie beim normalen Knoppix remastern
      • Portierbar auf andere Architekturen (PowerPC)
(Seite 27)

To do

  • Projekt auf http://alioth.debian.org
  • Update tasksel
  • Erweitern der Paket-Management-Werkzeuge zur besseren Handhabung von Custom Debian Distributions
  • Debian Package Tags
  • Build-System für CDs
    • Installations-CD, die nur Pakete für jeweilige Custom Debian Distribution enthält (z.B. SkoleLinux)
    • Live CD für Demonstrations- und Schulungszwecke
(Seite 28)

Zukunft

  • Erste Custom Debian Distributions sind entstanden
  • Weitere werden hinzukommen
  • Möglicherweise neuer Weg Debian zu releasen
  • Verbesserung der Werkzeuge zur vereinfachten Handhabung
  • Verbreitung der Idee bei Entwicklern und Anwendern
  • Live CDs der einzelnen Custom Debian Distributions
(Seite 29)

Weitere Informationen

(Seite 30)

Homepage Andreas Tille