Eu recomendo que você altere o rpm de origem deste arquivo; edite o caminho no qual os arquivos serão instalados, de modo a não criar conflitos entre os arquivos que você está prestes a instalar, e aqueles fornecidos por libpcap.so.0.9.4
(não podem ser instalados dois rpm: s que forneçam o mesmo arquivo no mesmo caminho ambos).
Ou remova do rpm de origem os arquivos que entrarem em conflito com o que você instalou, podendo ser: /usr/lib/libpcap.so.0
e possivelmente /usr/share/man/man3/pcap.3.gz
. (um é um link simbólico e o outro uma página man) do seu arquivo src rpm: s .spec e o rpmbuild.
Então você pode instalar (não atualizar) /root/rpmbuild/RPMS/i386/libpcap-1.4.0-1.i386.rpm
ao lado da libpcap-0.9.4 para que as versões possam coexistir pacificamente em seu sistema.
Se você estiver usando o yum, talvez seja necessário editar seu /etc/yum.conf
para adicionar libpcap
à sua lista de installonlypkgs
, para que o yum não substitua sua versão mais antiga da libpcap pela que você acabou de criar ( %código%). (se você usar o yum em vez de simples rpm, então ele pode acompanhar todas as transações para você com man 5 yum.conf
. É muito poderoso). Você também pode alterar o nome no arquivo yum history
no rpm de origem para algo como .spec
, é o que geralmente faço.
Em seguida, adicione o caminho em que você instalou os pacotes em libpcap14
, no script / comando que aciona seu programa e deve funcionar. (ou $LD_LIBRARY_PATH
sua versão mais nova do libpcap).
Você pode fazer o que o slm sugeriu também, é de longe o caminho mais rápido para o objetivo: LD_PRELOAD
e, em uma pasta separada, você extrai o arquivo e usa os arquivos conforme descrito acima. No entanto, o rpm é a forma como o CentOS envia programas e acho que é complicado e difícil de manter a longo prazo.
Outra causa de ação pode ser a recompilação de tudo o que depende da libpcap v0.9.4 para v1.0.0 e atualizá-las. Normalmente, isso implicaria em problemas para atualizações futuras, mas, como você parece estar usando o CentOS 5, não precisa se preocupar, pois é o EOL.
Uma última opção a ser considerada é rpm2cpio /root/rpmbuild/RPMS/i386/libpcap-1.4.0-1.i386.rpm > libpcap-1.4.0-1.i386.cpio
, veja quantos pacotes deseja remover ( yum remove libpcap
não removerá nada até que você pressione o botão Y e pressione enter), já que você pode poder remover esses pacotes e usar o yum, se você não conseguir afinal de contas, você pode reverter com o comando yum
(não me lembro em qual versão do yum isso foi implementado no yum , então verifique primeiro se este subcomando está disponível para você). Além disso, certifique-se de ter seus repositórios apontando para os repositórios que possuem esses arquivos disponíveis.