RPM ignorar conflitos

3

existe uma maneira de ignorar conflitos de versão do rpm mantendo a versão mais recente instalada?

Por exemplo. Eu quero instalar o gawk no AIX. Eu tenho todos os rpms necessários em uma pasta

bash-4.2-11.aix5.1.ppc.rpm
gawk-4.0.2-1.aix5.1.ppc.rpm
gettext-0.10.40-8.aix5.2.ppc.rpm
info-4.13a-2.aix5.1.ppc.rpm
libsigsegv-2.10-1.aix5.2.ppc.rpm
readline-6.2-4.aix5.1.ppc.rpm

Eu tento instalá-los com rpm, dando rpm -ivh *.rpm , para que o rpm cuide automaticamente da ordem de instalação.

Mas eu recebo:

package bash-4.2-11 is already installed
package gettext-0.17-7 (which is newer than gettext-0.10.40-8) is already installed
package info-5.0-1 (which is newer than info-4.13a-2) is already installed
package readline-6.2-4 is already installed
file /opt/freeware/bin/msgcomm from install of gettext-0.10.40-8 conflicts with file from package gettext-0.17-7
file /opt/freeware/bin/msgfmt from install of gettext-0.10.40-8 conflicts with file from package gettext-0.17-7
file /opt/freeware/bin/msgmerge from install of gettext-0.10.40-8 conflicts with file from package gettext-0.17-7
file /opt/freeware/bin/msgunfmt from install of gettext-0.10.40-8 conflicts with file from package gettext-0.17-7
file /opt/freeware/bin/ngettext from install of gettext-0.10.40-8 conflicts with file from package gettext-0.17-7
file /opt/freeware/bin/xgettext from install of gettext-0.10.40-8 conflicts with file from package gettext-0.17-7
file /opt/freeware/lib/libintl.a from install of gettext-0.10.40-8 conflicts with file from package gettext-0.17-7
file /opt/freeware/bin/gettext from install of gettext-0.10.40-8 conflicts with file from package gettext-0.17-7
file /opt/freeware/bin/msgcmp from install of gettext-0.10.40-8 conflicts with file from package gettext-0.17-7
file /opt/freeware/share/locale/locale.alias from install of gettext-0.10.40-8 conflicts with file from package gettext-0.17-7
file /opt/freeware/info/info-stnd.info.gz from install of info-4.13a-2 conflicts with file from package info-5.0-1
file /opt/freeware/info/info.info.gz from install of info-4.13a-2 conflicts with file from package info-5.0-1
file /etc/X11/applnk/Utilities/info.desktop from install of info-4.13a-2 conflicts with file from package info-5.0-1
file /opt/freeware/man/man1/info.1 from install of info-4.13a-2 conflicts with file from package info-5.0-1
file /opt/freeware/man/man1/infokey.1 from install of info-4.13a-2 conflicts with file from package info-5.0-1
file /opt/freeware/man/man1/install-info.1 from install of info-4.13a-2 conflicts with file from package info-5.0-1
file /opt/freeware/man/man5/info.5 from install of info-4.13a-2 conflicts with file from package info-5.0-

Então, existe uma maneira de ignorar o conflito gettext e info apenas fazendo nada? Eu não quero usar força e substituí-los por versões mais antigas.

Eu sei que se eu tentar instalar o rpms manualmente um a um sem instalar o gettext e info rpms a instalação do gawk será bem-sucedida.

Eu quero encontrar uma solução que não envolva a instalação manual do rpms na ordem correta.

editar: Eu tenho verdadeiro -Uvh O problema com rpm -Uvh *.rpm é que, em vez de instalar os novos binários rpm, resolvendo suas dependências com os que já estão instalados ou na pasta, apenas produz:

package gettext-0.17-7 (which is newer than gettext-0.10.40-8) is already installed
package info-5.0-1 (which is newer than info-4.13a-2) is already installed
package readline-6.2-4 is already installed

e pára sem progredir para os outros rpms que precisam ser instalados. Eu acredito que este não é um comportamento normal e eu não sei se isso tem a ver com um problema em rpm (estou usando uma versão antiga - versão 3).

    
por Cobra Kai Dojo 11.07.2013 / 14:53

3 respostas

1

Como você está atualizando pacotes existentes, em vez de instalar pacotes exclusivamente, é necessário usar a opção de atualização -U em vez da opção de instalação -i . Isso permitirá que você instale e atualize os pacotes de uma só vez.

rpm -Uvh *.rpm
    
por 11.07.2013 / 19:49
1

Então,

Estou postando aqui minha resposta parcial porque acho que minha principal pergunta pode ser um pouco enganosa.

O rpm -Uvh *.rpm é o caminho a percorrer. Ele atualiza pacotes que já estão instalados com uma nova versão dos pacotes em uma pasta e também instala novos rpms que ainda não estão instalados no sistema.

Mas! Quando você tenta instalar o rpms usando rpm -Uvh *.rpm se um pacote na pasta for da mesma versão ou mais antigo que um pacote já instalado, ele não continuará com a execução. O comando apenas mostra quais pacotes já estão instalados e para lá sem prosseguir para a instalação dos outros rpms.

Eu considero isso como um comportamento de buggy do antigo rpm que estou usando (versão 3). Não sei se isso é considerado normal e se acontece também na última versão do rpm. Talvez você possa fornecer mais informações sobre isso.

    
por 12.07.2013 / 19:12
0

Você não especifica, mas parece que está usando RPMs de Michael Perzl .

Se este for o caso, siga as instruções na FAQ para:

  1. faça o download de todas as dependências
  2. use gettext-0.17 para evitar erros conhecidos ao usar gettext-0.10
  3. é mais seguro usar as versões mais recentes disponíveis, portanto substitua os pacotes existentes pelos novos ao instalar usando rpm -Uvh .
por 11.07.2013 / 19:59

Tags