Autour des paquets RPM

A partir de 19h30 au RERS-Evry-centre-ville
Pierrick nous initiera à la construction des paquets rpm

Il est nécessaire d'installer sur votre ordinateur les paquets suivants :

qui devrait vous installer les dossiers suivants dans votre /home/

ainsi que les fichiers :

Un petit compte rendu de cette soirée

Tout d'abord quelques commandes pour manipuler les paquets rpm

QUELQUES NOTIONS SUR LES COMMANDES RPM

some rpm(8) commands
quelques commandes rpm(8)

rpm : query
rpm : recherche

$ rpm -qa

[jipe@localhost:/usr/lib]$ rpm -qa |grep oku
libokularcore1-4.4.3-3.1mdv2010.1
okular-4.4.3-3.1mdv2010.1
gnome-sudoku-2.30.1-1mdv2010.1
ksudoku-4.4.3-2mdv2010.1

$ rpm -qa --qf "%{NAME} %{VERSION} %{RELEASE} %{ARCH}\n " | grep -i -e bash -e gawk -e "glibc " -e compat-libstdc++ -e "perl "

[jipe@localhost:~]$ rpm -qa --qf '%{N}.%{V}.%{ARCH}\n' | grep bash
bash.4.1.i586

[jipe@localhost:~]$ rpm -qa --qf '%{N}.%{V}.%{ARCH}\n' | grep -i -e bash -e glibc
bash.4.1.i586
glibc.2.11.1.i586
glibc-devel.2.11.1.i586

$rpm -qi

[jipe@localhost:/usr/lib]$ rpm -qi okular
Name        : okular                       Relocations: (not relocatable)
Version     : 4.4.3                             Vendor: Mandriva
Release     : 3.1mdv2010.1                  Build Date: jeu. 26 août 2010 13:34:52 CEST
Install Date: dim. 30 janv. 2011 17:41:51 CET      Build Host: titan.mandriva.com
Group       : Graphical desktop/KDE         Source RPM: kdegraphics4-4.4.3-3.1mdv2010.1.src.rpm
Size        : 3263820                          License: GPL
Signature   : DSA/SHA1, jeu. 26 août 2010 17:07:01 CEST, Key ID 9aa8d0d022458a98
Packager    : Mandriva Linux Security Team <security@mandriva.com>
URL         : http://www.kde.org
Summary     : A universal document viewer
Description :
Okular is a universal document viewer based on KPDF for KDE 4.

Okular combines the excellent functionalities of KPDF with the versatility
of supporting different kind of documents, like PDF, Postscript, DjVu, CHM,
and others.

The document format handlers page has a chart describing in more detail
the supported formats and the features supported in each of them.

$ rpm -qf /path/to/file $ rpm -qf /chemin/du/fichier

exemple

[jipe@localhost:~]$ cd /usr/lib

[jipe@localhost:/usr/lib]$ ll libb*

lrwxrwxrwx 1 root root     16 2011-01-30 17:29 libbs2b.so.0 -> libbs2b.so.0.0.0
-rwxr-xr-x 1 root root  21808 2010-03-16 10:47 libbs2b.so.0.0.0
...........................................................................
lrwxrwxrwx 1 root root     15 2011-01-30 18:16 libbsd.a -> libbsd-compat.a
-rw-r--r-- 1 root root    706 2010-10-23 12:58 libbsd-compat.a
lrwxrwxrwx 1 root root     15 2011-01-30 17:43 libbz2.so.1 -> libbz2.so.1.0.0

[jipe@localhost:/usr/lib]$ rpm -qf libbsd-compat.a
glibc-devel-2.11.1-8.2mnb2

$ rpm -ql <pkg_name>
$ rpm -ql <non_du_package>

[jipe@localhost:~]$ rpm -ql okular
/usr/bin/okular
/usr/bin/xf86gammacfg
.....................................
/usr/share/kde4/services/rawthumbnail.desktop
/usr/share/kde4/servicetypes/okularGenerator.desktop

$ rpm -qpl /somewhere/<pkg_name>.rpm

$ rpm -qpl /lien_vers_le_paquet/<nom_du_paquet>.rpm

[jipe@localhost:~]$ rpm -qpl ftp://ftp.free.fr/mirrors/ftp.mandriva.com/MandrivaLinux/official/2010.2/i586/media/contrib/backports/beep-1.3-1mdv2010.1.i586.rpm
/usr/bin/beep
/usr/share/doc/beep
/usr/share/doc/beep/CHANGELOG
/usr/share/doc/beep/COPYING
/usr/share/doc/beep/CREDITS
/usr/share/doc/beep/README
/usr/share/man/man1/beep.1.lzma

