Ubuntu 16.04 - Kernel-Pakete wurden zurückgehalten

18

Ich bin gelaufen sudo apt-get upgradeund bekomme folgendes:

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.

Ich fürchte, wenn ich sudo apt-get dist-upgradeetwas starte, könnte es schief gehen und meine Ubuntu-Installation durcheinander bringen. Ich habe hier ähnliche Fragen gesehen, aber ich denke, sie unterscheiden sich von meinem Problem. Was soll ich machen ?

NikosL24
quelle
@ Yaron Ich glaube nicht, dass es dasselbe ist.
NikosL24
Es ist das selbe Ding. Lesen Sie die Antworten.
pzkpfw
Apt führt niemals Vorgänge aus, die über die ausdrücklich angeforderten hinausgehen, ohne dass ein Feedback des Benutzers erforderlich ist. Beantworten Sie die Frage einfach mit n"Nein" (oder dem Äquivalent der von Apt verwendeten Sprache). Wenn Sie sich immer noch nicht sicher sind, was während eines Apt-Vorgangs passieren könnte, können Sie die Befehlszeilenoptionen -s/ --simulate/ --just-print/ --dry-run/ --recon/ verwenden, um --no-actzu sehen, was Apt tun würde, ohne es tatsächlich zu tun.
David Foerster

Antworten:

6

Obwohl das allgemeine Thema " Pakete wurden zurückgehalten " hier schon einmal beantwortet wurde: Heute ist etwas Seltsames los ... Als ich vor sudo apt updateein paar Stunden ausgeführt habe, wurde der neue Kernel 4.8.0-42 zur Installation angeboten. Ich habe ausgeführt sudo apt dist-upgradeund nach dem Neustart des Systems (Ubuntu 16.10 Workstation) habe ich diesen neuen Kernel ausgeführt.

Einige Stunden später wollte ich meine Ubuntu-Server-Installation aktualisieren, aber ein neuer Kernel wurde nicht angeboten. Um die Situation erneut zu überprüfen, habe ich mein Clonezilla-System-Backup-Image von gestern auf der Ubuntu-Workstation wiederhergestellt, um die Situation erneut zu überprüfen. Diesmal wurde der neue Kernel nicht mehr angeboten. Es scheint, dass der Kernel 4.8.0-42 versehentlich in das Haupt-Repository verschoben wurde und auf dem Weg ist, wieder in das vorgeschlagene Repository verschoben zu werden - vielleicht hat Canonical einen Fehler gefunden.

Sie haben sich für den HWE-Stack von Ubuntu 16.04 entschieden, was bedeutet, dass Sie den Kernel 4.8 von Ubuntu 16.10 verwenden. Daher geschieht alles zuerst mit dem Kernel in Ubuntu 16.10, eine mögliche Erklärung für die zeitliche Verzögerung des Aktualisierungsprozesses für die Ubuntu 16.04 LTS-Repositories.

Wenn Sie sudo apt updateetwas später erneut ausführen , sollte die angezeigte Meldung nicht mehr angezeigt werden. Fazit: Führen Sie sudo apt dist-upgradedas Programm nicht aus und warten Sie, bis die Repositorys aktualisiert wurden und die Meldung zu den zurückgehaltenen Kernelpaketen nicht mehr angezeigt wird. Genau dasselbe ist übrigens schon vor einiger Zeit mit der Kernel-Version 4.8.0-40 passiert.

cl-netbox
quelle
Der Paketindex meldet 4.8.0-42: packages.ubuntu.com/xenial-updates/linux-generic-hwe-16.04 ... welchen Spiegel verwenden Sie?
muru
Das ist definitiv ein echtes Problem. Ich habe gestern mein System mit dem normalen Verfahren aktualisiert. Heute apt-cache policy linux-generic-hwe-16.04zeigt *** 4.8.0.42.14 100 100 /var/lib/dpkg/status Mit anderen Worten, es wurde verwaist.
Bio-Marmor
@ cl-netbox Ich habe gerade ein sudo apt-get-Update durchgeführt und die Pakete sind verschwunden.
NikosL24
12

