ubuntuusers.de

open dev/null failed

Status: Gelöst | Ubuntu-Version: Ubuntu 10.10 (Maverick Meerkat)
Antworten |

KBe

Avatar von KBe

Anmeldungsdatum:
4. April 2007

Beiträge: 177

Wohnort: DD

Beim Booten kommt gelegentlich als erstes die Ausschrift open dev/null failed no such file or direktory Dann denkt er eine Weile nach und es geht alles in Ordnung. Also kein Problem. Ich wüsste aber doch gern den Grund und ob man etwas in Ordnung bringen sollte.

kbe

Benno-007

Anmeldungsdatum:
28. August 2007

Beiträge: 29240

Wohnort: Germany

Vielleicht will ein Script Ausgaben unterdrücken (nach /dev/null umleiten), obwohl /dev/null noch gar nicht initialisiert (eingerichtet) worden ist.

Du kannst das ganze z.B. so erforschen - Betonung auf "du":

grep "/dev/null" /var/log/syslog /var/log/dmesg /var/log/messages

Mehr Infos in Wiki, Manpages, den Foren...

KBe

(Themenstarter)
Avatar von KBe

Anmeldungsdatum:
4. April 2007

Beiträge: 177

Wohnort: DD

Danke, aber damit bin ich klar gekommen. Habe wie blind im Wiki und Foren rumgesucht. Ist dev/null das Bootdevice? kbe

Benno-007

Anmeldungsdatum:
28. August 2007

Beiträge: 29240

Wohnort: Germany

Nein, völlig unwichtig ist das für vieles, für manches aber vielleicht doch nötig. Gib es mal in Google ein. Du wirst es schon selbst herausfinden, wie jeder andere auch, der Doku sucht, weil er eine Frage hat.

Das Ergebnis meines Befehls kannst du ja mal hierher kopieren, wenn du damit nicht zurechtkommst.

borgiborgi

Avatar von borgiborgi

Anmeldungsdatum:
10. August 2009

Beiträge: 386

Wohnort: 3rd stone from the sun

/dev/null ist das Linux/UNIX-Datengrab. Ein "schwarzes Loch" in das man alle Daten werfen kann die man nicht mehr benötigt.

Sorry, wenn ich protestiere aber /dev/null ist alles andere als unwichtig. Das wird in fast jedem Script verwendet...

Gruß

borgiborgi

EDIT:

man null

verrät mehr dazu.

Benno-007

Anmeldungsdatum:
28. August 2007

Beiträge: 29240

Wohnort: Germany

Deswegen stirbt das System nicht, wenn man es mal nicht nutzt - dürfte aber Errors hageln, wenn man sie nicht wegwerfen kann (mangels /dev/null) UND nicht wegwirft.

Also wichtig ja, aber das ist eine Frage des Blickwinkels. Es ist jedenfalls kein Gerät und auch keine Software, aber auch keine normale Datei. 😉

$ ls -hal /dev/null
crw-rw-rw- 1 root root 1, 3 2011-01-12 06:07 /dev/null
man null

ist da wirklich interessant:

NULL(4)                           Gerätedateien                           NULL(4)

BEZEICHNUNG
       null, zero - Daten-Vernichter

BESCHREIBUNG
       Daten  welche  an  die  Geräte  null oder zero gelangen, werden ungeachtet
       ihres Inhaltes, vernichtet.

       Lesen aus der Gerätedatei null liefert immer ein Dateiende  (EOF)  zurück,
       während zero immer das Zeichen \0 zurück gibt.

       null und zero werden generiert durch:

              mknod -m 666 /dev/null c 1 3
              mknod -m 666 /dev/zero c 1 5
              chown root.mem /dev/null /dev/zero

NOTIZ
       Ist  das  lesen  und  schreiben  auf  diesen  Gerätedateien nicht für alle
       Benutzer erlaubt, können diverse Programme sonderbar reagieren.

DATEIEN
       /dev/null
       /dev/zero

SIEHE AUCH
       mknod(1), chown(1).

Linux                           21. November 1992                         NULL(4)

Also es ist wichtig, ich verwende es auch oft, aber man könnte Linux auch ohne bauen oder es könnte einen Ausfall verkraften - die Manpage scheint dies zu bestätigen, aber nennt unkonkretisiert Nebenwirkungen. Nichts anders wollte ich ausdrücken. Dass es auch dazu eine Manpage gibt und diese nicht /dev/null heißt, ist gut zu wissen, dann kann man das das nächste mal gleich so hinlegen und das Benutzen von manpages für weitere Fragen anregen.

Übrigens, deutsche Manpages installiert man so:

sudo apt-get install manpages-de

Die englischen kann man dann so aufrufen:

man -L en begriff

Da steht manchmal mehr drin.

Nachschlagen kann man die Optionen auch in:

man man

😉

