Gostaria de obter uma lista de pacotes instalados em um sistema e instalar todos eles em outro sistema.
Eu sei que isso dpkg --get-selections
pode me dar uma lista de todos os pacotes instalados nos quais posso canalizar no dpkg --set-selections
sistema de destino. No entanto, alguns dos pacotes instalados são aqueles criados por mim localmente (usando, por exemplo, checkinstall) e não estão disponíveis nos repositórios. O dpkg --set-selections
processo falhará quando não for possível encontrar esses pacotes nos repositórios.
Então, existe uma maneira de filtrar a lista gerada por, dpkg --get-selections
para que ela contenha apenas pacotes cuja versão atualmente instalada esteja disponível em meus repositórios atuais?
fonte
total=$(dpkg --get-selections '*'|wc -l); i=0; dpkg --get-selections '*' | while read line; do i=$(($i+1)); apt-cache policy $(echo "$line" | cut -f1 ) | grep -q 'http://' && echo "$i/$total $line"; echo $line>>/var/tmp/dpkg-selection.list; done
Use o seguinte comando
ele criará um arquivo chamado software instalado em seu diretório pessoal
no novo sistema
isso lerá a seleção e instalará
fonte