Como impedir que o apt upgrade instale a biblioteca instalada manualmente


0

Eu tenho uma biblioteca que construí a partir de fontes em uma versão que ainda não está disponível nos arquivos debian. Outro pacote exige e apt upgradedeseja instalar a versão mais antiga. Como posso evitar isso?

Detalhes: Eu tenho um problema com o Sane que foi corrigido em sua versão mais recente (libsane: 1.0.27). No Debian, a versão mais atual disponível é 1.0.26.

Eu tentei fixá-lo assim:

Package: libsane
Pin: version 1.0.27
Pin-Priority: 900

mas isso não mudou a tentativa de instalar o libsane quando executo o apt upgrade.

Respostas:


1

Você precisa usar apt-get upgradepara impedir o apt de instalar novos pacotes.

apt upgrade se comporta como o comportamento que você descreveu.

Nas páginas do manual:

Seção man apt-getupgrade

upgrade é usado para instalar as versões mais recentes de todos os pacotes atualmente instalados [...] sob nenhuma circunstância [...] os pacotes ainda não estão instalados, recuperados e instalados.

Seção do homem aptoupgrade

upgrade é usado para instalar as versões mais recentes de todos os pacotes atualmente instalados [...]. Novos pacotes serão instalados, mas os pacotes existentes nunca serão removidos.


1

Você pode manter temporariamente pacotes específicos:

apt-mark hold libsane

isso funcionou. Você poderia elaborar o que faz e quando "temporariamente" termina?
Angelo Fuchs

0

Duas opções mais fáceis são:

  • use equivspackage para criar um pacote fictício. Tutorial estendido aqui .

  • altere o /var/lib/dpkg/statusarquivo apagando a dependência indesejada lá. Basta encontrar o pacote sobre quais dependências aptincomodam e excluir itens relevantes da linha de dependências. Por exemplo, edite a linha Depends: libco (>= 2.14), libefivar (>= 30), libssl1.0.0 (>= 1.0.0)para Depends: libefivar (>= 30)se desejar jogar fora libcoe libssl1.0.0requisito.

A segunda opção requer que você tenha este pacote instalado. No entanto, você pode instalar facilmente o pacote com os comandos apt-get download packagenamee dpkg --ignore-deps=.


a segunda opção não seria discutida após a próxima atualização do apt?
Angelo Fuchs

@AngeloFuchs não, não vai. Mas instalar este pacote novamente pode alterar sua entrada no arquivo de status.
styrofoam fly

A segunda opção não funciona para mim. Eu removi libsanedas dependências do xsanemas apt upgradequer atualizar xsanee instalar libsane.
Angelo Fuchs

Como eu disse, a instalação deste pacote novamente pode alterar sua entrada no arquivo de status. Instalar nova versão xsanecom apt-get downloade dpkg --ignore-deps...em seguida, retire suas dependências de statusarquivo. apt upgradevai funcionar bem.
isyrofo fly
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.