Author
others
View
2
Download
0
Embed Size (px)
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