RPM adatbazis (Berkeley DB) olvasasa

Mas rendszerrol szarmazo, Berkeley DB formatumu adatbazis olvasasara az alabbi modszert talaltam:

- /var/lib/rpm alatt laknak az adatbazis Berkeley DB formatumu file-jai (Packages a csomaglista)
- az alabbi perl script es a perl-berkeleydb (csomag) segitsegevel lehet plain text formatumra alakitani:


#!/usr/bin/perl
# written by 'tachyon'
# source: http://www.perlmonks.org/?node_id=410033

use BerkeleyDB;
tie %hash, 'BerkeleyDB::Hash', -Filename => $ARGV[0]
or die "can't read file '$ARGV[0]': $!";
print map { " $_ => $hash{$_}\n" } sort keys %hash;

- ebben van meg egy kis binaris szemet, ezert meg egy strings-en at kell kuldeni a kimenetet:

./readdb.pl Packages.hostname | strings > Packages.hostname.readdb

A vegeredmeny arra mar mindenkepp alkalmas, hogy az adott rendszeren telepitett RPM-ekrol egy listat generaljunk.

Hozzászólások