Qual é a linha de comando equivalente a ‘mintupdate’ para Linux Mint?

Qual é a linha de comando equivalente a ‘mintupdate’ para Linux Mint?

O Linux Mint possui um ótimo gerenciador de atualização baseado em GUI com níveis de atualização selecionáveis. Os padrões são para os níveis 1 a 3 de um total de 5 níveis possíveis. No entanto, muitas vezes eu cuido de tarefas administrativas para vários sistemas de desktop Linux Mint usando SSH em vez de visitar as máquinas físicas. Como obtenho a mesma funcionalidade na linha de comando?

Já estou ciente dos comandos apt-get updatee apt-get upgrade, mas até onde sei, esses comandos ainda funcionamnãoter qualquer funcionalidade equivalente ao comportamento de cinco camadas do Update Manager ( /usr/lib/linuxmint/mintUpdate/mintUpdate.py).

Atualização: Quando fiz esta pergunta originalmente, estava procurando uma solução Linux Mint 17. Agora estou executando o 18.3 em alguns de nossos sistemas e consegui fornecer uma resposta para eles.

Responder1

Não havia alternativa, pois mintUpdate.py era GUI (gtk) apenas até que eu decidi escrever uma. Eu descrevi isso no meu blog -CLI de atualização do Linux MintVocê também pode encontrar o link para o gitHub. Vou publicar algumas capturas de tela também.

Responder2

No Mint 19, existe uma mintupdate-cliferramenta que possui as mesmas funções da versão GUI mintupdate. Obtenha o uso com sua -hopção.

No entanto, não encontrei sua página de manual (com man mintupdate-cli). Portanto, não consigo encontrar seus códigos-fonte e autores no próprio aplicativo. Embora depois de algumas pesquisas, pareça que faz parte doatualização mintprojeto:

https://github.com/linuxmint/mintupdate/blob/master/usr/lib/linuxmint/mintUpdate/mintupdate-cli.py

Responder3

Esta resposta se aplica ao Linux Mint 18.2 e posteriores, embora eu tenha testado apenas para 18.3.

Uma ferramenta de linha de comando chamada mintupdate-toolagora está incluída na distribuição. É anunciado nas notas de versão 18.2 como "Esta ferramenta suporta todos os recursos disponíveis na IU, incluindo seleção de nível, atualizações de segurança, atualizações de kernel e lista negra". Essa “UI” refere-se ao Update Manager e essa afirmação está longe de ser verdadeira, mas é um grande passo em frente.

Não há manpágina para esta ferramenta, então:

$ mintupdate-tool --help
usage: mintupdate-tool [-h] [-k | -nk] [-s] [-r] [-d] [-y]
                       [--install-recommends] [-l LEVELS]
                       command

positional arguments:
  command               command to run (possible commands are: list, upgrade)

optional arguments:
  -h, --help            show this help message and exit
  -k, --kernel          ignore settings and include all kernel updates
  -nk, --no-kernel      ignore settings and exclude all kernel updates
  -s, --security        ignore settings and include all security updates
  -r, --refresh-cache   refresh the APT cache
  -d, --dry-run         simulation mode, don't upgrade anything
  -y, --yes             automatically answer yes to all questions
  --install-recommends  install recommended packages (use with caution)
  -l LEVELS, --levels LEVELS
                        ignore settings and restrict to this list of levels

As preferências do Update Manager determinam o comportamento padrão. Essas preferências estão no dconfarmazenamento de dados do usuário ativo (esquemacom.linuxmint.updates), portanto, prefaciar o comando com plain sudonão altera isso. Isso é importante porque as atualizações não são possíveis sem privilégios de root.

Aviso: não há como excluir atualizações de segurança se a inclusão delas estiver ativada nas preferências do Update Manager.

A análise de opções para “--levels” é um pouco desleixada e não óbvia. LEVELS é uma string que é pesquisada pela aparência dos dígitos de 1 a 5. Não é um limite ou intervalo. Ele também não verifica caracteres inválidos, então "14", "1-4", "1,4", "4..1" e "two4u14me" significam apenas os níveis 1 e 4.

Para simplesmente listar as atualizações disponíveis que seriam instaladas por padrão de acordo com as preferências do Update Manager do usuário, você provavelmente desejará isto:

$ mintupdate-tool -r list

Você provavelmente não deseja a opção “-r” nos comandos a seguir para evitar surpresas.

Para realizar um teste do que uma atualização real com esta ferramenta faria:

$ mintupdate-tool --dry-run upgrade

Para realmente fazer a mesma atualização que obteríamos se usássemos o Update Manager sem modificar as seleções exibidas:

$ sudo mintupdate-tool upgrade

Na minha opinião, é um descuido significativo não incluir uma coluna de tipo de atualização para o comando "lista" conforme aparece no Update Manager e não fornecer meios de consultar a descrição ou o log de alterações de uma atualização. Meu exemplo atual:

$ sudo mintupdate-tool -l 12345 list
4 package         mesa                                          17.2.4-0ubuntu1~16.04.4

Essa é uma atualização de nível 4 chamada "mesa", que não é um nome de pacote, portanto não posso consultá-la com nenhuma outra ferramenta de linha de comando que eu conheça. Eu sei pelo Update Manager que esta atualização específica inclui, na verdade, 9 pacotes diferentes, mas isso é trapaça.

OCódigo fonte.

informação relacionada