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

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

VorwortGrunde fur selbsterstellte Pakete

Struktur und AufbauPakete erstellen

Ausblick

Debian Pakete im Eigenbau

Michael Hartmann

LUGA

01. Februar 2006

Michael Hartmann Debian Pakete im Eigenbau

VorwortGrunde fur selbsterstellte Pakete

Struktur und AufbauPakete erstellen

Ausblick

Vorwort

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

”professionell“ Pakete erstellen wollen, lesen Sie

bitte die Debian Packaging Manual

Michael Hartmann Debian Pakete im Eigenbau

VorwortGrunde fur selbsterstellte Pakete

Struktur und AufbauPakete erstellen

Ausblick

Debian Pakete - Wofur?

einfache Installation diverser Software fur. . .

. . . selbstgeschriebene Skripte oder Programme

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

Vorteile

ein Paket fur viele Distributioneneinfache (De-)Installationeinfache Bereitstellung fur Dritte

Michael Hartmann Debian Pakete im Eigenbau

VorwortGrunde fur selbsterstellte Pakete

Struktur und AufbauPakete erstellen

Ausblick

Debian Pakete - Wofur?

einfache Installation diverser Software fur. . .

. . . selbstgeschriebene Skripte oder Programme

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

Vorteile

ein Paket fur viele Distributioneneinfache (De-)Installationeinfache Bereitstellung fur Dritte

Michael Hartmann Debian Pakete im Eigenbau

VorwortGrunde fur selbsterstellte Pakete

Struktur und AufbauPakete erstellen

Ausblick

Verbreitung

Distributionen mit Debian Paketformat:

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

Michael Hartmann Debian Pakete im Eigenbau

VorwortGrunde fur selbsterstellte Pakete

Struktur und AufbauPakete erstellen

Ausblick

Verbreitung

Distributionen mit Debian Paketformat:

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

Michael Hartmann Debian Pakete im Eigenbau

VorwortGrunde fur 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 (Abhangigkeiten, Dateigroße)MD5-Hashes der im Paket enthaltenen DateienSkripte, die vor/nach (De-)Installation ausgefuhrtwerden

data.tar.gzProgramme und BibliothekenKonfigurationsdateienManualssonstige Programmdaten

Michael Hartmann Debian Pakete im Eigenbau

VorwortGrunde fur 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 (Abhangigkeiten, Dateigroße)MD5-Hashes der im Paket enthaltenen DateienSkripte, die vor/nach (De-)Installation ausgefuhrtwerden

data.tar.gzProgramme und BibliothekenKonfigurationsdateienManualssonstige Programmdaten

Michael Hartmann Debian Pakete im Eigenbau

VorwortGrunde fur 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 (Abhangigkeiten, Dateigroße)MD5-Hashes der im Paket enthaltenen DateienSkripte, die vor/nach (De-)Installation ausgefuhrtwerden

data.tar.gzProgramme und BibliothekenKonfigurationsdateienManualssonstige Programmdaten

Michael Hartmann Debian Pakete im Eigenbau

VorwortGrunde fur 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 (Abhangigkeiten, Dateigroße)MD5-Hashes der im Paket enthaltenen DateienSkripte, die vor/nach (De-)Installation ausgefuhrtwerden

data.tar.gzProgramme und BibliothekenKonfigurationsdateienManualssonstige Programmdaten

Michael Hartmann Debian Pakete im Eigenbau

VorwortGrunde fur 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) ausgefuhrtwerden

control

Metadaten (Maintainer, Beschreibung usw. . . )

conffiles

Liste mit samtlichen Konfigurationsdateien

Michael Hartmann Debian Pakete im Eigenbau

VorwortGrunde fur 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) ausgefuhrtwerden

control

Metadaten (Maintainer, Beschreibung usw. . . )

conffiles

Liste mit samtlichen Konfigurationsdateien

Michael Hartmann Debian Pakete im Eigenbau

VorwortGrunde fur 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) ausgefuhrtwerden

control

Metadaten (Maintainer, Beschreibung usw. . . )

conffiles

Liste mit samtlichen Konfigurationsdateien

Michael Hartmann Debian Pakete im Eigenbau

VorwortGrunde fur 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) ausgefuhrtwerden

control

Metadaten (Maintainer, Beschreibung usw. . . )

conffiles

Liste mit samtlichen Konfigurationsdateien

Michael Hartmann Debian Pakete im Eigenbau

VorwortGrunde fur 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<[email protected]>)

Description: Beschreibung des Pakets (Einrucken, leereZeilen mit . maskieren)

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

Depends: Abhangigkeiten (z.B. kdelibs)

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

