Через apt-cache
Можно воспользоваться командой:
$ apt-cache policy ИмяПакета
ИмяПакета:
Installed: (none)
Candidate: 45.2.0~deb8u1
Version table:
45.2.0~deb8u1 0
500 http://security.debian.org/ jessie/updates/main amd64 Packages
В поле Installed написано, установлен пакет или нет.
Через dpkg
Чтобы узнать, установлен пакет или нет через dpkg, надо дать команду
# dpkg --list 'ИмяПакета'
Если возле пакета стоит метка "ii", значит пакет установлен.
Проблема у dpkg в том, что через эту команду нельзя ничего точно сказать о неустановленных пакетах (метка "un"), так как большую часть пакетов dpkg не видит. Он видит неустановленные пакеты, которые были удалены без purge, плюс видит неустановленные пакеты, которые упоминаются в зависимостях других пакетов как рекомендательные. Другие неустановленные пакеты будут невидны.
Через Aptitude
Можно попробовать через aptitude. Например, если надо найти все установленные пакеты, которые начинаются на firefox-esr-l10n:
$ aptitude search ^firefox-esr-l10n~i