Re: kein vi im Single User Modus moeglich

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Tue, 10 Feb 2009 09:10:43 +0100 (CET)

Polytropon <freebsd(at)edvax.de> wrote:
> Boh, Du beschreibst Probleme, da kanns einem wirklich fast vergehen
> mit dem besten Betriebssystem wo gibt. :-) *

Was er beschreibt, ist eigentlich völlig normal. Leider
geht das Handbook nicht auf die $TERM-Problematik im
Single-User-Mode ein.

Das Problem ist, dass in /etc/ttys folgender Eintrag der
Default ist:

# name getty type status comments
console none unknown off insecure

D.h. type "unknown". Der Sinn dahinter ist, dass init(8)
ja erstmal nicht wissen kann, mit was für einer Console man
kommt. Das kann ein serielles Hardware-Terminal sein, oder
ein PC mit Nullmodemkabel, auf dem Kermit oder sonstwas
läuft. Oder halt die lokale VGA-Console (syscons).

Daraus folgt: Wenn man im Single-User-Mode irgendwelche
bildschirmorientierte Anwendungen verwenden will, muss man
die Umgebungsvariable TERM passend setzen. Im Falle der
VGA-Console sollte man sie auf "cons25" setzen (oder auch
"cons25l1" für Latin-1-Zeichensatz, aber das ist relativ
egal, da man im Single-User-Mode vermutlich eher keine
Texte mit deutschen Umlauten editieren muss).

Übrigens, die "klassische" UNIX-Vorgehensweise ist natür-
lich, im Single-User-Mode nicht vi zu verwenden, sondern
den Zeilen-orientierten Editor ed(1). Üblicherweise sind
ja /usr und das root-Dateisystem sowieso getrennt, d.h.
vi ist im Single-User-Mode gar nicht vorhanden. ed(1)
funktioniert ganz ohne TERM, im Notfall sogar auf eine
elektrischen Schreibmaschine (ohne Display).

Noch ein Tip: Wenn man bei der /bin/sh, die man im Single-
User-Mode bekommt, das Kommando "set -E" eingibt, dann
kann man die Cursor-Tasten verwenden, inkl. History, und
das funktioniert notfalls auch ohne TERM.

> Allerdings kann es sein, daß im Falle fehlenden /usr-Baums
> (z. B. wenn auf anderer Partition, die noch nicht montiert ist), die
> termcap-Datei nicht gefunden werden kann.

Das ist nicht Heinos Problem, sonst würde er schon vi gar
nicht finden (liegt in /usr/bin), siehe oben.

> Normalerweise sollte vi aber funktionieren, eine TERM-Umgebung ist ja auch
> im SUM verfügbar (wäre ja sonst Quatsch, weil man dann ja nichts halbwegs
> ordentlich editieren könnte).

Genau das ist nicht der Fall. TERM ist per Default im
Single-User-Mode nicht gesetzt, siehe oben. Und natürlich
kann man "halbwegs ordentlich editieren", nämlich mit ed,
wobei ich zugeben muss, dass "halbwegs ordentlich" sehr
subjektiv ist.

Wenn man ed(1) nicht mag, muss man entweder /usr mounten
(siehe FreeBSD-Handbook), oder -- wenn das nicht geht --
von Fixit-CD o.ä. booten.

> *) Ich benutze FreeBSD schon seit 4.0 und habe seit 7.0 nix als Scherereien,
> kann daher die eine oder andere Frustration durchaus verstehen, dennoch
> wackelte meine Überzeugung, für meine Zwecke das beste OS zu nutzen, noch
> nicht - dies nurmal zur freundlichen Klarstellung, warum ich manchmal von
> der Rolle falle. :-)

Deine Frustration ist verständlich. Würde mir sicherlich
in so einer Situation ähnlich gehen.

Aber vielleicht solltest Du beim nächstenmal nicht grundlos
wichtige Dinge aktualisieren. Das ist jetzt nicht böse
oder hämisch gemeint, sondern soll nur ein Tip sein.

Gerade bei den Ports sollte man *IMMER* im Hinterkopf be-
halten, dass es dort keinen "stable"-Branch gibt. Die
Ports sind immer "current". Entsprechende Vorsicht sollte
man beim Updaten von wichtigen Ports walten lassen. Wer
auf Nummer Sicher gehen will, sollte nur zu den Releases
updaten, wenn die Ports eingefroren sind und umfassenderen
Tests im Rahmen des Release-Prozesses unterworfen sind.

Gruß
   Olli

-- 
Oliver Fromme, secnetix GmbH & Co. KG, Marktplatz 29, 85567 Grafing b. M.
Handelsregister: Registergericht Muenchen, HRA 74606,  Geschäftsfuehrung:
secnetix Verwaltungsgesellsch. mbH, Handelsregister: Registergericht Mün-
chen, HRB 125758,  Geschäftsführer: Maik Bachmann, Olaf Erb, Ralf Gebhart
FreeBSD-Dienstleistungen, -Produkte und mehr:  http://www.secnetix.de/bsd
"A language that doesn't have everything is actually easier
to program in than some that do."
        -- Dennis M. Ritchie
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Tue 10 Feb 2009 - 09:10:48 CET

search this site