dnf: update vs upgrade

Dopo essermi un po’ documentato sull’utilizzo di dnf mi è sorto un dubbio:
usando il comando

dnf update

dnf aggiorna il sistema ma non rimuove i pacchetti marcati come obsoleti;
con il comando

dnf upgrade

invece, con l’aggiornamento del sistema viene forzata la rimozione dei suddetti pacchetti.
Ora, se quanto ho esposto è corretto il dubbio che mi sorge spontaneo è: quando è opportuno utilizzare una opzione in luogo dell’altra? Ovvero, quale utilità c’è nell’aggiornare il sistema e non rimuovere i pacchetti marcati come obsoleti?
Se esistono queste due opzioni una ragione ci sarà, ma la documentazione che ho consultato non fornisce indicazioni a riguardo, conoscerne il senso, però, mi aiuterebbe a decidere quando è più utile usare una opzione piuttosto che l’altra per tenere il sistema aggiornato al meglio…

In realtà, la http://dnf.readthedocs.org/en/latest/cli_vs_yum.html#update-and-upgrade-commands-are-the-same afferma il contrario.

Ossia, con yum, avevamo differenza tra update e upgrade. Con dnf invece, tali comandi sortiscono gli stessi effetti. La stessa pagina che riporto, consiglia di preferire

# dnf upgrade

Ma in realtà, come abbiamo visto, non ci sono differenze reali.

Io ho trovato https://dnf.readthedocs.org/en/latest/command_ref.html:

dnf [options] update
Deprecated alias for the Upgrade Command.

dnf [options] upgrade
Updates each package to a highest version that is both available and resolvable.

Quindi “dnf update” è deprecato, è identico a “dnf upgrade”, e sembra sia mantenuto solo per compatibilità col passato. Contrariamente a quanto avevo letto in un blog italiano.
:expressionless:

Grazie per le precisazioni arkanoid e alakhtum; Io purtroppo l’inglese non lo conosco se non per qualche sporadico termine, quindi ho consultato una guida in italiano che spiegava appunto quanto da me riportato nel post d’apertura; evidentemente deve essere lo stesso che ha consultato alakhtum… :slight_smile: Inoltre, in effetti, scorrendo le varie opzioni presenti nella pagina man di dnf, “update” non lo avevo trovato e questo mi aveva fatto aumentare la confusione. Ora mi sembra che le cose siano più chiare.

$ man dnf | egrep -A1 "dnf.*upgrade$|dnf.*update$"

Cerca nel manuale di dnf le stringhe che contengono “dnf” seguito da 0 o più caratteri qualunque, e che terminano con “upgrade”, oppure che contengono “dnf” seguito da 0 o più caratteri qualunque, e che terminano con “update”; visualizza le righe incriminate seguite da 1 riga (-A1)

Io ho convertito il listato di console in un file di testo:

man dnf > dnf_manual.txt

Poi ho aperto il txt con Kate/Gedit:

dnf [options] update
Alias deprecato in favore del comando “upgrade”.

dnf [options] upgrade
Aggiorna tutti i pacchetti al numero più alto di versione che sia disponibile e abbia le dipendenze risolvibili.

dnf [options] upgrade <nome_pacchetto>…
Aggiorna ogni pacchetto specificato all’ultima versione disponibile. Aggiorna le dipendenze ove necessario.

Ecco qua:

[code][Angelo@Sargon ~]$ man dnf | egrep -A1 “dnf.*upgrade$|dnf.*update$”
dnf [options] update
Deprecated alias for the Upgrade Command.

   dnf [options] upgrade
          Updates each package to a highest version that is both available and resolvable.[/code]

MI era sfuggito evidentemente… :smiley: