Fragen zum Kernel-Update

Heinzelfried

Registered User
Wo kriege ich rpm's für die neuen Kernelversionen (also 2.6.17.13) her? Damals habe ich das rpm für den Kernel per Google gefunden, jetzt irgendwie nicht mehr. Stellt Suse die nicht irgendwie aus?

Ich habe Suse 9.3 und aktuell den Kernel 2.6.15. Ein neuer ist also fällig denke ich?!
 
Jep, da hab ich auch schon geschaut. Mein Problem: Ich habe Suse, welche Distribution soll ich da wählen? Die bieten nur folgendes an:

ASP Linux
Aurox
CentOS
Conectiva
Fedora Core
Freshrpms (rh)
PLD Linux
RedHat
Sourceforge
Trustix
Turbolinux
 
Hallo,

aktuell ist 2.6.17.13, heute neu rausgekommen.
Am besten selbst compilieren, die aktuelle Config kann aus dem laufenden Kernel ausgelesen werden.
 
Hallo,

beschreib mal Deine Ausgangssituation:

hast Du über den Provider ein Rescue-System?
Welche CPU?
Einzelfestplatte oder RAID?
IDE oder SCSI?
Welcher Bootloader (Lilo oder Grub)?
Ist der aktuelle Kernel Suse-default?

Falls Du bisher den Default-Kernel von Suse verwendest kannst Du es Dir aber auch leicht machen und den Kernel einfach über Yast updaten. Der Kernel ist dann nach Versionsnummer zwar alt, aber aktuell gepatched, d.h. er enthält nicht die neusten Features (die auf einem Server ohnehin nix bringen) aber ist von der Sicherheit aktuell.

Leider ist der Suse-default viel zu groß und enthält viel zu viel das man auf einem Server nicht braucht.

Keinesfalls den Suse-default installieren wenn der bisher nicht verwendet wird, es könnte sein, daß der Server nach dem Reboot nicht mehr erreichbar ist. Dann bräuchtest Du das Rescue-System um wieder auf den alten umzustellen.

Hast Du einen Linux-PC zuhause? Wäre der sicherste Weg, erstmal für den PC einen neuen Kernel zu compilieren.
 
- Betriebssystem: linux (Kernel: 2.6.15-20060112174634-smp (SMP))
SuSE Linux 9.3 (i586)
- Raid1
- IDE Devices: none
- SCSI Devices: ATA Model: Maxtor 6V160E0 Rev ( Rev: VA11 )
ATA Model: Maxtor 6V160E0 Rev ( Rev: VA11 )
- Ein Rescue-System ist da
- AMD Opteron(tm) Processor 146

Zum Bootloader:
Wie finde ich das heraus?
 
Hallo,

Zum Bootloader:
Wie finde ich das heraus?

Code:
dd count=8 if=/dev/hda | strings
zeigt die Texte die in den ersten Sektoren stehen, wenn da die grubtypischen Texte drin sind (z.B. Loading Stage 1.5, /boot/grub/stage2, /boot/grub/menu.lst)
dann ist Grub aktiv. "LILO" steht aber auf Servern die vorher Lilo installiert hatten ganz am Anfang auch noch drin (zumindest bei mir).

Falls Grub genutzt wird zeig mal die /boot/grub/menu.lst.

Rescue ist auf jeden Fall ein großer Vorteil, den alten Kernel nicht löschen und notfalls im Rescue den Symlink wieder auf den alten Kernel setzen.
 
Hmm, scheint irgendwie nicht zu funzen:

/dev # dd count=8 if=/dev/hda | strings
dd: öffne â/dev/hdaâ: Kein passendes Gerät bzw. keine passende Adresse gefunden
/dev # dd count=8 if=/dev/md0 | strings
8+0 Datensätze ein
8+0 Datensätze aus
4096 bytes (4,1 kB) copied, 5,9e-05 seconds, 69,4 MB/s


_____________________

vi /boot/grub/menu.lst sagt:

# Modified by YaST2. Last modification on Mi Jun 7 07:37:56 UTC 2006

color white/blue black/light-gray
default 0
timeout 8

