Formas de pagamento Abuse

Como obter e copiar a lista de pacotes instalados no servidor Ubuntu / Debian Linux

01.01.2023, 21:26

Um administrador de sistemas precisa de obter uma lista de pacotes por várias razões: reinstalar um sistema, instalar pacotes noutra máquina, verificar versões e compatibilidade ou outras razões.

Como obter uma lista de pacotes do Ubuntu / Debian Linux?

Pode obter os pacotes listados com o comando:

dpkg-query -l

Uma lista aparecerá no painel com o nome, a versão atual e uma breve descrição do propósito.

Para o Ubuntu, ele usa:

sudo apt list --installed

Também apresenta uma listagem de pacotes com a versão atual e a arquitetura. Existem comandos para produzir apenas uma lista de pacotes com nomes, mas são menos usados).

Como copiar e migrar pacotes no Ubuntu / Debian Linux?

Tipicamente, um administrador de sistemas precisa de transferir uma lista de pacotes instalados de um servidor para outro, em vez de ter de instalar e/ou configurar cada um individualmente.

Há 2 passos para fazer isso:

  1. Guardar a lista de pacotes do servidor #1 que foram previamente enviados pelo comando;
  2. Instalar as dependências no servidor #2.

Para criar um arquivo com a lista de pacotes instalados, usamos:

dpkg --get-selections | grep -v deinstall > allpackages.txt

O nome"allpackages.txt" é um exemplo. Pode usar qualquer nome:"alllists.txt","lists.txt","packages.txt" e assim por diante.

O ficheiro com a lista de pacotes e versões é copiado para o servidor #2 com o seu endereço. Por exemplo, para 200.200.200.200.200 o comando seria o seguinte:

scp allpackages.txt 200.200.200.200:~/

A única coisa que falta fazer é lançar os pacotes a partir do ficheiro copiado. Para fazer isso, o comando é usado:

$ sudo apt-get install -y $(< allpackages.txt)

Pronto! Agora você moveu a lista de pacotes do servidor #1 para o servidor #2.