Apt dist-upgrade non è più necessario


22

Prima che Ubuntu 18.04 fosse disponibile, stavo usando Ubuntu 16.04. E stavo usando sudo apt-get update, sudo apt-get upgradee sudo apt-get dist-upgradeper fare l'aggiornamento e aggiornare le cose. Con Ubuntu 18.04, sono passato a usare aptinvece di apt-get. La cosa strana per me è che sudo apt dist-upgradenon ha più alcun effetto: eseguo l'aggiornamento e l'aggiornamento usando sudo apt updatee sudo apt upgade, ma quando corro sudo apt dist-upgrade, non succede nulla di contrario a quando stavo usando sudo apt-get dist-upgrade.
Quando ho usato sudo apt-get dist-upgradealcuni pacchetti sono stati rimossi e altri installati. Tuttavia quando corro sudo apt dist-upgrade, non è successo niente .. Tutto quello che ottengo è:

sudo apt dist-upgrade 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.  

E questo succede ogni volta da quando ho iniziato a utilizzare aptinvece di apt-get.
È qualcosa correlato apt(cioè sudo apt upgradesostituisce entrambi upgradee dist-upgrade) o qual è esattamente il problema?


Sarò curioso di vedere la risposta completa, ma questo sembra indicare che hai ragione: askubuntu.com/questions/81585/…
rm-vanda

Risposte:


29

apt-get upgradevs apt upgradevsapt full-upgrade

apt-get upgradeaggiorna solo le app, gli strumenti e le utilità. Non installa il nuovo kernel Linux del sistema operativo.

apt upgradeaggiorna le app, gli strumenti e le utilità e installa il nuovo kernel Linux del sistema operativo. Tuttavia, non rimuove mai i vecchi pacchetti.

apt full-upgradeaggiorna le app, gli strumenti e le utilità e installa il nuovo kernel Linux del sistema operativo. Rimuove anche i vecchi pacchetti, se necessario per l'aggiornamento.

Mi sembra che apt full-upgradefaccia la stessa cosa apt-get dist-upgrade. Vale a dire full-upgradeche controllerà e installerà un nuovo kernel se disponibile e rimuoverà i vecchi pacchetti se la rimozione è necessaria per l'aggiornamento.

i kernel sono la parte fondamentale del sistema operativo. Per questo motivo la vecchia versione del kernel non viene mai sostituita dalla nuova versione quando si esegue apt upgradeo apt full-upgrade. La nuova versione del kernel è installata e la versione esistente viene mantenuta così com'è. La configurazione in grub viene modificata per l'avvio dalla nuova versione per impostazione predefinita durante il processo di aggiornamento. Se il nuovo kernel non funziona per qualche motivo, è possibile eseguire l'avvio dal vecchio kernel dal menu avanzato di grub.

Nota, apt full-upgradenon rimuove le versioni precedenti dei kernel in quanto installa la versione più recente. Per rimuovere questi è necessario utilizzare apt autoremove.

Perché cambiare il nome da dist-upgradea full-upgrade?

  • Se usi apt-getallora devi usaredist-upgrade
  • Se usi aptallora devi usarefull-upgrade

Penso che sia dist-upgradestato un po 'confuso. Ad esempio, questo non si aggiorna da Ubuntu 16.04 a Ubuntu 18.04. Aggiorna solo il kernel e altre cose all'interno di Ubuntu 16.04.

Penso che full-upgradesia più intuitivo di dist-upgrade.

Vedi Cos'è "dist-upgrade" e perché aggiorna più di "upgrade"? per ulteriori dettagli.

Informativa completa: sono solo un utente di Ubuntu e non ho preso la decisione di cambiarlo. Queste sono le mie opinioni personali.

Spero che sia di aiuto


1
+1, ma per essere pedanti, dalla manpage di aptse stesso: upgrade non rimuove mai i pacchetti esistenti , mentre full-upgrade rimuoverà i pacchetti attualmente installati se è necessario per aggiornare il sistema nel suo insieme . Inoltre, apt dist-upgradesembra funzionare bene sui miei sistemi (probabilmente per compatibilità con le versioni precedenti).
Mr Shunz,

@MrShunz So che questo è ciò che dice la pagina man. Viene anche menzionato nell'altra risposta che aggiungerò come riferimento.
user68186

apt upgradee apt-get upgradegestisci la cosa diversamente, vedi hiroom2.com/2016/05/20/ubuntu-16-04-debian-8-apt-command/…
mook765,

@ mook765 Grazie! Modificherò la mia risposta in base al tuo riferimento.
user68186

2
"Penso che l'aggiornamento dist sia stato un po 'confuso." Giuro che questo è l'eufemismo del secolo per quanto riguarda apt. C'è qualcosa in apt che non confonde ?! Come ha a che fare il nome "apt" o "aptitude" in primo luogo con la gestione dei pacchetti? Perché ci sono 3 varianti di apt? Perché apt- get modifica il mio sistema? Perché "aggiorna" non aggiorna il mio sistema? Perché "upgrade" non aggiorna il mio sistema? Perché non dovrebbe semplicemente aggiornare la sua cache interna prima di eseguire l'aggiornamento automaticamente come un sistema operativo sano? Perché purge disinstalla un pacchetto invece di eliminarlo dalla cache? ecc ....
Mehrdad il

15

dist-upgradeè stato sostituito da Ubuntu da full-upgrade.

Gli utenti più anziani di Ubuntu ricordano quando dist-upgradeveniva effettivamente utilizzato regolarmente per installare i pacchetti del kernel. I nomi dei pacchetti del kernel cambiano con la versione, rendendoli non idonei per il normale upgrade. full-upgradeè stato aggiunto per soddisfare in modo sicuro questa esigenza del flusso del pacchetto Ubuntu.

Lo scopo originale di dist-upgradeè migrare tra le versioni di Debian (più o meno equivalenti a quelle di Ubuntu do-release-upgrade). Quindi c'è un po 'meno protezione da conseguenze impreviste. Leggere attentamente le modifiche proposte prima di concordare.

L'uso al dist-upgradeposto di full-upgradeprobabilmente non danneggerà un sistema sano. Milioni di utenti in un decennio hanno risolto molti bug dal flusso di lavoro apt. Tuttavia, dist-upgradepotrebbero verificarsi risultati imprevisti su un sistema con pacchetti rotti o altri problemi irrisolti.


+1 allo scopo originale di dist-upgrade. Uno dovrebbe giocherellare con il sources.listper usarlo in questo modo immagino.
user68186
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.