PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : USB-Stick zeigt nach mount veraltete Daten an



englandschorsch
29.11.06, 18:32
Hallo zusammen,

ich spiele zur Zeit mit DSL (Damn Small Linux), das ich gerne remastern und auf eine Compact Flash Karte kopieren möchte. Das ganze soll später einmal in einen Mini-PC kommen und als Router / Proxy fungieren.

So weit klappt auch alles, ich hab nur ein Problem.

Wenn ich einen USB-Stick einstecke und diesen auf /mnt/sda1 mounte kann ich alle Daten wunderbar bearbeiten. Das Problem tritt ein, wenn ich den Stick unmounte, ihn ausstecke und an einem anderem PC Daten darauf kopiere oder bearbeite.

Stecke ich den Stick nun wieder in meine DSL-Linux-Box und mounte ihn auf /mnt/sda1, zeigt das Verzeichnis immer noch die alten Daten an, nicht aber die neuen.
Erst nach einem Neustart des Rechners und erneutem mounten sehe ich die neuen bzw. veränderten Daten. Es scheint so, als ob DSL-Linux nur einmal auf den Stick schaut und sich dann die Daten merkt. Erneutes mounten scheint ignoriert zu werden. Stattdessen wird das "Abbild" aus dem Gedächtnis verwendet.
Das ganze geht sogar so weit, dass ich Dateien, die schon längst auf dem Stick gelöscht worden sind, anzeigen kann. Echt komisch...

Hat jemand eine Idee, wo das Problem liegt? Hat das was damit zu tun, dass das OS-Image ins RAM kopiert wird (Stichwort Live-Distro)?

Schon einmal im Vorraus danke für die Hilfe.

Gruß,
Jörg

caspartroy
29.11.06, 23:25
wie stellst du fest, dass dsl sich was merkt? es kommt vor, dass ls (oder auch andere programme) sich etwas "merken", im falle von ls hilft einfach z.B. ein "cd pfad" um den neuen inhalt anzuzeigen.

englandschorsch
30.11.06, 11:05
wie stellst du fest, dass dsl sich was merkt? es kommt vor, dass ls (oder auch andere programme) sich etwas "merken", im falle von ls hilft einfach z.B. ein "cd pfad" um den neuen inhalt anzuzeigen.

Nun, wie gesagt, ich kann per "cat foo.txt" oder "less foo.txt" sogar eine Datei ausgeben, die auf dem Stick schon längst gelöscht ist.

gadget
30.11.06, 13:43
Hi,

mit welchem Befehl genau mountest Du? Hat es dazu einen fstab-Eintrag?

Und wie machst Du es auf dem anderen (nicht DSL) System?

Hilft der sync-Befehl vor dem Ausstecken?

Gruß,
gadget

englandschorsch
30.11.06, 14:58
Hi,

mit welchem Befehl genau mountest Du? Hat es dazu einen fstab-Eintrag?

Und wie machst Du es auf dem anderen (nicht DSL) System?

Hilft der sync-Befehl vor dem Ausstecken?

Gruß,
gadget
OK, es existiert ein fstab-Eintrag, welcher auf "noauto" gesetzt ist. Ich mounte mit "sudo mount /dev/sda1 /mnt/sda1".

Das Shell-Command "sync" hilft manchmal was, manchmal aber auch nicht. Meine Frage ist sowieso, warum brauche ich "sync" dann z.B. nicht auf meiner Ubuntu-Kiste oder auf meinem Red Hat Server??? Habe ich da was verpasst...

Auf meinem Red Hat Server ist z.B. kein Eintrag für /dev/sda1 in /etc/fstab, und dennoch habe ich noch nie "sync" benutzt. Macht das "umount" nicht immer automatisch?

englandschorsch
30.11.06, 15:35
OK, ich hab's gerade noch einmal versucht.

1.) Usb-Stick in DSL-Box.
2.) sudo mount /dev/sda1 /mnt/sda1
3.) sudo cd /mnt/sda1
4.) sudo ls

Ergebnis: alles OK!

5.) sudo umount /mnt/sda1
6.) sudo sync
7.) Usb-Stick in Windows-Box
8.) Datei FOO.TXT auf Stick kopieren
9.) Stick in DSL-Box
10.) sudo mount /dev/sda1 /mnt/sda1
11.) sudo cd /mnt/sda1
12.) sudo ls

Ergebnis FOO.TXT wird nicht angezeigt!

13.) sudo umount /mnt/sda1
14.) sudo sync
15.) Stick in Windows-Box

Ergebnis FOO.TXT wurde von DSL gekillt!!!


Es spielt bei der ganzen Sache keine Rolle, ob die Maschine, auf der ich FOO.TXT erzeuge, eine Windows-Box oder eine Linux-Box ist. Ein Fehler mit dem USB-Stick kann ich ausschließen, da ich es mit mehreren versucht habe und das Problem z.B. auch mit der Compact-Flash-Karte auftritt.

Auch einen hardware-Fehler auf der DSL-Box kann ich ausschließen, weil ich dasselbe Problem auch in einem VMWare-DSL habe.

Ich bin echt am Ende mit meinem Latein... :(

caspartroy
30.11.06, 15:39
das sieht nach einem fehler von windows bzw. von dir aus...
sync ist überflüssig, wenn umount ausgeführt wird (das sorgt für synchronisation)
nach dem kopieren musst du den speicher korrekt entfernen (windows, symbol rechts unten).
da steht dann sowas wie: "sie können dingsbums jetzt entfernen".

englandschorsch
30.11.06, 16:01
das sieht nach einem fehler von windows bzw. von dir aus...
sync ist überflüssig, wenn umount ausgeführt wird (das sorgt für synchronisation)
nach dem kopieren musst du den speicher korrekt entfernen (windows, symbol rechts unten).
da steht dann sowas wie: "sie können dingsbums jetzt entfernen".

Ja, ich weiß. Ich bin vielleicht nicht der absolute Linux-Freak hab aber trotzdem IT studiert! ;-)
Aber wie bereits oben erwähnt, ist das ganze unabhängig von der Box, auf der ich die Datei erzeuge. Ich kann die Datei auch auf anderen Windows- und Linux-Maschinen sehen, nur nicht auf der DSL-Maschine.

Sehr strange... Trotzdem danke für Deine Hilfe. Vielleicht kommen wir ja noch irgendwie auf die Lösung.

caspartroy
30.11.06, 16:17
hmm, dsl benutzt einen recht alten kernel, das könnte ein punkt sein. starte dsl doch mal mit einem anderen kernel

gadget
30.11.06, 16:26
5.) sudo umount /mnt/sda1
6.) sudo sync

Der sync-Befehl erübrigt sich nach einem umount...
Bei mir ist es allerdings so, dass wenn ich einen Mountpoint entfernen möchte, in dem ich gerade bin, dann geht das nicht gut. Mach also vor dem umount mal "cd .."

Ich kann mir sonst auch nicht erkären, wo der 'merk-Effekt' auftritt. Poste doch mal Deine fstab.

englandschorsch
30.11.06, 16:32
hmm, dsl benutzt einen recht alten kernel, das könnte ein punkt sein. starte dsl doch mal mit einem anderen kernel

OK, jetzt haben wir genau meinen Linux-Newbie-Level erreicht. :D

Wie mach ich das denn? Die Sache ist nämlich die, ich hab das Projekt von einem Kollegen übernommen, d.h. das DSL ist bereits remastered. Ich möchte also so wenig wie möglich kaputt machen.
Wie würde ich denn das Teil mit einem neuen Kernel starten. Irgendwelche Tipps, Links, Tutorials?

englandschorsch
30.11.06, 17:00
Der sync-Befehl erübrigt sich nach einem umount...
Bei mir ist es allerdings so, dass wenn ich einen Mountpoint entfernen möchte, in dem ich gerade bin, dann geht das nicht gut. Mach also vor dem umount mal "cd .."

Ich kann mir sonst auch nicht erkären, wo der 'merk-Effekt' auftritt. Poste doch mal Deine fstab.

OK, das mit dem CD.. ist logisch. Allerdings müsste ich ja dann sonst auch eine "device is busy" Meldung bekommen. Das ist aber nicht der Fall.

Meine FSTAB sieht wie folgt aus:



/proc /proc proc defaults 0 0
/sys /sys sysfs noauto 0 0
/dev/pts /dev/pts devpts mode=0622 0 0
/dev/fd0 /mnt/auto/floppy auto user,noauto,exec,umask=000 0 0
/dev/cdrom /mnt/auto/cdrom auto user,noauto,exec,ro 0 0
# Added by KNOPPIX
/dev/sda1 /mnt/sda1 vfat noauto,users,exec,umask=000,uid=1001,gid=50 0 0
# Added by KNOPPIX
/dev/hdc1 /mnt/hdc1 vfat noauto,users,exec,umask=000,uid=1001,gid=50 0 0

kreol
30.11.06, 17:07
Btw: Wenn der Stick in der fstab eingetragen ist, reicht ein "sudo mount /mountpoint" zum mounten. Bzw. wenn users in der fstab steht sogar ohne sudo.

Nur dann werden nämlich die Optionen in der fstab ausgewertet. Wenn Du das device mit angibst wird fstab übergangen und dann gelten die defaults...


Kreol

gadget
30.11.06, 17:11
In Ergänzung zu dem, was kreol gesagt hat:


OK, das mit dem CD.. ist logisch. Allerdings müsste ich ja dann sonst auch eine "device is busy" Meldung bekommen. Das ist aber nicht der Fall.

Mag ja sein, dass er nicht meckert, was ich allerdings komisch finde. Vielleicht liegt's wirklich an alten Versionen... Dann mach doch mal cd ..
Und mounte nach kreols Weise.
Und wenn Du gemountet hast, dann mach mal
mount und prüfe, ob /dev/sda1 wirklich nur einmal eingebunden ist.

englandschorsch
30.11.06, 18:17
Btw: Wenn der Stick in der fstab eingetragen ist, reicht ein "sudo mount /mountpoint" zum mounten. Bzw. wenn users in der fstab steht sogar ohne sudo.

Nur dann werden nämlich die Optionen in der fstab ausgewertet. Wenn Du das device mit angibst wird fstab übergangen und dann gelten die defaults...


Kreol
OK, danke, das wusste ich noch nicht.
@Gadget: Wird gemacht.

Danke Leute. Mal schauen was dabei rauskommt. :)

englandschorsch
01.12.06, 08:43
OK, Leute. Ich hab alles versucht, aber nix hat geklappt. :(

Mittlerweile habe ich aber eine andere Vermutung. Kann es sein, dass DSL Probleme mit 2GB-USB-Sticks hat.
Ich habe mittlerweile eine 256MB-Stick gefunden, der keinerlei Probleme zu haben scheint. Alle meine größeren Sticks spielen verrückt.

Irgendwelche Anemerkungen? Könnte das mit dem veralteten Kernel 2.4 zu tun haben?

gadget
01.12.06, 09:11
Kein Ahnung. Aber Du kannst ja mal versuchen, den 2GB-Stick in mehrere Partitionen zu teilen.