of 28 /28
Vorwort Gr¨ unde f¨ ur selbsterstellte Pakete Struktur und Aufbau Pakete erstellen Ausblick Debian Pakete im Eigenbau Michael Hartmann LUGA 01. Februar 2006 Michael Hartmann Debian Pakete im Eigenbau

Debian Pakete im Eigenbau - luga.de fileVorwort Gr¨unde f ur selbsterstellte Pakete¨ Struktur und Aufbau Pakete erstellen Ausblick Vorwort Dieses Dokument beschreibt Aufbau und Struktur

  • Author
    others

  • View
    2

  • Download
    0

Embed Size (px)

Text of Debian Pakete im Eigenbau - luga.de fileVorwort Gr¨unde f ur selbsterstellte Pakete¨ Struktur und...

  • VorwortGründe für selbsterstellte Pakete

    Struktur und AufbauPakete erstellen

    Ausblick

    Debian Pakete im Eigenbau

    Michael Hartmann

    LUGA

    01. Februar 2006

    Michael Hartmann Debian Pakete im Eigenbau

  • VorwortGründe für selbsterstellte Pakete

    Struktur und AufbauPakete erstellen

    Ausblick

    Vorwort

    Dieses Dokument beschreibt Aufbau und Struktur einesDebian-Pakets und eine einfache Möglichkeit selbst Pakete zuerstellen.Wenn Sie

    ”professionell“ Pakete erstellen wollen, lesen Sie

    bitte die Debian Packaging Manual

    Michael Hartmann Debian Pakete im Eigenbau

  • VorwortGründe für selbsterstellte Pakete

    Struktur und AufbauPakete erstellen

    Ausblick

    Debian Pakete - Wofür?

    einfache Installation diverser Software für. . .

    . . . selbstgeschriebene Skripte oder Programme

    . . . selbst kompilierte Programme (weil nicht inDistribution vorhanden / sehr neu / spezielle Wünsche). . . fehlerbeseitigte Version eines Pakets. . . modifiziertes Distributions-Paket (Anpassung, z.B.weniger/mehr Features, kleinererSpeicherplatzverbrauch)

    Vorteile

    ein Paket für viele Distributioneneinfache (De-)Installationeinfache Bereitstellung für Dritte

    Michael Hartmann Debian Pakete im Eigenbau

  • VorwortGründe für selbsterstellte Pakete

    Struktur und AufbauPakete erstellen

    Ausblick

    Debian Pakete - Wofür?

    einfache Installation diverser Software für. . .

    . . . selbstgeschriebene Skripte oder Programme

    . . . selbst kompilierte Programme (weil nicht inDistribution vorhanden / sehr neu / spezielle Wünsche). . . fehlerbeseitigte Version eines Pakets. . . modifiziertes Distributions-Paket (Anpassung, z.B.weniger/mehr Features, kleinererSpeicherplatzverbrauch)

    Vorteile

    ein Paket für viele Distributioneneinfache (De-)Installationeinfache Bereitstellung für Dritte

    Michael Hartmann Debian Pakete im Eigenbau

  • VorwortGründe für selbsterstellte Pakete

    Struktur und AufbauPakete erstellen

    Ausblick

    Verbreitung

    Distributionen mit Debian Paketformat:

    DebianDynebolic (XBox-fähige Distribution)KNOPPIX / Gnoppix / Kanotix / Lamppix / DamnSmall LinuxLinspireMEPISProgenySkolelinuxSphinxOSUbuntu / KubuntuXandrosXebian (Debian auf XBox)

    Michael Hartmann Debian Pakete im Eigenbau

  • VorwortGründe für selbsterstellte Pakete

    Struktur und AufbauPakete erstellen

    Ausblick

    Verbreitung

    Distributionen mit Debian Paketformat:

    DebianDynebolic (XBox-fähige Distribution)KNOPPIX / Gnoppix / Kanotix / Lamppix / DamnSmall LinuxLinspireMEPISProgenySkolelinuxSphinxOSUbuntu / KubuntuXandrosXebian (Debian auf XBox)

    Michael Hartmann Debian Pakete im Eigenbau

  • VorwortGründe für selbsterstellte Pakete

    Struktur und AufbauPakete erstellen

    Ausblick

    Struktur und Aufbau

    einfaches komprimiertes Archivdebian-binary:

    Text-Datei mit der Versions-Nummer des jeweiligenPackage-Standards (2.0)

    control.tar.gzMetainformationen (Abhängigkeiten, Dateigröße)MD5-Hashes der im Paket enthaltenen DateienSkripte, die vor/nach (De-)Installation ausgeführtwerden

    data.tar.gzProgramme und BibliothekenKonfigurationsdateienManualssonstige Programmdaten

    Michael Hartmann Debian Pakete im Eigenbau

  • VorwortGründe für selbsterstellte Pakete

    Struktur und AufbauPakete erstellen

    Ausblick

    Struktur und Aufbau

    einfaches komprimiertes Archivdebian-binary:

    Text-Datei mit der Versions-Nummer des jeweiligenPackage-Standards (2.0)

    control.tar.gzMetainformationen (Abhängigkeiten, Dateigröße)MD5-Hashes der im Paket enthaltenen DateienSkripte, die vor/nach (De-)Installation ausgeführtwerden

    data.tar.gzProgramme und BibliothekenKonfigurationsdateienManualssonstige Programmdaten

    Michael Hartmann Debian Pakete im Eigenbau

  • VorwortGründe für selbsterstellte Pakete

    Struktur und AufbauPakete erstellen

    Ausblick

    Struktur und Aufbau

    einfaches komprimiertes Archivdebian-binary:

    Text-Datei mit der Versions-Nummer des jeweiligenPackage-Standards (2.0)

    control.tar.gzMetainformationen (Abhängigkeiten, Dateigröße)MD5-Hashes der im Paket enthaltenen DateienSkripte, die vor/nach (De-)Installation ausgeführtwerden

    data.tar.gzProgramme und BibliothekenKonfigurationsdateienManualssonstige Programmdaten

    Michael Hartmann Debian Pakete im Eigenbau

  • VorwortGründe für selbsterstellte Pakete

    Struktur und AufbauPakete erstellen

    Ausblick

    Struktur und Aufbau

    einfaches komprimiertes Archivdebian-binary:

    Text-Datei mit der Versions-Nummer des jeweiligenPackage-Standards (2.0)

    control.tar.gzMetainformationen (Abhängigkeiten, Dateigröße)MD5-Hashes der im Paket enthaltenen DateienSkripte, die vor/nach (De-)Installation ausgeführtwerden

    data.tar.gzProgramme und BibliothekenKonfigurationsdateienManualssonstige Programmdaten

    Michael Hartmann Debian Pakete im Eigenbau

  • VorwortGründe für selbsterstellte Pakete

    Struktur und AufbauPakete erstellen

    Ausblick

    control.tar.gz

    md5sums:

    MD5-Summen im Format MD5-Hash PFAD/DATEI

    (post|pre)(inst|rem)Maintainerskripte, die vor (pre) bzw. nach (post)Installieren (inst) bzw. Entfernen (rem) ausgeführtwerden

    control

    Metadaten (Maintainer, Beschreibung usw. . . )

    conffiles

    Liste mit sämtlichen Konfigurationsdateien

    Michael Hartmann Debian Pakete im Eigenbau

  • VorwortGründe für selbsterstellte Pakete

    Struktur und AufbauPakete erstellen

    Ausblick

    control.tar.gz

    md5sums:

    MD5-Summen im Format MD5-Hash PFAD/DATEI

    (post|pre)(inst|rem)Maintainerskripte, die vor (pre) bzw. nach (post)Installieren (inst) bzw. Entfernen (rem) ausgeführtwerden

    control

    Metadaten (Maintainer, Beschreibung usw. . . )

    conffiles

    Liste mit sämtlichen Konfigurationsdateien

    Michael Hartmann Debian Pakete im Eigenbau

  • VorwortGründe für selbsterstellte Pakete

    Struktur und AufbauPakete erstellen

    Ausblick

    control.tar.gz

    md5sums:

    MD5-Summen im Format MD5-Hash PFAD/DATEI

    (post|pre)(inst|rem)Maintainerskripte, die vor (pre) bzw. nach (post)Installieren (inst) bzw. Entfernen (rem) ausgeführtwerden

    control

    Metadaten (Maintainer, Beschreibung usw. . . )

    conffiles

    Liste mit sämtlichen Konfigurationsdateien

    Michael Hartmann Debian Pakete im Eigenbau

  • VorwortGründe für selbsterstellte Pakete

    Struktur und AufbauPakete erstellen

    Ausblick

    control.tar.gz

    md5sums:

    MD5-Summen im Format MD5-Hash PFAD/DATEI

    (post|pre)(inst|rem)Maintainerskripte, die vor (pre) bzw. nach (post)Installieren (inst) bzw. Entfernen (rem) ausgeführtwerden

    control

    Metadaten (Maintainer, Beschreibung usw. . . )

    conffiles

    Liste mit sämtlichen Konfigurationsdateien

    Michael Hartmann Debian Pakete im Eigenbau

  • VorwortGründe für selbsterstellte Pakete

    Struktur und AufbauPakete erstellen

    Ausblick

    control.tar.gz

    control

    Package: Name des Pakets (z.B. amarok)

    Version: Versionsnummer (z.B. 1.3.6-2)

    Architecture: Architektur (z.B. i386)

    Maintainer: Paketverwalter (z.B. Michael Hartmann)

    Description: Beschreibung des Pakets (Einrücken, leereZeilen mit . maskieren)

    Installed-Size: Größe in KiB (z.B. 1337)

    Depends: Abhängigkeiten (z.B. kdelibs)

    uvm. (z.B.: Recommends, Suggests, Conflicts, Provides)

    Michael Hartmann Debian Pakete im Eigenbau

  • VorwortGründe für selbsterstellte Pakete

    Struktur und AufbauPakete erstellen

    Ausblick

    control.tar.gz

    control

    Package: Name des Pakets (z.B. amarok)

    Version: Versionsnummer (z.B. 1.3.6-2)

    Architecture: Architektur (z.B. i386)

    Maintainer: Paketverwalter (z.B. Michael Hartmann)

    Description: Beschreibung des Pakets (Einrücken, leereZeilen mit . maskieren)

    Installed-Size: Größe in KiB (z.B. 1337)

    Depends: Abhängigkeiten (z.B. kdelibs)

    uvm. (z.B.: Recommends, Suggests, Conflicts, Provides)

    Michael Hartmann Debian Pakete im Eigenbau

  • VorwortGründe für selbsterstellte Pakete

    Struktur und AufbauPakete erstellen

    Ausblick

    control.tar.gz

    control

    Package: Name des Pakets (z.B. amarok)

    Version: Versionsnummer (z.B. 1.3.6-2)

    Architecture: Architektur (z.B. i386)

    Maintainer: Paketverwalter (z.B. Michael Hartmann)

    Description: Beschreibung des Pakets (Einrücken, leereZeilen mit . maskieren)

    Installed-Size: Größe in KiB (z.B. 1337)

    Depends: Abhängigkeiten (z.B. kdelibs)

    uvm. (z.B.: Recommends, Suggests, Conflicts, Provides)

    Michael Hartmann Debian Pakete im Eigenbau

  • VorwortGründe für selbsterstellte Pakete

    Struktur und AufbauPakete erstellen

    Ausblick

    control.tar.gz

    control

    Package: Name des Pakets (z.B. amarok)

    Version: Versionsnummer (z.B. 1.3.6-2)

    Architecture: Architektur (z.B. i386)

    Maintainer: Paketverwalter (z.B. Michael Hartmann)

    Description: Beschreibung des Pakets (Einrücken, leereZeilen mit . maskieren)

    Installed-Size: Größe in KiB (z.B. 1337)

    Depends: Abhängigkeiten (z.B. kdelibs)

    uvm. (z.B.: Recommends, Suggests, Conflicts, Provides)

    Michael Hartmann Debian Pakete im Eigenbau

  • VorwortGründe für selbsterstellte Pakete

    Struktur und AufbauPakete erstellen

    Ausblick

    control.tar.gz

    control

    Package: Name des Pakets (z.B. amarok)

    Version: Versionsnummer (z.B. 1.3.6-2)

    Architecture: Architektur (z.B. i386)

    Maintainer: Paketverwalter (z.B. Michael Hartmann)

    Description: Beschreibung des Pakets (Einrücken, leereZeilen mit . maskieren)

    Installed-Size: Größe in KiB (z.B. 1337)

    Depends: Abhängigkeiten (z.B. kdelibs)

    uvm. (z.B.: Recommends, Suggests, Conflicts, Provides)

    Michael Hartmann Debian Pakete im Eigenbau

  • VorwortGründe für selbsterstellte Pakete

    Struktur und AufbauPakete erstellen

    Ausblick

    control.tar.gz

    control

    Package: Name des Pakets (z.B. amarok)

    Version: Versionsnummer (z.B. 1.3.6-2)

    Architecture: Architektur (z.B. i386)

    Maintainer: Paketverwalter (z.B. Michael Hartmann)

    Description: Beschreibung des Pakets (Einrücken, leereZeilen mit . maskieren)

    Installed-Size: Größe in KiB (z.B. 1337)

    Depends: Abhängigkeiten (z.B. kdelibs)

    uvm. (z.B.: Recommends, Suggests, Conflicts, Provides)

    Michael Hartmann Debian Pakete im Eigenbau

  • VorwortGründe für selbsterstellte Pakete

    Struktur und AufbauPakete erstellen

    Ausblick

    control.tar.gz

    control

    Package: Name des Pakets (z.B. amarok)

    Version: Versionsnummer (z.B. 1.3.6-2)

    Architecture: Architektur (z.B. i386)

    Maintainer: Paketverwalter (z.B. Michael Hartmann)

    Description: Beschreibung des Pakets (Einrücken, leereZeilen mit . maskieren)

    Installed-Size: Größe in KiB (z.B. 1337)

    Depends: Abhängigkeiten (z.B. kdelibs)

    uvm. (z.B.: Recommends, Suggests, Conflicts, Provides)

    Michael Hartmann Debian Pakete im Eigenbau

  • VorwortGründe für selbsterstellte Pakete

    Struktur und AufbauPakete erstellen

    Ausblick

    control.tar.gz

    control

    Package: Name des Pakets (z.B. amarok)

    Version: Versionsnummer (z.B. 1.3.6-2)

    Architecture: Architektur (z.B. i386)

    Maintainer: Paketverwalter (z.B. Michael Hartmann)

    Description: Beschreibung des Pakets (Einrücken, leereZeilen mit . maskieren)

    Installed-Size: Größe in KiB (z.B. 1337)

    Depends: Abhängigkeiten (z.B. kdelibs)

    uvm. (z.B.: Recommends, Suggests, Conflicts, Provides)

    Michael Hartmann Debian Pakete im Eigenbau

  • VorwortGründe für selbsterstellte Pakete

    Struktur und AufbauPakete erstellen

    Ausblick

    control.tar.gz

    control

    Package: Name des Pakets (z.B. amarok)

    Version: Versionsnummer (z.B. 1.3.6-2)

    Architecture: Architektur (z.B. i386)

    Maintainer: Paketverwalter (z.B. Michael Hartmann)

    Description: Beschreibung des Pakets (Einrücken, leereZeilen mit . maskieren)

    Installed-Size: Größe in KiB (z.B. 1337)

    Depends: Abhängigkeiten (z.B. kdelibs)

    uvm. (z.B.: Recommends, Suggests, Conflicts, Provides)

    Michael Hartmann Debian Pakete im Eigenbau

  • VorwortGründe für selbsterstellte Pakete

    Struktur und AufbauPakete erstellen

    Ausblick

    control.tar.gz

    control - Beispiel

    Package: amarokVersion: 1.3.6-2Architecture: i386Maintainer: Michael Hartmann

    Description: genialer Musik-Player

    .super neue selbst kompilierte Version

    Installed-Size: 12151Distribution: experimentalDepends: kdelibsConflicts: gnome

    Michael Hartmann Debian Pakete im Eigenbau

  • VorwortGründe für selbsterstellte Pakete

    Struktur und AufbauPakete erstellen

    Ausblick

    data.tar.gz

    alle notwendigen Dateien für das Programm (Binärdaten,Bibliotheken, Konfigurationsdateien, Manuals . . . )

    in jeweiligen Unterverzeichnissen (in die sie späterentpackt werden)

    werden bei der Installation nach / extrahiert

    Michael Hartmann Debian Pakete im Eigenbau

  • VorwortGründe für selbsterstellte Pakete

    Struktur und AufbauPakete erstellen

    Ausblick

    Pakete selbst erstellen

    Unterordner mit allen benötigten Dateien in denjeweiligen Verzeichnissen (später in data.tar.gz)

    Unterordner DEBIAN mit den Metadaten (später incontrol.tar.gz)

    Maintainerskripte und Dateien mit Metadaten inDEBIAN/ erstellen

    md5sums erstellen: find /unterordner -type f -execmd5sum { } >> DEBIAN/md5sumsPaket mit dpkg-deb -b unterverzeichnis paketname.deberstelllen

    Michael Hartmann Debian Pakete im Eigenbau

  • VorwortGründe für selbsterstellte Pakete

    Struktur und AufbauPakete erstellen

    Ausblick

    Ausblick

    leider noch nicht genug Wissen, um Debian Maintainer zuwerden (Debian Pakete werden über Source Packagesgebaut)

    relativ schwer (mit dieser Methode) Pakete aus selbstkompilierter Software zu bauen

    für einfachere Pakete: evtl. alien und checkinstall

    dennoch:

    praktisch für selbstgeschriebene Programme oder kleineÄnderungen an bestehenden Paketendaher: Debian Packaging Manual lesen und alle DebianMaintainer werden :)

    Michael Hartmann Debian Pakete im Eigenbau

  • VorwortGründe für selbsterstellte Pakete

    Struktur und AufbauPakete erstellen

    Ausblick

    Ausblick

    leider noch nicht genug Wissen, um Debian Maintainer zuwerden (Debian Pakete werden über Source Packagesgebaut)

    relativ schwer (mit dieser Methode) Pakete aus selbstkompilierter Software zu bauen

    für einfachere Pakete: evtl. alien und checkinstall

    dennoch:

    praktisch für selbstgeschriebene Programme oder kleineÄnderungen an bestehenden Paketendaher: Debian Packaging Manual lesen und alle DebianMaintainer werden :)

    Michael Hartmann Debian Pakete im Eigenbau

    VorwortGründe für selbsterstellte PaketeStruktur und AufbauPakete erstellenAusblick