SlideShare ist ein Scribd-Unternehmen logo
1 von 19
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

PhpStorm 6 Configuration for TYPO3
PhpStorm 6 Configuration for TYPO3PhpStorm 6 Configuration for TYPO3
PhpStorm 6 Configuration for TYPO3
marco-huber
 

Was ist angesagt? (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
 

Andere mochten auch

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
idejol
 
Fundación La Divina Providencia
Fundación La Divina ProvidenciaFundación La Divina Providencia
Fundación La Divina Providencia
Liliana U
 
Personal 2010 Präsentation
Personal 2010 PräsentationPersonal 2010 Präsentation
Personal 2010 Präsentation
XING AG
 
Retour sur-networking-ete
Retour sur-networking-eteRetour sur-networking-ete
Retour sur-networking-ete
Ecobiz 37
 
Presentacion Pucesi 001
Presentacion Pucesi 001Presentacion Pucesi 001
Presentacion Pucesi 001
ESPOCH
 
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
X-PRIME GROUPE
 
Sentido Hotels & Resorts
Sentido Hotels & ResortsSentido Hotels & Resorts
Sentido Hotels & Resorts
Travel 360°
 
Vehicle finance lesson 2
Vehicle finance lesson 2Vehicle finance lesson 2
Vehicle finance lesson 2
Garden City
 

Andere mochten auch (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
 

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

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 Vagrant
s0enke
 
Wordpress vs. Textpattern
Wordpress vs. TextpatternWordpress vs. Textpattern
Wordpress vs. Textpattern
guestcb8462
 

Ähnlich wie 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
 

Mehr von Lenz 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
 
MySQL High Availability Solutions
MySQL High Availability SolutionsMySQL High Availability Solutions
MySQL High Availability Solutions
Lenz Grimmer
 

Mehr von 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
 

Kürzlich hochgeladen (7)

Angewandte Philosophie an der Universität Duisburg-Essen.
Angewandte Philosophie an der Universität Duisburg-Essen.Angewandte Philosophie an der Universität Duisburg-Essen.
Angewandte Philosophie an der Universität Duisburg-Essen.
 
Wirtschaftsingenieurwesen an der Universität Duisburg-Essen
Wirtschaftsingenieurwesen an der Universität Duisburg-EssenWirtschaftsingenieurwesen an der Universität Duisburg-Essen
Wirtschaftsingenieurwesen an der Universität Duisburg-Essen
 
1029-Danh muc Sach Giao Khoa khoi 12.pdf
1029-Danh muc Sach Giao Khoa khoi 12.pdf1029-Danh muc Sach Giao Khoa khoi 12.pdf
1029-Danh muc Sach Giao Khoa khoi 12.pdf
 
LAKO Kreativpreis_2024_Startnummer_02_(LFS_LA).pdf
LAKO Kreativpreis_2024_Startnummer_02_(LFS_LA).pdfLAKO Kreativpreis_2024_Startnummer_02_(LFS_LA).pdf
LAKO Kreativpreis_2024_Startnummer_02_(LFS_LA).pdf
 
1029-Danh muc Sach Giao Khoa khoi 11.pdf
1029-Danh muc Sach Giao Khoa khoi 11.pdf1029-Danh muc Sach Giao Khoa khoi 11.pdf
1029-Danh muc Sach Giao Khoa khoi 11.pdf
 
Angewandte Kognitions- und Medienwissenschaft an der Universität Duisburg_Essen
Angewandte Kognitions- und Medienwissenschaft an der Universität Duisburg_EssenAngewandte Kognitions- und Medienwissenschaft an der Universität Duisburg_Essen
Angewandte Kognitions- und Medienwissenschaft an der Universität Duisburg_Essen
 
Welche KI-Kompetenzen brauchen Lehrpersonen?!
Welche KI-Kompetenzen brauchen Lehrpersonen?!Welche KI-Kompetenzen brauchen Lehrpersonen?!
Welche KI-Kompetenzen brauchen Lehrpersonen?!
 

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