apt-get upgrade vs. apt-get dist-upgrade

Salutoni,

all'ultima riunione avevamo parlato della differenza fra "apt-get
upgrade" e "apt-get dist-upgrade"

Dopo aver dinuovo letto il man, mi sambra di capire, che "apt-get
upgrade" faccia solo l'upgrade di pacchetti installati. Se la nuova
versione di un pacchetto necessita di un altro pacchetto non ancora
installato, perche la vecchia versione non lo richiedeva, il pacchetto
non viene attualizzato.

Con "apt-get dist-upgrade" invece vengono eventualmente anche installati
nuovi pacchetti.

Da questo deduco, che per non rischiare di avere qualche pacchetto
vecchio e' consigliabile di usare "apt-get dist-upgrade".

Ci sono anche altre differenze e ci sono delle controindicazioni all'uso
di "apt-get dist-upgrade" ?

Happy hacking!
Patrick

Patrick Ohnewein wrote:

Salutoni,

all'ultima riunione avevamo parlato della differenza fra "apt-get
upgrade" e "apt-get dist-upgrade"

Dopo aver dinuovo letto il man, mi sambra di capire, che "apt-get
upgrade" faccia solo l'upgrade di pacchetti installati. Se la nuova
versione di un pacchetto necessita di un altro pacchetto non ancora
installato, perche la vecchia versione non lo richiedeva, il pacchetto
non viene attualizzato.

Con "apt-get dist-upgrade" invece vengono eventualmente anche installati
nuovi pacchetti.

Da questo deduco, che per non rischiare di avere qualche pacchetto
vecchio e' consigliabile di usare "apt-get dist-upgrade".

Ci sono anche altre differenze e ci sono delle controindicazioni all'uso
di "apt-get dist-upgrade" ?

"apt-get dist-upgrade" non e' comunque in grado di risolvere tutti i
tipi di conflitti che possono sorgere.

Rinvio a queste due brevi sezioni dell'APT-HOWTO:

http://www.debian.org/doc/manuals/apt-howto/ch-apt-get.en.html#s-upgrade
http://www.debian.org/doc/manuals/apt-howto/ch-apt-get.en.html#s-dist-upgrade

Paolo.

Questo non è esatto, non è scritto chiaramente nel relativo how-to e
quindi da luogo a confusioni.
apt-get upgrade fa l'aggiornamento dei pacchetti installati e di tutte
le sue dipendenze comprese quelle nuove, quello che non fa apt-get
upgrade e invece si fa apt-get dist-upgrade è aggiornare i pacchetti che
hanno cambiato nome, faccio un esempio ma vado a memoria quindi puo
darsi che non sia giusto: in stable il pacchetto gnome si chiama
gnome-core è invece in unstable si chiama gnome-panello gnome-utils e
cosi via, la stessa cosa succede con alcune componenti linguistiche del
pacchetto openoffice.org, che hanno un nome diverso a seconda della
distribuzione (stable, testing o unstable). Dunque quando si lancia
apt-get dist-upgrade quello che fa è aggiornare tutti i pacchetti alla
distribuzione indicata in /etc/apt/sources.list basta lanciarlo quindi
una volta e poi utilizzare apt-get upgrade. Inoltre apt-get dist-upgrade
aggiorna i pacchetti fondamentali che normalmente non vengono aggiornati
da upgrade.
Per quanto riguarda agli errori di aggiornamento il comando da lanciare
è apt-get -f install, che fa un check della coerenza delle dipendenze
dei pacchetti installati e corregge eventuali errori.
Nel caso di unstable l'errore più comune è la dipendenza circolare, cioè
un pacchetto che dipende dallo stesso pacchetto, oppure un pacchetto A
che dipende da un pacchetto B che dipende dal pacchetto A, in quel caso
è meglio usare dpkg -i /var/cache/apt/archives/nome_pacchetto.deb con
l'eventuale opzione di ignorare le dipendenze.
Saluti

Anton

Questo non è esatto, non è scritto chiaramente nel relativo how-to e
quindi da luogo a confusioni.

Be' in effetti e' un po incompleta anche la man page.

<extract man apt-get>

upgrade
upgrade is used to install the newest versions of all packages
currently installed on the system from the sources enumerated in
/etc/apt/sources.list. Packages currently installed with new
versions available are retrieved and upgraded; under no circumstances
are currently installed packages removed, or packages not already
installed retrieved and installed. New versions of currently
installed packages that cannot be upgraded without changing the
install status of another package will be left at their current
version. An update must be performed first so that apt-get knows that
new versions of packages are available.

dist-upgrade
dist-upgrade, in addition to performing the function of upgrade, also
intelligently handles changing dependencies with new versions of
packages; apt-get has a "smart" conflict resolution system, and it
will attempt to upgrade the most important packages at the expense
of less important ones if necessary. The /etc/apt/sources.list file
contains a list of locations from which to retrieve desired
package files. See also apt_preferences(5) for a mechanism for
overriding the general settings for individual packages.

</extract man apt-get>

Ne deduco pero', che col solo "apt-get upgrade" non vengono installati
eventuali nuovi pacchetti. Se poi il nome dei pacchetti pure cambiano
ancora peggio se si usa il solo upgrade.

Secondo me su una unstable meglio usare dist-upgrade.

Happy hacking!
Patrick

I nomi cambiano solo da una distribuzione all'altra, io non vedo
problemi ad usare dist-upgrade, infatti si comportano in modo identico,
ma non vorrei che su una unstable quando fai dist-upgrade ti metta
dentro dei pacchetti troppo "unstable" che magarì vengono bloccati in un
upgrade normale, questo è una cosa che chiederò a fog, ex manteiner di
apt