Como desabilitar a atualização / atualização de pacotes seletivos permanentemente?

2

Eu li este Q & amp; A sobre Como evitar a atualização de um pacote específico?

Mas, eu gostaria de desabilitar / impedir a atualização de muitos pacotes, como posso fazer isso de forma eficiente?

O método acima dado funciona (como mostrado na imagem abaixo), mas é difícil encontrar os nomes dos pacotes que exatamente apt-mark entende. Veja a imagem abaixo, eu preciso desativar ou colocar em espera todos estes, exceto alguns.

O atualizador de software aparece muitas vezes (eu sei que posso pular sempre), mas estou com pouca largura de banda e não posso atualizar todo e qualquer pacote. E eu dificilmente os uso, por exemplo Thunderbird, scan simples, leitor de música.

Seria muito bom se este atualizador de software tivesse a opção de desabilitar a atualização de um pacote apenas clicando com o botão direito ou de outra forma.

    
por mtk 04.06.2016 / 05:49

2 respostas

0

Encontrando nomes de pacotes

Uma maneira é usar apt-get dist-upgrade em vez da GUI do atualizador de software. Ele irá gerar quase a mesma lista de pacotes, no entanto, ele usará seus nomes de pacotes em vez de seus títulos "human friendly". Isso permitirá que você execute apt-mark neles.

Isso, pelo menos, tornará mais fácil.

Fazendo isso em massa

Se você quiser fazer todos de uma vez, você pode salvar os pacotes em um arquivo de texto chamado package_list , um pacote por linha; então corra

$ sudo :; cat package_list | xargs sudo apt-mark hold

xargs pegará cada linha e a anexará à linha de comando apt-mark . O primeiro comando, sudo : , simplesmente armazena suas credenciais em cache para que você não precise digitar sua senha ao executar sudo apt-mark várias vezes; Se você está rodando como root, você não precisará disso, mas permite que você faça o máximo possível sem privilégios elevados.

Aviso

Eu não testei a linha xargs . Além disso, é uma boa prática ler e entender qualquer comando antes de executá-lo; especialmente quando usando sudo / root. ; -)

O que pode dar errado e por que

Eu sei que você disse que queria permitir que 2-3 pacotes fossem atualizados normalmente; mas se você não for muito cuidadoso, você pode impedir que um pacote seja atualizado mesmo sem colocá-lo diretamente, porque se a versão mais nova do seu pacote depender de uma versão mais nova de outro pacote que tenha uma espera, nenhum deles poderá ser atualizado sem primeiro remover o porão.

Portanto, se você quiser permitir que um pacote específico seja atualizado, certifique-se de que todos os seus dependentes também não tenham retenções. A lista gerada por um atualizador pode ser enganosa, porque geralmente é uma lista simples de pacotes, sem a árvore de dependência usada para gerar a lista em primeiro lugar.

História

O "Software Updater GUI" costumava ser muito menos polido - e muito mais útil , de volta aos maus dias em que o Ubuntu ainda era jovem. Na verdade, costumava mostrar os nomes dos pacotes junto com os títulos.

    
por jpaugh 31.08.2016 / 02:53
0

Na GUI da velha escola, existe um gerenciador de pacotes alternativo chamado "synaptic". Isso existia no Debian antes do Ubuntu existir. Eu sugiro que você instale isso, está nos repositórios do Ubuntu. O synaptic tem um menu suspenso para bloquear um pacote no lugar. Clique em "Pacote" e escolha "Forçar versão".

Eu não concordei com a iniciativa de substituir o synaptic no caminho de volta - quando, para mim, ele ainda funciona muito bem. Eu nunca uso "Software Updater GUI", isso me faz sentir como se eu tivesse perdido o controle do meu computador. O apt-get na linha de comando também é legal. Se você fizer isso, então o apt-mark, como sugerido por @jpaugh, funcionará bem.

Indo entre programas, você notará algumas coisas estranhas. As configurações de pacote no synaptic não são respeitadas em "Atualizador de software" e as configurações do apt-get também são separadas. O aptitude mantém seu próprio banco de dados também. Isso é um pouco surpreendente para mim, parece que é possível definir essas características no próprio banco de dados de pacotes, em vez de fazer com que cada programa separado mantenha seus próprios registros. Mas eu acho que é o que acontece.

Você pode recuperar o controle, espero. Deixe-nos saber se o synaptic faz o que você quer.

    
por pauljohn32 31.08.2016 / 06:25