###Don't change this comment - YaST2 identifier: Original name: linux###
title SUSE LINUX 9.3
kernel (hd0,1)/boot/vmlinuz root=/dev/md0 selinux=0 acpi=ht init=/febrc load_ramdisk=1 raid=noautodetect noapic resume=/dev/sda1 splash=silent showopts
initrd (hd0,1)/boot/initrd

###Don't change this comment - YaST2 identifier: Original name: failsafe###
title Failsafe -- SUSE LINUX 9.3
kernel (hd0,1)/boot/vmlinuz root=/dev/md0 showopts ide=nodma apm=off acpi=off vga=normal noresume selinux=0 barrier=off nosmp noapic maxcpus=0 3
initrd (hd0,1)/boot/initrd

###Don't change this comment - YaST2 identifier: Original name: memtest86###
title Speichertest
kernel (hd0,1)/boot/memtest.bin
 
Last edited by a moderator:
Hallo,

ich hatte das SCSI vergessen, versuche es mal für /dev/sda.

Falls Du zusätzlich eine serielle Konsole hast, könntest Du rebooten und über die serielle Konsole beobachten, welcher Bootmanager sich meldet.

Man kann auch einfach Grub installieren egal welcher Bootmanager vorher verwendet wurde.
 
dd count=8 if=/dev/sda | strings
8+0 Datensätze ein
8+0 Datensätze aus
4096 bytes (4,1 kB) copied, 6,2e-05 seconds, 66,1 MB/s
8,| u
ZRrK
D|f1
GRUB
Geom
Hard Disk
Read
Error
pPf1
Loading stage1.5
Geom
Read
Error
0.95
/boot/grub/stage2 /boot/grub/menu.lst
^_[]
Yt 9u
[^_]
[^_]
tJ<%t
t/hP@
;=\@
PRhP@
VWhP@
[^_]
8WEV
[^_]
 
Hallo,

ok, dann ist grub installiert.

Code:
# /boot backupen
cd /
tar zcvf /boot.tar.gz /boot/
# fstab auf den PC kopieren
cat /etc/fstab
# und die Ausgabe auf den PC kopieren (wird im Notfall im Rescue benötigt)

# arbeitsverzeichnis anlegen
mkdir /kernel
cd /kernel
# kernelquellen holen
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.17.13.tar.bz2
# auspacken
tar xjvf linux-2.6.17.13.tar.bz2
# in's kernelverzeichnis gehen
cd linux-2.6.17.13
# config aus laufendem kernel holen
zcat /proc/config.gz .config
# Makefile editieren
vi Makefile
# EXTRAVERSION = 13-060908 # der Anhang ist das aktuelle Datum rückwärts
make oldconfig
da werden vermutlich einige Fragen gestellt, ist der unangenehmste Teil der Arbeit. Beantworte alle mit dem Defaultwert und stell die Fragen in's Forum.
Code:
make menuconfig
General Setup
Local Version - append to Kernel Release abschalten
abspeichern und beenden
Code:
make clean
make bzImage
make modules
make modules_install
mkinitrd -k "vmlinuz-2.6.17.13-060908" -i "initrd-2.6.17.13-060908"
Den Schritt mit mkinitrd hab ich nur aus der Doku, nicht ausprobiert, weil ich meinen ohne initrd konfiguriere, würde ich aber beim ersten Versuch nicht machen.
Code:
cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.17.13-060908
cp System.map /boot/System.map-2.6.17.13-060908
cp .config /boot/config-2.6.17.13-060908
cd /boot
# die naechsten beiden Befehle nur eingeben wenn alles problemlos durchlief
ln -sf vmlinuz-2.6.17.13-060908 vmlinuz
ln -sf initrd-2.6.17.13-060908 initrd
sollte das alles ohne Probleme und Fehler durchgelaufen sein, kannst Du
Code:
reboot
wagen, solltest Dich aber darauf einstellen, daß Du möglicherweise hinterher in's Rescue mußt und auf den alten Kernel zurückschalten, also Zeit bereithalten.

Wenn Du das Rescue noch nie benutzt hast ist es empfehlenswert das vorher (spätestens vor den ln -sf) auszuprobieren wie und ob es funktioniert.

