Ubuntu 16.04 - i pacchetti del kernel sono stati mantenuti indietro


18

Ho corso sudo apt-get upgradee ho ottenuto questo:

The following packages have been kept back:  
linux-generic-hwe-16.04 linux-headers-generic-hwe-16.04 linux-image-generic-hwe-16.04 linux-signed-generic-hwe-16.04 linux-signed-image-generic-hwe-16.04  
0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.

Temo che se eseguo sudo apt-get dist-upgradequalcosa potrebbe andare storto e rovinare la mia installazione di Ubuntu. Ho visto domande simili qui, ma penso che siano diverse dal mio problema. Cosa dovrei fare ?



@Yaron Non penso sia la stessa cosa.
NikosL24

E 'la stessa cosa. Leggi le risposte
pzkpfw,

Apt non esegue mai operazioni oltre a quelle esplicitamente richieste senza il feedback dell'utente; rispondi alla domanda con n"no" (o l'equivalente della lingua utilizzata da Apt). Se non sei ancora sicuro di cosa potrebbe accadere durante un'operazione Apt, puoi utilizzare le opzioni della riga di comando -s/ --simulate/ --just-print/ --dry-run/ --recon/ --no-actper vedere cosa farebbe Apt senza farlo effettivamente.
David Foerster,

Risposte:


6

Sebbene l' argomento generale "I pacchetti sono stati trattenuti " ha già ricevuto una risposta qui: c'è qualcosa di strano oggi ... quando sono stato eseguito sudo apt updatepoche ore fa, il nuovo kernel 4.8.0-42 è stato offerto per l'installazione. Ho eseguito sudo apt dist-upgradee dopo il riavvio del sistema (workstation Ubuntu 16.10), stavo eseguendo quel nuovo kernel.

Alcune ore dopo volevo aggiornare l'installazione del mio server Ubuntu, ma non è stato offerto un nuovo kernel. Per ricontrollare la situazione ho ripristinato l'immagine di backup del sistema clonezilla di ieri sulla workstation Ubuntu per ricontrollare la situazione. Questa volta il nuovo kernel non è stato più offerto. Sembra che il kernel 4.8.0-42 sia stato accidentalmente spinto nel repository principale ed è in procinto di tornare al repository proposto - forse Canonical ha trovato un bug.

Hai aderito allo stack HWE di Ubuntu 16.04, il che significa che stai usando il kernel 4.8 di Ubuntu 16.10. Quindi tutto accade prima con il kernel di Ubuntu 16.10, una possibile spiegazione del ritardo del processo di aggiornamento per i repository Ubuntu 16.04 LTS.

Quando esegui di nuovo sudo apt updateun po 'più tardi, il messaggio che ricevi non dovrebbe più apparire. Conclusione: non eseguire sudo apt dist-upgradee attendere fino a quando i repository non vengono aggiornati e il messaggio sui pacchetti del kernel trattenuti non appare più. A proposito, esattamente lo stesso è successo con la versione del kernel 4.8.0-40 già qualche tempo fa.


L'indice dei pacchetti riporta 4.8.0-42: pacchetti.ubuntu.com/xenial-updates/linux-generic-hwe-16.04 ... quale mirror stai usando?
Muru,

Questa è sicuramente una cosa / problema reale. Ieri ho aggiornato il mio sistema usando il normale processo. Oggi apt-cache policy linux-generic-hwe-16.04mostra *** 4.8.0.42.14 100 100 /var/lib/dpkg/status In altre parole, è rimasto orfano.
Marmo organico

@ cl-netbox Ho fatto di nuovo un aggiornamento sudo apt-get adesso e i pacchetti sono spariti.
NikosL24

12

Se l'aggiornamento di un pacchetto esistente richiederebbe l' installazione di un "nuovo" pacchetto (ad es. Non ancora installato), quel particolare pacchetto esistente verrà "trattenuto".

Secondo man apt-get , upgradeper impostazione predefinita non installa altri pacchetti non ancora installati:

aggiornare

... in nessun caso i pacchetti attualmente installati vengono rimossi o i pacchetti non già installati vengono recuperati e installati.

--with-nuovi-pkgs

Consenti l'installazione di nuovi pacchetti quando utilizzato insieme all'aggiornamento. Ciò è utile se l'aggiornamento di un pacchetto installato richiede l'installazione di nuove dipendenze. Invece di trattenere il pacchetto, l'aggiornamento aggiornerà il pacchetto e installerà le nuove dipendenze. ...

quindi, --with-new-pkgsdeve essere aggiunto per consentire l'inclusione degli altri pacchetti correlati.

sudo apt-get --with-new-pkgs upgrade

--with-new-pkgs consente l'installazione dei relativi pacchetti "non ancora installati" con un prompt interattivo S / n.

Inoltre, come ulteriore vantaggio, sudo apt-get --with-new-pkgs upgradeNON ha effetti collaterali di far contrassegnare i pacchetti come installati manualmente.


Aggiornare

Ubuntu 18.04 fornisce una sintassi più recente e semplificata aptche può essere utilizzata al posto di apt-get.

sudo apt full-upgrade

L'intero "se un pacchetto richiede l'installazione di un nuovo pacchetto", verrà trattenuto non ha senso per me. Ho il mio pacchetto deb che gestisco e se aggiungo una dipendenza che non è installata sul mio sistema apt upgrade aggiornerà comunque il pacchetto e non lo manterrà indietro.
shreddish

@shreddish Nella mia esperienza, alcuni sudo apt-get upgradescenari hanno avuto bisogno delle --with-new-pkgsinformazioni sulla pagina man. Apparentemente, il pacchetto deb che gestisci, o lo scenario di test in uso , non fa scattare la necessità --with-new-pkgsdell'opzione con una dipendenza disinstallata aggiunta ... per qualche motivo ancora da scoprire. Sarebbe interessante sapere se sei stato in grado di isolare il motivo.
l

2

Essendo un utente Ubuntu relativamente nuovo, ho riscontrato lo stesso problema e apparentemente risolto. Ho scoperto che c'erano tre aggiornamenti in sospeso sul software Ubuntu con gli stessi nomi di quelli elencati sul terminale come elencato di seguito:

The following packages have been kept back:
linux-generic-hwe-16.04 linux-headers-generic-hwe-16.04 linux-image-generic-hwe-16.04
0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.

Dopo aver installato quegli aggiornamenti dal software Ubuntu sono tornato al Terminale e l'ho fatto sudo apt-get updatee sudo apt-get upgrade. Il risultato:

The following packages were automatically installed and are no longer required:
  linux-headers-4.8.0-41 linux-headers-4.8.0-41-generic linux-headers-4.8.0-44 linux-headers-4.8.0-44-generic linux-image-4.8.0-41-generic
  linux-image-4.8.0-44-generic linux-image-extra-4.8.0-41-generic linux-image-extra-4.8.0-44-generic
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Non essendo un esperto, penso che l'installazione degli aggiornamenti dal software Ubuntu sembra risolvere il problema. E il problema sembra essere che non esiste una comunicazione completa tra il software Ubuntu e i pacchetti apt-get update e upgrade. Sono sicuro che troverai una spiegazione migliore, ma volevo condividerla con te.


Grazie. In generale, Ubuntu ci consiglia di non usare aptitude o synaptic (rimuovendoli dall'installazione predefinita. Forse è la direzione in cui cercare le risposte. Per ora cercherò di evitare quei due. Non appena avrò visto la tua risposta, corro . al software Centro e mi ha mostrato le cose appartamento era ignorando dal momento che il sistema operativo è costruito da Ubuntu, io sti a SC e 'un po' come discutere con l'AppStore quando. homebrew fa affermazioni.
nyxee

quindi, questo centro software sembra essere una pessima soluzione per quelli di noi con cattive connessioni. c'è un altro modo?
Nyxee,
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.