¿Cuál es la línea de comandos equivalente a 'mintupdate' para Linux Mint?

¿Cuál es la línea de comandos equivalente a 'mintupdate' para Linux Mint?

Linux Mint tiene un agradable Administrador de actualizaciones basado en GUI con niveles de actualización seleccionables. Los valores predeterminados son para los niveles 1 a 3 de un total de 5 niveles posibles. Sin embargo, a menudo me encargo de tareas administrativas para varios sistemas de escritorio Linux Mint usando SSH en lugar de visitar las máquinas físicas. ¿Cómo logro la misma funcionalidad desde la línea de comando?

Ya conozco los comandos apt-get updatey apt-get upgrade, pero hasta donde yo sé, esos comandos todavía funcionannotener alguna funcionalidad equivalente al comportamiento de cinco niveles de Update Manager ( /usr/lib/linuxmint/mintUpdate/mintUpdate.py).

Actualización: cuando planteé esta pregunta originalmente, estaba buscando una solución Linux Mint 17. Ahora estoy ejecutando 18.3 en algunos de nuestros sistemas y he podido brindarles una respuesta.

Respuesta1

No había alternativa ya que mintUpdate.py era GUI (gtk) solo hasta que decidí escribir una. Lo describí en mi blog.CLI de actualización de Linux MintTambién puede encontrar el enlace a gitHub. También publicaré algunas capturas de pantalla.

Respuesta2

En Mint 19, hay una mintupdate-cliherramienta que tiene las mismas funciones que la versión GUI mintupdate. Obtenga el uso con su -hopción.

Sin embargo, no encontré su página de manual (con man mintupdate-cli). Entonces no puedo encontrar sus códigos fuente y autores en la propia aplicación. Aunque después de algunas búsquedas, parece que es parte delactualización perfectaproyecto:

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

Respuesta3

Esta respuesta se aplica a Linux Mint 18.2 y posteriores, aunque la he probado solo para 18.3.

mintupdate-toolAhora se incluye con la distribución una herramienta de línea de comandos llamada . Se anuncia en las notas de la versión 18.2 como "Esta herramienta admite todas las funciones disponibles en la interfaz de usuario, incluida la selección de niveles, actualizaciones de seguridad, actualizaciones del kernel y listas negras". Esa "UI" se refiere al Administrador de actualizaciones y esa afirmación está muy lejos de ser cierta, pero es un gran paso adelante.

No hay ninguna manpágina para esta herramienta, entonces:

$ 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

Las preferencias de Update Manager determinan el comportamiento predeterminado. Esas preferencias están en el dconfalmacén de datos del usuario activo (esquemacom.linuxmint.actualizaciones), por lo que anteponer el comando con simple sudono cambia esto. Esto es importante porque las actualizaciones no son posibles sin privilegios de root.

Advertencia: No hay forma de excluir actualizaciones de seguridad si incluirlas está habilitado en las preferencias de Update Manager.

El análisis de opciones para “--levels” es un poco descuidado y poco obvio. LEVELS es una cadena en la que se busca la apariencia de los dígitos del 1 al 5. No es un umbral ni un rango. Tampoco busca caracteres no válidos, por lo que "14", "1-4", "1,4", "4..1" y "two4u14me" solo significan los niveles 1 y 4.

Para simplemente enumerar las actualizaciones disponibles que se instalarían de forma predeterminada según las preferencias del Administrador de actualizaciones del usuario, probablemente desee esto:

$ mintupdate-tool -r list

Probablemente no desees la opción "-r" en los siguientes comandos para evitar sorpresas.

Para realizar un ensayo de lo que haría una actualización real con esta herramienta:

$ mintupdate-tool --dry-run upgrade

Para hacer realmente la misma actualización que obtendríamos si usáramos el Administrador de actualizaciones sin modificar las selecciones mostradas:

$ sudo mintupdate-tool upgrade

En mi opinión, es un descuido importante no incluir una columna de tipo de actualización para el comando "lista" tal como aparece en Update Manager y no proporcionar ningún medio para consultar la descripción de una actualización o el registro de cambios. Mi ejemplo actual:

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

Esa es una actualización de nivel 4 llamada "mesa", que no es un nombre de paquete, por lo que no puedo consultarla con ninguna otra herramienta de línea de comandos que yo sepa. Sé por Update Manager que esta actualización en particular en realidad incluye 9 paquetes diferentes, pero eso es hacer trampa.

Elcódigo fuente.

información relacionada