Es gibt verschiedene Wege zum neuen Kernel, der beschriebene hat sich bei mir bewährt bis auf den von mir nicht verwendeten mkinitrd.

Etwas riskant ist es schon, den ersten Compilierversuch auf einem aktiv genutzten Server zu starten, ich will Dich nur warnen, daß eine längere Downtime nicht auszuschließen ist wenn es mit dem Zurückstellen im Rescue nicht gleich klappt. Üben auf einem PC oder ein neu gemieteten noch ungenutzten Server wäre vorsichtiger.
 
Hm, danke für die Anleitung. Werde es demnächst mal ausprobieren.

Mal was anderes: Ich habe damals einfach die RPM gezogen und "rpm -U" eingegeben und nach einem Reboot ging alles. Kann ich das jetzt nicht auch machen?
 
Also das mit dem Kernel auf dem Rooti ist ein absolut eigenes Thema!

Speziell bei den Opteron Prozessoren ist das eine große Falle.

Server4You bsp. warnt die User schon vorab einen neuen Kernel zu installieren, schon garnicht einen aus der 2.4er Reihe...

Zitat:
Hinweis zu Kernel-Updates:

Fuer eine optimale Hardwareunterstuetzung wurde von uns ein entsprechend
angepasster Kernel installiert. Wenn Sie diesen austauschen moechten, achten
Sie bitte darauf, keinesfalls Kernel-Versionen < 2.6.14 zu verwenden, da diese
auf einigen Hardwarekombinationen nicht lauffaehig sind.

Um die Funktionsfaehigkeit der fuer automatische reboots zustaendigen
sogenannten Webresetter zu gewaehrleisten, muss ausserdem bei Intel-Systemen
der Kernel-Parameter "acpi=ht" gesetzt werden (grub menu.lst),

Fuer Opteron-Systeme wird der Kernel-Parameter "noapic" benoetigt.

Ihr SERVER4YOU Team


/Zitat

Hab mal über smart upgrade meinen Server lahm gelegt. --- Keine Chance, da heists dann entweder neuinstall oder Rescue System.

Seither nutze ich den alten Kernelstand der ja auch nicht so alt ist. (2.6.15)

Werd demnächst nochmal auf ner lokalen Maschine in Ruhe selbst compilieren!

So far.... viel glück nach dem "reboot" :D
 
Hallo,

Ich habe damals einfach die RPM gezogen und "rpm -U" eingegeben und nach einem Reboot ging alles.

woher hattest Du das RPM? Falls vom Provider bereitgestellt kann man das natürlich bedenkenlos nehmen.

Um die Funktionsfaehigkeit der fuer automatische reboots zustaendigen
sogenannten Webresetter zu gewaehrleisten, muss ausserdem bei Intel-Systemen
der Kernel-Parameter "acpi=ht" gesetzt werden (grub menu.lst)
was passiert (bei diesem Provider) wenn man das vergißt? Kann man dann nur nicht mehr rebooten oder funktioniert auch das Rescue nicht mehr?
 
MOD: Full-Quote entfernt!

keine Ahnung woher die RPM war, sonst würde ich die neue ja da Downloaden. ;)

Mal was anderes: Ist ist von der Sicherheit her eigentlich sinnvoll bzw. Pflicht einem Server einen neuen Kernel zu geben wenn alles einwandfrei läuft?
 
Last edited by a moderator:
Mal was anderes: Ist ist von der Sicherheit her eigentlich sinnvoll bzw. Pflicht einem Server einen neuen Kernel zu geben wenn alles einwandfrei läuft?

Nur wenn Sicherheitslücken gefixed wurden (die Deine Konfiguration betreffen).

Es kann sogar von Vorteil sein, einen älteren, gut getesteten Kernel zu verwenden als immer gleich das neueste Release zu installieren.

Auf meinen Desktop-Rechnern installiere ich meist die neueste Version gleich nach Erscheinen, auf den Servern habe ich zum Teil noch Kernel der 2.4er Serie im Einsatz. Die bieten alle benötigten Funktionen und sind schon so lange im Einsatz, dass die Entdeckung neuer Sicherheitslücken sehr unwahrscheinlich ist.
 
Back
Top