Nach einem Upgrade von 12.1 nach 13.1 fehlt die libncurses.so.8 und ich kann mich nicht mehr einloggen.

chris681

Well-Known Member
Hallo Forum

Wie im Titel schon steht kann ich mich nach einem Upgrade nicht mehr einloggen.
Ich habe auch schon im Single User Mode versucht etwas zu retten leider ohne erfolg.
Mein Rechner ist ein MacMini von 2009 (8GB Ram und 512GB SSD). Dateisystem ist ZFS.
Vor dem Upgrade war alles bestens. Und ja ich habe kein Backup :-(.
Habt Ihr Tips / Ratschläge was ich jetzt noch machen kann?
Ich weiss das im Single User Mode das zu lösen ist aber mir fehlt die Syntax dafür.
Achso Google habe ich auch schon bemüht aber nichts gefunden.

Ich freue mich auf eure Antworten.

Grüße Christian
 
Hallo Rob,

ich weiss es nicht genau ob mein Mini von USB booten kann.
Ich probiere es auf jeden fall aus.
Ist das memstick.img das richtige? Kann man das mit dd auf den
USB-Stick brennen?
Beim reparieren des Systems brauche ich deine Hilfe.
Ich melde mich wenn ich so weit bin. Das kann dauern.

Christian
 
Der dd Befehl zum brennen von ISO-Dateien ist doch der selbe wie bei
img. Dateien, sehe ich das richtig?
 
Was ist ein SNAP. Ich habe keine SNAPs.
Gemeint sind wohl ZFS-Snapshots.
Die kann man sich auch anzeigen lassen mit zfs list -t snapshot

Allerdings müsste man sich dafür einloggen können, was aber scheinbar bei Dir nicht geht?! Aber im Single-User-Mode kommst Du doch rein? Und wie ist die konkrete Fehlermeldung? Und wie hast Du das Upgrade konkret durchgeführt.
Deine Beschreibungen sind da etwas unvollständig.
 
Wie im Titel schon steht kann ich mich nach einem Upgrade nicht mehr einloggen.
Lass mich raten: Du hattest Dein System auf eine Shell wie z.B. Bash umgestellt ("Shell-Binary nicht vom Basissystem bzw. nicht im /bin-Verzeichnis"), und nach einem Update des Basissystems verblieb Deine Shell wegen noch außstehendem package-Upgrade noch in alter Version. Zumindest für root ist der Wechsel zu so einer Shell aus diesem Grund ne ganz blöde Idee.
Lösung: Irgend ein äquivalentes Installations-Medium booten, und dort die "Live-CD" wählen. Dein Laufwerk mounten, und anschließend dort die Datei "/etc/passwd" editieren: Bei Deinen Usern wieder eine Shell wie "/bin/sh" oder "/bin/tcsh" eintragen. Nach einen Reboot des normalen Setups sollte ein Login wieder klappen, und das package-Upgrade folgen.
Falls aber "nur" der grafische Login scheitert (und die Shell unverändert blieb): Zur ersten Konsole wechseln ([Strg-Alt-F1]), und dort textbasiert anmelden - und das Update mit einem package-Upgrade abschließen.
 
Hei Andy,

das Upgrade habe ich gemacht mit
freebsd-update -r 13.1-RELEASE upgrade
Nach einem Neustart versuche ich mich einzuloggen und da schmeisst er mich wieder raus
mit der Meldung er kann die libncurses.so.8 nicht finden.

Im Single User Mode bekomme ich keine Fehlermeldung weil ich gar nicht so weit komme.
Mir fehlt auch im Single User Mode (SUM) das Wissen wie ich dieses Problem beheben kann,
sprich die Befehle die ich dafür brauche. Mir ist vorher sowas noch nie passiert, daher weiss ich nicht
wie ich vorzugehen habe.
 
Lass mich raten: Du hattest Dein System auf eine Shell wie z.B. Bash umgestellt ("Shell-Binary nicht vom Basissystem bzw. nicht im /bin-Verzeichnis"), und nach einem Update des Basissystems verblieb Deine Shell wegen noch außstehendem package-Upgrade noch in alter Version. Zumindest für root ist der Wechsel zu so einer Shell aus diesem Grund ne ganz blöde Idee.
Lösung: Irgend ein äquivalentes Installations-Medium booten, und dort die "Live-CD" wählen. Dein Laufwerk mounten, und anschließend dort die Datei "/etc/passwd" editieren: Bei Deinen Usern wieder eine Shell wie "/bin/sh" oder "/bin/tcsh" eintragen. Nach einen Reboot des normalen Setups sollte ein Login wieder klappen, und das package-Upgrade folgen.
Falls aber "nur" der grafische Login scheitert (und die Shell unverändert blieb): Zur ersten Konsole wechseln ([Strg-Alt-F1]), und dort textbasiert anmelden - und das Update mit einem package-Upgrade abschließen.
Jo, ich glaube so war das.

Ich kann das noch retten das System?
 
Wo bekomme ich eigentlich ein LIVE-System her?
Auf https://download.freebsd.org/releases/ habe ich nichts gefunden.
Zumindest die disc1-ISOs bieten diese Option (kenne mich bei Macs zu powerpc/powerpc64/powerpc64le nicht aus - irgend ein bootbares "FreeBSD-13.1-RELEASE--disc1.iso"). Oder vielleicht auch einfach das Medium, mit dem Du die Kiste einst installiert hast? Du wirst beim Boot eines solchen Mediums gefragt, ob Du installieren möchtest, oder eine Shell willst, oder ein Live-System zum testen. Hier wählst Du das Live-System und hast alles zur Verfügung, um die in /etc/passwd gesetzte Shell zu ändern.
Es muss aber gar kein FreeBSD sein - jedes Live-System, das fähig ist Deine Festplatte schreibbar zu mounten kann genutzt werden.
 
ich boote in den Single User Mode, dann bitte er mir eine Shell an /bin/sh.
Na das klingt doch prima. Dann hast Du ja zumindest eine funktionstüchtige Shell.

Der Versuch /usr/local/bin/bash zu starten schlägt auch fehl.
Wozu? Bleib erst mal auf der sh-Shell und mach ein pkg upgrade -f (für den Fall das pkg nicht funktioniert nimm pkg-static upgrade -f) und alle Pakete zu aktualisieren (sollte man immer machen nach einem FreeBSD-Update; insbesondere bei einem Major-Versionswechsel). Danach sollte die Bash und der Rest auch wieder laufen.

(ich nehme mal an, Du hast jetzt nur Pakete installiert und keine Ports; bei Ports sehen die Befehle etwas anders aus)

Dann habe ich eine UK-Tastatur und ich komme nicht mehr weiter.
Der obige Befehl sollte auch so klappen. Allenfalls das - ist vielleicht etwas kritisch. Entweder das - vom Numblock nehmen oder herumprobieren.
Wenns mehr sein soll kannst Du aber auch mit kbdcontrol das deutsche Keyboard-Mapping laden:
kbdcontrol -l de
 
Moin, in FreeBSD 12 war ncurses im basis system enthalten, freebsd-update hat ne macke und wirft die alten files nicht zuverlässig weg, check src aus und mach
Code:
make delete-old 
make delete-old-libs

hatte das gerade an meinem Desktop und habe auch nen tag versucht mit libmap und shit den krams zu fixen bis ich auf einen beitrag auf der Mailingliste gestoßen bin (link habe ich leider nicht mehr).

Hoffe das hilft :)
 
Moin, in FreeBSD 12 war ncurses im basis system enthalten, freebsd-update hat ne macke und wirft die alten files nicht zuverlässig weg, check src aus und mach
Code:
make delete-old
make delete-old-libs

hatte das gerade an meinem Desktop und habe auch nen tag versucht mit libmap und shit den krams zu fixen bis ich auf einen beitrag auf der Mailingliste gestoßen bin (link habe ich leider nicht mehr).

Hoffe das hilft :)
Wie soll ich src auschecken wenn ich nicht ins System komme
 
irgendwas stimmt mit meinem Rechner nicht.
Die Tab-Vervollständigung funzt bei mir nicht.
Sofern die verwendete Shell dieses Feature bietet klappt das hier nicht, da unmittelbar vor dem, das vervollständigt werden sollte, sich kein Leerzeichen befindet - und somit technisch nicht zwischen einer 0815-Zeichenfolge und einem Datei-Pfad unterschieden werden kann. "Trick": Nach dem "=" temporär ein Leerzeichen tippen, und vor dem Abfeuern des Befehls wieder löschen. Dann kann man auch einen dd-Befehl vervollständigen lassen.
 
Zurück
Oben