Kernel-Version unterscheidet sich von User-Land

Sickboy

Müßiggänger
Hallo allerseits,

in einer Jails (FreeBSD 11.1) habe ich das Problem, dass sich Kernel-Version und User-Land-Version unterscheiden:
Code:
# uname -ku
1101001 1100122
Alle anderen Jails sind davon nicht betroffen (1101001 1101001). Daraus ergeben sich nun Probleme mit der Paketverwaltung:
Code:
# pkg update -f
Updating poudriere repository catalogue...
[jail.example.com] Fetching meta.txz: 100%  820 B  0.8kB/s  00:01   
[jail.example.com] Fetching packagesite.txz: 100%  194 KiB 198.9kB/s  00:01   
Processing entries:  0%
Newer FreeBSD version for package xf86vidmodeproto:
To ignore this error set IGNORE_OSVERSION=yes
- package: 1101001
- running kernel: 1100122
Allow missmatch now?[Y/n]:
Da mir die Ursache des Problems nicht bekannt ist, richtet sich meine Frage an das Forum: wie kann ich das am besten auflösen?
 
Hallo Sickboy, was Du da gefunden hast, ist die Erklärung für Dein pkg-Problem. Allerdings ist mir nicht klar, ob Du *dafür* eine Lösung suchtest oder für die Abweichung von Kernel und Userland in der betreffenden Jail?

Ersteres habe ich unter FreeBSD selbst noch nicht erlebt. Wie Shawn in dem von Dir verlinkten Post schreibt, taucht es in HardenedBSD aber ständig auf. Shawn hatte schon überlegt, dieses Feature für HBSD rauszunehmen. Mittlerweile wird man aber gefragt, ob man die Pakete trotzdem installieren will - was bei mir noch nie zu Problemen geführt hat. Ich nehme aber an, dass es diese Wahlmöglichkeit nur in HBSD's Version von pkg gibt.

Falls Du die Abweichung zwischen Kernel- und Userlandversion in Deiner Jail beseitigen möchtest, müsste man wissen, wie Du die Jail eingerichtet hast: Händisch oder mit einem Tool wie ezjail oder iocage? Und falls letzteres: Handelt es sich um eine normale Jail oder eine Basejail? Von den Antworten auf diese Fragen hängt ab, wie Du das Userland Deiner Jail upgraden kannst (der Kernel ist ja immer der des Host-Systems, da kannst/musst Du also nichts machen).
 
Der Fehler ist das dein Userland neuer ist als der Kernel. Nur die umgekehrte Richtung (Userland älter als Kernel) wird unterstützt. Deswegen meckern die Tools bei dir.
 
Allerdings ist mir nicht klar, ob Du *dafür* eine Lösung suchtest oder für die Abweichung von Kernel und Userland in der betreffenden Jail
Sowohl als auch.

Falls Du die Abweichung zwischen Kernel- und Userlandversion in Deiner Jail beseitigen möchtest, müsste man wissen, wie Du die Jail eingerichtet hast: Händisch oder mit einem Tool wie ezjail oder iocage? Und falls letzteres: Handelt es sich um eine normale Jail oder eine Basejail? Von den Antworten auf diese Fragen hängt ab, wie Du das Userland Deiner Jail upgraden kannst (der Kernel ist ja immer der des Host-Systems, da kannst/musst Du also nichts machen).
Meine Jails installiere ich mit:
Code:
# bsdinstall jail /usr/local/jails/<jail>

Wie nun die Inkonsistenz bzgl. Kernel und User-Land zustande kam, weiß ich nicht. Die Jails update ich einfach per
Code:
# freebsd-update -b /usr/local/jails/<jail> fetch install
Die Pakete aktualisiere ich mit pkg upgrade. Alles keine Raketenwissenschaft.
 
Falls noch jemand darüber stolpern sollte: mit Zwang lässt sich das Problem beheben:
Code:
#  freebsd-update -b /usr/local/jails/<jail> --currently-running 11.0-RELEASE -r 11.1-RELEASE upgrade
 
Der Fehler ist das dein Userland neuer ist als der Kernel. Nur die umgekehrte Richtung (Userland älter als Kernel) wird unterstützt. Deswegen meckern die Tools bei dir.
@Sickboy hat zwar mittlerweile bestätigt, dass das nicht stimmte, aber ich habe die Nummern gerade nochmal nachgeschaut: Userland der Jail war 1100122 (kam mit diesem Patch vom 22.08.2016), während der Kernel schon auf 1101001 war (eingeführt am 07.07.2017). Daher war Sickboys vorgehen jetzt ganz richtig.
 
Zurück
Oben