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

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
informatique:linux:rpm [2008/01/14 14:05] – benoitinformatique:linux:rpm [2009/05/18 08:28] (Version actuelle) – benoit
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 73: Ligne 92:
 ==== 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 ==== ==== 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.1200319529.txt.gz · Dernière modification : (modification externe)