Listar todas as versões do pacote e instalar essas versões exatas em outro sistema?

1

É possível listar todas as versões do pacote instalado de forma que elas possam ser instaladas em outro sistema?

Eu sei que é possível listar as versões com

dpkg -l > versions.txt

mas existe uma maneira simples de usar a saída em outro sistema?

dpkg --get-selections

não lista as versões.

(Se a versão do sistema operacional for importante, estou usando o 14.04)

    
por MaxB 22.12.2017 / 06:07

1 resposta

2

Uma maneira que você poderia fazer seria criar um arquivo de lista com os comandos de instalação. O comando a seguir criará um arquivo contendo os comandos informando apt-get qual versão do aplicativo instalar:

dpkg -l | tail -n +6 | awk '{print "="}' | while read pkg; do echo "sudo apt-get install $pkg" >> install_pkg; done

Eu coloquei um comando acima para pular as 6 primeiras linhas de dpkg -l , pois essas são linhas de informação que se transformam em linhas de lixo. Também não adicionei o -y ao comando apt-get para que ele não instalasse automaticamente um aplicativo que você não queria instalar. Eu posso deixar isso para você. Quando eu testei se isso funcionaria ou não, eu adicionei em -s para simular a instalação após o apt-get no comando e parecia ter funcionado.

O comando criará um arquivo com linhas semelhantes a este que contém o nome do pacote e a versão a ser instalada ( truncado para uma lista longa ):

sudo apt-get install y-ppa-manager=2017.06.13-1~webupd8~0
sudo apt-get install yad=0.39.0-1~webupd8~xenial0
sudo apt-get install yelp=3.20.1-1ubuntu1~xenial1
sudo apt-get install yelp-xsl=3.20.1-1~ubuntu16.04.1~xenial1
sudo apt-get install youtube-screenlet=0.3.2+++~trusty1
sudo apt-get install zeitgeist=0.9.16-0ubuntu4
sudo apt-get install zeitgeist-core=0.9.16-0ubuntu4
sudo apt-get install zeitgeist-datahub=0.9.16-0ubuntu4
sudo apt-get install zenity=3.20.0-1~ubuntu16.04.1
sudo apt-get install zenity-common=3.20.0-1~ubuntu16.04.1
sudo apt-get install zip=3.0-11
sudo apt-get install zlib1g:amd64=1:1.2.8.dfsg-2ubuntu4.1
sudo apt-get install zlib1g:i386=1:1.2.8.dfsg-2ubuntu4.1
sudo apt-get install zlib1g-dev:amd64=1:1.2.8.dfsg-2ubuntu4.1
sudo apt-get install zsync=0.6.2-1ubuntu1

Depois, tudo o que você precisa fazer é copiar o arquivo install_pkg criado para o outro sistema, já que todos os PPAs do outro sistema correspondem ao sistema em que você está e executar o seguinte comando para iniciar o instalação:

sh ./install_pkg

Espero que isso ajude!

    
por Terrance 22.12.2017 / 06:40