SlideShare a Scribd company logo
1 of 19
Download to read offline
Einführung in die Erstellung
 von Software-Paketen mit
dem RPM Package Manager
  Lenz Grimmer <lenz@grimmer.com>
       2008-03-13, TU Harburg
Inhalt
●   Hintergrund / Historie
●   Funktionen / Arbeitsweise
●   Installation von RPM-Paketen
●   Erstellen von RPM-Paketen
●   Weitere Informationen / Links
Hintergrund/Historie
●   Paketmanagementsystem und
    Dateiformat
●   1997 von Eric Troan und Marc Ewing
    (Red Hat) entwickelt
●   Basis vieler Linux-Distributionen (RHEL,
    Fedora, SLES, openSUSE, CentOS,
    Mandriva)
●   AIX, OpenSolaris, MacOS X, OpenPKG
Funktionen / Arbeitsweise
●   Erstellung/Installation/Deinstallation
    von Softwarepaketen
●   Konsistenzprüfung (MD5-Checksummen
    / GPG-Signaturen)
●   Überprüfung von Abhängigkeiten /
    Kollisionen bei Installation
●   Meta-Daten (Name, Version, Lizenz,
    Konfigurationsdateien, Dokumentation)
●   Zentrale Datenbank
Vorteile
●   Einfache, rückstandsfreie Deinstallation
●   Plattform-/Architekturunabhängig
●   Automatisierbar (rpmlib)
●   Original-Quellarchive + Patches im
    Quellpaket enthalten
●   Sicherung von Konsistenz &
    Authentizität
●   Reproduzierbare Builds
Installation von RPM-Paketen
●   Paketformat: gzip-komprimierte cpio-
    Datei mit Header
●   Plattformspezifische Pakete (z.B. i586,
    sparc, ppc)
●   Überprüfung der Abhängigkeiten
●   Pre-/Postinstallations-Scripts
●   Trigger
●   RPM-Datenbank /var/lib/rpm
Erstellen von RPM-Paketen


                 rpmbuild
foo­x.y.tar.gz
                             foo­x.y­0.src.rpm



foo.spec




foo.patch                   foo­x.y­0.i586.rpm
Sources / Patches
●   „Pristine Sources“ - Original Quellarchiv
    soll möglichst erhalten bleiben
●   Notwendige Modifikationen über
    separate patch-Dateien (optional)
●   Multiple Sourcen/Patches möglich
.spec-Datei
●   Header (Metainformationen)
●   Bauanleitung
●   Scripts/Trigger
●   Dateilisten
●   Abhängigkeiten
●   Macros: /usr/lib/rpm
Build-Phasen
●   %prep – Vorbereitung der Quellen
    ●   Extrahieren
    ●   Patchen
●   %build – Übersetzung der Quellen
    ●   configure ; make
●   %install – Installation
    ●   make install
●   %files - Dateilisten
Abhängigkeiten
●   Requires:
●   PreReq:
●   Provides:
●   Conflicts:
●   Obsoletes:
●   BuildRequires:
●   BuildPreReq:
Scripts / Trigger
●   %pre
●   %post
●   %preun
●   %postun
●   %triggerin
●   %triggerun
●   %triggerpostun
minimale .spec-Datei
#
# A very minimal specfile
#
Name: demo
Version: 1.2
Release: 0
Group: Applications/Utilities
License: GPL
Summary: A demo package

%description
The most simple package possible
Live-Demo
Hinweise
●   Immer mit BuildRoot arbeiten
●   Pakete bauen ohne root-Rechte
●   chroot()-Umgebung zur Konsistenzsicherung /
    Reproduzierbarkeit
●   lokal:build (openSUSE) oder mock (Fedora)
●   openSUSE Build Service:
    http://build.opensuse.org/
●   Fedora Koji: http://koji.fedoraproject.org/koji/
Weitere Informationen / Links
●   Alternative Paketmanagement-Systeme
    ●   DEB/dpkg (z.B. Debian, Ubuntu, Fink):
        http://www.debian.org/doc/FAQ/ch-pkg_basics
    ●   Conary: http://wiki.rpath.com/wiki/Conary
●   Auf RPM aufsetzend
    ●   Yum: http://linux.duke.edu/projects/yum/
    ●   Smart RPM: http://smartrpm.org
    ●   apt-rpm: http://apt-rpm.org/
Links / Dokumentation
●   RPM: http://rpm.org/ / http://rpm5.org/
●   RPM Guide:
    http://docs.fedoraproject.org/drafts/rpm-guide-en/
●   Maximum RPM:
    http://rpm5.org/docs/max-rpm.html
●   RPM HOWTO:
    http://www.tldp.org/HOWTO/RPM-HOWTO/
●   Creating Quality RPMs (pdf):
    http://www.gurulabs.com/goodies/guru+guides.php
Fragen / Diskussion
Vielen Dank!




lenz@grimmer.com

More Related Content

What's hot

Nagios Conference 2007 | Vmware Monitoring by Ingo Latschner
Nagios Conference 2007 | Vmware Monitoring by Ingo LatschnerNagios Conference 2007 | Vmware Monitoring by Ingo Latschner
Nagios Conference 2007 | Vmware Monitoring by Ingo LatschnerNETWAYS
 
