Et af de oftest stillede spørgsmål i forbindelse med Red Hat Linux er: Hvilken rpm-pakke indeholder filen XYZ? På SSLUG's mailingliste har mange givet gode råd til svar på dette spørgsmål. Det kræver et perl-script og et shell-script. Begge er ganske simple: #!/usr/bin/perl # # doit # while($rpm = <>) { chomp $rpm; @files=`rpm -qpl $rpm`; print map { $rpm ," ", $_ } @files; } #!/bin/sh # # findrpm # if [ $# != 2 ] then echo Usage: findrpm file-to-find /path/to/rpms else find ${2}/*.rpm | /usr/local/bin/doit | grep -i $1 2>/dev/null fiBegge scripts kan f.eks. placeres i /usr/local/bin. Begge scripts skal selvfølgelig også være eksekverbare: root@linuxbox # chmod +x /usr/local/bin/doit /usr/local/bin/findrpm root@linuxbox #Herefter er det muligt at finde ud af hvilke rpm-pakker, der indeholder filen netdb.h: joelinuxuser@linuxbox ~ $ findrpm netdb.h /path/to/RedHat/RPMS /path/to/RedHat/RPMS/bind-devel-8.2.2_P5-25.i386.rpm /usr/lib/bind/include/netdb.h joelinuxuser@linuxbox ~ $En ulempe ved denne metode er, at en søgning efter make også vil give alle rpm-pakker med indhold WindowMaker, men det skulle være til at klare med grep: # findrpm make /path/to/RedHat/RPMS/ | grep -v WindowMakerHappy rpm-hunting! |