Ich habe nicht genug Vertrauen, um dies alleine zu tun und riskiere, dass der Server nicht bootet oder so.
Ich möchte den Kernel aktualisieren von:
$ uname -r
4.9.0-6-amd64
$ uname -v
#1 SMP Debian 4.9.88-1+deb9u1 (2018-05-07)
auf Kernel Version 4.15 oder 4.16. Was auch immer Sie empfehlen.
Ich glaube nur, ich weiß, wie man verfügbare Versionen auflistet:
$ apt-cache search linux-image | grep amd64
linux-headers-4.9.0-6-amd64 - Header files for Linux 4.9.0-6-amd64
linux-headers-4.9.0-6-rt-amd64 - Header files for Linux 4.9.0-6-rt-amd64
linux-image-4.9.0-6-amd64 - Linux 4.9 for 64-bit PCs
linux-image-4.9.0-6-amd64-dbg - Debug symbols for linux-image-4.9.0-6-amd64
linux-image-4.9.0-6-rt-amd64 - Linux 4.9 for 64-bit PCs, PREEMPT_RT
linux-image-4.9.0-6-rt-amd64-dbg - Debug symbols for linux-image-4.9.0-6-rt-amd64
linux-image-amd64 - Linux for 64-bit PCs (meta-package)
linux-image-amd64-dbg - Debugging symbols for Linux amd64 configuration (meta-package)
linux-image-rt-amd64 - Linux for 64-bit PCs (meta-package), PREEMPT_RT
linux-image-rt-amd64-dbg - Debugging symbols for Linux rt-amd64 configuration (meta-package)
linux-headers-4.9.0-3-amd64 - Header files for Linux 4.9.0-3-amd64
linux-headers-4.9.0-3-rt-amd64 - Header files for Linux 4.9.0-3-rt-amd64
linux-headers-4.9.0-4-amd64 - Header files for Linux 4.9.0-4-amd64
linux-headers-4.9.0-4-rt-amd64 - Header files for Linux 4.9.0-4-rt-amd64
linux-headers-4.9.0-5-amd64 - Header files for Linux 4.9.0-5-amd64
linux-headers-4.9.0-5-rt-amd64 - Header files for Linux 4.9.0-5-rt-amd64
linux-image-4.9.0-3-amd64 - Linux 4.9 for 64-bit PCs
linux-image-4.9.0-3-amd64-dbg - Debug symbols for linux-image-4.9.0-3-amd64
linux-image-4.9.0-3-rt-amd64 - Linux 4.9 for 64-bit PCs, PREEMPT_RT
linux-image-4.9.0-3-rt-amd64-dbg - Debug symbols for linux-image-4.9.0-3-rt-amd64
linux-image-4.9.0-4-amd64 - Linux 4.9 for 64-bit PCs
linux-image-4.9.0-4-amd64-dbg - Debug symbols for linux-image-4.9.0-4-amd64
linux-image-4.9.0-4-rt-amd64 - Linux 4.9 for 64-bit PCs, PREEMPT_RT
linux-image-4.9.0-4-rt-amd64-dbg - Debug symbols for linux-image-4.9.0-4-rt-amd64
linux-image-4.9.0-5-amd64 - Linux 4.9 for 64-bit PCs
linux-image-4.9.0-5-amd64-dbg - Debug symbols for linux-image-4.9.0-5-amd64
linux-image-4.9.0-5-rt-amd64 - Linux 4.9 for 64-bit PCs, PREEMPT_RT
linux-image-4.9.0-5-rt-amd64-dbg - Debug symbols for linux-image-4.9.0-5-rt-amd64
linux-headers-4.15.0-0.bpo.2-amd64 - Header files for Linux 4.15.0-0.bpo.2-amd64
linux-headers-4.15.0-0.bpo.2-cloud-amd64 - Header files for Linux 4.15.0-0.bpo.2-cloud-amd64
linux-headers-4.16.0-0.bpo.1-amd64 - Header files for Linux 4.16.0-0.bpo.1-amd64
linux-headers-4.16.0-0.bpo.1-cloud-amd64 - Header files for Linux 4.16.0-0.bpo.1-cloud-amd64
linux-image-4.15.0-0.bpo.2-amd64 - Linux 4.15 for 64-bit PCs
linux-image-4.15.0-0.bpo.2-amd64-dbg - Debug symbols for linux-image-4.15.0-0.bpo.2-amd64
linux-image-4.15.0-0.bpo.2-cloud-amd64 - Linux 4.15 for x86-64 cloud
linux-image-4.15.0-0.bpo.2-cloud-amd64-dbg - Debug symbols for linux-image-4.15.0-0.bpo.2-cloud-amd64
linux-image-4.16.0-0.bpo.1-amd64 - Linux 4.16 for 64-bit PCs
linux-image-4.16.0-0.bpo.1-amd64-dbg - Debug symbols for linux-image-4.16.0-0.bpo.1-amd64
linux-image-4.16.0-0.bpo.1-cloud-amd64 - Linux 4.16 for x86-64 cloud
linux-image-4.16.0-0.bpo.1-cloud-amd64-dbg - Debug symbols for linux-image-4.16.0-0.bpo.1-cloud-amd64
linux-headers-4.9.0-4-grsec-amd64 - Header files for Linux 4.9.0-4-grsec-amd64
linux-image-4.9.0-4-grsec-amd64 - Linux 4.9 for 64-bit PCs, Grsecurity protection (unofficial patch)
linux-image-grsec-amd64 - Linux image meta-package, grsec featureset
linux-image-cloud-amd64 - Linux for x86-64 cloud (meta-package)
linux-image-cloud-amd64-dbg - Debugging symbols for Linux cloud-amd64 configuration (meta-package)
Ich brauche auch Header. Unter Ubuntu gibt es auch ein Paket namens extra
oder ähnliches, daher bin ich verwirrt, es hier nicht zu sehen.
Was ist der richtige Weg, um einen neuen Kernel manuell unter Debian 9 zu installieren?
Antworten:
Wenn Sie einen neueren Kernel mit Debian-Paket installieren möchten, sollten Sie einen aus dem Backports-Repository verwenden. Sie scheinen dieses Repository bereits zu Ihrer
apt
Konfiguration hinzugefügt zu haben , also sind Sie fertig.Da Ihr aktueller Kernel die Basisversion von amd64 ist, gehe ich davon aus, dass Sie weder die Echtzeit-Scheduler-Version noch die Cloud-Version benötigen.
Renn einfach
dh "Installieren Sie die Basisversion -amd64 des für Debian 9 backportierten 4.16-Kernels und das entsprechende Header-Paket".
Im Gegensatz zu regulären Paketen ersetzt das neue Versionspaket
linux-image
den vorhandenen 4.9.0-Kernel nicht direkt, sondern wird daneben installiert. (Dies liegt daran, dass die Versionsnummer als Teil des Paketnamens enthalten ist.) Die Bootloader werden bei der Nachinstallation automatisch so konfiguriertlinux-image
, dass entweder die verfügbaren Kernel in einer auf Versionsnummern basierenden Reihenfolge angezeigt werden oder wenn dies für einige Bootloader nicht möglich ist , stellen Sie einfach automatisch die zuletzt installierte als die bevorzugte ein.Wenn sich herausstellt, dass Ihr neuer Kernel nicht startet, können Sie einfach den vorherigen Kernel aus dem Bootloader auswählen und dann das Kernelpaket entfernen, das sich als nicht funktionsfähig erwiesen hat. Wenn Sie den Paketmanager versehentlich anweisen, den Kernel zu entfernen, auf dem Sie gerade ausgeführt werden, ist es klug genug zu wissen, dass dies keine gute Sache ist, und der Vorgang wird abgebrochen.
quelle
[...] it is smart enough to know that isn't a good thing to do, and will abort the operation.
<- Wenn Sie sich nicht sicher sind, welchen Kernel Sie ausführen (in diesem Fall), können Sie ihn ausführenuname -r
(entnommen aus askubuntu.com/questions/359574/… )Problem zur Hand
Sie benötigen einen neueren Linux-Kernel als den auf Ihrer Debian-Instanz installierten. Dies birgt einige Risiken . Es wird empfohlen, dass Sie nicht vom standardmäßigen stabilen LTS-Kernel abweichen, den Debian bereitstellt. Aufgrund Ihrer Anforderungen benötigen Sie jedoch einen neueren Kernel.
Lösung
Sie können das Backports-Repository hinzufügen , mithilfe von apt-pinning steuern, was hier installiert ist, und die erforderlichen Komponenten installieren, um Ihren Kernel zu aktualisieren.
Ich empfehle apt-pinning sehr, da Sie alternative Repositorys oder sogar Repositorys von Drittanbietern hinzufügen und steuern können, was von diesen installiert wird. Auf diese Weise können Sie auf eigenes Risiko alternative Pakete und Bibliotheken installieren, aktualisieren und zusammen mit den Hauptkomponenten Ihres Betriebssystems aktualisieren. Apt-Pinning ermöglicht die granulare Kontrolle von Verpackungen aus alternativen Quellen (dh nicht stabil) mit geringerem Bruchrisiko. Wenn Sie das Risiko verstehen, können Sie damit fortfahren.
Fügen Sie das Backports-Repository hinzu und richten Sie apt-Einstellungen ein
Der erste Schritt besteht darin, die richtigen Repositorys zu Ihrem hinzuzufügen
sources.list
. Ich würde empfehlen, dass Sie verwenden,/sources.list.d/
aber Sie können dies in nur einer Datei tun.Du
sources.list
solltest ungefähr so aussehen. Sie benötigen die nicht freien Teile nicht, wenn Sie keine nicht freie Software benötigen. Als nächstes müssen Sie Paketen Pin-Prioritäten mit geben/etc/apt/preferences
. Diese Datei sollte folgendermaßen aussehen:Sie können Ihren Ansatz detaillierter gestalten, indem Sie einzelne Pakete angeben und den Pin-Prioritäten höhere oder niedrigere Werte zuweisen.
Danach rennst du
apt-get update
.Installieren Sie den gewünschten Kernel
Mit werden
apt-cache search linux-image
Sie alle verfügbaren Kernel auflisten. Wenn Sie festgelegt haben, welchen Kernel Sie möchten, können Sie ihn mit installierenapt-get install linux-image-flavour
. Es wird empfohlen, dass Sie auch das passende Linux-Header-Paket installieren. Wenn Sie das grsec-Image in Ihrer Umgebung benötigen, installieren Sie stattdessen dieses. Wieder mit dem entsprechenden Header-Paket.Nach dem Neustart können Sie im GRUB-Menü auswählen, welchen Kernel Sie starten möchten. Wenn Sie auf Probleme stoßen, können Sie immer den bekannten guten Kernel auswählen und stattdessen damit booten.
Fazit
Ich habe apt-pinning verwendet, um die Debian-Installation meines PCs erfolgreich zu verwalten. Ich habe die oben beschriebene Methode verwendet, um den neuesten Kernel zu installieren (4.15), und mein System hat einwandfrei funktioniert. Nehmen Sie dies jedoch mit einem Körnchen Salz, da es sich um einen PC handelt und nicht um einen Produktionsserver, auf dem Sie dies installieren möchten. Ich füge auch Links zu allen Quellen hinzu, auf die ich verwiesen habe. Ich habe diese Debian-Wiki-Seite verwendet , um über die notwendigen Schritte sowie die Seite über Apt-Pinning zu informieren . Auf diesen Artikel wurde ebenfalls verwiesen.
Wenn Sie Fragen oder Bedenken zu diesem Beitrag haben, zögern Sie nicht, mich zu fragen. Wenn diese Antwort Korrekturen oder Missverständnisse enthält, informieren Sie mich bitte. Ich kann den Beitrag nach Bedarf aktualisieren.
Viel Glück!
quelle
Verwenden Sie den folgenden Befehl, um das Linux-Image und sein Header-Paket zu installieren:
Einige Abhängigkeiten müssen von Backports installiert werden, nachdem der obige Befehl ausgeführt wurde. Er kann installiert werden über:
quelle
-t stretch-backports
kann zur Anfangszeile hinzugefügt werden, damit automatisch alle richtigen Abhängigkeiten abgerufen werden :apt install -t stretch-backports linux-{image,headers}-4.18.0-0.bpo.3-amd64
.