#rpm -q HPOvEaAgt --scripts > /tmp/HPOvEaAgt-scripts.txt
#rpm -q nom_du_paquet --scripts

#rpm -q nom_du_paquet --scripts > /repertoire/nom_du_fichier.txt

#rpm -qp /somewhere/HPOvSecCo.rpm --scripts > HPOvSecCo.scripts.txt

#rpm -qp /l'adresse-du-paquet/nom_du_paquet.rpm --scripts

# rpm -qp /l'adresse-du-paquet/ nom_du_paquet.rpm --scripts > /repertoire/nom_du_fichier.txt

les options -l et -i sont aussi valable dans ce cas

exemple :

[jipe@localhost:/tmp/test]$ rpm -ql beep-1.3-1mdv2010.1.i586.rpm
le paquetage beep-1.3-1mdv2010.1.i586.rpm n'est pas installé

en rajoutant l'option -p

[jipe@localhost:/tmp/test]$ rpm -qpl beep-1.3-1mdv2010.1.i586.rpm
/usr/bin/beep
/usr/share/doc/beep
/usr/share/doc/beep/CHANGELOG
/usr/share/doc/beep/COPYING
/usr/share/doc/beep/CREDITS
/usr/share/doc/beep/README
/usr/share/man/man1/beep.1.lzma

[jipe@localhost:/tmp/test]$ rpm -qpi beep-1.3-1mdv2010.1.i586.rpm
Name        : beep                         Relocations: (not relocatable)
Version     : 1.3                               Vendor: Mandriva
Release     : 1mdv2010.1                    Build Date: mar. 17 août 2010 10:04:31 CEST
Install Date: (not installed)               Build Host: n1.mandriva.com
Group       : Sound                         Source RPM: beep-1.3-1mdv2010.1.src.rpm
Size        : 37318                            License: GPLv2
Signature   : DSA/SHA1, mar. 17 août 2010 11:25:05 CEST, Key ID dd684d7a26752624
Packager    : Sandro Cazzaniga <kharec@mandriva.org>
URL         : http://www.johnath.com/beep/
Summary     : The pc speaker
Description :
Beep allows the user to control the pc-speaker with precision,
allowing different sounds to indicate different events. While it
can be run quite happily on the commandline, it's intended place
of residence is within shell/perl scripts, notifying the user when
something interesting occurs. Of course, it has no notion of
what's interesting, but it's real good at that notifying part.


rpm : remove
rpm : suppression

# rpm -e HPOvSecCo HPOvSecCC HPOvDepl HPOvPerlA HPOvPCO HPOvXpl HPOvBbc HPOvCtrl HPOvConf HPOvPacc HPOvEaAgt
# rpm -e nom du paquet

# rpm -e HPOvSecCo.ia64 HPOvSecCC.ia64 HPOvDepl.ia64 HPOvPerlA.ia64 HPOvPCO.ia64 HPOvXpl.ia64 HPOvBbc.ia64 HPOvCtrl.ia64 HPOvConf.ia64 HPOvPacc.ia64 HPOvEaAgt.ia64

#rpm -e <nom_du_paquet>.ia64 par exemple.


rpm : install
rmp : instalation

pour installer : rpm -U <le_paquet> ; à la place de rpm -i <le_paquet>

#rpm -Uvvh HPOvXpl-6.20.051-1.x86_64.rpm --test #rpm -Uvvh <nom_du_paquet>.rpm --test

exemple avec beep-1.3-1mdv2010.1.i586.rpm