PhpStorm 6 Configuration for TYPO3
PhpStorm 6 Configuration for TYPO3PhpStorm 6 Configuration for TYPO3
PhpStorm 6 Configuration for TYPO3marco-huber
 
WordPress Multisite
WordPress MultisiteWordPress Multisite
WordPress MultisiteWalter Ebert
 
Automatisierte Linux Administration mit (R)?ex
Automatisierte Linux Administration mit (R)?ex Automatisierte Linux Administration mit (R)?ex
Automatisierte Linux Administration mit (R)?ex Jan Gehring
 
Der oracle dba_und_seine_passwoerter
Der oracle dba_und_seine_passwoerterDer oracle dba_und_seine_passwoerter
Der oracle dba_und_seine_passwoerterGunther Pippèrr
 
Why websecurity sucks
Why websecurity sucksWhy websecurity sucks
Why websecurity sucksThaDafinser
 
PHP Dependency und Paket Management mit Composer
PHP Dependency und Paket Management mit ComposerPHP Dependency und Paket Management mit Composer
PHP Dependency und Paket Management mit ComposerMayflower GmbH
 
Oracle Critical Patch Update und Patch Set Update - DOAG SIG Security 2011 - ...
Oracle Critical Patch Update und Patch Set Update - DOAG SIG Security 2011 - ...Oracle Critical Patch Update und Patch Set Update - DOAG SIG Security 2011 - ...
Oracle Critical Patch Update und Patch Set Update - DOAG SIG Security 2011 - ...OPITZ CONSULTING Deutschland
 
Object-orientied way of using mysqli interface - Workshop
Object-orientied way of using mysqli interface - WorkshopObject-orientied way of using mysqli interface - Workshop
Object-orientied way of using mysqli interface - WorkshopWaldemar Dell
 
Introduction into Oracle Data Pump 11g/12c - Export and Import Data
Introduction into Oracle Data Pump 11g/12c - Export and Import DataIntroduction into Oracle Data Pump 11g/12c - Export and Import Data
Introduction into Oracle Data Pump 11g/12c - Export and Import DataGunther Pippèrr
 
TYPO3 CMS 8.0 - Die Neuerungen - pluswerk
TYPO3 CMS 8.0 - Die Neuerungen - pluswerkTYPO3 CMS 8.0 - Die Neuerungen - pluswerk
TYPO3 CMS 8.0 - Die Neuerungen - pluswerkdie.agilen GmbH
 
Automatisierte infrastruktur mit ansible
Automatisierte infrastruktur mit ansibleAutomatisierte infrastruktur mit ansible
Automatisierte infrastruktur mit ansibleStephan Hochhaus
 

What's hot (20)

Typo3 und Varnish
Typo3 und VarnishTypo3 und Varnish
Typo3 und Varnish
 
Nagios Conference 2007 | Vmware Monitoring by Ingo Latschner
Nagios Conference 2007 | Vmware Monitoring by Ingo LatschnerNagios Conference 2007 | Vmware Monitoring by Ingo Latschner
Nagios Conference 2007 | Vmware Monitoring by Ingo Latschner
 
PhpStorm 6 Configuration for TYPO3
PhpStorm 6 Configuration for TYPO3PhpStorm 6 Configuration for TYPO3
PhpStorm 6 Configuration for TYPO3
 
01 sqlplus
01 sqlplus01 sqlplus
01 sqlplus
 
WordPress Multisite
WordPress MultisiteWordPress Multisite
WordPress Multisite
 
Automatisierte Linux Administration mit (R)?ex
Automatisierte Linux Administration mit (R)?ex Automatisierte Linux Administration mit (R)?ex
Automatisierte Linux Administration mit (R)?ex
 
Ldap sqlnet
Ldap sqlnetLdap sqlnet
Ldap sqlnet
 
Der oracle dba_und_seine_passwoerter
Der oracle dba_und_seine_passwoerterDer oracle dba_und_seine_passwoerter
Der oracle dba_und_seine_passwoerter
 
Why websecurity sucks
Why websecurity sucksWhy websecurity sucks
Why websecurity sucks
 
PHP Dependency und Paket Management mit Composer
PHP Dependency und Paket Management mit ComposerPHP Dependency und Paket Management mit Composer
PHP Dependency und Paket Management mit Composer
 
check_sap_health
check_sap_healthcheck_sap_health
check_sap_health
 
Oracle Critical Patch Update und Patch Set Update - DOAG SIG Security 2011 - ...
Oracle Critical Patch Update und Patch Set Update - DOAG SIG Security 2011 - ...Oracle Critical Patch Update und Patch Set Update - DOAG SIG Security 2011 - ...
Oracle Critical Patch Update und Patch Set Update - DOAG SIG Security 2011 - ...
 
coshsh
coshshcoshsh
coshsh
 
Object-orientied way of using mysqli interface - Workshop
Object-orientied way of using mysqli interface - WorkshopObject-orientied way of using mysqli interface - Workshop
Object-orientied way of using mysqli interface - Workshop
 
Introduction into Oracle Data Pump 11g/12c - Export and Import Data
Introduction into Oracle Data Pump 11g/12c - Export and Import DataIntroduction into Oracle Data Pump 11g/12c - Export and Import Data
Introduction into Oracle Data Pump 11g/12c - Export and Import Data
 
