Um equivalente aproximado ao seu comando do Windows usaria o comando find
:
find / -xdev >files_on_linux.txt
Eu não acho que seria muito útil para o que você está fazendo. No Linux (tanto o CentOS quanto o Ubuntu), os programas vêm em pacotes; Se você quiser ter os mesmos programas no Ubuntu e no CentOS, então você deve obter uma lista de pacotes na máquina do CentOS e instalar os mesmos pacotes no Ubuntu. No CentOS, você pode listar os pacotes instalados com o seguinte comando (a etapa sed
remove os números de versão, que são irrelevantes aqui):
rpm -qa | sed 's/-[0-9]*//' | sort >centos_packages.txt
A má notícia é que o CentOS e o Ubuntu usam nomes de pacotes diferentes, então você não pode pegar essa lista e fazer a instalação no Ubuntu. Você pode cortar parte do trabalho ignorando qualquer pacote chamado lib algo , já que estes serão puxados automaticamente pelos programas que precisam deles. Alguns dos nomes dos pacotes corresponderão um a um; você pode instalá-los da seguinte forma:
apt-get install $(grep -v '^lib' centos_packages.txt)
Você pode usar o seguinte comando para ver quais pacotes não estão instalados ou possuem um nome diferente - ele mostra as linhas que estão presentes em centos_packages.txt
, mas não na saída de dpkg --get-selections
, que lista o instalado (ou selecionado -para instalação) no Ubuntu:
dpkg --get-selections | sort | comm -31 - centos_packages.txt
Além disso, pode haver programas instalados em /usr/local
ou /opt
que não sejam do sistema de empacotamento. Você deve conseguir copiar os arquivos diretamente. Você pode fazer assim:
cd /
sudo tar cjf usr_local.tar.bz2 opt usr/local
Copie o arquivo usr_local.tgz
para o novo sistema Linux e descompacte-o:
cd /
sudo tar xjf usr_local.tar.bz2