Para clonar uma instalação Debian, use o utilitário apt-clone
. Está disponível (como um pacote separado, não faz parte da instalação padrão) no Debian desde wheezy e no Ubuntu desde 12.04. Na máquina existente, execute
apt-clone clone foo
Isso cria um arquivo foo.apt-clone.tar.gz
. Copie-o para a máquina de destino e execute
apt-get install apt-clone
apt-clone restore foo.apt-clone.tar.gz
Se você estiver trabalhando com um sistema antigo em que apt-clone
não esteja disponível ou se você quiser apenas replicar a lista de pacotes instalados, mas não qualquer arquivo de configuração, veja as etapas manuais.
-
Na máquina de origem:
cat /etc/apt/sources.list /etc/apt/sources.list.d >sources.list dpkg --get-selections >selections.list apt-mark showauto >auto.list
-
Na máquina de destino:
cp sources.list /etc/apt/ apt-get update /usr/lib/dpkg/methods/apt/update /var/lib/dpkg/ dpkg --set-selections <selections.list apt-get dselect-upgrade xargs apt-mark auto <auto.list
Acredito que você tenha sido afetado por uma alteração incompatível no dpkg que o transformou em wheezy. Consulte o bug # 703092 para obter informações.
A história resumida é que dpkg --set-selections
agora só aceita nomes de pacotes que estão presentes no arquivo /var/lib/dpkg/status
ou /var/lib/dpkg/available
. Se você usa o APT apenas para gerenciar pacotes, como a maioria das pessoas, então /var/lib/dpkg/available
não é mantido atualizado.
Depois de executar apt-get update
e antes de executar dpkg --set-selections
e apt-get -u dselect-upgrade
, execute o seguinte comando:
apt-cache dumpavail >/tmp/apt.avail
dpkg --merge-avail /tmp/apt.avail
De jessie em diante, você pode simplificar isso para
apt-cache dumpavail | dpkg --merge-avail
Como alternativa, execute
/usr/lib/dpkg/methods/apt/update /var/lib/dpkg/
ou ainda mais simples
apt-get install dctrl-tools
sync-available
Outro método simples que não requer a instalação de um pacote adicional, mas fará o download das listas de pacotes novamente é
dselect update
Veja as FAQ do dpkg Para maiores informações. (Isso é mencionado na página de manual do dpkg, mas de uma maneira mais que o lembraria do problema se você já estivesse ciente, não de uma maneira que explica como resolver o problema!)
Observe que clonar uma instalação de pacote com dpkg --set-selections
não restaura a marca automática / manual no APT. Veja Restaurando todos os dados e dependências do dpkg --set-selections ' * ' para mais detalhes. Você pode salvar as marcas no sistema de origem com
apt-mark showauto >auto.list
e restaure-os no sistema de destino com
xargs apt-mark auto <auto.list