Here's a simple script to simplify the task

#!/bin/bash # enter the codename of ubuntu dist that you're upgrading/updating to TARGET_DIST="utopic" [[ -f /etc/lsb-release ]] && . /etc/lsb-release || exit 1 echo "Checking support of your current 3rd party apt sources for dist: $TARGET_DIST" for list in /etc/apt/sources.list.d/*.list; do # get repo uri and dist read -r uri dist <<< $(sed -rn '/^deb/{s/.*((ftp|http)[^ ]+) ([^ ]+).*/\1 \3/p}' $list) # in case uri is blank [[ -z "$uri" ]] && continue # some repo don't use proper target dist names but names like stable/unstable # so if $dist doesnt correspond to our current dist codename we assume they support all ubuntu releases if [[ "$dist" != "$DISTRIB_CODENAME" ]]; then status="assume200" else # Release files can either be in InRelease or Release (for older apt client) # See https://wiki.debian.org/RepositoryFormat#A.22Release.22_files status=$(curl -sLI -w "%{http_code}" -o /dev/null "$uri/dists/$TARGET_DIST/Release") if [[ "$status" != "200" ]]; then status=$(curl -sLI -w "%{http_code}" -o /dev/null "$uri/dists/$TARGET_DIST/InRelease") fi fi if [[ "$status" == "200" ]]; then result="OK" elif [[ "$status" == "assume200" ]]; then result="OK ($dist)" else result="Nope" fi # finally display formatted results printf "%-50s : %s

" ${list##*/} "$result" done

Output: