← Back to team overview

sslug-teknik team mailing list archive

Script til at finde filer i Debian

 

Hvis du bruger Debian, så er her et af disse 0.02$ hint jeg finder
uundværlig....

Har du nogensinde været i den situation at du gerne ville vide i hvilken
debian fil filen XXX befinder sig? Den erfarende dpkg bruger ved at man kan
bruge dpkg --search <fil-navn>, men dette virker desværre kun på installerede
debian pakker. Oftest søger du een fil som ikke er installeret, og der er
det at du har brug for følgende script:

-------------------------------------------------------------->
#!/bin/sh
CDROM=/cdrom # mount point for cd
echo "" > ~/debian_info
for cd in cd1 cd2; do
  echo "Insert $cd"
  read pause
  mount $CDROM
  for name in `find $CDROM/ -name '*.deb'`; do 
    echo "=============================== $cd ============================================" >> ~/debian_info
    echo $name >> ~/debian_info
    echo "================================================================================" >> ~/debian_info
    dpkg --contents $name | perl -e 'while ($name=<STDIN>) { $name =~ s/.{48}(.*)/$1/; if ($name !~ m!/$!) { print $name}}' >> ~/debian_info
  done
  umount $CDROM
done
<---------------------------------------------------------------
Vær påpasselig med linie brud (især i linien med perl commandoen)

Ovenstående generere en list som følgende:
=============================== cd1 ============================================
/cdrom/dists/slink/main/binary-i386/devel/kernel-source-2.1.125_2.1.125-1.deb
================================================================================
usr/src/kernel-source-2.1.125.tar.gz
usr/doc/kernel-source-2.1.125/copyright
usr/doc/kernel-source-2.1.125/changelog.Debian.gz
usr/doc/kernel-source-2.1.125/LinkPolicy.gz
usr/doc/kernel-source-2.1.125/debian.README.gz
usr/doc/kernel-source-2.1.125/README.headers.gz
usr/doc/kernel-source-2.1.125/README.tecra.gz
usr/doc/kernel-source-2.1.125/README.modules.gz
usr/doc/kernel-source-2.1.125/README.gz
usr/doc/kernel-source-2.1.125/Flavours.gz
usr/doc/kernel-source-2.1.125/Rationale.gz
usr/doc/kernel-source-2.1.125/Buildinfo
=============================== cd1 ============================================
/cdrom/dists/slink/main/binary-i386/devel/kernel-source-2.0.36_2.0.36-3.deb
================================================================================
usr/src/kernel-source-2.0.36.tar.gz
usr/doc/kernel-source-2.0.36/copyright
usr/doc/kernel-source-2.0.36/changelog.Debian.gz
usr/doc/kernel-source-2.0.36/LinkPolicy.gz
usr/doc/kernel-source-2.0.36/debian.README.gz
usr/doc/kernel-source-2.0.36/README.headers.gz
usr/doc/kernel-source-2.0.36/README.tecra.gz
usr/doc/kernel-source-2.0.36/README.modules.gz
usr/doc/kernel-source-2.0.36/README.gz
usr/doc/kernel-source-2.0.36/Flavours.gz
usr/doc/kernel-source-2.0.36/Rationale.gz
usr/doc/kernel-source-2.0.36/Buildinfo

scriptet er beregnet til Debian 2.1 (Hvor der er to cd'er), men kan sagtens
bruges til ældre debian distributioner.

Mvh Jesper.


Follow ups