¿Cómo ves qué paquetes están disponibles para actualizar?

74

Usuario de FreeBSD que se une a sus filas. Me han pedido que cuide un servidor Ubuntu con 10.04 LTS.

Veo /usr/lib/update-notifier/update-motd-updates-availableque hay una serie de actualizaciones en el servidor, sin embargo, no veo una manera de saber cuál se actualizará.

¿Alguien podría señalarme en la dirección correcta para que yo pueda ver qué paquetes se actualizarán cuando corro apt-get upgrade?

ACTUALIZAR:

No puedo responder mi propia pregunta en este momento, así que arroja esto aquí por el momento:

Junto con lo apt-get upgrade --dry-runsugerido a continuación, /usr/lib/update-notifier/apt-check -penumerará todos los paquetes que tienen actualizaciones disponibles.

Jan Geep
fuente
Bienvenido a los rangos, use y abuse del sitio si necesita más ayuda;) Si encuentra una respuesta que satisfaga su pregunta, márquela con la casilla de verificación verde al lado.
Bruno Pereira
1
Ahora debería poder responder a su propia pregunta ya que tiene suficiente representante para eliminar las nuevas restricciones de usuario .
jokerdino
parece que se requieren 100 repeticiones o una espera de 8 horas para responder su propia pregunta
Jan Geep
En 2016, la respuesta dada por @doru es acertada. askubuntu.com/a/788049/560610
jeremysawesome

Respuestas:

63

Puede instalar aptitudesi aún no está instalado. Es una gran herramienta para administrar paquetes en una configuración sin cabeza.

ingrese la descripción de la imagen aquí

De lo contrario, si solo desea ver qué sucederá cuando ejecute algo, use el --dry-runargumento y en realidad no hará nada, simplemente le dirá lo que haría :

Desde la página de manual de apt-get

-s, --simulate, --just-print, --dry-run, --recon, --no-act
          No action; perform a simulation of events that would occur but do
          not actually change the system. Configuration Item:
          APT::Get::Simulate.

          Simulate prints out a series of lines each one representing a dpkg
          operation, Configure (Conf), Remove (Remv), Unpack (Inst). Square
          brackets indicate broken packages with and empty set of square
          brackets meaning breaks that are of no consequence (rare).

Agregue la opción al comando de esta manera

apt upgrade --dry-run
Oli
fuente
55
Desfiguré tu respuesta, espero que no te importe.
Bruno Pereira
2
Curiosamente apt-get upgrade --dry-runno requiere sudo, lo que lo hace perfecto para una visualización automatizada de las actualizaciones de paquetes requeridas.
dshepherd
aún más interesante es que en mi Ubuntu 14.04 LTS "apt-get -s update" no acepta "-s" ... ni "--dry-run", "--no-act" ... por qué ¿sera eso?
mBardos
@mBardos ¿Ha reemplazado el apt-geten su camino con un script "ayudante"? Compruebe which apt-getpara asegurarse de que es/usr/bin/apt-get
Oli
martonb @ martonb-ubu: ~ / work / qt $ which apt-get / usr / bin / apt-get ¿Esto funciona para usted en Ubuntu 14.04 LTS? martonb @ martonb-ubu: ~ / work / qt $ apt-get -s update E: No se conoce la opción de línea de comando 's' [from -s].
mBardos
68

A partir de ahora (Ubuntu 16.04) puede usar apt listcon la --upgradablebandera;

sudo apt update
apt list --upgradable

y obtendrá una lista con todos los paquetes actualizables.

doru
fuente
1
¡Excelente! Eso es exactamente lo que quería ver :)
jeremysawesome
aptes comando desconocido en 12.04
confiq
1
@confiq "APT 1.0 se lanzó el 1. de abril de 2014" , por lo que es posible que no se actualice en su sistema. Intente ver qué versión de aptusted ha instalado en ejecución sudo apt-cache policy apt.
doru
eso explica ...
confiq
10

Otra alternativa sería usar aptitudecon un término de búsqueda :

aptitude search '~U'

(Tenga en cuenta la 'U' mayúscula)

Eso significa: "buscar todos los paquetes que están instalados y que se pueden actualizar". Referencia: manual de usuario de aptitude

De forma predeterminada, aptitude searchmuestra para cada paquete su nombre, descripción y algunos indicadores, pero también puede adaptar la salida a sus necesidades. Por ejemplo, para enumerar solo los nombres de paquetes, el comando sería:

aptitude search -F '%p' --disable-columns '~U'

( --disable-columnsevita espacios en blanco de relleno al final de las líneas)

sierrasdetandil
fuente
8

El siguiente comando le mostrará la lista de paquetes instalados que tiene una actualización disponible en los repositorios.

dpkg --get-selections | xargs apt-cache policy {} | grep -1 Installed | sed -r 's/(:|Installed: |Candidate: )//' | uniq -u | tac | sed '/--/I,+1 d' | tac | sed '$d' | sed -n 1~2p
Avinash Raj
fuente
1
Eso es un poco de magia de línea de comando!
Teemu Leisti
1
Agradable, pero @ sierrasdetandil de respuestas y @doru' hacer exactamente lo mismo de una manera muy concisa ...
Giuseppe