Ubuntu verify package files?

Tom Metro tmetro-blu-5a1Jt6qxUNc at public.gmane.org
Sun Feb 28 02:37:24 EST 2010


David Kramer wrote:
> There's a file that should be in the 
> package, and dpackage and synaptic say are in the package, but it's not 
> on my system.

dpkg -L package

will list the files that are owned by 'package'. It'll likely give you 
the same answer as synaptic.

Similarly "dpkg-deb -c file.deb" will list the files in a specific .deb 
file.

If the file is indeed in the package, you can safely reinstall it using:
aptitude reinstall package

I'm not aware of a command that will merely verify the installed files 
for a given package. This may be absent as a result of the operation 
requiring a .deb file to accomplish (to have something to compare 
against) and .deb files are only cached and considered ephemeral. Also, 
a simple file comparison would overlook changes made by the packages 
installation scripts, which might modify shared configuration files, or 
dynamically create files.

You could, however, do the equivalent of a file compare, once you've 
obtained the package's .deb file, with commands like:

% dpkg-deb -x audacity_1.3.10-1_amd64.deb /tmp/audacity
% cd /tmp/audacity
% find . -type f -exec diff --brief --report-identical-files \{\} /\{\} \;
Files ./usr/bin/audacity and /./usr/bin/audacity are identical
Files ./usr/lib/mime/packages/audacity and 
/./usr/lib/mime/packages/audacity are identical
Files ./usr/share/menu/audacity and /./usr/share/menu/audacity are identical
[...]


  -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/





More information about the Discuss mailing list