Ubuntu, como configurar uma nova máquina como a existente

27

Eu tenho uma configuração de máquina com os aplicativos de que preciso e gostaria de instalar o mesmo em uma nova caixa do Ubuntu.

Existe um script que listará todos os aplicativos instalados, para que eu possa diferenciar entre as caixas e adicionar os itens ausentes?

Obrigado antecipadamente, Chris

    
por Chris Kimpton 30.04.2009 / 15:20

9 respostas

18

Além dos truques do dpkg mencionados por pjz, você também pode querer olhar etckeeper ( tutorial ) - um aplicativo que coloca o seu / etc / * sob controle de versão, facilitando a localização de todas as alterações feitas e as replicando para outros servidores.

Além disso, para uma lista menor do que a produzida pelo método do pjz, você pode usar

$ deborphan -a --no-show-section > /tmp/mypackagelist

Isto lhe dará uma lista de pacotes que instalarão todos os outros pacotes que você necessita como dependências. Pode ser útil se você realmente quiser procurar na lista. (dpkg --get-selections produzirá uma lista loooong ). Além disso, a lista é curta o suficiente para que você possa adicionar novas linhas e comentar entradas com '#'. Então, ao instalar os pacotes extras, você pode fazer

$ grep -v '#' /tmp/mypackagelist | xargs apt-get install -y

Dessa forma, se houver alguns pacotes que você deseja instalar apenas em algumas máquinas, não será necessário excluí-los da lista de pacotes.

    
por 30.04.2009 / 19:23
17
dpkg --get-selections >/tmp/mypackagelist

deve fazer o truque. Então, depois de ter certeza que seu /etc/apt/sources.list na nova máquina tem o mesmo conjunto de entradas que o antigo, copie mypackagelist para a nova máquina e faça:

cat mypackagelist | xargs apt-get -y install 

e você deve ser bom para ir.

Note que a linha dpkg --get-selections também é uma boa informação para colocar em seu / etc / dir ocasionalmente - significa que você não precisa se preocupar em fazer o backup de / bin / e / usr / bin / e tais porque você sabe quais pacotes estão no sistema.

    
por 30.04.2009 / 15:26
2

Os fóruns do Ubuntu têm uma boa resposta

  1. Na máquina antiga: $ dpkg --get-selections > software instalado     
    • Isso obtém sua lista de aplicativos instalados
    •     
  2. Na nova máquina: $ dpkg --set-selections     
    • Isso define a nova máquina para instalar os pacotes não instalados atualmente na nova máquina.
    •      
    • Pode ser interessante ver se a nova máquina tem alguns pacotes não instalados na máquina antiga, então você pode encontrar o dpkg --get-selections > comando na nova máquina e, em seguida, use diff para comparar os arquivos de saída de ambos.
    •     
  3. Finalmente, na nova máquina: $ dselect e os pacotes serão instalados.

Alguns links adicionais da discussão nos fóruns:

  1. Não esqueça suas chaves gpg (do mesmo tópico)
  2. Como instalar todos os pacotes desejados e desinstalar todos os pacotes indesejados
por 23.05.2009 / 23:44
2

Os melhores comandos do dpkg podem ser [máquina original]

dpkg --get-selections | grep -v deinstall > packages_list

quando instalar [nova máquina; depois de transferir a package_list]

sudo dpkg --set-selections < packages_list
sudo apt-get -u dselect-upgrade
    
por 05.06.2015 / 16:04
1

Se você não é fã de CLI (embora realmente deva ser), pode usar o gerenciador de pacotes Synaptic para salvar a imagem dos pacotes instalados e usar esse arquivo (novamente através do Synaptic) para carregar a nova máquina. Sob a opção file / save markings, há uma caixa de seleção chamada "save full state".

    
por 28.05.2009 / 14:09
1

Por que você não está apenas clonando a máquina usando dd ?

    
por 28.05.2009 / 14:32
1

Existe uma ferramenta chamada ReMasterSys que pode fazer isso por você. veja link

Espero que isso seja útil.

    
por 25.06.2010 / 20:49
1

Usar o FSArchiver para replicar as máquinas é perfeitamente aceitável. Caso contrário, aqui estão alguns pares úteis de comandos, a primeira metade dos quais você também pode adicionar ao seu cron de backup:

debconf-get-selections
debconf-set-selections

~

aptitude-create-state-bundle
aptitude-run-state-bundle --unpack

~

dpkg --get-selections
dpkg --clear-selections; dpkg --set-selections

Locais que você deve replicar são / etc e / var. Os comandos acima manipulam alguns arquivos em / var diretamente e alguns conffiles em / etc indiretamente via debconf. Você terá o mesmo efeito apenas replicando as subárvores e executando o aptitude.

    
por 26.06.2010 / 00:41
0

Eu acho que Docker seria a maneira de fazer isso agora - definir os requisitos em um Dockerfile - você pode então executá-lo em qualquer Host do Docker.

    
por 13.03.2016 / 12:12