Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
mount cdrom

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Sonstiges
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Ghost
Gast





BeitragVerfasst am: 18. Feb 2004 21:12   Titel: mount cdrom

Bug oder Eigenschaft ?


Aufgabe ist eine CDROM zu mounten!

xterm starten


[ghost@h123 mnt]$ cd /mnt/cdrom2
[ghost@h123 cdrom2]$ ls
[ghost@h123 cdrom2]$ mount /mnt/cdrom2
[ghost@h123 cdrom2]$ ls -l
insgesamt 0
[ghost@h123 cdrom2]$

Wiso ist die CD leer ?

[ghost@h123 cdrom2]$ mount
...
/dev/scsi/host0/bus0/target1/lun0/cd on /mnt/cdrom2 type iso9660 (ro,noexec,nosuid,nodev,iocharset=iso8859-15,user=ghost)

Ist doch alles ok oder ?

Start ein neues Terminal !

>xterm

ls -l /mnt/cdrom2
Namenlos 1
insgesamt 229
-r--r--r-- 1 root root 18387 Jan 10 2000 COPYING
-r--r--r-- 1 root root 64591 Jan 10 2000 indexfiles.txt
-r--r--r-- 1 root root 36412 Jan 10 2000 indexsum.txt
-r--r--r-- 1 root root 1408 Jan 10 2000 RPM-PGP-KEYS
dr-xr-xr-x 2 root root 112640 Jan 10 2000 SRPMS/
[ghost@h123 ghost]$

Wie ist doch da ?

Ist das ein Bug oder was ??

Gruß ghost
 

Jochen
Gast





BeitragVerfasst am: 18. Feb 2004 22:35   Titel: Re: mount cdrom

Nope, Feature.

Wenn Du mit "cd" ins das Verzeichnis gehst, hat dein Prozess dieses Verzeichnis sozusagen "offen". Wenn Du jetzt dort, wo Du stehst, etwas anderes hinmountest, hat Dein Prozess aber immer noch das "alte" Verzeichnis offen - das mit dem Inhalt von vor dem Mounten.

Jeder Prozess, der nach dem Mounten in das Verzeichnis geht (oder auch wenn Du ein "cd ..; cd -" eintippst und wieder frisch in das Verzeichnis wechselst), bekommt statt des eigentlichen Verzeichnisinhaltes den Inhalt des Root-Verzeichnisses des dort gemouteten Dateisystems zu sehen.

OK?

Jochen
 

ghost
Gast





BeitragVerfasst am: 19. Feb 2004 21:38   Titel: Re: mount cdrom

He genauer verstehe ich nicht was du damit meinst!

Gruß ghost
 

Jochen
Gast





BeitragVerfasst am: 19. Feb 2004 22:38   Titel: Re: mount cdrom

Ok, dann etwas tiefer ansetzen...

Unter UNIX wird eine Datei durch eine I-Node bestimmt. Diese speichert den Typ der Datei, deren Rechte, Eigentümerschaft, Zeiststempel und nicht zuletzt die Folge der Datenblöcke, die den Inhalt der Datei ausmachen. I-Nodes werden durchnummeriert und hane innerhalb eines Dateisystems immer eindeutige Nummern. In der Kombination mit dem Dateisystem ist eine Datei so eindeutog identifiziert. Aber eines findet man in einer I-Node nicht: Den Namen der Datei! Dateinamen werden in Verzeichnissen verwaltet, die unter UNIX nur eine spezielle Art von Datei sind. Man kann sie sich als eine Tabelle vorstellen:
Name : I-Node-Nummer

foo : 836
bar : 9521
baz : 15021

Ein "ls" in diesem Verzeichnis listet Dir einfach die linke Spalte auf; bei "ls -l" muss ls auch in die I-Nodes mit den in der rechten Spalte angegebenen Nummern schauen und deren Eigenschaften mit ausgeben. Klar soweit?

Jetzt zu Deinem Problem.

Jeder Prozess hat als eine seiner Eigenschaften das "current directory" oder "working directory". Das setzt Du mit dem cd-Befehl in der Shell. Da ein Verzeichnis auch nur eine Datei (speziellen Typs) ist, wird als Arbeitsverzeichnis auch nur die I-Node-Nummer dieses Verzeichnisses vermerkt. Also in Deinem konkreten Beispiel: Das Verzeichnis /mnt/cdrom2 hat die I-Node-Nummer 123; deine Shell erhält diese I-Node-Nummer als Arbeitsverzeichnis.

Jetzt wird gemountet. Ein Mounten weist das System an, dass, wenn jemand in das Verzeichnis, dass als Mountpunkt dient, wechselt, nicht die "eigentliche" I-Node-Nummer des Verzeichnisses als Arbeitsverzeichnis zu setzen ist, sondern die I-Node des Root-Verzeichnisses des dort gemouteten Dateisystems! In Deinem konkreten Beispiel: Wenn jemand nach /mnt/cdrom2 wechselt, kriegt er nicht mehr die I-Node-Nummer 123 als Arbeitsverzeichnis, sondern die I-Node-Nummer 10 des Dateisystems auf der CD-ROM.

Dein erster Prozess hat aber "damals" (vor dem Mounten) die I-Node-Nummer 123 des ursprünglichen Dateisystems als Arbeitsverzeichnis bekommen. Das ändert sich durch das Mounten nicht! Ein "ls" zeigt Dir also immer noch den alten Inhalt!

Der zweite Prozess (oder auch der erste, wenn Du ein "cd / ; cd /mnt/cdrom2" machst) bekommt aber wie oben beschrieben (da es nach dem mount-Kommando passiert) die I-Node-Nummer 10 auf der CD als Arbeitsverzeichnis und zeigt damit den Inhalt auf der CD bei einem "ls" an.

Jetzt klarer? (Für Profis: Ja, das ist etwas vereinfacht, aber im Prinzip korrekt.)

Jochen
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Sonstiges Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy