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.