yum instala o pacote sem atualizar outros pacotes ou falhar…?

6

Existe uma maneira de informar yum para instalar um pacote, selecionando uma versão desse pacote que seria satisfeita pelas dependências atualmente instaladas?

Por exemplo, se eu estiver instalando um pacote pecl e atualmente tiver instalado o php-5.4.11 , mas um novo php-5.4.14 estará disponível. Em vez de instalar o novo pacote (e atualizar todos os pacotes php para a versão 5.4.14) eu só quero que ele selecione uma versão mais antiga do pacote que eu pedi para ser instalado sem atualizar todos os outros (ou falhar se isso não puder ser feito). / p>

Este é um caso específico em que eu sei que poderia excluir ou corrigir o pacote php, mas estou procurando uma opção genérica que se aplicaria a qualquer instalação.

Algo como:

yum install php-pecl-xxxx --no-updates
    
por Clint Priest 02.05.2013 / 16:31

4 respostas

6

Solução temporária:

Use -C flag:

sudo yum install foobar -C

Solução permanente:

Use o sinalizador metadata_expire no seu yum.conf para controlar isso.

Edite /etc/yum.conf e defina

metadata_expire=15d

Você pode usar d, h ou m para configurar a hora em dias, horas ou minutos .

Bônus: aqui está a documentação:

metadata_expire is Time (in seconds) after which the metadata will expire. So that if the current metadata downloaded is less than this many seconds old then yum will not update the metadata against the repository. If you find that yum is not downloading information on updates as often as you would like lower the value of this option. You can also change from the default of using seconds to using days, hours or minutes by appending a d, h or m respectively. The default is 6 hours, to compliment yum-updatesd running once an hour. It's also possible to use the word "never", meaning that the metadata will never expire. Note that when using a metalink file the metalink must always be newer than the metadata for the repository, due to the validation, so this timeout also applies to the metalink file. Also note that "never" does not override "yum clean expire-cache"

    
por 26.06.2015 / 01:07
0

Não encontrei nenhuma dessas opções a partir de agora. No entanto, se vc quiser instalar o pacote sem atualizar, eu recomendo baixar um rpm da mesma versão e depois instalá-lo.

    
por 02.05.2013 / 17:38
0

No pacote yum-utils , existe uma ferramenta chamada yumdownloader . Você pode usá-lo para baixar de repos sem instalar. Todos os switches padrão como --disablerepo se aplicam. Veja a página de manual para mais informações.

Acho que você pode baixar o RPM e fazer o que quiser usando o RPM diretamente.

    
por 02.05.2013 / 18:00
0

Se a versão mais antiga do pacote ainda estiver em seus repositórios yum, você poderá executar yum install packagename-version-release.arch e instalar a versão mais antiga sem tentar atualizar para a versão mais recente. Você precisará usar o nome completo, versão, release e arch se houver várias versões e arquiteturas no seu repositório yum. Você pode obter todas essas informações executando yum list available 'packagename*' para procurar todos os pacotes que começam com 'packagename'. Se você conseguiu atualizar seus pacotes e deseja fazer o downgrade para a versão mais antiga, é possível executar yum downgrade packagename1 packagename2 . Você precisará incluir a lista de todos os pacotes que deseja fazer o downgrade, já que provavelmente envolverá muitas dependências.

Se a versão antiga não estiver no seu repositório yum, basta baixá-la de onde quer que você tenha encontrado o pacote antigo e instalá-lo com yum install /path/to/package.rpm , embora tenha cuidado ao instalar pacotes de fontes não confiáveis.

    
por 20.07.2013 / 16:33

Tags