Outils pour utilisateurs

Outils du site


informatique:linux:rpm

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
informatique:linux:rpm [2007/09/21 15:33]
127.0.0.1 édition externe
informatique:linux:rpm [2018/09/06 19:10] (Version actuelle)
Ligne 25: Ligne 25:
 Pour supprimer un package: Pour supprimer un package:
   rpm -e <​package>​   rpm -e <​package>​
 +
 +
 +
 +
 +
 +
  
 ==== Requètes RPM ==== ==== Requètes RPM ====
Ligne 30: Ligne 36:
   rpm -qa   rpm -qa
   rpm -qa --queryformat=%{NAME}\\n   rpm -qa --queryformat=%{NAME}\\n
 +
 +=== Lister les packages installés en les affichant au format fichier rpm ===
 +
 +  rpm -qa --queryformat '​%{name}-%{version}-%{Release}.%{arch}.rpm\n'​
 +
 +Note :!: : Pour connaître les tags disponibles pour la requête, lancer la commande : **''​rpm --querytags''​**
  
 === Pour connaitre le package source d'un binaire ou fichier === === Pour connaitre le package source d'un binaire ou fichier ===
Ligne 48: Ligne 60:
   rpm -ql apmd   rpm -ql apmd
  
 +Astuce :!: : Pour lister tous les fichiers contenus dans les RPM du CDRom Linux
 +  cd /mnt/cdrom
 +  for RPM in $(find ./​RedHat/​RPMS -name "​*.rpm"​);​do echo "########​ $RPM ########";​rpm -qlp $RPM;done
  
 +Lorsqu'​il manque une librairie sur le système cela permet d'​identifier rapidement dans quel package on peut la trouver et ainsi installer le bon RPM.
 +
 +=== Pour lister les fichiers nécessaires à l'​installation du rpm ===
 +  rpm -qp --requires apmd-3.0.2-24.i386.rpm
  
 ==== Vérification RPM ==== ==== Vérification RPM ====