borgiborgi

Avatar von borgiborgi

Anmeldungsdatum:
10. August 2009

Beiträge: 386

Wohnort: 3rd stone from the sun

Benno-007 schrieb:

Es ist jedenfalls kein Gerät

Doch. Das c bezeichet diese Art der Gerätedatei. c ist ein character-device.

$ ll /dev/null 
crw-rw-rw- 1 root root 1, 3 2011-01-26 20:02 /dev/null

und auch keine Software,

Richtig.

aber auch keine normale Datei. 😉

Nee, ein character-device eben.

Benno-007

Anmeldungsdatum:
28. August 2007

Beiträge: 29240

Wohnort: Germany

Das c wollte ich nochmal nach-Manpagen, bevor ich Mist brabbel. Trotzdem ist es kein Gerät, sondern nur eine spezielle Datei. Es ist keine Hardware, also kein Gerät. Ein virtuelles Gerät vielleicht. Aber dann auch nur der Name dazu. Das Gerät wird über diesen Namen angesprochen, aber es ist keins. Auch wenn es so gekennzeichnet ist, dass der Name auf so ein Gerät verweist.

Aber vielleicht denke ich mir das auch nur so. Mir ist es eigentlich herzlichst egal, da es wichtigere Themen hier gibt, als Begrifflichkeiten ganz genau auf der Goldwage abzuwägen und Sichtweisen und Interpretationen zu erörtern (oder Fakten zu ermitteln). ☺

borgiborgi

Avatar von borgiborgi

Anmeldungsdatum:
10. August 2009

Beiträge: 386

Wohnort: 3rd stone from the sun

Benno-007 schrieb:

Das c wollte ich nochmal nach-Manpagen, bevor ich Mist brabbel. Trotzdem ist es kein Gerät, sondern nur eine spezielle Datei. Es ist keine Hardware, also kein Gerät. Ein virtuelles Gerät vielleicht. Aber dann auch nur der Name dazu. Das Gerät wird über diesen Namen angesprochen, aber es ist keins. Auch wenn es so gekennzeichnet ist, dass der Name auf so ein Gerät verweist.

Aber vielleicht denke ich mir das auch nur so. Mir ist es eigentlich herzlichst egal, da es wichtigere Themen hier gibt, als Begrifflichkeiten ganz genau auf der Goldwage abzuwägen und Sichtweisen und Interpretationen zu erörtern (oder Fakten zu ermitteln). ☺

Unter Linux/UNIX ist ALLES eine Datei.

Gruß

borgiborgi

Benno-007

Anmeldungsdatum:
28. August 2007

Beiträge: 29240

Wohnort: Germany

Ja, aber dann öffne doch mal /dev/null:

$ cat /dev/null
# oh, nix drin...
$ less /dev/null
/dev/null is not a regular file (use -f to see it)
# machen wir...
$ less -f /dev/null
# da war aber vor dem Verlassen mit q auch nix drin...
$ 

Was ich meine ist, es ist eben nur ein Name ohne Inhalt. Es frisst nur Inhalt. Das ist die Aufgabe dieses Zeichen-orientierten Gerätes. Deswegen ist ja auch nix drin, weil es ein Gerätedatei ist.

Wahrscheinlich reden und denken wir aneinander vorbei. Wie schon gesagt, das ist interessant, aber mir reicht diese Erkenntnis, keine Zeit jetzt, die Manpage auch noch offen, um nochmals mknode näher anzusehen...

Da erfährt man dann vielleicht noch etwas mehr auch dazu...

Anderes Beispiel: /dev/sr0 - das ist aber nicht das CDROM, oder es ist die Frage, wie man "was ist etwas" definiert. Ich erreiche das CDROM über diese Gerätedatei, aber es ist nicht identisch. Aber vielleicht kann und sollte man es doch gleichsetzen. Trotzdem verbirgt sich dahinter noch etwas, z.B. bei mir:

$ lshw -c disk
WARNING: you should run this program as super-user.
  *-cdrom                 
       description: DVD-RAM writer
       product: CDDVDW SH-S223Q
       vendor: TSSTcorp
       physical id: 0.0.0
       bus info: scsi@2:0.0.0
       logical name: /dev/cdrom
       logical name: /dev/cdrw
       logical name: /dev/dvd
       logical name: /dev/dvdrw
       logical name: /dev/scd0
       logical name: /dev/sr0
       version: SB03
       capabilities: removable audio cd-r cd-rw dvd dvd-r dvd-ram
       configuration: ansiversion=5 status=ready
     *-medium
          physical id: 0
          logical name: /dev/cdrom

Man kann das Gerät über mehrere Namen ansprechen, folglich ist es nicht gleich dem Gerät. Oder? Aber letztendlich ist das nur eine überflüssige Ansichtssache. Wir können uns da gerne einigen oder auch jeder das so sehen, wie er mag. 😉

