Você pode combinar essas duas partes:
dpkg-query -W -f '${status} ${package} ${version}\n' |
sed -n 's/^install ok installed //p'
Isto mostrará os nomes de todos os pacotes instalados, incluindo suas versões. Se você não precisa de números de versão, omita a parte do $ {version}.
Em seguida, execute o apt-get update para obter listas de pacotes atualizadas e:
/usr/lib/update-notifier/apt-check -p
Isso informará os nomes dos pacotes cujas atualizações estão disponíveis.
Uma ideia seria (não tome isso literalmente, estou apenas fornecendo uma ideia):
#!/bin/bash
$first_command > installed_packages
$second_command > packages_with_updates
if (grep $YOUR_PACKAGE installed_packages); then
echo "Package is installed"
if (grep $YOUR_PACKAGE packages_with_updates); then
sudo apt-get -q -q update #apt-get runs in quiet mode to avoid lots of output
echo "Update available for package"
#Whatever you need to update the package here
fi
else
echo "Package not installed, installing..."
#whatever you need to do to install here
fi