Eu tenho o Debian Jessie e adicionei backports (de acordo com estas instruções ):
echo "deb http://http.debian.net/debian jessie-backports main contrib non-free" | sudo tee /etc/apt/sources.list.d/backports.list
(Fiz isso para obter um kernel mais recente, conforme necessário, para algum hardware no meu laptop.)
As instruções dizem que nada deve acontecer, a menos que eu solicite explicitamente um pacote com backport. por exemplo apt-get -t jessie-backports install "package"
.
No entanto, agora pareço ter uma carga completa do meu sistema a partir de backports, e um pacote foi desinstalado, porque depende de uma versão exata, de algo que foi atualizado para as portas traseiras.
Então, minha pergunta:
- Como eu o paro primeiro, para que não haja mais backports instalados?
- Como removo os backports existentes?
Nota: isso obtém uma lista de pacotes instalados que são de backports (e no formato que pode ser passado para apt-get install
, por algum motivo, colocar o sudo apt-get install
eco no final do pipeline não funciona):
cat /var/log/dpkg.log.1 |grep -v linux | grep -v xserver | grep -v firmware | grep "status installed" | grep bpo | cut -d" " -f 5 | cut -d: -f 1 | xargs -i{} -n1 bash -c "dpkg-query -s {} >/dev/null && echo {}" | sed -r -e "s~.*~\0/jessie~" | xargs echo
Cuidado:
Alguns dos pacotes são instalados automaticamente, portanto, se você reinstalá-los todos, esses pacotes instalados automaticamente serão marcados como instalados manualmente. Portanto, não é removido quando não é necessário.
Alguém tem alguma idéia de como resolver isso?
apt-get
oudpkg
. Contanto que você não entre em pânico, não há com o que se preocupar. A maioria dos problemas com os sistemas de embalagem é causada por pessoas em pânico e reagindo sem pensar ... vá devagar e pense antes de agir.apt-get
não fará o downgrade de um pacote já instalado, a menos que você o solicite explicitamente. E @richard disse que queria instalarjessie
pacotes por padrão, a menos que especificasse explicitamentejessie-backports
- presumo que o desejo também se aplique aos pacotes do kernel.stable
+stable-backports
provavelmente se importam muito mais com a fixação do que eu e se esforçaram para aprender mais sobre isso. Tenho a tendência de executarunstable
e manter meus sistemas sincronizados regularmente com o sid mais recente (com extras ocasionais deexperimental
), por isso tenho pouca necessidade de fixar. A única vez em que o usei intensamente foi anos atrás, durante a transição para o gnome3, quando eu não queria que meus pacotes do gnome2 fossem substituídos - lembro que manter a lista de pacotes em constante mudança para fixar era uma PITA. Desde então, mudei para o xfce e limpei o gnome.Parece que você não configurou corretamente
/etc/apt/preferences
. O seguinte impedirá que qualquer coisa seja instalada a partir do jessie-backports, espere o que é necessário para instalar (como o kernel do backport). Você ainda terá problemas se os pacotes especificados exigirem outros pacotes de backports que não estão listados.Se você deseja obter uma lista de pacotes com portabilidade instalada, use o seguinte script (ou partes dele):
Se você deseja fazer o downgrade de qualquer pacote listado pelo script acima, acrescente o seguinte a
/etc/apt/preferences
:Então corra:
fonte
Verifique sua configuração de fixação quanto ao apt em / etc / apt / preferências e /etc/apt/preferences.d/
É possível que você tenha adicionado uma configuração de fixação personalizada e tenha esquecido? Essa é a única maneira que consigo pensar que faria o apt preferir backports, como parece estar fazendo com você. Caso contrário, é apenas extrair dependências - exigidas pelos pacotes que você especificou.
Os backports oficiais já estão mais baixos (100) do que jessie no arquivo Release de pacotes com backport no repositório de backports. Você não deve ter que fazer nenhuma configuração do apt para fazer o apt preferir jessie sobre jessie-backports.
fonte