[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: how to view config file changes without running an upgrade?



On Wed, Mar 21, 2018 at 09:56:09AM -0500, David Wright wrote:
> If you unpack the package somewhere, either using ar etc or,
> more easily, by selecting it in mc and copying CONTENTS into,
> say, /tmp

Or "dpkg -x".

> $ for j in $(dpkg -L packagename) ; do [ -f $j ] && diff -u $j /tmp/CONTENTS/$j ; done

This only works if the filenames contained in the package are "safe",
not containing any whitespace characters or ? or * or [ or any other
characters that a shell may interpret as part of word splitting or
filename expansion (with or without extended globs enabled).

https://mywiki.wooledge.org/Quotes
https://mywiki.wooledge.org/BashPitfalls#pf1

For most Debian packages, the filenames probably are "safe", but relying
on that is not a good habit to fall into.

dpkg -L packagename | while IFS= read -r f; do [ -f "$f" ] && diff -u "$f" /tmp/CONTENTS/"$f"; done

That's safe for all filenames that don't contain newlines.  And I'm
pretty sure a filename with a newline cannot occur in a package, because
all of the tools like dpkg -L would break.  In any case, dpkg -L would
*definitely* break, so you wouldn't be able to do this at all.


Reply to: