Это также правильно, но размер отображается в байтах. И это показывает размер в лучшем формате, но если пакет имеет очень маленький размер (скажем, 1 МБ), то, несмотря на echo 'n', он установит пакет (потому что в этом случае apt не запрашивает).
Итак, вы используете --no-download с --assume-no следующим образом:
sudo apt-get --no-download --assume-no install <package_name> | grep 'Need to get'
Здесь --no-download утверждает, что не загружать пакет, а --assume-no - для предположения отсутствия (n) в случай любого приглашения.
Пример:
$ sudo apt-get --no-download --assume-no install ttf-devanagari-fonts 2>/dev/null | grep 'Need to get'
Need to get 938 kB of archives.
Недопустимый файл QtSql/private/qsqldriver_p.h находится в пакете qtbase5-private-dev
sudo apt-get install qtbase5-private-dev