L'uso di Software Updater equivale a eseguire apt-get update e apt-get upgrade?


Risposte:


21

Risposta breve

No, non sono la stessa cosa. apt-get upgradenon gestisce la modifica delle dipendenze tra le versioni, quindi se un pacchetto ha cambiato le dipendenze, non verrà aggiornato (verrà "trattenuto"). Vedi la risposta lunga per maggiori dettagli.

L'uso del Software Updater e l'uso sudo apt-get update ; sudo apt-get dist-upgrade(notare il dist-) sarebbero quasi equivalenti, tranne per il fatto che uno ovviamente è una GUI e l'altro è un'applicazione console e anche alcune differenze informative molto minori.


Risposta lunga

Da man apt-get,

  • apt-get upgrade:

    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.

    (enfasi da parte mia)

    Ciò significa che una versione più recente di un pacchetto che ha una nuova dipendenza non richiesta nella versione precedente non verrà aggiornata con questo metodo (a meno che la nuova dipendenza non sia già stata installata). Questi verranno visualizzati come "Ritenuti".

  • apt-get dist-upgrade:

    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 dist-upgrade
           command may therefore remove some packages. 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.

    (enfasi da parte mia)

    Ciò significa che con questo comando invece che upgrade, i pacchetti con dipendenze nuove (o rimosse) possono essere aggiornati.

Esempio

Un buon esempio della differenza tra i due è quando viene rilasciato un nuovo kernel Linux. Questo è impacchettato nel linux-image-genericpacchetto che dipende sempre dall'ultimo pacchetto del kernel Linux. Poiché le dipendenze del linux-image-genericcambiamento con ogni aggiornamento del kernel, upgradenon lo aggiorneranno.


1
Puoi spiegare perché, quando Software Updater non richiede più la password di root per aggiornare i pacchetti esistenti (ovvero, quando apt-get upgradeè richiesto solo ), apt-getnon puoi fare lo stesso? Sembra che ci sia qualcos'altro sostanzialmente diverso tra i due.
Jonathan Y.

4

È quasi lo stesso ma non esattamente. Ad esempio, quando vengono offerti aggiornamenti del kernel, sudo apt-get update && sudo apt-get dist-upgradeè necessario ottenere tali aggiornamenti.

sudo apt-get update && sudo apt-get upgrade ti dirà che alcuni pacchetti sono stati trattenuti.

L'utilizzo di Software Updater rende tutto perfetto e non vedrai nulla trattenuto.


3

Con gli aggiornamentiapt disponibili a fasi ( menzionati da pabouk ) sono la differenza più rilevante tra l'aggiornamento con Software Updater e la riga di comando.

Al giorno d'oggi, l' aptutilità - che non esisteva al momento della pubblicazione di questa domanda, ma sarebbe probabilmente stata inclusa nella domanda se fosse presente - è un'alternativa sempre più popolare apt-getper l'aggiornamento dei pacchetti. Sono simili: lo stesso pacchetto (chiamato anche apt) fornisce entrambi , e tutto aptpuò fare, anche le apt-utility tradizionali , anche se in alcuni casi dovresti passare speciali opzioni di configurazione. Ma aptè più vicino che apt-getal Software Updater. Come Software Updater, è in grado di installare nuovi pacchetti quando la nuova versione di un pacchetto esistente li dichiara come dipendenze.sudo apt upgrade

Quindi in questi giorni, gli utenti che si preoccupano di questa distinzione possono semplicemente eseguire sudo apt upgradeinvece che sudo apt-get upgradese vogliono che le nuove dipendenze vengano installate automaticamente. Di conseguenza, la funzione del Software Updater di ritardare leggermente alcuni aggiornamenti, per determinare se sono stabili in natura e limitare i danni in caso contrario, è probabilmente la differenza principale tra l'utilizzo del Software Updater e l'aggiornamento sulla riga di comando.

Questo comportamento del Software Updater è dovuto alla politica di aggiornamenti graduali . Quella politica - implementata nel Software Updater ma non inapt-get (o apt) - è stata una delle principali differenze tra i due metodi sin da quando la politica è stata introdotta , e pabouk ne ha commentato un paio di anni fa :

C'è un'altra differenza: apt-getnon usa PhasedUpdates quindi a volte Software Updater mostra meno aggiornamenti di apt-get. Vedi Perché Software Updater dice Nessun aggiornamento disponibile, ma apt-get upgrade Mostra gli aggiornamenti disponibili? .

- pabouk, 25 febbraio 15 alle 7:34

Questa potrebbe essere sempre stata la differenza più significativa, in quanto si potrebbe sempre eseguire di sudo apt-get dist-upgradefronte alla upgraderiluttanza dell'azione di installare nuovi pacchetti o disinstallare quelli esistenti. Tuttavia, durante l'aggiornamento dalla riga di comando, l' importanza relativa degli aggiornamenti graduali aumenta con apt:

  • Ad esempio apt-get, il aptcomando scaricherà e installerà gli aggiornamenti anche se sarebbero stati ritardati a causa della politica degli aggiornamenti graduali se al suo posto fosse stato utilizzato l'utilità di aggiornamento software.
  • Ma a differenza apt-get , il aptdel comando upgradeazione sarà installare nuovi pacchetti che non sono stati precedentemente installati, ma sono necessari come dipendenze per le nuove versioni dei pacchetti.

A parte (a) preferire un'interfaccia grafica e (b) la sua integrazione desktop che fornisce notifiche quando sono disponibili aggiornamenti, il motivo attuale principale per cui si potrebbe usare l'Updater Software è il modo più semplice per partecipare ad aggiornamenti graduali.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.