diff --git a/os-probes/mounted/common/90linux-distro b/os-probes/mounted/common/90linux-distro index 9544531..bee48b3 100755 --- a/os-probes/mounted/common/90linux-distro +++ b/os-probes/mounted/common/90linux-distro @@ -17,7 +17,7 @@ type="$3" # symlinks we need to also check in $dir/usr/lib* for distributions that # moved /lib* to /usr and only left symlinks behind. # TODO: look for ld-linux.so on arches that have it -if (ls "$dir"/lib*/ld*.so* || ls "$dir"/usr/lib*/ld*.so*) >/dev/null 2>/dev/null; then +if [ -L "$dir"/lib ] || (ls "$dir"/lib*/ld*.so* || ls "$dir"/usr/lib*/ld*.so*) >/dev/null 2>/dev/null; then if [ -e "$dir/etc/debian_version" ]; then short="Debian" long="$(printf "Debian GNU/Linux (%s)\n" "$(cat "$dir/etc/debian_version")")" @@ -128,9 +128,13 @@ if (ls "$dir"/lib*/ld*.so* || ls "$dir"/usr/lib*/ld*.so*) >/dev/null 2>/dev/null elif [ -e "$dir/etc/4MLinux-version" ]; then short="4MLinux" long="4MLinux $(head -1 "$dir/etc/4MLinux-version")" - else + elif (ls "$dir"/lib*/ld*.so* && [ -d "$dir/boot" ] || ls "$dir"/usr/lib*/ld*.so*) >/dev/null 2>/dev/null; then + # Don't report 'Linux distribution' if only a /lib symlink is found or if this is + # a partition without /boot (should be /usr partition) short="Linux" long="unknown Linux distribution" + else + exit 1 fi label="$(count_next_label "$short")"