TYPO3 CMS 8.0 - Die Neuerungen - pluswerk
TYPO3 CMS 8.0 - Die Neuerungen - pluswerkTYPO3 CMS 8.0 - Die Neuerungen - pluswerk
TYPO3 CMS 8.0 - Die Neuerungen - pluswerk
 
Grunt
GruntGrunt
Grunt
 
iks auf der Jax 2010: Provisioning unter OSGi für Test und Betrieb
iks auf der Jax 2010: Provisioning unter OSGi für Test und Betrieb iks auf der Jax 2010: Provisioning unter OSGi für Test und Betrieb
iks auf der Jax 2010: Provisioning unter OSGi für Test und Betrieb
 
Upgrade auf TYPO3 6.2
Upgrade auf TYPO3 6.2Upgrade auf TYPO3 6.2
Upgrade auf TYPO3 6.2
 
Automatisierte infrastruktur mit ansible
Automatisierte infrastruktur mit ansibleAutomatisierte infrastruktur mit ansible
Automatisierte infrastruktur mit ansible
 

Viewers also liked

Présentation du projet d’échange 2012 2013
Présentation du projet d’échange 2012 2013Présentation du projet d’échange 2012 2013
Présentation du projet d’échange 2012 2013idejol
 
Fundación La Divina Providencia
Fundación La Divina ProvidenciaFundación La Divina Providencia
Fundación La Divina ProvidenciaLiliana U
 
Personal 2010 Präsentation
Personal 2010 PräsentationPersonal 2010 Präsentation
Personal 2010 PräsentationXING AG
 
Retour sur-networking-ete
Retour sur-networking-eteRetour sur-networking-ete
Retour sur-networking-eteEcobiz 37
 
Presentacion Pucesi 001
Presentacion Pucesi 001Presentacion Pucesi 001
Presentacion Pucesi 001ESPOCH
 
TXIM : les nouveaux emplacements Facebook Ads sur mobile
TXIM : les nouveaux emplacements Facebook Ads sur mobileTXIM : les nouveaux emplacements Facebook Ads sur mobile
TXIM : les nouveaux emplacements Facebook Ads sur mobileX-PRIME GROUPE
 
TXIM : ciblage des contenus des pages
TXIM : ciblage des contenus des pagesTXIM : ciblage des contenus des pages
TXIM : ciblage des contenus des pagesX-PRIME GROUPE
 
Spectos Allgemeine Präsentation & Portfolio
Spectos Allgemeine Präsentation & PortfolioSpectos Allgemeine Präsentation & Portfolio
Spectos Allgemeine Präsentation & PortfolioSpectos GmbH
 
Sentido Hotels & Resorts
Sentido Hotels & ResortsSentido Hotels & Resorts
Sentido Hotels & ResortsTravel 360°
 
TXIM : Facebook offers et page post
TXIM : Facebook offers et page postTXIM : Facebook offers et page post
TXIM : Facebook offers et page postX-PRIME GROUPE
 
Vehicle finance lesson 2
Vehicle finance lesson 2Vehicle finance lesson 2
Vehicle finance lesson 2Garden City
 
Weave BT - Dynamiser votre reseau de distribution secteur pharmaceutique
Weave BT - Dynamiser votre reseau de distribution secteur pharmaceutiqueWeave BT - Dynamiser votre reseau de distribution secteur pharmaceutique
Weave BT - Dynamiser votre reseau de distribution secteur pharmaceutiqueonepoint x weave
 
Social Business in a Nutshell
Social Business in a NutshellSocial Business in a Nutshell
Social Business in a NutshellFrank Hamm
 
TXIM : quel impact du marketing social sur les sites d'ecommerce
TXIM : quel impact du marketing social sur les sites d'ecommerceTXIM : quel impact du marketing social sur les sites d'ecommerce
TXIM : quel impact du marketing social sur les sites d'ecommerceX-PRIME GROUPE
 

Viewers also liked (20)

Plaquette audimut
Plaquette audimutPlaquette audimut
Plaquette audimut
 
Présentation du projet d’échange 2012 2013
Présentation du projet d’échange 2012 2013Présentation du projet d’échange 2012 2013
Présentation du projet d’échange 2012 2013
 
Gestion por procesos
Gestion por procesosGestion por procesos
Gestion por procesos
 
Fundación La Divina Providencia
Fundación La Divina ProvidenciaFundación La Divina Providencia
Fundación La Divina Providencia
 
Personal 2010 Präsentation
Personal 2010 PräsentationPersonal 2010 Präsentation
Personal 2010 Präsentation
 
Notre politique RSE
Notre politique RSENotre politique RSE
Notre politique RSE
 
Retour sur-networking-ete
Retour sur-networking-eteRetour sur-networking-ete
Retour sur-networking-ete
 
Presentacion Pucesi 001
Presentacion Pucesi 001Presentacion Pucesi 001
Presentacion Pucesi 001
 
TXIM : les nouveaux emplacements Facebook Ads sur mobile
TXIM : les nouveaux emplacements Facebook Ads sur mobileTXIM : les nouveaux emplacements Facebook Ads sur mobile
TXIM : les nouveaux emplacements Facebook Ads sur mobile
 
