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.
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...
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários