A situação que estou enfrentando: eu configurei uma máquina CentOS 5.9 que deveria ser a cópia mais próxima possível de outra máquina do CentOS 5.9, mas não um clone. Usando o yum, instalei (na medida do possível) todos os pacotes na máquina de destino que também estão instalados na máquina de origem (conforme relatado por yum list installed
e rpm -qa
). Depois eu usei o md5deep para encontrar arquivos que ainda estão faltando na máquina de destino. Eu encontrei muito mais arquivos ausentes do que eu esperava e, assim, descobri o meu problema atual.
No alvo & máquinas de origem o pacote traceroute-3: 2.0.1-6.el5.i386 está instalado (diz yum list installed
). Em ambas as máquinas, repoquery --info --show-duplicates traceroute
lista apenas esta versão do pacote e me diz que ela pode ser encontrada no repositório base. Em ambas as máquinas rpm -ql traceroute-2.0.1-6.el5.i386
lista os mesmos arquivos. Em ambas as máquinas rpm -V traceroute-2.0.1-6.el5.i386
me diz que a instalação correu bem (nenhum arquivo modificado / faltando). Uma rápida olhada no traceroute-2.0.1-6.el5.i386.rpm mostra apenas um arquivo binário (/ bin / traceroute), links simbólicos e documentação, então eu não espero que a compilação aconteça quando eu instalar esse pacote (mas Eu não sou um especialista em RPM e foi apenas uma olhada rápida, não um exame completo). file /bin/traceroute
me diz /bin/traceroute: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), stripped
em ambas as máquinas. / bin / traceroute tem o mesmo tamanho em ambas as máquinas.
Ainda assim, quando executo md5sum /bin/traceroute
em ambas as máquinas, obtenho resultados diferentes. xxd & diff mostra que várias dúzias de bytes diferem e as diferenças parecem estar no código real (ainda não as desmontaram, mas as partes alteradas não são cadeias legíveis por humanos). traceroute é apenas um exemplo aleatório, existem várias dezenas de arquivos diferentes em / bin, / sbin & / lib.
Alguma ideia do que está acontecendo? Eu sempre tive a impressão de que instalar o mesmo pacote duas vezes resultaria exatamente nos mesmos arquivos, desde que a compilação / edição não fizesse parte da instalação. No mínimo eu estava esperando que rpm -V
me contasse sobre arquivos que foram adulterados. Ajudaria se o yum tivesse um recurso para me dizer de qual repositório ele baixou o arquivo RPM, mas, de acordo com o meu conhecimento, este recurso não existe na minha versão do yum (3.2.22). Para ser claro: o repoquery não me diz de qual repositório um pacote foi baixado, ele apenas me diz onde ele está disponível. Se o mesmo pacote estiver disponível em 2 ou mais repositórios ativados, repoquery listará todos os pacotes. O Yum pode decidir qual das duplicatas deseja e não parece registrar essa decisão em nenhum arquivo de log.