TXIM : ciblage des contenus des pages
TXIM : ciblage des contenus des pagesTXIM : ciblage des contenus des pages
TXIM : ciblage des contenus des pages
 
Sree
SreeSree
Sree
 
Spectos Allgemeine Präsentation & Portfolio
Spectos Allgemeine Präsentation & PortfolioSpectos Allgemeine Präsentation & Portfolio
Spectos Allgemeine Präsentation & Portfolio
 
Sentido Hotels & Resorts
Sentido Hotels & ResortsSentido Hotels & Resorts
Sentido Hotels & Resorts
 
TXIM : Facebook offers et page post
TXIM : Facebook offers et page postTXIM : Facebook offers et page post
TXIM : Facebook offers et page post
 
Creación de un blog
Creación de un blogCreación de un blog
Creación de un blog
 
Vehicle finance lesson 2
Vehicle finance lesson 2Vehicle finance lesson 2
Vehicle finance lesson 2
 
Planeacion 120524073932-phpapp02
Planeacion 120524073932-phpapp02Planeacion 120524073932-phpapp02
Planeacion 120524073932-phpapp02
 
Weave BT - Dynamiser votre reseau de distribution secteur pharmaceutique
Weave BT - Dynamiser votre reseau de distribution secteur pharmaceutiqueWeave BT - Dynamiser votre reseau de distribution secteur pharmaceutique
Weave BT - Dynamiser votre reseau de distribution secteur pharmaceutique
 
Social Business in a Nutshell
Social Business in a NutshellSocial Business in a Nutshell
Social Business in a Nutshell
 
TXIM : quel impact du marketing social sur les sites d'ecommerce
TXIM : quel impact du marketing social sur les sites d'ecommerceTXIM : quel impact du marketing social sur les sites d'ecommerce
TXIM : quel impact du marketing social sur les sites d'ecommerce
 

Similar to Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package Manager

OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...NETWAYS
 
SLAC 2008 Mit SUSE Linux glücklich werden
SLAC 2008 Mit SUSE Linux glücklich werdenSLAC 2008 Mit SUSE Linux glücklich werden
SLAC 2008 Mit SUSE Linux glücklich werdenSchlomo Schapiro
 
OSDC 2010 | FAI - ein Projekt wird 10 Jahre alt by Thomas Lange
OSDC 2010 | FAI - ein Projekt wird 10 Jahre alt by Thomas LangeOSDC 2010 | FAI - ein Projekt wird 10 Jahre alt by Thomas Lange
OSDC 2010 | FAI - ein Projekt wird 10 Jahre alt by Thomas LangeNETWAYS
 
Nagios Conference 2007 | Aufbau eines hochverfügbaren Nagios Clusters by Mart...
Nagios Conference 2007 | Aufbau eines hochverfügbaren Nagios Clusters by Mart...Nagios Conference 2007 | Aufbau eines hochverfügbaren Nagios Clusters by Mart...
Nagios Conference 2007 | Aufbau eines hochverfügbaren Nagios Clusters by Mart...NETWAYS
 
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit VagrantDeployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit VagrantChristoph Möller
 
Atmel AVR RISC μC unter GNU/Linux programmieren
Atmel AVR RISC μC unter GNU/Linux programmierenAtmel AVR RISC μC unter GNU/Linux programmieren
Atmel AVR RISC μC unter GNU/Linux programmierenrzbrk
 
OpenStack und Heat - Standardisierte Test- und Entwicklungsumgebungen
OpenStack und Heat - Standardisierte Test- und EntwicklungsumgebungenOpenStack und Heat - Standardisierte Test- und Entwicklungsumgebungen
OpenStack und Heat - Standardisierte Test- und EntwicklungsumgebungenB1 Systems GmbH
 
Entwicklungsumgebungen mit Vagrant
Entwicklungsumgebungen mit VagrantEntwicklungsumgebungen mit Vagrant
Entwicklungsumgebungen mit VagrantB1 Systems GmbH
 
Azure Notebooks
Azure NotebooksAzure Notebooks
Azure NotebooksTEitelberg
 
Dnug35 ak-dev.071111-beyond
Dnug35 ak-dev.071111-beyondDnug35 ak-dev.071111-beyond
Dnug35 ak-dev.071111-beyondUlrich Krause
 
Nagios Conference 2006 | NagiosOnCD – eine linux-basierte Live-CD mit Nagios ...
Nagios Conference 2006 | NagiosOnCD – eine linux-basierte Live-CD mit Nagios ...Nagios Conference 2006 | NagiosOnCD – eine linux-basierte Live-CD mit Nagios ...
Nagios Conference 2006 | NagiosOnCD – eine linux-basierte Live-CD mit Nagios ...NETWAYS
 
Einführung in Puppet und Vagrant
Einführung in Puppet und VagrantEinführung in Puppet und Vagrant
Einführung in Puppet und Vagrants0enke
 
Automatischer Build mit Maven - OPITZ CONSULTING - Stefan Scheidt
Automatischer Build mit Maven - OPITZ CONSULTING - Stefan ScheidtAutomatischer Build mit Maven - OPITZ CONSULTING - Stefan Scheidt
Automatischer Build mit Maven - OPITZ CONSULTING - Stefan ScheidtOPITZ CONSULTING Deutschland
 
Wordpress vs. Textpattern
Wordpress vs. TextpatternWordpress vs. Textpattern
Wordpress vs. Textpatternguestcb8462
 
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeasSystem-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeasSpeedPartner GmbH
 
The Linux File System
The Linux File SystemThe Linux File System
The Linux File Systemsteffenbauer
 

Similar to Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package Manager (20)

OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
OSMC 2008 | Programmierung von Nagios-Plugins für NetApp Speichergeräte by In...
 
SLAC 2008 Mit SUSE Linux glücklich werden
SLAC 2008 Mit SUSE Linux glücklich werdenSLAC 2008 Mit SUSE Linux glücklich werden
SLAC 2008 Mit SUSE Linux glücklich werden
 
OSDC 2010 | FAI - ein Projekt wird 10 Jahre alt by Thomas Lange
OSDC 2010 | FAI - ein Projekt wird 10 Jahre alt by Thomas LangeOSDC 2010 | FAI - ein Projekt wird 10 Jahre alt by Thomas Lange
OSDC 2010 | FAI - ein Projekt wird 10 Jahre alt by Thomas Lange
 
Einführung in Docker
Einführung in DockerEinführung in Docker
Einführung in Docker
 
Nagios Conference 2007 | Aufbau eines hochverfügbaren Nagios Clusters by Mart...
Nagios Conference 2007 | Aufbau eines hochverfügbaren Nagios Clusters by Mart...Nagios Conference 2007 | Aufbau eines hochverfügbaren Nagios Clusters by Mart...
Nagios Conference 2007 | Aufbau eines hochverfügbaren Nagios Clusters by Mart...
 
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit VagrantDeployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
Deployment von Entwicklungsumgebungen eines TYPO3-Intranets mit Vagrant
 
Atmel AVR RISC μC unter GNU/Linux programmieren
Atmel AVR RISC μC unter GNU/Linux programmierenAtmel AVR RISC μC unter GNU/Linux programmieren
Atmel AVR RISC μC unter GNU/Linux programmieren
 
OpenStack und Heat - Standardisierte Test- und Entwicklungsumgebungen
OpenStack und Heat - Standardisierte Test- und EntwicklungsumgebungenOpenStack und Heat - Standardisierte Test- und Entwicklungsumgebungen
OpenStack und Heat - Standardisierte Test- und Entwicklungsumgebungen
 
systemd im Alltag
systemd im Alltagsystemd im Alltag
systemd im Alltag
 
Entwicklungsumgebungen mit Vagrant
Entwicklungsumgebungen mit VagrantEntwicklungsumgebungen mit Vagrant
Entwicklungsumgebungen mit Vagrant
 
Azure Notebooks
Azure NotebooksAzure Notebooks
Azure Notebooks
 
Dnug35 ak-dev.071111-beyond
Dnug35 ak-dev.071111-beyondDnug35 ak-dev.071111-beyond
Dnug35 ak-dev.071111-beyond
 
Nagios Conference 2006 | NagiosOnCD – eine linux-basierte Live-CD mit Nagios ...
Nagios Conference 2006 | NagiosOnCD – eine linux-basierte Live-CD mit Nagios ...Nagios Conference 2006 | NagiosOnCD – eine linux-basierte Live-CD mit Nagios ...
Nagios Conference 2006 | NagiosOnCD – eine linux-basierte Live-CD mit Nagios ...
 
Einführung in Puppet und Vagrant
Einführung in Puppet und VagrantEinführung in Puppet und Vagrant
Einführung in Puppet und Vagrant
 
Automatischer Build mit Maven - OPITZ CONSULTING - Stefan Scheidt
Automatischer Build mit Maven - OPITZ CONSULTING - Stefan ScheidtAutomatischer Build mit Maven - OPITZ CONSULTING - Stefan Scheidt
Automatischer Build mit Maven - OPITZ CONSULTING - Stefan Scheidt
 
Wordpress vs. Textpattern
Wordpress vs. TextpatternWordpress vs. Textpattern
Wordpress vs. Textpattern
 
Web Entwicklung mit PHP - Teil 1
Web Entwicklung mit PHP - Teil 1Web Entwicklung mit PHP - Teil 1
Web Entwicklung mit PHP - Teil 1
 
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeasSystem-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
System-Management-Trio: Zentrale Verwaltung mit facter, puppet und augeas
 
FLOW3-Workshop F3X12
FLOW3-Workshop F3X12FLOW3-Workshop F3X12
FLOW3-Workshop F3X12
 
The Linux File System
The Linux File SystemThe Linux File System
The Linux File System
 

More from Lenz Grimmer

Ceph Management and Monitoring - DevConf.CZ - 2019-01-26
Ceph Management and Monitoring -  DevConf.CZ - 2019-01-26Ceph Management and Monitoring -  DevConf.CZ - 2019-01-26
Ceph Management and Monitoring - DevConf.CZ - 2019-01-26Lenz Grimmer
 
Managing and Monitoring Ceph - Ceph Day Berlin - 2018-11-12
Managing and Monitoring Ceph - Ceph Day Berlin - 2018-11-12Managing and Monitoring Ceph - Ceph Day Berlin - 2018-11-12
Managing and Monitoring Ceph - Ceph Day Berlin - 2018-11-12Lenz Grimmer
 
Ceph Management and Monitoring with Dashboard V2 - Cephalocon 2018-03-23
Ceph Management and Monitoring with Dashboard V2 - Cephalocon 2018-03-23Ceph Management and Monitoring with Dashboard V2 - Cephalocon 2018-03-23
Ceph Management and Monitoring with Dashboard V2 - Cephalocon 2018-03-23Lenz Grimmer
 
Ceph and Storage Management with openATTIC - FOSDEM 2017-02-05
Ceph and Storage Management with openATTIC - FOSDEM 2017-02-05Ceph and Storage Management with openATTIC - FOSDEM 2017-02-05
Ceph and Storage Management with openATTIC - FOSDEM 2017-02-05Lenz Grimmer
 
Ceph and Storage Management with openATTIC - Ceph Day Munich - 2016-09-23
Ceph and Storage Management with openATTIC - Ceph Day Munich - 2016-09-23Ceph and Storage Management with openATTIC - Ceph Day Munich - 2016-09-23
Ceph and Storage Management with openATTIC - Ceph Day Munich - 2016-09-23Lenz Grimmer
 
Ceph and Storage Management in openATTIC - solutions.hamburg - 2016-09-09
Ceph and Storage Management in openATTIC - solutions.hamburg - 2016-09-09Ceph and Storage Management in openATTIC - solutions.hamburg - 2016-09-09
Ceph and Storage Management in openATTIC - solutions.hamburg - 2016-09-09Lenz Grimmer
 
Storage Monitoring in openATTIC - Monitoring Workshop - 2016-09-07
Storage Monitoring in openATTIC - Monitoring Workshop - 2016-09-07Storage Monitoring in openATTIC - Monitoring Workshop - 2016-09-07
Storage Monitoring in openATTIC - Monitoring Workshop - 2016-09-07Lenz Grimmer
 
Ceph and Storage Management with openATTIC - FrOSCon 2016-08-21
Ceph and Storage Management with openATTIC - FrOSCon 2016-08-21Ceph and Storage Management with openATTIC - FrOSCon 2016-08-21
Ceph and Storage Management with openATTIC - FrOSCon 2016-08-21Lenz Grimmer
 
Ceph and Storage Management with openATTIC - SUSE MOST - 2016-06-07
Ceph and Storage Management with openATTIC - SUSE MOST - 2016-06-07Ceph and Storage Management with openATTIC - SUSE MOST - 2016-06-07
Ceph and Storage Management with openATTIC - SUSE MOST - 2016-06-07Lenz Grimmer
 
Ceph and Storage Management with openATTIC, Ceph Tech Talks 2016-06-23
Ceph and Storage Management with openATTIC, Ceph Tech Talks 2016-06-23Ceph and Storage Management with openATTIC, Ceph Tech Talks 2016-06-23
Ceph and Storage Management with openATTIC, Ceph Tech Talks 2016-06-23Lenz Grimmer
 
Ceph and Storage Management with openATTIC, openSUSE Conference 2016-06-23
Ceph and Storage Management with openATTIC, openSUSE Conference 2016-06-23Ceph and Storage Management with openATTIC, openSUSE Conference 2016-06-23
Ceph and Storage Management with openATTIC, openSUSE Conference 2016-06-23Lenz Grimmer
 
Storage Management mit openAttic - LinuxDay - 2015-11-21
Storage Management mit openAttic - LinuxDay - 2015-11-21Storage Management mit openAttic - LinuxDay - 2015-11-21
Storage Management mit openAttic - LinuxDay - 2015-11-21Lenz Grimmer
 
Flexibles Storage Management unter Linux mit OpenATTIC - Kielux 2015-09-18
Flexibles Storage Management unter Linux mit OpenATTIC - Kielux 2015-09-18Flexibles Storage Management unter Linux mit OpenATTIC - Kielux 2015-09-18
Flexibles Storage Management unter Linux mit OpenATTIC - Kielux 2015-09-18Lenz Grimmer
 
The Evolution of Storage on Linux - FrOSCon - 2015-08-22
The Evolution of Storage on Linux - FrOSCon - 2015-08-22The Evolution of Storage on Linux - FrOSCon - 2015-08-22
The Evolution of Storage on Linux - FrOSCon - 2015-08-22Lenz Grimmer
 
MySQL 5.5 Replication Enhancements – An Overview (FOSDEM 2011)
MySQL 5.5 Replication Enhancements – An Overview (FOSDEM 2011)MySQL 5.5 Replication Enhancements – An Overview (FOSDEM 2011)
MySQL 5.5 Replication Enhancements – An Overview (FOSDEM 2011)Lenz Grimmer
 
What's new in MySQL 5.5? FOSDEM 2011
What's new in MySQL 5.5? FOSDEM 2011What's new in MySQL 5.5? FOSDEM 2011
What's new in MySQL 5.5? FOSDEM 2011Lenz Grimmer
 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability SolutionsLenz Grimmer
 
How to build your own Quadrocopter
How to build your own QuadrocopterHow to build your own Quadrocopter
How to build your own QuadrocopterLenz Grimmer
 
What's new in MySQL 5.5?
What's new in MySQL 5.5?What's new in MySQL 5.5?
What's new in MySQL 5.5?Lenz Grimmer
 

More from Lenz Grimmer (20)

Ceph Management and Monitoring - DevConf.CZ - 2019-01-26
Ceph Management and Monitoring -  DevConf.CZ - 2019-01-26Ceph Management and Monitoring -  DevConf.CZ - 2019-01-26
Ceph Management and Monitoring - DevConf.CZ - 2019-01-26
 
Managing and Monitoring Ceph - Ceph Day Berlin - 2018-11-12
Managing and Monitoring Ceph - Ceph Day Berlin - 2018-11-12Managing and Monitoring Ceph - Ceph Day Berlin - 2018-11-12
Managing and Monitoring Ceph - Ceph Day Berlin - 2018-11-12
 
Ceph Management and Monitoring with Dashboard V2 - Cephalocon 2018-03-23
Ceph Management and Monitoring with Dashboard V2 - Cephalocon 2018-03-23Ceph Management and Monitoring with Dashboard V2 - Cephalocon 2018-03-23
Ceph Management and Monitoring with Dashboard V2 - Cephalocon 2018-03-23
 
Ceph and Storage Management with openATTIC - FOSDEM 2017-02-05
Ceph and Storage Management with openATTIC - FOSDEM 2017-02-05Ceph and Storage Management with openATTIC - FOSDEM 2017-02-05
Ceph and Storage Management with openATTIC - FOSDEM 2017-02-05
 
Ceph and Storage Management with openATTIC - Ceph Day Munich - 2016-09-23
Ceph and Storage Management with openATTIC - Ceph Day Munich - 2016-09-23Ceph and Storage Management with openATTIC - Ceph Day Munich - 2016-09-23
Ceph and Storage Management with openATTIC - Ceph Day Munich - 2016-09-23
 
Ceph and Storage Management in openATTIC - solutions.hamburg - 2016-09-09
Ceph and Storage Management in openATTIC - solutions.hamburg - 2016-09-09Ceph and Storage Management in openATTIC - solutions.hamburg - 2016-09-09
Ceph and Storage Management in openATTIC - solutions.hamburg - 2016-09-09
 
Storage Monitoring in openATTIC - Monitoring Workshop - 2016-09-07
Storage Monitoring in openATTIC - Monitoring Workshop - 2016-09-07Storage Monitoring in openATTIC - Monitoring Workshop - 2016-09-07
Storage Monitoring in openATTIC - Monitoring Workshop - 2016-09-07
 
Ceph and Storage Management with openATTIC - FrOSCon 2016-08-21
Ceph and Storage Management with openATTIC - FrOSCon 2016-08-21Ceph and Storage Management with openATTIC - FrOSCon 2016-08-21
Ceph and Storage Management with openATTIC - FrOSCon 2016-08-21
 
Ceph and Storage Management with openATTIC - SUSE MOST - 2016-06-07
Ceph and Storage Management with openATTIC - SUSE MOST - 2016-06-07Ceph and Storage Management with openATTIC - SUSE MOST - 2016-06-07
Ceph and Storage Management with openATTIC - SUSE MOST - 2016-06-07
 
Ceph and Storage Management with openATTIC, Ceph Tech Talks 2016-06-23
Ceph and Storage Management with openATTIC, Ceph Tech Talks 2016-06-23Ceph and Storage Management with openATTIC, Ceph Tech Talks 2016-06-23
Ceph and Storage Management with openATTIC, Ceph Tech Talks 2016-06-23
 
Ceph and Storage Management with openATTIC, openSUSE Conference 2016-06-23
Ceph and Storage Management with openATTIC, openSUSE Conference 2016-06-23Ceph and Storage Management with openATTIC, openSUSE Conference 2016-06-23
Ceph and Storage Management with openATTIC, openSUSE Conference 2016-06-23
 
Storage Management mit openAttic - LinuxDay - 2015-11-21
Storage Management mit openAttic - LinuxDay - 2015-11-21Storage Management mit openAttic - LinuxDay - 2015-11-21
Storage Management mit openAttic - LinuxDay - 2015-11-21
 
Flexibles Storage Management unter Linux mit OpenATTIC - Kielux 2015-09-18
Flexibles Storage Management unter Linux mit OpenATTIC - Kielux 2015-09-18Flexibles Storage Management unter Linux mit OpenATTIC - Kielux 2015-09-18
Flexibles Storage Management unter Linux mit OpenATTIC - Kielux 2015-09-18
 
The Evolution of Storage on Linux - FrOSCon - 2015-08-22
The Evolution of Storage on Linux - FrOSCon - 2015-08-22The Evolution of Storage on Linux - FrOSCon - 2015-08-22
The Evolution of Storage on Linux - FrOSCon - 2015-08-22
 
MySQL 5.5 Replication Enhancements – An Overview (FOSDEM 2011)
MySQL 5.5 Replication Enhancements – An Overview (FOSDEM 2011)MySQL 5.5 Replication Enhancements – An Overview (FOSDEM 2011)
MySQL 5.5 Replication Enhancements – An Overview (FOSDEM 2011)
 
