Duplicando uma instalação Linux baseada em Yum

20

Dada uma instalação baseada no Yum (especificamente no meu caso, uma instalação do Scientific Linux 5.1 x86_64), como eu duplicaria os programas e utilitários instalados em uma nova máquina baseada no Fedora Core x86_64? O hardware é muito semelhante, mas não idêntico, e há a diferença óbvia de que o SL5 é baseado no EL, não no Fedora; Meu objetivo é duplicar a experiência do usuário da caixa original (SL) para a nova caixa (FC).

Wesley Burr
fonte
apenas uma observação se você ainda não o conhece: é possível obter a lista de programas para instalar no novo sistema e copiar as configurações da sua pasta pessoal (arquivos e diretórios cujos nomes começam com a .)
phunehehe
Apenas tenha cuidado com as incompatibilidades de versão. Eu destruí as configurações devido a incompatibilidades de configuração no meu diretório pessoal ao fazê-lo. Normalmente, funciona bem migrando para versões mais recentes, mas há dificuldades ocasionais.
Matt Simmons

Respostas:

18

Você pode criar uma lista do software instalado com:

$ rpm -qa > installed-software.log

Como eles são baseados em diferentes distribuições, não sei como você faria a instalação.

Se eu estivesse copiando para uma nova instalação da mesma distribuição, eu executaria o seguinte comando como root

# yum -y install $(cat /home/user/installed-software.log)
Steve Burdine
fonte
8

Obtenha a lista de RPMs instalados na sua caixa RHEL:

yum list installed |tail -n +3|cut -d' ' -f1 > installed_packages.txt

Instale pacotes no Fedora:

yum -y install $(cat installed_packages.txt)

Nota: O Fedora é o projeto de pesquisa e desenvolvimento do RHEL e você deve conseguir instalar a maioria desses pacotes no Fedora.

O método Steves lista os números de versão e você deseja evitar isso.

Dejan
fonte
O Fedora é uma distribuição em seus próprios termos, com uma postura agressiva de ser o primeiro com o melhor do software livre / de código aberto. O Red Hat Enterprise Linux é uma distribuição muito conservadora, quase o oposto dimetral. A Red Hat pega (pacotes selecionados) de uma versão do Fedora e após a estabilização e o controle de qualidade corta o Red Hat Enterprise Linux. Chamar o Fedora de "projeto de P&D" é tão errado quanto dizer que o Debian faz P&D para o Fedora (sim, o Fedora aceita patches e até completa pacotes do Debian, e vice-versa).
vonbrand
2

Você pode experimentar o Kickstart ou pode querer configurar um servidor de instalação / inicialização do PXE para várias distribuições. Ou, se algumas de suas máquinas não tiverem disco, você pode tentar o método LTPS (geralmente chamado de thin client - IIRC), veja também aqui

EDIT: Se for esse o caso, veja este

bitek
fonte
11
Acho que a pergunta era mais perguntar como obter uma lista de aplicativos instalados em uma caixa / distribuição e instalá-los em outra caixa / distribuição, em vez de uma maneira automatizada de fazer instalações.
Frozenskys
O último está correto e era exatamente o que eu precisava.
Wesley Burr
0

Acredito que a resposta de Dejan /unix//a/25729/346788 seja a melhor para yumsistemas baseados. No entanto, pode não funcionar quando você faz o ssh no servidor devido ao buffer. Detalhes em Como obter a saída `yum list` para permanecer em uma linha ao obter a saída via comando ssh remoto?

Assim, para melhorar um pouco, obtenha a lista completa do pacote:

yum list installed | xargs -n3 | column -t  | tail -n +3 |cut -d' ' -f1

Para obter a lista de pacotes instalados a partir de rpm:

yum list installed | xargs -n3 | column -t | grep -v "@" | tail -n +3 |cut -d' ' -f1

Para obter a lista de pacotes instalados em yum:

yum list installed | xargs -n3 | column -t | grep "@" | tail -n +3 |cut -d' ' -f1
Han Luo
fonte
Enquanto isso é - eu acho? - um complemento útil à resposta de Dejan a esta pergunta, não é uma resposta a esta pergunta. Talvez você possa escrever uma pergunta que corresponda ao post acima e depois enviá-la (como perguntar) como uma nova pergunta. Além disso, respostas como essa devem explicar o que estão fazendo (e como) e mostrar exemplos de resultados.
G-Man Diz 'Reinstate Monica'