#!/bin/sh set -e for prefix in / /usr/ do for lib in "${prefix}lib" "${prefix}lib32" "${prefix}lib64" "${prefix}libx32" do test -d "$lib" || continue test -L "$lib" && continue for libdir in "$lib" "$lib"/*-gnu* do test -d "$libdir" || continue for f in "$libdir"/* do test -d "$f" && continue test -L "$f" || continue rl=$(readlink "$f") test -n "${rl##/etc/alternatives/*}" || continue owned=0 dpkg-query -S "$f" >/dev/null 2>&1 && owned=1 if [ "$owned" = "0" ] && [ -L "/lib" ] then dpkg-query -S "${f#/usr}" >/dev/null 2>&1 && owned=1 fi if [ "$owned" = "0" ] then case "$f" in /lib/ld-lsb.so.?|\ /lib/ld-lsb-*.so.?) # created by lsb-core continue ;; /usr/lib/libglide.so.2|\ /usr/lib/libglide3.so.3) # created by maintainer script continue ;; /usr/lib/libfmpich.so.12|\ /usr/lib/libmpi_cxx.so.20|\ /usr/lib/libmpich.so.12|\ /usr/lib/libmpichcxx.so.12|\ /usr/lib/libmpichf90.so.12|\ /usr/lib/libmpichfort.so.12) if [ -f /etc/alternatives/libmpi.so ] then # managed by mpi-default-dev via alternatives # to /usr/lib//lib${impl}.so # ldconfig adds the "real" soname links continue fi ;; esac echo "UNOWNED SYMLINK $f -> $rl" fi done done done done