Ligne 69: Ligne 88:
 Pour vérifier la signature: Pour vérifier la signature:
    rpm --checksig <​package>​    rpm --checksig <​package>​
 +
  
 ==== Extraction d'un RPM sans installation ==== ==== Extraction d'un RPM sans installation ====
   rpm2cpio apmd-3.0.2-24.i386.rpm | cpio -idvm   rpm2cpio apmd-3.0.2-24.i386.rpm | cpio -idvm
 +
 +
 +
 +
 +
 +
 +
 +==== Création d'un RPM ====
 +
 +Ici nous allons créer un rpm pour installer l'​outil **''​apt''​**. Cette methode n'est pas la methode la plus conventionnelle.
 +
 +Installer le package **''​rpm-build''​**
 +  rpm -ivh rpm-build.x.x.x.rpm
 +
 +Il faut extraire les sources dans **''/​usr/​src/​BUILD''​**
 +
 +cd /​usr/​src/​BUILD
 +  tar -xjf /​root/​apt-0.5.15lorg3.2.tar.bz2
 +
 +Il faut créer un fichier **''/​usr/​src/​SPECS/​apt.spec''​**. Dans le lequel il faut surtout veiller à:
 +
 +  * Péciser le BuildRoot: **''​BuildRoot:​ /​var/​tmp/​%{name}-buildroot''​**
 +  * De faire créer le répertoire:​ **''/​var/​tmp/​%{name}-buildroot''​** dans la partie **''​%prep''​**
 +  * A lancer ''​**./​configure**''​ en précisant de faire l'​installation dans ''​**/​var/​tmp/​%{name}-buildroot**''​
 +  * Peéciser les commandes de compilation et d'​installation dans **''​%build''​** et **''​%install''​**
 +  * De présiser la liste de fichier à copier dans l'​archive RPM partie **''​%files''​** FIXME
 +
 +  Summary: Debian'​s Advanced Packaging Tool with RPM support
 +  Name: apt
 +  Version: 0.5.15
 +  Release: 7.RHEL4
 +  Copyright: GPL
 +  Group: System Environment/​Base
 +  Source: apt-0.5.15lorg3.2.tar.bz2
 +  BuildRoot: /​var/​tmp/​%{name}-buildroot
 +    ​
 +  %description
 +  A port of Debian'​s apt tools for RPM based distributions.
 +  It provides the apt-get utility that provides a simpler, safer way to
 +  install and upgrade packages. APT features complete installation ordering,
 +  multiple source capability and several other unique features.
 +    ​
 +  %prep
 +  mkdir -p /​var/​tmp/​%{name}-buildroot
 +  cd apt-0.5.15lorg3.2
 +  ./configure --prefix=/​var/​tmp/​%{name}-buildroot
 +    ​
 +  %build
 +  cd apt-0.5.15lorg3.2
 +  make clean
 +  make
 +    ​
 +  %install
 +  cd apt-0.5.15lorg3.2
 +  make install
 +    ​
 +  %files
 +  /​share/​locale/​es_ES/​LC_MESSAGES/​apt.mo
 +  /​share/​locale/​pt_BR/​LC_MESSAGES/​apt.mo
 +  /​share/​locale/​de_DE/​LC_MESSAGES/​apt.mo
 +  /​share/​locale/​ja/​LC_MESSAGES/​apt.mo
 +  /​share/​locale/​ru/​LC_MESSAGES/​apt.mo
 +  /​share/​locale/​it_IT/​LC_MESSAGES/​apt.mo
 +  /​bin/​genbasedir
 +  /​bin/​apt-cache
 +  /​bin/​gensrclist
 +  /​bin/​countpkglist
 +  /​bin/​apt-config
 +  /​bin/​apt-cdrom
 +  /​bin/​genpkglist
 +  /​bin/​apt-get
 +  /​include/​apt-pkg/​rpmversion.h
 +  /​include/​apt-pkg/​rpmindexfile.h
 +  /​include/​apt-pkg/​versionmatch.h
 +  /​include/​apt-pkg/​rpmpm.h
 +  /​include/​apt-pkg/​sptr.h
 +  /​include/​apt-pkg/​clean.h
 +  /​include/​apt-pkg/​rpmhandler.h
 +  /​include/​apt-pkg/​acquire-method.h
 +  /​include/​apt-pkg/​rpmrecords.h
 +  /​include/​apt-pkg/​policy.h
 +  /​include/​apt-pkg/​luaiface.h
 +  /​include/​apt-pkg/​strutl.h
 +  /​include/​apt-pkg/​packagemanager.h
 +  /​include/​apt-pkg/​sha1.h
 +  /​include/​apt-pkg/​hashes.h
 +  /​include/​apt-pkg/​pkgcachegen.h
 +  /​include/​apt-pkg/​pkgrecords.h
 +  /​include/​apt-pkg/​rpmlistparser.h
 +  /​include/​apt-pkg/​cdromutl.h
 +  /​include/​apt-pkg/​tagfile.h
 +  /​include/​apt-pkg/​acquire-item.h
 +  /​include/​apt-pkg/​md5.h
 +  /​include/​apt-pkg/​mmap.h
 +  /​include/​apt-pkg/​version.h
 +  /​include/​apt-pkg/​repomd.h
 +  /​include/​apt-pkg/​acquire.h
 +  /​include/​apt-pkg/​pkgsystem.h
 +  /​include/​apt-pkg/​srcrecords.h
 +  /​include/​apt-pkg/​cacheiterators.h
 +  /​include/​apt-pkg/​repository.h
 +  /​include/​apt-pkg/​rpmshowprogress.h
 +  /​include/​apt-pkg/​acquire-worker.h
 +  /​include/​apt-pkg/​pkgcache.h
 +  /​include/​apt-pkg/​fileutl.h
 +  /​include/​apt-pkg/​cmndline.h
 +  /​include/​apt-pkg/​error.h
 +  /​include/​apt-pkg/​progress.h
 +  /​include/​apt-pkg/​configuration.h
 +  /​include/​apt-pkg/​indexfile.h
 +  /​include/​apt-pkg/​cachefile.h
 +  /​include/​apt-pkg/​algorithms.h
 +  /​include/​apt-pkg/​orderlist.h
 +  /​include/​apt-pkg/​crc-16.h
 +  /​include/​apt-pkg/​init.h
 +  /​include/​apt-pkg/​rpmmisc.h
 +  /​include/​apt-pkg/​depcache.h
 +  /​include/​apt-pkg/​rpmsystem.h
 +  /​include/​apt-pkg/​rpmsrcrecords.h
 +  /​include/​apt-pkg/​sourcelist.h
 +  /​include/​apt-pkg/​rpmpackagedata.h
 +  /​lib/​libapt-pkg.a
 +  /​lib/​libapt-pkg-libc6.3-6.so.2.0.0
 +  /​lib/​libapt-pkg.la
 +  /​lib/​apt/​methods/​gpg
 +  /​lib/​apt/​methods/​cdrom
 +  /​lib/​apt/​methods/​http
 +  /​lib/​apt/​methods/​gzip
 +  /​lib/​apt/​methods/​rsh
 +  /​lib/​apt/​methods/​file
 +  /​lib/​apt/​methods/​bzip2
 +  /​lib/​apt/​methods/​copy
 +  /​lib/​apt/​methods/​ftp
 +  /​lib/​apt/​methods/​ssh
 +  /​lib/​libapt-pkg.so
 +  /​lib/​libapt-pkg-libc6.3-6.so.2
 +
 +
 +Lancer la création du RPM
 +  rpmbuild -bb /​usr/​src/​SPECS/​apt.spec
 +
 +Si l'on veux juste copier des fichiers en installant un RPM mettre par exemble une commande ''​echo no prep''​ dans les partie ''​%prep'',​ ''​%build'',​ ''​%install''​ et mettre la liste de fichiers à mettre dans le RPM dans la partie ''​%files''​. Pour lancer la création en étant indépendant de l'​architecture faire :
 +
 +  rpmbuild -bb --target=noarch /​usr/​src/​SPECS/​my.spec
informatique/linux/rpm.1190381621.txt.gz · Dernière modification: 2018/09/06 19:00 (modification externe)