Estoy aprendiendo la interfaz CLI de Advanced Packaging Tool. Desde la salida de apt(8)
cuando su stdout no es un terminal, no es adecuado para "scripts que esperan una interfaz de programación estable", por lo que estoy echando un vistazo apt-get(8)
.
Una diferencia entre apt update
y apt-get update
es que a este último le falta una línea final después de que se haya actualizado todo el caché:
8 packages can be upgraded. Run 'apt list --upgradable' to see them.
Quiero saber cómo puedo mostrar esta línea exacta con apt-get(8)
.
apt
(Advanced Packaging Tool) yapt-get
son cosas diferentes. Están diseñados para funcionar de manera diferente a lo que entendí. Si uno te da lo que quieres, quizás tengas la costumbre de usar ese comando en su lugar.Respuestas:
man apt-get
muestra:Entonces, si solo haces:
apt-get upgrade --dry-run
saldrá:
fuente
man 8 apt-get
y encontré esa opción, pero la salida era diferenteapt
.apt
es realmente una envoltura programáticaapt-get
y esa es la razón por la cual existe la advertencia.apt
muestra8 packages can be upgraded. Run 'apt list --upgradable' to see them.
, mientras que su respuesta muestra4 to upgrade, 0 to newly install, 0 to remove and 0 not to upgrade.
apt
no le garantizará ese texto, y es posible que ni siquiera le garanticen ese número.apt-get
sin embargo, tiene un requisito de salida estricto porque lo utilizan otros softwares (como UI y daemons) para procesarlo de varias maneras. Por lo tanto, puede cambiar su código para aceptarapt-get
la salida o puede| sed 's/to upgrade/packages can be upgraded/g'
, por ejemplo (y arriesgarse a que su código se rompa más tarde).Suponiendo que necesita manejar la cantidad de actualizaciones disponibles, aquí hay una sugerencia:
No es necesario sudo
La salida es fácil de trabajar
Mas opciones:
fuente
motd
en el inicio de sesión SSH?De
man 8 apt
:Luego revisé
/usr/share/doc/apt/examples/configure-index.gz
(usandozcat(1)
para mostrar contenido de texto) y noté esta opción:Así que elaboré el siguiente comando que hizo exactamente lo que quería:
Probado para trabajar en Xenial y Bionic.
fuente