Hilfe zu Antworten aus dem Forum
Du hast Linux das erste Mal installiert, irgend etwas funktioniert nicht, also hast du eine Frage ins Forum gesetzt. Mit der Antwort kannst du jedoch überhaupt nichts anfangen. Ein Antwortender im Forum kann nicht immer einschätzen, welche Vorkenntnisse du mitbringst, und da kann es schon mal passieren, dass du eine kurze und knappe Antwort bekommst. Deshalb hier mal einige häufige Probleme mit den Antworten aus dem Forum.
Inhaltsverzeichnis
gib mal folgendes ein
Der Anworter möchte, dass du in einer der Konsolen einen Befehl eingibst, hat aber übersehen, dass du dich gar nicht anmelden kannst, und du noch nie etwas von einer Konsole gehört hast. Wo sollst du denn jetzt den Befehl oder die Zeile eingeben ?????
Linux ist voll über die Komandozeile steuer- und bedienbar, die grafische Oberfläche ist quasi nur oben draufgelegt. Dort hin kannst du dich deshalb auch jederzeit bei Problemen hinretten. Es gibt verschiedene Möglichkeiten um dort hin zu gelangen. Erwarten tut dich dort eine Konsole, die ähnlich funktioniert wie die DOS-Kommandozeile innherhalb von Windows. Dort arbeitet eine Shell, die deine Eingaben entgegennimmt und ausführt. Ganz am Anfang wirst du wahrscheinlich ein paar Fragen haben wie zb Grundkommandos und Einführung sowie Einführung in das Dateisystem und Editoren für die Konsole, dich aber schon nach kurzer Zeit einigermaßen zurechtfinden.
Viele Linuxdistributionen starten beim Booten mehrere unabhängige Terminals oder Konsolen. Du erreichst sie mit den Tastenkombinationen STRG+ALT+F1 bei Suse zB bis STRG+ALT+F6 und kannst mit diesen Tastenkombinationen jederzeit dort hin und her wechseln. Auf der ersten Konsole sind auch die letzten Bootausgaben wahrscheinlich noch sichtbar. Mit der Tastenkombination STRG+ALT+F7 würdest du die erste Grafische Oberfläche finden, bei STRG+ALT+F8 eine eventuell zusätzlich gestartete 2 Grafische Oberfläche. Bei einigen Distributionen findest du auch noch einen Systemlog, bei Suse zB auf STRG+ALT+F10.
An den Konsolen musst du dich mit einem Usernamen und einem Passwort anmelden. Achtung: das Passwort muss dort blind eingegeben werden. es erscheinen also keine ****** und der Cursor bewegt sich dabei auch nicht. Bestätigen natürlich mit ENTER :-)
Innerhalb der Grafischen Oberflächen gibt es mehrere Programme, die auch Terminals und Konsolen als Fenster innerhalb der Grafischen Oberfläche bereitstellen, Dort brauchst du dich nicht anzumelden, da sie eindeutig dem Benutzer der grafischen Oberfläche zugeordnet werden, und der hat sich zu diesem Zeitpunkt schon angemeldet. Diese Programme findest du zB unter Menüpunkten wie System -> Terminals und könnten xterm oder einfach nur terminal heißen.
Die Konsolausgabe ins Forum posten
Dazu ist es am besten, wenn ihr ein X-Terminal, also ein Konsolfenster innerhalb der Grafischen Oberfläche öffnen könnt. Dort dann den Befehl ausführen und die Ausgabe markieren. Entweder könnt ihr das markierte dann direkt im Webbrowser in eure Antwort einfügen (oft mittlere Maustaste) oder über copy beim xterminal und paste im Browser einfügen. Bitte nicht vergessen, das ganze in [code] [/code] einzuschließen, damit es im Forum vernünftig aussieht und leichter lesbar ist.
Konsolausgabe ins Forum posten, wenn Grafisch nichts geht
Wenn keine grafische Oberfläche startbar ist und ihr deshalb auch keinen Browser auf diesem Rechner habt, mit dem ihr direkt posten könnt, auch kein zweiter Rechner da ist, mit dem remote auf diesen Rechner zugreifen kann, wird es etwas komplizierter. Solange Linux ansonsten voll einsatz- und funktionstüchtig ist, sollte es in den meisten Fällen möglich sein, einen USB-Stick oder eine SD-Karte oä. an das System anzuschließen. Einfach einmal anschließen und 10 Sekunden warten. Anschließend (bei Suse) auf der Konsole mal mit cd in das Verzeichnis /media wechseln und dort mit ls etwas umsehen. Die Schritte im einzelnen: Konsole wie oben beschrieben öffen und anmelden. ZB einen USB-Sick anschließen
cd /media ls
Als Ergebniss erhaltet ihr wahrscheinlich bei Erfolg irgend so was hier.
.hal-mtab .hal-mtab-lock disk
Von interesse ist hier im Beispiel das Verzeichnis disk, das kann aber bei euch auch ganz anders heißen, könnte zB den Namen eures USB-Sticks haben und es könnten sich auch noch mehrere dort befinden. In dieses Verzeichnis wechseln und dort umschauen, was es für Dateien dort schon gibt.
cd disk ls
Bei aktuellen Distributionen ist das Einhängen von Wechseldatenträgern eine Dienstleistung der jeweiligen grafischen Oberfläche, daher ist das Verzeichnis /media üblicherweise leer. Das Einhängen ist manuell vorzunehmen. Mit dem als root ausgeführten Befehl
ls -l /dev/disk/by-id/usb*
kann der USB-Stick identifiziert werden, die rechts stehende device /dev/sdXY der Partition wird zum Einhängen verwendet:
mount /dev/sdXY /media
(X und Y sind der Ausgabe des ls-Befehls zu entnehmen).
Jetzt könnt ihr euren Befehl eingeben, dessen Ausgabe hier gewünscht wird. Die Ausgabe erhaltet ihr erstmal auf der Konsole, das nützt noch wenig. Den Befehl noch einmal eingeben und hinter den Befehl > Dateinam.txt schreiben. Wobei Dateinam.txt ein von euch frei wählbarer Dateiname ist, der natürlich nicht schon vorhanden Dateien auf dem USB-Stick überschreiben sollte, also aufpassen, welchen Dateinamen ihr wählt.
befehl > Dateinam.txt
eine eventuelle Fehlermeldung würde dabei nicht mit in die Datei geschrieben, sondern würde weiterhin auf der Konsole landen. Oftmals ist auch diese Fehlermeldung noch von Interesse. Sowohl die normale Befehlsausgabe als auch die Fehlerausgabe in eine Datei umleiten geht zB wie folgt.
befehl > Dateiname.txt 2>&1
Den Erfolg könnt ihr euch schon mal anschauen, indem ihr eure angelegte Datei mal probehalber auslest.
cat Dateinam.txt
sollte das selbe anzeigen wie vorhin der Befehl ohne die Umleitung in die Datei.
sollte der geforderte Befehl in einem bestimmten Verzeichnis des Rechner abgegeben werden müssen, dann einfach beim Dateinamen den vollen Verzeichnispfad zu der Datei auf dem USB-Stick angeben zB
befehl > /media/disk/Dateinam.txt
ausleseen dann analog, (Das ist dann auch der Befehl, um das auf einem anderen Linuxrechner wieder von konsole auszulesen. Bei längeren Dateien ist jedoch more besser, da man dann im Text besser navigieren kann.)
cat /media/disk/Dateinam.txt
Werden Informationen von mehreren Befehlen benötigt ist es natürlich sehr mühselig die Ausgaben alle einzeln in Dateien umzuleiten. Auf vielen Linuxsystemen sollte es den Befehl script geben. Damit lassen sich ganz automatisch alle Ausgaben von der Konsole parallel auch in eine Datei schreiben. Aufruf zB.
script dateiname.log
Jetzt werden alle Ausgaben automatisch auch in die Datei dateiname.log geschrieben. Wenn es auf den USB-Stick soll, müsst ihr natürlich den kompletten Verzeichnisbaum zur Datei auf dem USB-Stick mit angeben. Beendet wird das ganze mit dem Schließen der aktuellen Shell also zB durch exit oder STRG + D
An dieser Stelle jetzt aber nicht einfach den USB-Stick entfernen. Für den absolut unerfahrenen Anfänger hier am besten den Rechner herunterfahren, ihr werdet den Rechner wahrscheinlich sowieso mit einem anderen Betriebssystem benötigen. Runterfahren geht nur als User root Befehle dazu in absteigender Reihenfolge ausprobieren.
shutdown -h now init 0 halt
eventuell auch STRG+ALT+ENTF. Irgendetwas davon sollte funktionieren und den Rechner ausschalten.
Wenn das Einhängen wie oben beschrieben manuell erfolgt ist, kann der USB-Stick nach Durchführung der Befehle
sync umount /media
entfernt werden.
Jetzt könnt ihr euren Rechner zB mit Windows starten und die Datei auf dem USB-Stick auslesen und hier her posten. Die Datei bitte mit WordPad offnen, da sonst eventuell das Format nicht als Unix erkannt wird und alles in einer Zeile steht.
Konsolausgabe ins Forum posten wenn der Rechner beim booten hängen bleibt
Wenn der Rechner früh hängen bleibt und somit die Dienste noch nicht laufen die zB automatisch USB einbinden. Ist eventuell das Rootfilesystem "/" schon zum schreiben geöffnet. Ihr müsst euch hier wahrscheinlich sowieso erstmal als Root anmelden. Testen ob das Root-Verzeichnis schreibbar ist geht mit dem Befehl mount Kommt als Ergebnis unter anderen folgende Zeile
/dev/sda2 on / type ext3 (rw,acl,user_xattr)
Die Zeile wird bei euch etwas anders aussehen. Wichtig ist das "/" hinter on das ist das Rootfilesystem und die Option "rw" in der Klammer, die sowie bedeutet wie Read-Write also Lesen und Schreiben. Das Gegenteil davon währe "ro" (Readonly) also nur Lesbar
Ist dieses Dateisystem zum Schreiben geöffnet, so kann auch eine Datei darin angelegt werden, in der ihr die Ausgabe des Befehles umleiten könnt, wie steht etwas weiter oben. Als Ablageort empfiehlt sich das Verzeichnis /tmp , also zB nach > /tmp/Dateinam.txt als Umleitung für die Ausgaben nutzen, dann sollte es auf den meisten Rechnern im Rootfilesystem im Verzeichnis /tmp ankommen. Den Inhalt dieser Datei könntest ihr zB dann aus einem Livesystem heraus ins Forum posten.
Ist das Rootfilesystem nur zum Lesen eingebunden, (dann wird wohl erstmal ein Filesystemcheck angebracht sein.)
Konsolausgabe ins Forum posten wenn gar nichts mehr geht
Im frühen oder sehr frühem Bootstatus sind vor allem die Meldungen und Fehlerausgaben des Rechner von interesse. Zwar wird es in den meisten Fällen durchaus möglich sein, sich diese Ausgaben über ein Null-Modem-Kabel in eine Terminalemulation eines anderen Rechners einzulesen, aber das ist eine Option ehr für die Profis und solche die schon wissen was ein Null-Modem-Kabel überhaupt ist. ;-)
In den meisten Fällen müßte hier also die Ausgabe des Rechners oder die Fehlermeldung wirklich abgeschrieben werden und dann von einem anderem Rechner gepostet werden. Aber bitte in solchen Fällen möglichst genau abschreiben und nicht "Error irgendwas Parition" damit kann niemand wirklich was anfangen. Hin und wieder war es auch recht nützlich einfach den Bildschirm zu fotografieren und den Link auf das Foto ins Forum zu posten. Wenn wirklich die relevante Fehler-Meldung dabei rüberkommt, ist es immerhin noch eine Alternative, wenn auch nicht die Schönste.
als root folgendes eingeben
Der Antwortende möchte, das du auf einer Konsole, siehe oben, eine Eingabe unter einer bestimmten User-Kennung vornimmst, und zwar die des Systemadministrators.
Der System-Administrator und Linux und anderen Unix-Betriebssytemen heißt immer root. Diese Userkennung hat so gut wie keinerlei Beschränkungen, bzw. könnte sich mit eventuellen weiteren Befehlen über jede Beschränkung innerhalb des Betriebssystems hinweg setzten, so das dieser User alles mit dem Rechner machen könnte. Viele Systemverwalter Befehle können nur mit dieser Userkennung ausgeführt werden, und auch an einige wichtige Logdateien kommt man ohne diese Userkennung gar nicht heran. Ein permanentes Arbeiten unter Linux unter dieser Kennung ist allerdings sehr gefährlich. Ein Root-Passwort wird schon während der Installation abgefragt und vergeben, und wird natürlich für die Anmeldung oder eines Userwechsels benötigt.
Also entweder man meldet sich auf einer Konsole in der Anmeldung als User root an, oder wechselt mit dem Befehl
su -
innerhalb einer Userkonsolsitzung den User. Abmelden dann nicht vergessen. also entweder exit oder STRG+D beendet eine so geöffnete Shell, und man kann als normaler User weiterarbeiten. Weitere Möglichkeiten als root Befehle oder Progamme auszuführen gibt es ebenfalls hier
man irgendwas
Der Antworter möchte dich darauf aufmerksam machen, dass die Antwort auf deinen Frage in der Dokumentation leicht zu finden ist
Auch Hinweise wie RTFM oder Schlagworte wie Manpage gehen genau in diese Richtung. Linux bringt anders als Windows ein sehr umfangreiches Hilfesystem und Beschreibung für die meisten Befehle gleich mit. Bei den meisten Distributionen werden umfangreichte Dokumentationen und Hilfen schon bei der Installation angelegt bzw. sie werden mit den einzelnen Programmpaketen mit installiert. Es gibt die Manpages, die Infoseiten einprogramierte Help-Option in sehr vielen Befehlen und zusätzlich noch Dokumentationen und Howtos die oft schon auf deinem Rechner mit installiert sind.
Eine Einführung in die Nutzung der Online Hilfe weiter hilfreiche Links für Neulinge und die Links zu den Handbüchern gibts hier im Wiki
was sagt denn irgendwas
Es gibt eine ganze Reihe sehr häufig im Forum für eine Hilfe erforderliche Dateiinhalte oder Ausgaben von Befehlen, oftmals wird vom Antworter vorausgesetzt das beim Schlagwort bekannt ist, ob es sich um einen Befehl oder eine Datei handelt und das auch die genaue Position innerhalb des Dateisystems bekannt ist, sowie der Befehl zur Ausgabe des Dateiinhaltes
Das Problem hierbei, es ist für einen absoluten Neuling manchmal überhaupt nicht ersichtlich, handelt es sich nun um eine Datei oder einen Befehl, oder um irgend ein Programm, hier mal einige häufige Schlagworte in Tabellenübersicht, eine solche Tabelle kann aber nie vollständig werden, deshalb im Zweifelsfall mal nach diesem Schlagwort innerhalb des Forums mit der Suchfunktion suchen.
Schlagwort | Type | was tun | Bedeutung des Inhaltes der Ausgabe |
---|---|---|---|
df | Befehl | als normaler User in einer Konsole ausführen | zeigt die Größe und die belegte und verfügbare Kapazität der Filesysteme an |
ls | Befehl | als normaler User in einer Konsole ausführen, eventuell muss vorher mit dem Befehl cd erst in das betreffende Verzeichnis gewechselt werden <ref name="Option ls"> wird oft mit der Option "-l" benutzt, es handelt sich dabei um ein kleines "L" nicht um eine "1" oder um ein Großes "i" </ref> | listet die Dateien des aktuellen Verzeichnisses auf |
mount | Befehl | als normaler User in einer Konsole ausführen | zeigt wenn keine weiteren Optionen verwendet werden die aktuelle ins System integrierten Dateisysteme, (sind weiter Optionen dort angegeben siehe hier) |
fstab | Datei | "cat /etc/fstab" in Konsole ausführen | enthält die Konfiguration der Dateisysteme |
menu.lst | Datei | "cat /boot/grub/menu.lst" als Root in Konsole auführen | enthält die Konfiguration des Bootloaders GRUB Legacy |
device.map | Datei | "cat /boot/grub/device.map" als Root in Konsole ausführen | enthält eine Zuordnung der vom Bios gemeldeten Plattenreihenfolge für den Bootloader Grub |
grub.conf | Datei | "cat /etc/grub.conf" als Root in Konsole ausführen | enthält eine Suse-Yast-typische Konfigurationsdatei für den Bootloader, deren Inhalt hin und wieder für bestimmte Bootprobleme bei GRUB Legacy verantwortlich ist. |
dmesg | Befehl | als user in Konsole ausführen <ref name="lange Datei">Die Ausgabe wird sehr umfangreich, ohne spezielle Kenntnisse wird es oft schwer wirklich die relevanten Informationen da herauszufinden, sind keine speziellen Fehler, keine anderen Auswahlkriterien oder der Dateianfang oder -ende gemeint, dann bitte keine Monsterpostings sondern erst mal hier lesen </ref> | enthält die Meldungen des Linuxkernels seit dem booten |
messages | Datei | "cat /var/log/messages" als root in Konsole ausführen <ref name="lange Datei"> </ref> | enthält den Großteil der gesammelten Logs des Systems |
fdisk | Befehl | "fdisk -l" in Konsole als root ausführen <ref name="Option ls"> </ref> | gibt die Partitionstabellen aller im System befindlicher Festplatten aus |
lspci | Befehl | "lspci" in Konsole als root ausführen <ref name="Optionen"> wird manchmal auch mit weiteren Optionen benötigt </ref> | listet die sich im Rechner befindenden PCI-Geräte und Kontroller auf, die Ausgabe ist stark abhängig eventueller weiter Optionen |
lsusb | Befehl | "lsusb" in Konsole als root ausführen <ref name="Optionen"> </ref> | listet die sich am Rechner befindenden USB-Geräte auf |
Benötigt wird in den allermeisten Fällen eine wirklich genaue Ausgabe solcher Befehle und Dateien bzw. Teilen davon. Die Ausgaben also möglichst nicht abschreiben sondern kopieren und einfügen und hier als Code-markiert (in Ausnahmen auch also Quote-markiert) ins Forum posten. Es kommt besonders bei Konfigurationen und Fehlermeldungen gelegentlich auf winzige Kleinigkeiten an. In vielen Fällen werden die Ausgaben so lang, dass sie nicht auf eine Bildschirm-Seite passen. Für das direkte posten ins Forum sind sie dann meist sowieso zu lang <ref name="lange Datei"> </ref> , aber ihr habt bestimmt von Antworter einen Hinweis erhalten nach was ihr in der Ausgabe Ausschau halten sollt. Im Zweifelsfall sind es Zeilen mit ERROR oder ähnlichen Auffälligkeiten oder sich ständig wiederholende Zeileninhalte. Es gibt dafür 2 prinzipielle Lösungen, entweder ihr schreibt die Ausgabe des Befehles nicht auf den Bildschirm sondern in eine Datei, und schaut euch diese dann anschließend an. Dazu auf der Konsole an das Ende des Befehles ein Umleitungssymbol " > " und den gewünschten Dateinamen also zB. um die Kernelmeldungen seit dem booten des Rechners in die Datei /tmp/boot.log zu schreiben, um sie später anzuschauen.
dmesg > /tmp/boot.log
die andere Möglichkeit, einen Pager verwenden, der euch einen seitenweise Anzeige ermöglicht. Häufig wird unter Linux more verwendet. Bei Dateien einfach die Datei mit more öffnen.
more Datei
bei Konsolausgaben die Ausgabe eines Befehles durch einen Pipe " | " an more übergeben
dmesg | more
Zeilenweise nach vorne geht es dann mit Enter, Seitenweise mit der Leertaste oder mit z und Beenden mit q (wie Quit). Hilfe gibt es mit h . Weitere Grundlagen zu Ausgabeumleitung findet ihr auch hier
mach mal init 3
Oftmals in Verbindung mit Grafikartenproblemen, der Antworter will dir damit sagen, du sollst mal den Runlevel ändern.
Es gibt im Linux verschiedene Systemzustände (Runlevel). Nach der Installation von Linux auf Desktop-Rechnern wird im Normalfall automatisch Runlevel 5 gestartet, der die grafische Oberfläche startet. Gibt es hier direkt nach der Installation zB Problem mit der Grafikkarte, ist es oftmals erforderlich zur Diagnose und Behebung des Fehlers den Runlevel zu ändern. Runlevel 3 würde bedeuten, volle Funktion des Rechners aber grafische Oberfläche nicht automatisch starten. Zum ändern des Runlevels eines laufenden Rechners dann zuerst einmal auf eine Konsole wechseln also zB STRG+ALT+F2 und dort als root anmelden. Dann dort in der Konsole folgenden Befehl abgeben
init 3
eine andere Möglichkeit den Rechner beim booten anweisen in den Runlevel 3 zu starten. Wenn nach dem einschalten des Rechners sich der Bootloader mit dem Menü meldet, dann in die Zeile für Bootoptionen nur eine
3
am Ende zusätzlich reinschreiben und mit Enter das System starten. Der Rechner wird jetzt den Runlevel 3 starten und euch auf einer Konsole mit einer Loginaufforderung begrüßen. Von hier könnt ihr jetzt nach der Anmeldung die Befehle ausführen die der Antworter euch vorgeschlagen hat.
Nach erfolgreicher Reparatur oder Umkonfiguration der Grafikarte könnte ihr von dort aus direkt mit
init 5
wieder den normalen Runlevel und damit die grafische Oberfläche starten.
mounte oder umounte mal irgendwas
Der Antworter möchte dir damit sagen, du sollst mal am Dateibaum von Linux ein Filesystem zusätzlich einhängen oder aushängen, um zB eine Datei auf einem anderem derzeit nicht zugänglichen Filesystem auslesen zu können
Es ist ein etwas komplexes Thema und eine etwas umfangreichere Einführung gibt es hier. An dieser Stelle nur ein Universal-Konzentrat ohne Tiefgang.
Linux verwendet einen verzweigten Dateibaum, in dem alle Filesysteme integriert sind, und der beliebig erweiterbar ist. Normalerweise erledigt das Linux automatisch über eine Konfigurationsdatei (/etc/fstab) oder über Funktionen des Plug & Play Systems. Manchmal sollen jedoch auch mal auf die Schnelle unkonfigurierte Filesysteme aus irgend einen Grund kurzzeitig eingehängt werden. Das Filesystem ist dann das irgendwas in der obrigen Aufforderung, und befindet sich in der Regel auf einer Partition eines Datenträgers, und dieser Name wird gebraucht, oder ist euch genannt worden. Auf neueren Susesystemen sind folgende Namen für Datenträger zu erwarten (zB : sda ist die erste Platte sdb die zweite usw. und Partitionsbezeichnungen wird als Zahl dahinter gesetzt. (sdd3 ist also die 4 Platte die dritte Partition)
Der Name allein reicht nicht, wir brauchen den Geräteknoten von Linux dazu. Das ist eine spezielle Datei selbigen Namens die sich im Verzeichnis /dev befindet. Für das Filesystem auf der 4. Platte in der 3. Partition ergibt sich also der komplette Name "/dev/sdd3" als das komplette irgendwas was wir benötigen.
Wir benötigen noch eine leeres Verzeichnis als den Einhängepunkt unseres Filesystems. Linux hat für den temporären Gebrauch dafür schon eines vorgesehen /mnt
Der Befehl dazu lautet mount und ist in diesem Fall als root auszuführen. Meist reicht er so.
mount /dev/sdd3 /mnt
Also Filesystem 4.Platte 3.Partition in /mnt einhängen. Die Dateien in dem Filesystem sind dann unter ihrem Namen mit vorgestelltem /mnt zu erreichen. also die Datei bild1 im Verzeichnis bilder in diesem Dateisystem als /mnt/bilder/bild1. Oder man wechselt das Verzeichnis mit cd in das entsprechende Verzeichnis.
cd /mnt/bilder
Aushängen geht dann ähnlich, wir benötigen dafür allerdings nur entweder unser komplettes irgendwas oder das Verzeichnis in das das Filesystem eingehängt ist. Der Befehl dazu lautet umount
umount /mnt
würde das oben eingehängte Filesystem also wieder aushängen. ( Voraussetzung dafür das das funktioniet ist jedoch, das derzeit niemand mehr auf eine Datei dieses Filesystems zugreift und wir auch nicht selbst uns noch mit dem aktuellem Dateisystemabschnitt aufhalten ) Im Zweifelsfall oder bei Problemen mit dem aushängen, lassen wie es ist, beim nächsten Reboot des Rechners regelt sich das von selbst.
mach mal fsck irgendwas
Der Antworter will dir hier verständlich machen, dass das Fehlerbild eventuell auch auf einen Filesystem-Error hindeuten könnte, und möchte dir raten mal das Filesystem zu überprüfen und reparieren zu lassen.
Dieses ist ein etwas komplexeres Thema, da es dabei verschieden Szenarien geben kann, hier einige Ausführungen die dem Linuxneuling in den meisten Fällen weiterhelfen soll. (Wir beschränken uns hier im Speziellen auf den Defaultfall bei Suse und die ext2/ext3 Filesysteme, eventuelle anderen Linuxfilesysteme (Ausnahmen bestätigen die Regel) würden mit den vorgestellten Befehlen auch automatisch repariert, bei einigen Filesystemen gibt es auch speziellen Optionen auf die hier nicht eingegangen wird.)
Zuerst aber einmal. Wir prüfen und reparieren Filesysteme immer in dem Betriebssystem zu dem das Filesystemtypen passen. Also ext2, ext2, reiserfs usw von Linux aus und ntfs, vfat usw von Windows aus. Mit einem BMW fährt man bei bestimmten Problemen auch nicht in einen VW Werkstatt und alleine die Tatsache das man ein Filesystem lesen und beschreiben kann, bedeutet noch nicht, das man es auch wirklich richtig reparieren kann.
Linuxfilesysteme werden beim booten überprüft, aber nicht immer und jedes mal wirklich vollständig. das dauert sonst je nach Größe manchmal viele Minuten bis Stunden. Und nur ganz selten ist es wirklich notwendig, da andere Mechnismen das recht gut abfedern. Es ist also dennoch jederzeit auch mal möglich, das im Filesystem kleinere oder größere Strukturfehler enthalten sind, die recht seltsame Fehler produzieren können.
Die einfachste Möglichkeit: alle beim booten automatisch prüfen lassen
als Root an einer Konsole anmelden, und folgenden Befehl eingeben.
touch /forcefsck
Danach den Rechner rebooten. Der Befehl legt eine leere Datei an, die den Rechner dazu bringt, beim nächten Booten alle Linuxfilesysteme die er automatisch prüfen soll, wirklich komplett zu überprüfen und automatisch zu reparieren. Das kann je nach Größe und Anzahl der Platten eine ganze Zeit dauern, den Fortschritt könnt ihr auf der Bootkonsole verfolgen.
Alternativ:die Filesysteme von einem anderem Linux aus prüfen
Dazu muss man die Platten,Partitionen und deren genaue Namen kennen die ein Linuxfilesystem beherrbergen und zu diesem System gehören.
mount | grep ext
zeigt zum Beispiel in aktuellem System alle derzeit aktiven ext2/ext3 Filesysteme, in der Ausgabe
/dev/sda2 on / type ext3 (rw,acl,user_xattr) /dev/sda3 on /home type ext3 (rw,acl,user_xattr)
die beiden Partitionen /dev/sda2 und /dev/sda3 währe in diesem Beispeil das, was wir uns merken müssten.
Danach zB von einer Live-CD oder ein anderes Linux auf diesem Rechner booten. Sicher stellen das diese Partitionen nicht gemountet sind. Dazu den Befehl mount absetzen und nachschauen, das diese "gemerkten" Partitionen nicht dabei sind. Sollten sie dennoch hier in der Ausgabe enthalten sein, müssten wir sie aushängen.
Als root am System anmelden.
umount /dev/sda2 umount /dev/sda3
Beide Befehle sollten ohne irgendwelche Ausgaben durchlaufen. und die Partitionen hinterher mit mount nicht mehr sichtbar sein
Danach können (ebenfalls nur als Root) die Filesysteme überprüft und repariert werden.
fsck -f -y /dev/sda2 fsck -f -y /dev/sda3
Die Ausgaben hier können insbesondere wenn Fehler im Filesystem repariert werden, recht lang werden. Diese Befehle bitte nicht vorzeitig abbrechen auch wenn sie etwas länger dauern. Ist etwas größeres zu reparieren sorgt die mitgegebenen Option -y dafür, das wir immer dafür sind und alle Reparaturvorschläge von fsck akzeptieren. (Alle andere Entscheidungen könnten eh nur absolute Spezialisten richtig treffen) Sind die Befehle durchgelaufen, kann dieses Linux beendet werden und das nomale Linux wieder gestartet werden.
Der Ernstfall, Linux bleibt beim booten beim fsck stehen
Nicht alle Fehler werden beim automatischen Prüfen der Filesysteme auch automatisch behoben. Bei schwerwiegenden Fehlern wird der Bootvorgang an dieser Stelle abgebrochen und der User aufgefordert den Filesystemcheck per Hand selbst anzustoßen. Nicht das Linux das nicht reparieren könnte, aber man wird eben aufgefordert hier bestimmte Aktionen abzunicken, das hinterher niemand sagen kann, Linux und der fsck ist schuld das jetzt meine Daten im Eimer sind ;-) Diese Situation kann sowohl beim forcierten fsck (wie wir es oben vorgestellt haben), als auch bei irgend einem automatisch in regelmäßigen Abständen gestarteten kompletten Filesystemcheck einmal auftreten.
Wir müssen hier 2 Szenarien unterscheiden, entweder es ist das Rootfilesystem oder es ist ein anderes Filesystem als das Rootfilesystem, das man dazu naturlich das Passwort von root benötigt, sollte jetzt jedem klar sein.
fsck Fehler im Rootfilesystem
Beim scheitern von fsck im Rootfilesystem erscheint kurz vor der Aufforderung der Anmeldung folgender Absatz
fsck failed. Please repair manually and reboot. The root file system is currently mounted read-only. To remount it read-write do: bash# mount -n -o remount,rw / Attention: Only CONTROL-D will reboot the system in this maintanance mode. shutdown or reboot will not work.
Hier ist das Rootfilesystem noch readonly eingehängt. Bestimmte Befehle werden deshalb auch nicht oder nicht richtig funktionieren, desshalb auch der Hinweis auf den wichtigen Befehl zum eventuellen umhängen des Rootfilesystems zum "Read-Write". Aber wir brauchen eigentlich nur einen einzigen Befehl hier.
/sbin/fsck -f -y /
- die Option -f bedeutet wirklich kompletten filesystemcheck
- die Option -y bedeutet alle eventuellen Fragen automatisch mit "JA" beantworten
- die Option / : das ist das Rootfilesystem, (braucht hier nicht als /dev/... angegeben zu werden.)
Da das Filesystem hier an dieser Stelle jedoch schon readonly gemountet ist, erhalten wir eine Fehlermeldung wegen genau diesem Umstand. Das ist hier in diesem Fall relativ ungefährlich da ja sonst noch nichts weiter läuft, und wir müssen hier an dieser Stelle jetzt da durch, also soll er fsck auch durchführen, obwohl das Filesystem gemountet ist, anders geht es an dieser Stelle nicht.
Ist der Befehl durchgelaufen, dann mit "CONTROL-D" den Rechner rebooten. (Achtung die Tastatur wird hier auf Englisch stehen, und viele andere Befehle nicht funktionieren, bzw müssen mit kopletten Path angegeben werden, damit sie überhaupt erst einmal gefunden werden.
fsck Fehler jedoch nicht Rootfilesystem
Wenn ein anders Filesystem als das Rootfilesystem betroffen ist, steht kurz vor der Anmeldeaufforderung folgender Text.
fsck failed for at least one filesystem (not /). Please repair manually and reboot. The root file system is is already mounted read-write. Attention: Only CONTROL-D will reboot the system in this maintanance mode. shutdown or reboot will not work.
Prinzipell gehen wir hier genauso vor, nur ist nicht immer sofort erkennbar welches andere Filesystem denn nun betroffen ist. Das gilt es erst zu ermitteln. Wenn außer Rootfilesystem nur noch /home zum System gehört, muss es dieses sein, sind jedoch mehrere da, dann müssen wird das ermitteln. Der Befehl mount hilft uns einen Überblick zu verschaffen was schon alles da ist. bzw was fehlt
/bin/mount
ist jetzt und mit dem Vergleich zur Datei /etc/fstab immer noch nicht klar, welches Filesystem nun das betreffende ist, versuchen wir einfach mal alle Filesysteme automatisch einzuhängen.
/bin/mount -a
Jetzt müsste eine Fehlermeldung kommen welches Filesystem sich nicht einhängen läßt, weil es einen fsck benötigt. Auf dieses Filesystem starten wir jetzt fsck. zB
/sbin/fsck -f -y /home
Das Filesystem kann entweder mit seinem Deviceknoten also zB /dev/sda4 oder seinem Einhängepunkt zB /home angesprochen werden, eine Zuordnung nimmt Linux automatisch an Hand der Datei /etc/fstab vor.
Prinzipell ist es auch möglich das hier mehrere Filesysteme betroffen sind oder nicht eingehängt werden können, weil das darunterliegende betroffen ist. Wir können mit /bin/mount -a jedoch solange probieren bis hier alle Filesysteme eingehängt sind und eventuell auch noch weitere noch reparieren. Danach wieder mit "CONTROL-D" den Rechner rebooten.
Hinweis: Dieser Abschnitt des Artikels handelt explizit von sax2 das ab opensuse Version 11.3 nicht mehr verfügbar ist. Das Programm ist in den neueren Versionen von OpenSuse nicht mehr vorhanden und wird dort auch nicht mehr wirklich benötigt, da Xorg hier eine sehr viel intelligentere automatische Konfiguration ausführt, die zu bedeutend weniger Problemen führt. In älteren Distributionen oder Enterprise Versionen ist es eventuell noch immer enthalten. Für die wenigen verbleibenden Grafikprobleme werdet ihr heute für OpenSuse andere Hinweise aus dem Forum heraus bekommen. |
mach mal sax2 -(Zeichen)
Nach der Installation, nach einem Hardwareumbau, nach bestimmten Updates oder einfach nachdem ihr zuviel an der Konfiguration herumgespielt habt, kann es sein, das eure Grafische Oberfläche nicht mehr startet. sax2 ist das Programm mit dem Grafikkarte, Bildschirm, Maus und Tastatur für den X-Server bei Suse grundkonfiguriert wird.
Der X-Server ist das Programm das erst einmal überhaupt eine leere grafische Oberfläche zur Verfügung stellt, mit der zB dann der Windowsmanager seine Fenster auch anzeigen kann.
Das Programm sax2, wird euch sicherlich schon bei der Installation beim Einrichten der Grafikkarte begegnet sein. Auch aus der Grafischen Oberfläche ist es erreichbar "Yast -> Hardware > Grafikkarte und Monitor" das nützt aber nichts, wenn die Grafische Oberfläche gar nicht erst starten will. Also muss das auch aus der Konsole heraus gehen. Dazu benötigen wir also eine Konsole wie oben beschrieben. Des weiteren brauchen wird dort ein Login als root und nicht zuletzt müssen wir sicher sein das kein X-Server mehr aktiv ist, am besten also noch in den Runlevel 3 wechseln
Damit ist der Rechner jetzt vorbereitet um den sax2 Befehl erfolgreich ausführen zu können. Der Aufruf ist einfach
sax2
in vielen Fällen werdet ihr vom Antworter jedoch noch zusätzlichen Optionen bekommen haben, dann diese einfach so eingeben wie sie dort stehen. zB
sax2 -r -i -l
Was jetzt passiert ist von den Optionen abhängig, in den meisten Fällen wird sich ein grafisches Fenster öffnen das dem der Grafikkartenkonfiguration beim Installieren nicht ganz unähnlich ist. Dann dort eventuell noch Einstellungen tätigen und erst speichern und beenden , wenn der Funktionstest wirklich richtig funktioniert hat. Es ist aber auch möglich, das beim sax2 Befehl nur eine neue Konfigurationsdatei geschrieben wird, und sonst nichts aufregendes passiert.
Ist das vollbracht, dann kann die Grafische Oberfläche jetzt wieder getestet werden. Dazu einfach wieder mit
init 5
in den Runlevel 5 wechseln oder den Rechner mit
init 6
rebooten und damit mit der hoffentlich jetzt funktionieren Konfiguration die Grafik wieder normal zu starten.
Notes
<references />