Michael Hartmann Debian Pakete im Eigenbau

VorwortGrunde fur 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<[email protected]>)

Description: Beschreibung des Pakets (Einrucken, leereZeilen mit . maskieren)

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

Depends: Abhangigkeiten (z.B. kdelibs)

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

Michael Hartmann Debian Pakete im Eigenbau

VorwortGrunde fur 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<[email protected]>)

Description: Beschreibung des Pakets (Einrucken, leereZeilen mit . maskieren)

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

Depends: Abhangigkeiten (z.B. kdelibs)

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

Michael Hartmann Debian Pakete im Eigenbau

VorwortGrunde fur 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<[email protected]>)

Description: Beschreibung des Pakets (Einrucken, leereZeilen mit . maskieren)

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

Depends: Abhangigkeiten (z.B. kdelibs)

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

Michael Hartmann Debian Pakete im Eigenbau

VorwortGrunde fur 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<[email protected]>)

Description: Beschreibung des Pakets (Einrucken, leereZeilen mit . maskieren)

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

Depends: Abhangigkeiten (z.B. kdelibs)

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

Michael Hartmann Debian Pakete im Eigenbau

VorwortGrunde fur 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<[email protected]>)

Description: Beschreibung des Pakets (Einrucken, leereZeilen mit . maskieren)

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

Depends: Abhangigkeiten (z.B. kdelibs)

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

Michael Hartmann Debian Pakete im Eigenbau

VorwortGrunde fur 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<[email protected]>)

Description: Beschreibung des Pakets (Einrucken, leereZeilen mit . maskieren)

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

Depends: Abhangigkeiten (z.B. kdelibs)

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

Michael Hartmann Debian Pakete im Eigenbau

VorwortGrunde fur 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<[email protected]>)

Description: Beschreibung des Pakets (Einrucken, leereZeilen mit . maskieren)

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

Depends: Abhangigkeiten (z.B. kdelibs)

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

Michael Hartmann Debian Pakete im Eigenbau

VorwortGrunde fur 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<[email protected]>)

Description: Beschreibung des Pakets (Einrucken, leereZeilen mit . maskieren)

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

Depends: Abhangigkeiten (z.B. kdelibs)

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

Michael Hartmann Debian Pakete im Eigenbau

VorwortGrunde fur selbsterstellte Pakete

Struktur und AufbauPakete erstellen

Ausblick

control.tar.gz

control - Beispiel

Package: amarokVersion: 1.3.6-2Architecture: i386Maintainer: Michael Hartmann<[email protected]>Description: genialer Musik-Player

.super neue selbst kompilierte Version

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

Michael Hartmann Debian Pakete im Eigenbau

VorwortGrunde fur selbsterstellte Pakete

Struktur und AufbauPakete erstellen

Ausblick

data.tar.gz

alle notwendigen Dateien fur das Programm (Binardaten,Bibliotheken, Konfigurationsdateien, Manuals . . . )

in jeweiligen Unterverzeichnissen (in die sie spaterentpackt werden)

werden bei der Installation nach / extrahiert

Michael Hartmann Debian Pakete im Eigenbau

VorwortGrunde fur selbsterstellte Pakete

Struktur und AufbauPakete erstellen

Ausblick

Pakete selbst erstellen

Unterordner mit allen benotigten Dateien in denjeweiligen Verzeichnissen (spater in data.tar.gz)

Unterordner DEBIAN mit den Metadaten (spater incontrol.tar.gz)

Maintainerskripte und Dateien mit Metadaten inDEBIAN/ erstellen

md5sums erstellen: find /unterordner -type f -execmd5sum { } >> DEBIAN/md5sums

Paket mit dpkg-deb -b unterverzeichnis paketname.deberstelllen

Michael Hartmann Debian Pakete im Eigenbau

VorwortGrunde fur selbsterstellte Pakete

Struktur und AufbauPakete erstellen

Ausblick

Ausblick

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

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

fur einfachere Pakete: evtl. alien und checkinstall

dennoch:

praktisch fur selbstgeschriebene Programme oder kleineAnderungen an bestehenden Paketendaher: Debian Packaging Manual lesen und alle DebianMaintainer werden :)

Michael Hartmann Debian Pakete im Eigenbau

VorwortGrunde fur selbsterstellte Pakete

Struktur und AufbauPakete erstellen

Ausblick

Ausblick

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

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

fur einfachere Pakete: evtl. alien und checkinstall

dennoch:

praktisch fur selbstgeschriebene Programme oder kleineAnderungen an bestehenden Paketendaher: Debian Packaging Manual lesen und alle DebianMaintainer werden :)

Michael Hartmann Debian Pakete im Eigenbau