What's new in MySQL 5.5? FOSDEM 2011
What's new in MySQL 5.5? FOSDEM 2011What's new in MySQL 5.5? FOSDEM 2011
What's new in MySQL 5.5? FOSDEM 2011
 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability Solutions
 
How to build your own Quadrocopter
How to build your own QuadrocopterHow to build your own Quadrocopter
How to build your own Quadrocopter
 
What's new in MySQL 5.5?
What's new in MySQL 5.5?What's new in MySQL 5.5?
What's new in MySQL 5.5?
 
ZFS unter Linux
ZFS unter LinuxZFS unter Linux
ZFS unter Linux
 

Einfuehrung in die Erstellung von Software-Paketen mit dem RPM Package Manager

  • 1. Einführung in die Erstellung von Software-Paketen mit dem RPM Package Manager Lenz Grimmer <lenz@grimmer.com> 2008-03-13, TU Harburg
  • 2. Inhalt ● Hintergrund / Historie ● Funktionen / Arbeitsweise ● Installation von RPM-Paketen ● Erstellen von RPM-Paketen ● Weitere Informationen / Links
  • 3. Hintergrund/Historie ● Paketmanagementsystem und Dateiformat ● 1997 von Eric Troan und Marc Ewing (Red Hat) entwickelt ● Basis vieler Linux-Distributionen (RHEL, Fedora, SLES, openSUSE, CentOS, Mandriva) ● AIX, OpenSolaris, MacOS X, OpenPKG
  • 4. Funktionen / Arbeitsweise ● Erstellung/Installation/Deinstallation von Softwarepaketen ● Konsistenzprüfung (MD5-Checksummen / GPG-Signaturen) ● Überprüfung von Abhängigkeiten / Kollisionen bei Installation ● Meta-Daten (Name, Version, Lizenz, Konfigurationsdateien, Dokumentation) ● Zentrale Datenbank
  • 5. Vorteile ● Einfache, rückstandsfreie Deinstallation ● Plattform-/Architekturunabhängig ● Automatisierbar (rpmlib) ● Original-Quellarchive + Patches im Quellpaket enthalten ● Sicherung von Konsistenz & Authentizität ● Reproduzierbare Builds
  • 6. Installation von RPM-Paketen ● Paketformat: gzip-komprimierte cpio- Datei mit Header ● Plattformspezifische Pakete (z.B. i586, sparc, ppc) ● Überprüfung der Abhängigkeiten ● Pre-/Postinstallations-Scripts ● Trigger ● RPM-Datenbank /var/lib/rpm
  • 7. Erstellen von RPM-Paketen rpmbuild foo­x.y.tar.gz foo­x.y­0.src.rpm foo.spec foo.patch foo­x.y­0.i586.rpm
  • 8. Sources / Patches ● „Pristine Sources“ - Original Quellarchiv soll möglichst erhalten bleiben ● Notwendige Modifikationen über separate patch-Dateien (optional) ● Multiple Sourcen/Patches möglich
  • 9. .spec-Datei ● Header (Metainformationen) ● Bauanleitung ● Scripts/Trigger ● Dateilisten ● Abhängigkeiten ● Macros: /usr/lib/rpm
  • 10. Build-Phasen ● %prep – Vorbereitung der Quellen ● Extrahieren ● Patchen ● %build – Übersetzung der Quellen ● configure ; make ● %install – Installation ● make install ● %files - Dateilisten
  • 11. Abhängigkeiten ● Requires: ● PreReq: ● Provides: ● Conflicts: ● Obsoletes: ● BuildRequires: ● BuildPreReq:
  • 12. Scripts / Trigger ● %pre ● %post ● %preun ● %postun ● %triggerin ● %triggerun ● %triggerpostun
  • 13. minimale .spec-Datei # # A very minimal specfile # Name: demo Version: 1.2 Release: 0 Group: Applications/Utilities License: GPL Summary: A demo package %description The most simple package possible
  • 15. Hinweise ● Immer mit BuildRoot arbeiten ● Pakete bauen ohne root-Rechte ● chroot()-Umgebung zur Konsistenzsicherung / Reproduzierbarkeit ● lokal:build (openSUSE) oder mock (Fedora) ● openSUSE Build Service: http://build.opensuse.org/ ● Fedora Koji: http://koji.fedoraproject.org/koji/
  • 16. Weitere Informationen / Links ● Alternative Paketmanagement-Systeme ● DEB/dpkg (z.B. Debian, Ubuntu, Fink): http://www.debian.org/doc/FAQ/ch-pkg_basics ● Conary: http://wiki.rpath.com/wiki/Conary ● Auf RPM aufsetzend ● Yum: http://linux.duke.edu/projects/yum/ ● Smart RPM: http://smartrpm.org ● apt-rpm: http://apt-rpm.org/
  • 17. Links / Dokumentation ● RPM: http://rpm.org/ / http://rpm5.org/ ● RPM Guide: http://docs.fedoraproject.org/drafts/rpm-guide-en/ ● Maximum RPM: http://rpm5.org/docs/max-rpm.html ● RPM HOWTO: http://www.tldp.org/HOWTO/RPM-HOWTO/ ● Creating Quality RPMs (pdf): http://www.gurulabs.com/goodies/guru+guides.php