Wenn für das Upgrade eines vorhandenen Pakets ein "neues" Paket (z. B. noch nicht installiert) installiert werden muss, wird dieses bestimmte vorhandene Paket "zurückgehalten".

Nach dem Mann apt-get , upgradestandardmäßig nicht installiert andere noch nicht installierten Pakete:

Aktualisierung

... unter keinen Umständen werden aktuell installierte Pakete entfernt oder noch nicht installierte Pakete abgerufen und installiert.

--mit-neuen-pkgs

Ermöglichen Sie die Installation neuer Pakete, wenn diese in Verbindung mit einem Upgrade verwendet werden. Dies ist nützlich, wenn für die Aktualisierung eines installierten Pakets neue Abhängigkeiten installiert werden müssen. Anstatt das Paket zurück zu halten, wird das Paket aktualisiert und die neuen Abhängigkeiten installiert. ...

so, --with-new-pkgsmuss hinzugefügt werden , die Aufnahme der entsprechenden anderen Pakete zu ermöglichen.

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

--with-new-pkgs Ermöglicht die Installation der zugehörigen "noch nicht installierten" Pakete mit einer interaktiven J / N-Eingabeaufforderung.

Ein zusätzlicher Vorteil ist, sudo apt-get --with-new-pkgs upgradedass Pakete NICHT als manuell installiert markiert werden.


Aktualisieren

Ubuntu 18.04 bietet eine neuere, optimierte Syntax apt, die anstelle von verwendet werden kann apt-get.

sudo apt full-upgrade
l - marc l
quelle
Das Ganze "Wenn für ein Paket die Installation eines neuen Pakets erforderlich ist" macht für mich keinen Sinn. Ich verwalte mein eigenes Deb-Paket, und wenn ich eine Abhängigkeit hinzufüge, die nicht auf meinem System installiert ist, aktualisiert apt upgrade das Paket weiterhin und behält es nicht zurück.
Shreddish
@shreddish Nach meiner Erfahrung haben einige sudo apt-get upgradeSzenarien die --with-new-pkgsauf der Manpage angegebenen Informationen benötigt. Anscheinend löst das von Ihnen verwaltete Deb-Paket oder das verwendete Testszenario nicht die Notwendigkeit für die --with-new-pkgsOption mit einer hinzugefügten, deinstallierten Abhängigkeit aus ... Gründen, die noch entdeckt werden müssen. Es wäre interessant zu wissen, ob Sie den Grund dafür herausfinden können.
l
2

Als relativ neuer Ubuntu-Benutzer bin ich auf dasselbe Problem gestoßen und habe es anscheinend gelöst. Ich habe festgestellt, dass drei Updates für Ubuntu Software ausstehen, die dieselben Namen haben wie die auf dem Terminal aufgelisteten:

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.

Nachdem ich diese Updates von Ubuntu Software installiert hatte, ging ich zurück zum Terminal und tat sudo apt-get updateund sudo apt-get upgrade. Das Ergebnis:

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.

Ich bin kein Experte und denke, dass die Installation von Updates von der Ubuntu-Software das Problem zu lösen scheint. Und das Problem scheint zu sein, dass es keine vollständige Kommunikation zwischen der Ubuntu-Software und den apt-get Update- und Upgrade-Paketen gibt. Ich bin mir sicher, dass Sie eine bessere Erklärung finden werden, aber ich wollte dies mit Ihnen teilen.

Jose
quelle
Vielen Dank. Im Allgemeinen rät Ubuntu uns, Aptitude oder Synaptic nicht zu verwenden (indem sie aus der Standardinstallation entfernt werden. Vielleicht ist dies die Richtung, in der nach Antworten gesucht werden muss. Ich werde versuchen, diese beiden vorerst zu vermeiden. Sobald ich Ihre Antwort gesehen habe, renne ich davon . Software - Center und es mir Dinge gezeigt apt ignoriert wurde Da das Betriebssystem von Ubuntu gebaut ist, werde ich zu SC sti Sein ein wenig mit dem App Store wie dem Argument , wenn. homebrew Ansprüche macht.
nyxee
Daher scheint dieses Software-Center eine sehr schlechte Lösung für diejenigen von uns mit schlechten Verbindungen zu sein. gibt es eine andere Art und Weise?
Nyxee