Benno-007

Anmeldungsdatum:
28. August 2007

Beiträge: 29240

Wohnort: Germany

Hier sieht man auch nochmal schön die logischen (ausgedachten und mit mknod angelegten bzw. anlegbaren) Namen für das (phyische) Gerät:

$ ls -hal /dev | head -n20
insgesamt 8,0K
drwxr-xr-x  17 root root        3,8K 2011-01-26 13:24 .
drwxr-xr-x  30 root root        4,0K 2011-01-11 00:33 ..
crw-rw----+  1 root audio    14,  12 2011-01-12 06:07 adsp
crw-rw----+  1 root audio    14,   4 2011-01-12 06:07 audio
-rw-r--r--   1 root root        1,3K 2011-01-15 19:17 .blkid.tab
drwxr-xr-x   2 root root         760 2011-01-12 06:07 block
drwxr-xr-x   2 root root          80 2011-01-12 06:06 bsg
drwxr-xr-x   3 root root          60 2011-01-12 06:06 bus
lrwxrwxrwx   1 root root           3 2011-01-26 13:24 cdrom -> sr0
lrwxrwxrwx   1 root root           3 2011-01-26 13:24 cdrw -> sr0
drwxr-xr-x   2 root root        3,2K 2011-01-26 13:24 char
crw-------   1 root root      5,   1 2011-01-12 06:07 console
lrwxrwxrwx   1 root root          11 2011-01-12 06:07 core -> /proc/kcore
crw-rw----   1 root root     10,  58 2011-01-12 06:07 cpu_dma_latency
drwxr-xr-x   6 root root         120 2011-01-12 06:06 disk
crw-rw----+  1 root audio    14,   3 2011-01-12 06:07 dsp
lrwxrwxrwx   1 root root           3 2011-01-26 13:24 dvd -> sr0
lrwxrwxrwx   1 root root           3 2011-01-26 13:24 dvdrw -> sr0
crw-rw----   1 root root     10,  61 2011-01-12 06:07 ecryptfs
$ ls -hal /dev/sr0
brw-rw----+ 1 root cdrom 11, 0 2011-01-26 13:24 /dev/sr0

Das sind alles symbolische Links (mit ln -s angelegt) für Blockgerät /dev/sr0. Unter meinem vorherigen Befehl wurden die Namen aber alle als "logical name" zusammengefasst und in einen Topf geworfen.

Nun gut, spannend ist es schon, auch mal um die Ecke zu denken oder zu schauen, wie andere denken oder mehr darauf zu achten, wie man sich ausdrückt und was man von Äußerungen anderer denkt.

Und die verwendeten Befehle mal unter diesem Gesichtspunkt zum Ausleuchten zu benutzen.

KBe

(Themenstarter)
Avatar von KBe

Anmeldungsdatum:
4. April 2007

Beiträge: 177

Wohnort: DD

Na da komme ich doch erst recht nicht mit. Ich habe die vorgeschlagenen Befehle ausgeführt. Alles kommt wie beschrieben. Einiges gelernt nicht alles habe ich verstanden. Jetzt weiß ich auch was die Manpages sind. Um das /dev/null mache ich mir also keine Gedanken mehr. Es wird sowieso nicht bei jedem Booten angemeckert. Trotzdem besten Dank Benno-007 und Borgiborgi für die interessante philosophische Diskussion. kbe

borgiborgi

Avatar von borgiborgi

Anmeldungsdatum:
10. August 2009

Beiträge: 386

Wohnort: 3rd stone from the sun

Dir ist vielleicht das Datum im Listing von /dev/null aufgefallen.

Die device-files unterhalb von /dev werden beim Systemstart jedes mal dynamisch neu erzeugt.

Eine Fehlermeldung bzgl. einer fehlenden Device-Datei legt daher die Vermutung nah, daß ein Prozess beim Booten schon darauf zugreifen will bevor es angelegt wurde.

Sofern keine weiteren Probleme auftreten kannst Du die Meldung wohl ignorieren.

Aber gut wenn Du was gelernt hast.

Gruß

borgiborgi

Shmoikel

Anmeldungsdatum:
27. Januar 2011

Beiträge: 27

Wohnort: Labor 122

Ich dachte immer, /dev/null sei eine Spezialdatei, bei der EoF (end of file) ganz am Anfang steht und deswegen alles, was angehängt wird nichtig ist.

borgiborgi

Avatar von borgiborgi

Anmeldungsdatum:
10. August 2009

Beiträge: 386

Wohnort: 3rd stone from the sun

Shmoikel schrieb:

Ich dachte immer, /dev/null sei eine Spezialdatei, bei der EoF (end of file) ganz am Anfang steht und deswegen alles, was angehängt wird nichtig ist.

Ja, so steht's auch in der manpage.

Antworten |