sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #58529
Re: hive filer ud af rpm pakker
Og en hurtig en i Perl, dog ikke en oneliner, nogen der er friske?
MVH Troels.
#!/usr/bin/perl -w
# Copyright 2002-2003, Troels Liebe Bentsen <tlb@xxxxxxxxxxx>
# License: GPLv2
# Usage: ./rpm2gzcpio.pl file-version-release.arch.rpm |gzip -d| cpio
# --list
use strict;
open FILE, shift or die ("Could not open file $!\n");
my $he; my $hs; my $b;
seek(FILE, 104, 0);
read(FILE, $b, 8); ($he, $hs) = unpack("NN", $b);
if (($hs % 8) == 0) { seek(FILE, (16*$he)+$hs+8, 1); }
else { seek(FILE, (16*$he)+$hs+(8-($hs % 8))+8, 1); }
read(FILE, $b, 8); ($he, $hs) = unpack("NN", $b);
seek(FILE, (16*$he)+$hs, 1);
while(read(FILE, $b, 1024) != 0) {
print $b;
}
close(FILE);
Kristian Vilmann wrote:
Esben Skov Pedersen wrote:
Hvis man har en rpm pakke, som man gerne vil have nogle filer ud af
uden at installere den hvordan gør man så?
$ rpm2cpio < ../etherape-0.8.2-1.i386.rpm | cpio -it
[mange filer]
...
...
...
usr/share/locale/es/LC_MESSAGES/etherape.mo
usr/share/locale/fr/LC_MESSAGES/etherape.mo
usr/share/locale/nl/LC_MESSAGES/etherape.mo
usr/share/pixmaps/etherape.png
$ rpm2cpio < ../etherape-0.8.2-1.i386.rpm | cpio -idmv \
usr/share/pixmaps/etherape.png
usr/share/pixmaps/etherape.png
953 blocks
$ ls usr/share/pixmaps/etherape.png
usr/share/pixmaps/etherape.png
$
/kristian
Follow ups
References