[root@localhost:/tmp/test]# rpm -Uvvh beep-1.3-1mdv2010.1.i586.rpm --test 
D: ============== beep-1.3-1mdv2010.1.i586.rpm
D: Expected size:        21003 = lead(96)+sigs(344)+pad(0)+data(20563)
D:   Actual size:        21003
D: loading keyring from pubkeys in /var/lib/rpm/pubkeys/*.key
D: couldn't find any keys in /var/lib/rpm/pubkeys/*.key
D: loading keyring from rpmdb
D: opening  db environment /var/lib/rpm/Packages create:cdb:mpool:joinenv
D: acquire_extra_lock: locked 4
D: opening  db index       /var/lib/rpm/Packages rdonly mode=0x0
D: locked   db index       /var/lib/rpm/Packages
D: opening  db index       /var/lib/rpm/Name rdonly mode=0x0
D:  read h#       1 Header sanity check: OK
D: added key gpg-pubkey-70771ff3-3c8f768f to keyring
D:  read h#       2 Header sanity check: OK
D: added key gpg-pubkey-78d019f5-3fd7504d to keyring
D:  read h#    1671 Header sanity check: OK
D: added key gpg-pubkey-22458a98-3969e7de to keyring
D:  read h#    1672 Header sanity check: OK
D: added key gpg-pubkey-26752624-3fd74faa to keyring
D:  read h#    1851 Header sanity check: OK
D: added key gpg-pubkey-caba22ae-3cf2c469 to keyring
D: Using legacy gpg-pubkey(s) from rpmdb
D: beep-1.3-1mdv2010.1.i586.rpm: Entête V3 DSA signature: OK, key ID 26752624
D:      added binary package [0]
D: found 0 source and 1 binary packages
D: ========== +++ beep-1.3-1mdv2010.1 i586/linux 0x0
D: opening  db index       /var/lib/rpm/Depends create mode=0x0
D:  Requires: rpmlib(PayloadFilesHavePrefix) <= 4.0-1       OUI (fourni par rpmlib)
D:  Requires: rpmlib(CompressedFileNames) <= 3.0.4-1        OUI (fourni par rpmlib)
D: opening  db index       /var/lib/rpm/Providename rdonly mode=0x0
D:  read h#    1673 Entête V3 DSA signature: OK, key ID 22458a98
D:  Requires: libc.so.6                                     OUI (fourni par la db)
D:  Requires: libc.so.6(GLIBC_2.0)                          OUI (fourni par la db)
D:  Requires: libc.so.6(GLIBC_2.3.4)                        OUI (fourni par la db)
D:  Requires: libc.so.6(GLIBC_2.4)                          OUI (fourni par la db)
D:  Requires: libc.so.6(GLIBC_2.7)                          OUI (fourni par la db)
D:  Requires: rtld(GNU_HASH)                                OUI (fourni par la db)
D:  Requires: rpmlib(PayloadIsLzma) <= 4.4.6-1              OUI (fourni par rpmlib)
D: opening  db index       /var/lib/rpm/Conflictname rdonly mode=0x0
D: closed   db index       /var/lib/rpm/Depends
D: ========== recording tsort relations
D: ========== tsorting packages (order, #predecessors, #succesors, tree, depth, breadth)
D:     0    0    0    0    1    0   +beep-1.3-1mdv2010.1.i586
D: installing binary packages
D: mounted filesystems:
D:     i        dev    bsize       bavail       iavail mount point
D:     0 0x00000801     4096      1140292       426023 /
D:     1 0x00000003     4096            0           -1 /proc
D:     2 0x00000803     4096     10361956      8979811 /home
D:     3 0x00000011     4096            0           -1 /proc/sys/fs/binfmt_misc
D: sanity checking 1 elements
D: computing 7 file fingerprints
Préparation...              D: computing file dispositions
D: opening  db index       /var/lib/rpm/Basenames rdonly mode=0x0
D: opening  db index       /var/lib/rpm/Dirnames rdonly mode=0x0
########################################### [100%]
D: ========== +++ beep-1.3-1mdv2010.1 i586-linux 0x0
D: Expected size:        21003 = lead(96)+sigs(344)+pad(0)+data(20563)
D:   Actual size:        21003
D: beep-1.3-1mdv2010.1: Entête V3 DSA signature: OK, key ID 26752624
D:   install: beep-1.3-1mdv2010.1 has 7 files, test = 1
D: closed   db index       /var/lib/rpm/Dirnames
D: closed   db index       /var/lib/rpm/Conflictname
D: closed   db index       /var/lib/rpm/Providename
D: closed   db index       /var/lib/rpm/Basenames
D: closed   db index       /var/lib/rpm/Name
D: closed   db index       /var/lib/rpm/Packages
D: release_extra_lock_may_clean(/var/lib/rpm, 4)
D: cleaning db regions (ie db__* files) in /var/lib/rpm
D: closed   db environment /var/lib/rpm/Packages

/usr/bin/rpm2cpio OPC.rpm | cpio -idmv

exemple :

[jipe@localhost:/tmp/test]$ rpm2cpio beep-1.3-1mdv2010.1.i586.rpm |cpio -idmv
./usr/bin/beep
./usr/share/doc/beep
./usr/share/doc/beep/CHANGELOG
./usr/share/doc/beep/COPYING
./usr/share/doc/beep/CREDITS
./usr/share/doc/beep/README
./usr/share/man/man1/beep.1.lzma
76 blocs

Création et Modification des paquets RPM

Liens

Construire des paquetages Mandriva Tâches préliminaires

Construire des paquetages Mandriva Groupes_Mandriva_Linux

Le même en anglais

Un "Howto avancé(en)

Et pour le futur avec Mageia

31 janvier 2011 (last edited 2011-02-03 17:17:54 by JpPascaud)