Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdGabriël Christiaens Laatst gewijzigd meer dan 9 jaar geleden
1
Rpm’s Werner Maes 3 april 2003
2
Rpm: wat? Pakketbeheer voor: Installatie pakketten Distributie pakketten Aanmaak pakketten Verificatie van pakketten Info opvragen over pakketten Ontwikkeld door RedHat in 1995 Maakt gebruik van database waarin de informatie over de pakketten wordt opgeslaan (/var/lib/rpm).
3
Rpm’s: installatie-opties rpm –i pakket.rpm Installeert het pakket zonder verder info te geven. Bij het installeren wordt er gecontroleerd of er geen afhankelijkheden (dependency’s) bestaan t.o.v. van andere pakketten.
4
Rpm’s: installatie-opties Extra opties: -v: (verbose) geeft meer informatie. -h: (hash) toont voortgang installatie. --nodeps: schakelt “dependency checking” uit. --test: testen of het pakket installeert. …
5
Rpm’s: verwijderen rpm –e pakket.rpm Verwijdert het pakket. Bij het verwijderen wordt er gecontroleerd of er geen pakketten zijn die het te verwijderen pakket nodig hebben. Extra opties: zelfde als voor installatie
6
Rpm’s: upgrade-opties Rpm –Uvh pakket.rpm (upgrade) Doet een upgrade van het pakket en installeert het als het nog niet bestaat op het systeem. Rpm –Fvh pakket.rpm (freshen) Doet enkel een upgrade van het pakket als het bestaat. Anders gebeurt er niks.
7
Rpm’s: verificatie-opties I (voorbeeld) Rpm –V pakket.rpm (verificatie) Vergelijkt de aanwezige bestanden op het systeem met de originele bestanden in het pakket. [root@ls-cc3-03 home]# rpm -V autoupdate S.5....T c /etc/autoupdate.d/autoupdate.conf missing /var/log/autoupdate.log S: grootte van het bestand is verschillend 5: md5 computatie verschilt (MD5 algoritme rfc 1321) T: tijd van het bestand is verschillend
8
Rpm’s:verificatie-opties II Integriteitscontrole via MD5 & GPG [root@ls-cc3-03 root]# rpm --checksig webmin.rpm webmin.rpm: md5 (GPG) NOT OK (MISSING KEYS: GPG#11F63C51) MD5: berekent 128-bit checksum van bestand GPG: extra beveiliging om de integriteit van het pakket garanderen Voor de GPG controle dien je de publieke sleutel van de maker van het pakket te importeren.
9
Rpm’s verificatie-opties III [root@ls-cc3-03 root]# gpg --import jcameron-key.asc gpg: key 11F63C51: public key imported gpg: /root/.gnupg/trustdb.gpg: trustdb created gpg: Total number processed: 1 gpg: imported: 1 [root@ls-cc3-03 root]# rpm --checksig webmin.rpm Webmin.rpm: md5 gpg OK
10
Informatie opvragen rpm’s Rpm –q pakket Vraagt de versie op van het pakket. De informatie wordt gehaald uit de rpm database. Extra opties: -i: geeft extra informatie over het pakket -a: ondervraagt alle pakketten -f bestand: tot welk pakket behoort het bestand? -l: welke bestanden zitten er in het pakket? -p pakket.rpm: haal de informatie uit het pakket i.p.v. uit de database. -R: welke andere pakketten heeft het pakket nodig?
11
Informatie rpm’s: voorbeelden Rpm –qa: toont alle aanwezige pakketten Rpm –qf /etc/motd: tot welk pakket behoort het bestand /etc/motd? Rpm –qlp samba-2.2.8-2.rpm: welke bestanden zitten er in het pakket samba?
12
Aanmaken eigen pakketten Afhalen broncode Aanmaak specificatiebestand (“spec file”) Controle of al de bestanden op de juiste plaats staan (broncode,...) Aanmaken rpm’s (gewone + bronrpm’s)
13
Aanmaken eigen pakketten Gebruikte folders in /usr/src/redhat: BUILD: waar de code wordt gecompileerd SOURCE: waar de broncode wordt gezet SPECS: waar de spec bestanden komen RPMS: waar de rpm’s terecht komen SRPMS: waar de bron rpm’s terecht komen
14
Stappen in het aanmaken v/e rpm %prep: uitpakken van de broncode en toepassen van patches %build: compileren van de broncode %install: installeren van de software op het systeem %files: bundelen van de bestanden en folders in een pakket
15
Voorbeeld van spec bestand: samba Omschrijvende parameters: Name = naam van het pakket Version = versienummer van het pakket Requires = welke andere pakketten dit pakket nodig heeft Buildroot = tijdelijke folder waar de bestanden geplaatst worden tijdens de installatiestap (/var/tmp/samba-root) Description = informatie over het pakket Package = andere pakketten die worden gemaakt
16
Stap 1: uitpakken van de broncode %prep (zie voorbeeld) setup –q: maakt een folder aan onder /usr/src/redhat/BUILD en pakt daar de broncode uit. eventuele patches op de code worden ook uitgevoerd.
17
Stap 2: compileren van de broncode %build %configure... (zie voorbeeld) make all
18
Stap 3: installeren van de software %install (zie voorbeeld) Tijdelijke folder = /var/tmp/samba-root rm –rf $RPM_BUILD_ROOT: zorgen voor een lege folder om bestanden in aan te maken mkdir...: aanmaken van de verschillende folders install...: aanmaken van de verschillende bestanden
19
Stap 4: aanmaken van het pakket %files (zie voorbeeld) Welke bestanden komen in het pakket? %doc: duidt de documentatiebestanden aan %config: duidt de configuratiebestanden aan %dir: duidt een folder aan %defattr: kent de standaardrechten toe aan een bestand of folder.
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.