Todo o Ubuntu ISO ([UKLX] buntu / Ubuntu-gnome) vem com o arquivo .manifest
que contém a lista de todos os pacotes pré-instalados no ISO. Você pode encontrar esses arquivos de manifesto no mesmo diretório de download como aqueles ISO em qualquer espelhamento do Ubuntu ISO. Pegue a lista de versões disponíveis do Ubuntu como um exemplo; se você tiver Trusty
64 bits, por exemplo, o link do manifesto seria
link .
Então, quando você tiver este arquivo, apenas compare a lista de pacotes nele com a lista de todos os pacotes instalados no seu Ubuntu usando o comando comm
$ curl -O http://releases.ubuntu.com/trusty/ubuntu-14.04-desktop-amd64.manifest
$ comm -23 <( dpkg --get-selections | awk '$2 ~ /^(install|hold)/ { print $1 }' | sort ) \
<( awk '{ print $1 }' ubuntu-14.04-desktop-amd64.manifest | sort )
Para explicar o que o comm
faz, ele recebe entrada de 2 arquivos - primeiro um fornece a lista de todos os pacotes atualmente instalados e o segundo o arquivo de manifesto. O -3
opt suprime as linhas que ambos os arquivos têm e -2
suprime as linhas que somente o segundo arquivo (arquivo de manifesto, isto é) possui. Assim, no final, sua saída contém apenas linhas que apenas o arquivo que possui e que fornece pacotes que você instalou manualmente desde que o sistema operacional foi instalado.
Então você tem isso.
Editar
Se você também quiser ver a versão do pacote ao lado do nome do pacote na saída, como Slyvain Pineau apontou, canalize o comando comm
acima para xargs dpkg-query -W -f='${binary:Package} ${Version}\n'
para que se torne
$ comm -23 <( dpkg --get-selections | awk '$2 ~ /^(install|hold)/ { print $1 }' | sort ) \
<( awk '{ print $1 }' ubuntu-14.04-desktop-amd64.manifest | sort ) | \
xargs dpkg-query -W -f='${binary:Package} ${Version}\n
Ou, alternativamente, com awk
inteiramente, Isso também dá o mesmo resultado que o comando acima
awk 'FNR==NR {arr[$1];next} !($1 in arr) { print $0 }' ubuntu-14.04-desktop-amd64.manifest <( dpkg-query -W -f='${binary:Package} ${Version}\n' )
Veja este link para obter explicações sobre como o awk cmd trabalho