Comment extraire des fichiers de l'archive du package RPM

Comment extraire des fichiers de l'archive du package RPM

Ce court article vous montrera comment extraire un seul ou plusieurs fichiers à partir d'une archive de package RPM. Pour commencer, nous téléchargeons d'abord un exemple de package Bonjour.

$ wget ftp: // rpmfind.net / linux / opensuse / factory / repo / oss / sus / x86_64 / hello-2.9-4.3.x86_64.rpm $ ls bonjour-2.9-4.3.x86_64.RPM 

Nous avons maintenant une option extraire tout ou un seul fichier de l'archive du package RPM ci-dessus. La commande Linux suivante extrait tous les fichiers dans notre répertoire de travail actuel:

$ rpm2cpio hello-2.9-4.3.x86_64.RPM | cpio -id 525 blocs $ ls hello-2.9-4.3.x86_64.RPM USR 

Ce qui précède rpm2cpio convertit d'abord le régime en archive CPIO. Nous passons ensuite son stdout à un CPIO Commande qui le prend comme une entrée et extrait son contenu -je en répertoires appropriés -d. En conséquence usr Le répertoire contient désormais tous les fichiers extraits du bonjour-2.9-4.3.x86_64.RPM Archive du package RPM.

Alternativement, nous pouvons extraire un fichier unique / sélectionné à partir de l'archive du package RPM. Pour ce faire, nous devons d'abord énumérer un contenu du package RPM sans extraire son contenu. La commande ci-dessous ne fera que lisser un contenu du package RPM bonjour-2.9-4.3.x86_64.RPM

$ rpm -lqp hello-2.9-4.3.x86_64.AVERTISSEMENT RPM: Bonjour-2.9-4.3.x86_64.RPM: En-tête V3 RSA / SHA256 Signature, ID de clé 3DBDC284: NOKEY / USR / BIN / HELLO / USR / PARHE / DOC / Packages / Hello / USR / Share / Doc / Packages / Hello / About-NLS / USR / Share / Doc / packages / hello / copie / usr / share / doc / packages / hello / news / usr / share / doc / packages / hello / readme / usr / share / doc / packages / hello / hello / usr / share / doc / packages / Hello / todo / usr / share / info / bonjour.Info.GZ / USR / SHARE / LOCALE / BG / LC_MESSAGES / HELLO.MO / USR / SHARE / LOCALE / CA / LC_MESSAGES / HELLO.MO / USR / SHARE / LOCALE / DA / LC_MESSAGES / HELLO.MO / USR / SHARE / LOCALE / DE / LC_MESSAGES / HELLO.MO / USR / SHARE / LOCALE / EL / LC_MESSAGES / HELLO.MO / USR / SHARE / LOCALE / EO / LC_MESSAGES / HELLO.MO / USR / SHARE / LOCALE / ES / LC_MESSAGES / HELLO.MO / USR / SHARE / LOCALE / ET / LC_MESSAGES / HELLO.MO / USR / SHARE / LOCALE / EU / LC_MESSAGES / HELLO.MO / USR / SHARE / LOCALE / FA / LC_MESSAGES / HELLO.MO / USR / SHARE / LOCALE / FI / LC_MESSAGES / HELLO.mo / usr / share / locale / fr / lc_messages / bonjour.MO / USR / SHARE / LOCALE / GA / LC_MESSAGES / HELLO.MO / USR / SHARE / LOCALE / GL / LC_MESSAGES / HELLO.mo / usr / share / locale / he / lc_messages / bonjour.MO / USR / SHARE / LOCALE / HR / LC_MESSAGES / HELLO.MO / USR / SHARE / LOCALE / HU / LC_MESSAGES / HELLO.mo / usr / share / locale / id / lc_messages / bonjour.mo / usr / share / locale / it / lc_messages / bonjour.MO / USR / SHARE / LOCALE / JA / LC_MESSAGES / HELLO.MO / USR / SHARE / LOCALE / KO / LC_MESSAGES / HELLO.MO / USR / SHARE / LOCALE / LV / LC_MESSAGES / HELLO.MO / USR / SHARE / LOCALE / NB / LC_MESSAGES / HELLO.MO / USR / SHARE / LOCALE / NL / LC_MESSAGES / HELLO.MO / USR / SHARE / LOCALE / NN / LC_MESSAGES / HELLO.MO / USR / SHARE / LOCALE / PL / LC_MESSAGES / HELLO.MO / USR / SHARE / LOCALE / PT / LC_MESSAGES / HELLO.mo / usr / share / locale / pt_br / lc_messages / bonjour.MO / USR / SHARE / LOCALE / RO / LC_MESSAGES / HELLO.MO / USR / SHARE / LOCALE / RU / LC_MESSAGES / HELLO.MO / USR / SHARE / LOCALE / SK / LC_MESSAGES / HELLO.MO / USR / SHARE / LOCALE / SL / LC_MESSAGES / HELLO.MO / USR / SHARE / LOCALE / SR / LC_MESSAGES / HELLO.MO / USR / SHARE / LOCALE / SV / LC_MESSAGES / HELLO.mo / usr / share / locale / th / lc_messages / bonjour.MO / USR / SHARE / LOCALE / TR / LC_MESSAGES / HELLO.MO / USR / SHARE / LOCALE / UK / LC_MESSAGES / HELLO.MO / USR / SHARE / LOCALE / VI / LC_MESSAGES / HELLO.mo / usr / share / locale / zh_cn / lc_messages / bonjour.mo / usr / share / locale / zh_tw / lc_messages / bonjour.mo / usr / share / man / man1 / bonjour.1.gz 

Utilisez la commande Linux suivante pour extraire un seul fichier / usr / bin / bonjour à partir du package RPM et enregistrez-le par exemple. / tmp / annuaire:

$ rpm2cpio hello-2.9-4.3.x86_64.RPM | cpio -iv --to-stdout ./ usr / bin / bonjour> / tmp / bonjour 

Tout fait le Bonjour L'exécutable binaire a maintenant été enregistré dans / tmp / annuaire:

$ chmod + x / tmp / bonjour $ / tmp / bonjour bonjour, monde! 

Tutoriels Linux connexes:

  • Téléchargement du fichier WGET sur Linux
  • Comment se connecter à un serveur FTP à l'aide de Python
  • Configuration du serveur FTP sur Linux
  • Liste des clients FTP et installation sur Ubuntu 20.04 Linux…
  • Liste des clients FTP et installation sur Ubuntu 22.04 Linux…
  • Comment créer et extraire des archives CPIO sur des exemples Linux
  • Comment configurer le serveur et le client FTP / SFTP sur Almalinux
  • Choses à installer sur Ubuntu 20.04
  • Tutoriel LFTP sur Linux avec des exemples
  • Comment installer VSCODE open-source sans télémétrie sur Linux