Instale a versão mais recente de um pacote que não requereria dependências de atualização

2

Principalmente em um sistema baseado no debian / apt-get (mas respostas para outros como o Arch também seria bom).

Fazer apt-get install package instala a versão mais recente do "pacote" disponível e (se necessário) atualiza todas as dependências para qualquer versão necessária pela versão mais recente do "pacote".

Existe uma maneira de tentar instalar, não a última versão absoluta de um pacote, mas a versão mais recente que não requer a atualização de quaisquer dependências já existentes?

    
por user163161 28.03.2016 / 20:32

2 respostas

2

Não diretamente, não, como resultado de como as listas de pacotes e os espelhos funcionam.

Para que o gerenciador de pacotes possa fazer isso, seria necessário conhecer não apenas as dependências de cada pacote no sistema, mas as dependências de cada pacote em cada ponto no tempo no passado . Isso começaria a ficar inchado rapidamente.

Em segundo lugar, e mais importante, temos que pensar nos espelhos. Os espelhos são, em geral, dirigidos por voluntários e, por sua natureza, ocupam um bom espaço em disco. Como resultado, os espelhos geralmente são sincronizados com as origens canônicas por meio de uma operação de rsync que exclui todos os arquivos que não estão presentes na origem - portanto, as versões antigas dos pacotes são excluídas. É por isso que em uma distro que se move rapidamente (como o Arch), às vezes executar um comando "install" sem primeiro executar um comando "update" resultará em um 404 - a última versão que o gerenciador de pacotes local conhece foi substituída. Para algo como o que você sugere que aconteça, os espelhos teriam que expandir drasticamente o uso de disco para manter versões antigas dos pacotes.

A maioria das distros também testa os pacotes mais atualizados (para essa versão), por isso, usando um sistema sem patch, você está entrando em território não suportado.

Do ponto de vista da segurança, você também quer estar sempre atualizado com sua distribuição.

No geral, você deve ficar atualizado. Se há algo que está impedindo você de fazer isso, você deve reconsiderar essa situação e ver se consegue resolvê-la.

    
por 28.03.2016 / 21:23
0

Embora seja altamente recomendado manter todos os pacotes (incluindo dependências) atualizados. Eu acho que sua exigência pode ser alcançada da seguinte maneira. Isso pode estar batendo um pouco na mata.

Execute o comando apt-get --print-uris --yes install package

Isso lhe dará as URLs de todos os pacotes que seriam instalados pelo apt.

Faça o download manual do seu arquivo de pacote principal (.deb) sozinho. E instale usando o comando dpkg.

dpkg -i package.deb

Isso funcionará desde que você já tenha todas as versões mínimas necessárias dos pacotes de dependência.

Se ainda não obtiver êxito, tente usar o --force-all com dpkg .

Aviso: tente apenas aplicativos. Não tente pacotes do sistema. Vai te meter em problemas, se houver alguma quebra

    
por 30.03.2016 / 11:46