Por causa do bug # 693758, eu gostaria de impedir que o apt-get upgrade
Update Manager atualize o pacote "libgtk2.0-0".
Como isso pode ser alcançado?
Por causa do bug # 693758, eu gostaria de impedir que o apt-get upgrade
Update Manager atualize o pacote "libgtk2.0-0".
Como isso pode ser alcançado?
disable packages from the auto-update
Respostas:
Segurando
Existem quatro maneiras de reter pacotes: com dpkg, apt, aptitude ou dselect.
dpkg
Coloque um pacote em espera:
Remova a retenção:
Exiba o status dos seus pacotes:
Exiba o status de um único pacote:
apto
Segure um pacote:
Remova a retenção:
Mostrar todos os pacotes em espera:
dselect
Com o dselect, entre na tela [S] elect, encontre o pacote que deseja manter no estado atual e pressione =ou H. As alterações entrarão em vigor imediatamente após sair da tela [S] elect.
As abordagens a seguir são limitadas, pois o bloqueio / retenção de um pacote no aptitude ou no synaptic não afeta o apt-get / apt.
aptidão
Segure um pacote:
Remova a retenção:
Bloqueando com o Synaptic Package Manager
Vá para Synaptic Package Manager (Sistema> Administração> Synaptic Package Manager).
Clique no botão de pesquisa e digite o nome do pacote.
Quando você encontrar o pacote, selecione-o e vá para o menu Package e selecione Lock Version .
Esse pacote agora não será exibido no gerenciador de atualizações e não será atualizado.
fonte
devscripts
, muitos pacotes são extraídos como pacotes recomendados. Como não preciso de um servidor de correio (postfix), eu poderia desativar a instalação executandoecho postfix hold | sudo dpkg --set-selections
antes de executarsudo apt-get install devscripts
. Essa ação de retenção persiste apenas para esta instalação, após a instalação as seleções são redefinidas.apt-mark
não suportahold
na versão 0.7.25 (Ubuntu Lucid)apt-mark hold fglrx fglrx-amdcccle fglrx-dev && aptitude hold fglrx fglrx-amdcccle fglrx-dev
,.Para colocar um pacote "foo" em espera:
No seu caso, vamos colocar o vinho em espera:
Para remover a retenção:
fonte
apt-get install wine=1.2.3
. Estar em espera impede queapt-get (dist-)upgrade
seja alterado./var/cache/apt/archives
) é independente detém e atualizações e coisas, então todas as versões que você baixou estará lá até que seja executadoapt-get [auto]clean
Eu estava procurando a mesma coisa e, depois de muita pesquisa, descobri que, usando a seguinte sintaxe, você pode proibir uma versão específica, mas permitir a próxima atualização:
Isso vai para o arquivo / etc / apt / preferências.
fonte
Instale
synaptic
usandosudo apt-get install synaptic
.Execute usando
gksudo synaptic
e, na caixa de pesquisa, localize o pacote que você deseja bloquear, ou seja:gedit
No menu do pacote, selecione Bloquear versão :
E isso é tudo, a versão atualmente instalada no momento do bloqueio permanecerá instalada mesmo durante as atualizações.
fonte
Impedir a instalação de um pacote é chamado de "retenção de pacotes" e é muito simples:
... onde * package_name * é o nome do pacote que você deseja impedir a instalação.
Nota: o comando acima assume privilégios de root. Em outras palavras, você provavelmente precisará digitar
sudo su
antes de executá-lo.fonte
s/sudo su/sudo -s/g
(ousudo -i
) (-i
dará um shell de login,-s
não).Como algum tempo
apt-get
é substituído porapt
, por exemplo, quero impedir que o Firefox atualize para a versão acima de 56, porque muitos complementos, como "Grupos de guias " , não funcionam mais com o novo Firefox 57 (consulte "Extensões da Web" Atualizar").É possível armazenar mais de um pacote com um comando e usar caracteres curinga.
Impedir a atualização do Firefox
Se você desejar desestabilizá-los mais tarde, esse seria o comando:
fonte
Eu acho que você pode congelar a versão de um pacote específico. Não tenho 100% de certeza se isso irá alterar o apt-get, mas definitivamente interromperá o gerenciador de atualizações.
Para congelar um pacote, selecione-o no synaptic, abra o menu do pacote e selecione congelar versão.
Espero que isto ajude
edit: Esta questão 16668 trata de uma situação semelhante
fonte
Tudo o que você sempre quis saber sobre "manter" e "fixar" pacotes em versões específicas: https://help.ubuntu.com/community/PinningHowto
fonte
Veja os erros # 75332 , # 158981 e # 72806 .
O resumo é que a retenção no nível apt-get / aptitude não está ativando o status de espera no dpkg (consulte o bug 72806 especialmente) e o update-manager lê o status no dpkg.
solução alternativa é executada como raiz:
echo "package hold" | dpkg --set-selections
fonte
Você pode usar no aptitude a "substituição específica", assim:
Este é um uso único de (não armazenado para futuras reinstalações), mantenha substituição específica, para reinstalar todos os pacotes em seu sistema, mas não o oracle-java8-jre.
Se você usar uma substituição específica do keep, o pacote ficará momentaneamente em um estado de keep que o aptitude não tentará instalá-lo.
Uma coisa muito boa se você acha que seu sistema foi comprometido de alguma forma.
fonte
Se você tiver o Synaptic instalado, poderá selecionar o pacote e usar o menu Pacote -> Bloquear versão para impedir que ele seja atualizado.
Você pode instalar o Synaptic com o sudo apt-get install synaptic. Pessoalmente, acho mais útil do que o Centro de Software ... então, sou bastante velho. :)
fonte
Ocasionalmente, pode-se querer reter todos os pacotes atualmente instalados. Aqui está como.
Primeiro salve o estado atual, para que você possa desfazer:
Então, para reter todos os pacotes:
Por fim, quando você quiser voltar ao estado anterior:
Um caso de uso para isso pode ser ao criar um instantâneo de VM ou Amazon AMI para migrar de um QA para um ambiente de produção.
fonte
Adicionando detalhes aos comentários de @ soger em relação ao Ubuntu 16.04.
O Ubuntu 16.04 não possui um arquivo / etc / apt / preferências existente por padrão. Se você não possui um atualmente, basta criar um novo arquivo e preenchê-lo com uma sub-rotina como o @soger descreve acima para excluir o pacote fornecido e suas dependências das atualizações.
Depois, corra
apt update
e você é GTG. : 0)Por exemplo, eu tenho um servidor Ubuntu 16.04.5 LTS com placa de vídeo Intel incorporada e uma placa NVidia. A placa NVidia é a única usada. O servidor também usa drivers CUDA. Eu tive um problema em que
apt
insistia(Drivers Intel) exigiu uma atualização, mas não foi possível determinar qual versão instalar. Isso estava me deixando louco, e eu não precisava dos drivers da Intel. Digitei este texto no arquivo de preferências e liberado o apt, problema resolvido.
fonte