Atualiza todos os pacotes exceto o MySQL, via aptitude

0

Antes de atualizar minha distribuição Linux, eu gostaria de atualizar todos os meus pacotes - no entanto, quero me ater à minha versão atual do MySQL (5.6).

Eu sei que há a opção de manter o pacote, assim:

sudo aptitude hold package_name

Quando executo o sudo apt-get upgrade , tenho os seguintes pacotes do MySQL listados:

mysql-client-5.6 mysql-client-core-5.6 mysql-common mysql-common-5.6 mysql-server-5.6 mysql-server-core-5.6

Posso passar todos eles para o comando hold como argumentos? Ou há uma maneira mais fácil de bloquear meu MySQL de atualizar?

Observação: estou trabalhando em uma VM, portanto, não é possível usar a GUI, apenas o terminal.

Atualizar

OK, tentei e, SIM, você pode passar todos os pacotes para o comando hold e eles serão mantidos fora do upgrade.

Eu ainda não tenho certeza se é o suficiente para manter apenas esses pacotes, a fim de impedir a atualização do MySQL (talvez outros pacotes específicos do MySQL também sejam mantidos?). Por exemplo, o comando abaixo conterá muitos pacotes com "mysql" no nome e não tenho idéia se eles são relevantes ou não:

sudo aptitude mysql-*
    
por lesssugar 27.04.2017 / 17:11

1 resposta

1

Parece que você já descobriu a resposta. No entanto, você perguntou a outra com a edição.

I'm still not sure whether it's enough to hold only these packages in order to prevent MySQL upgrade (maybe other MySQL-specific packages should be held out as well?).

A resposta é Não. Você não precisa manter todos os pacotes, dado que você segura o pacote principal do qual o outro pacote depende. Por exemplo, mysql-server, mysql-client packages depende do mysql-common (tanto quanto eu sei), então, manter este pacote é suficiente.

E aptitude é mais inteligente que apt em geral e deve entender o que você deseja em espera.

Atualizado com verificação

Para verificar a resposta, eu realmente executei um teste com o pacote libgtk-3-0 , que é o pacote principal para quase todas as aplicações gtk-3. Eu tive a versão de 3.18 alguma coisa. Então eu habilitei um repositório que oferece a versão 3.20 . nautilus depende deste pacote e o repo também oferece uma versão superior de nautilus .

Quando tentado com aptitude upgrade -s ( -s para simulação), ele lista os pacotes que serão atualizados. nautilus não estava lá, porque libgtk-3-0 não seria atualizado, o que era exigido pela nova versão.

Outra opção é fixar pacotes criando arquivos no diretório /etc/apt/preferences.d , que oferece mais opções e flexibilidade. Não é necessário em seu caso simples, mas não faz mal saber :) Apt Pinning Howto

    
por Anwar 27.04.2017 / 18:16