Salve todos os pacotes instalados mostrados por /var/log/dpkg.log
em uma matriz:
mapfile -t packages < <(grep -Po '.* install \K[^ ]+' /var/log/dpkg.log)
Aqui, a matriz packages
conterá todos os nomes dos pacotes.
Agora você pode fazer o seguinte:
echo "${packages[@]}"
para ver os nomes dos pacotes em um formulário separado por espaço.
Isso funcionará bem com o comando apt-get
:
sudo apt-get install --dry-run "${packages[@]}"
O comando acima será expandido para:
sudo apt-get install --dry-run libntlm0:amd64 libgsasl7:amd64 ....
Se você tiver ssh
de acesso do novo computador àquele em que o pacote está instalado, em NEW
computer você pode usar:
$ mapfile -t packages < <(ssh OLD 'grep -Po ".* install \K[^ ]+" /var/log/dpkg.log'))"
Isso salvará os nomes dos pacotes de OLD
computer na matriz packages
. altere os parâmetros ssh
de acordo.
Agora você pode simplesmente fazer:
$ sudo apt-get install "${packages[@]}"