#!/bin/bash -e package="$1" present="$2" ghost="$3" missing="" rpm -ql --noghost "$package" | while read x ; do [ -e "$x" -o -L "$x" ] && echo "$x" >> "$present" || echo Missing file "$x" done rpm -q --qf '[%{FILEFLAGS} %{FILENAMES} 0%{FILEMODES:octal} %{FILESIZES} %{FILEMTIMES} %{FILELINKTOS}\n]' $package | while read -a line; do [ $[line[0]&64] = 64 ] || continue echo "${line[@]:1}" done > "$ghost"