De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.

Criando máquinas com instalações idênticas

Colaboração: Clovis F Reis

Data de Publicação: 20 de dezembro de 2013

Recentemente necessitei substituir minha estação de trabalho por uma máquina melhor, porém ficava desanimado só em pensar no trabalho que daria para realizar a instalação e arredondar a nova máquina para que ficasse idêntica à anterior em termos de funcionalidade. Assim, resolvi facilitar a minha vida e criar algo que fizesse essa transição o mais suave possível.

Como trabalho com o Fedora, os comandos de instalação são baseados no YUM, mas acredito que possam ser facilmente adaptados a outros gerenciadores de pacotes.

Tudo começa na máquina original, com a listagem dos pacotes instalados:

  # yum list installed > Lista

O arquivo Lista possuirá o seguinte formato:

  nvidia-settings.i686       319.32-1.fc18           @rpmfusion-nonfree-updates
  xsettings-kde.i686         0.12.3-4.fc18           @anaconda
  xterm.i686                 291-1.fc18              @updates
  xvidcore.i686              1.3.2-3.fc17            @rpmfusion-free
  xz-devel.i686              5.1.2-2alpha.fc18       @fedora

Onde a primeira coluna exibe o nome do pacote, a segunda a sua versão e a terceira o repositório onde tal pacote pode ser encontrado. Para a instalação, somente a primeira coluna nos interessa, assim

  # cut -f 1 -d " " Lista > Pacotes

irá listar apenas o primeiro campo do arquivo Lista (opção -f 1) usando como delimitador de campo um espaço em branco (opção -d " "), gravando o resultado em Pacotes

Instale uma versão básica do sistema na máquina nova, copie o arquivo Pacotes e nela realize a instalação dos repositórios rpmfusion-free e rpmfusion-nonfree (Para saber o procedimento completo veja esta dica). Realize também a instalação de outros repositórios, se houver.

A seguir inicie a instalação com

  # yum install --skip-broken `cat Pacotes` | tee SaidaYum

que irá instalar todos os pacotes listados da máquina original, gravando a saída para o arquivo SaidaYum, que será usado mais tarde. A opção --skip-broken garante a instalação caso haja falha na resolução de alguma dependência, não instalando os pacotes que porventura apresentem tal problema.

Paralelamente a isto realize a sincronização do home da máquina antiga e da nova

  # rsync -ravzpHl IP_MaqAntiga:/home /

Isso fará a cópia recursiva de home (opção -r) no modo arquivo (opção -a), com verbose (opção -v), com compressão durante a transferência (opção -z), mantendo permissões (opção -p) e preservando hard links e links simbólicos (opções -Hl)

O trabalho duro fica por conta do computador. Deixe-o trabalhando e vá dormir.

Já descansado, finalize a instalação checando o que deu errado com ajuda do arquivo SaidaYum

  # cat errosPacotes |grep Nenhum
  Nenhum pacote epson-inkjet-printer-n10-nx127.i486 disponível.
  Nenhum pacote nautilus-dropbox.i386 disponível.
  Nenhum pacote skype.i586 disponível.

Isso localizará pacotes que não tenham sido instalados por não fazerem parte dos repositórios padrão. É só instala-los manualmente, já que serão poucos. No meu caso foram 9 em 3235.

Para informações sobre os pacotes que não foram instalados devido a problemas de dependência, é só procurar pela frase "Pacotes ignorados devido a problemas de dependências:" no arquivo de saída. No meu caso, tal erro somente ocorreu nos pacotes nvidia, já que o sistema novo não usa esta placa de vídeo.

Ai é só reiniciar a máquina, logar e usar, como se nada tivesse acontecido.

Abraços e até a próxima...

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de Clovis F Reis