Como posso instruir o yum a instalar uma versão específica do pacote X?

196

Se houver duas (ou mais) versões de um determinado RPM disponível em um repositório do YUM, como instruir o yum a instalar a versão que eu quero?

Olhando através do serviço de compilação do Koji, noto que existem várias versões.

    
por slm 22.08.2014 / 23:03

3 respostas

274

Para ver quais versões específicas estão disponíveis para você por meio do yum , você pode usar a opção --showduplicates .

$ yum --showduplicates list httpd | expand
Loaded plugins: fastestmirror, langpacks, refresh-packagekit
Loading mirror speeds from cached hostfile
 * fedora: mirror.steadfast.net
 * rpmfusion-free: csc.mcs.sdsmt.edu
 * rpmfusion-free-updates: csc.mcs.sdsmt.edu
 * rpmfusion-nonfree: csc.mcs.sdsmt.edu
 * rpmfusion-nonfree-updates: csc.mcs.sdsmt.edu
 * updates: mirror.steadfast.net
Available Packages
httpd.x86_64                        2.4.6-6.fc20                         fedora 
httpd.x86_64                        2.4.10-1.fc20                        updates

No que diz respeito à instalação de uma versão específica? Você pode acrescentar as informações da versão ao nome do pacote da seguinte forma:

$ sudo yum install <package name>-<version info>

Por exemplo, neste caso, se eu quisesse instalar a versão antiga, 2.4.6-6 eu faria o seguinte:

$ sudo yum install httpd-2.4.6-6

Você também pode incluir as informações de lançamento ao especificar um pacote. Neste caso, já que estou lidando com o Fedora 20 (F20), a informação de lançamento seria "fc20", e as informações de arquitetura também.

$ sudo yum install httpd-2.4.6-6.fc20
$ sudo yum install httpd-2.4.6-6.fc20.x86_64

repoquery

Se você não tiver certeza de estar construindo os argumentos corretamente, pode consultar também repoquery .

$ sudo yum install yum-utils  # (to get 'repoquery')
$ repoquery --show-duplicates httpd-2.4*
httpd-0:2.4.6-6.fc20.x86_64
httpd-0:2.4.10-1.fc20.x86_64

download & instalando

Você também pode usar uma das seguintes opções para baixar um RPM específico da Web e usar yum para instalá-lo.

$ yum --downloadonly <package>
-or-
$ yumdownloader <package>

E, em seguida, instale da seguinte forma:

$ sudo yum localinstall <path to rpm>

E se eu quiser baixar tudo o que o pacote X requer?

$ yumdownloader --resolve <package>

Exemplo

$ yumdownloader --resolve vim-X11
Loaded plugins: langpacks, presto, refresh-packagekit
Adding en_US to language list
--> Running transaction check
---> Package vim-X11.x86_64 2:7.3.315-1.fc14 set to be reinstalled
--> Finished Dependency Resolution
vim-X11-7.3.315-1.fc14.x86_64.rpm                              | 1.1 MB     00:01

Observe que está fazendo uma verificação de dependência e baixando as peças que faltam. Veja minha resposta que o cobre em mais detalhes aqui: Como baixar um arquivo do repositório, e instalá-lo depois sem conexão com a internet? .

Referências

por 22.08.2014 / 23:04
5

Outra opção é baixar o arquivo rpm e instruir yum para fazer um localinstall :

yum localinstall /path/to/package.rpm

Um bom lugar para obter os pacotes que você precisa é rpmfind.com e pesquisar o nome do pacote.

    
por 23.08.2014 / 10:04
0

Você também pode usar o comando de opção:

yum install --nogpgcheck pckg-name-version   
    
por 09.08.2017 / 19:30