(gelöst) Umgang mit USB-Geräten
(gelöst) Umgang mit USB-Geräten
Ich beziehe mich auf diesen Thread: viewtopic.php?f=13&t=171521 Als Laie ging ich bisher davon aus, dass man in einem Linux-System mit via USB angeschlossenen Geräten dann korrekt umgeht, wenn man sie zur rechten Zeit ein- und wieder aushängt (fachenglisch: to mount und to unmount). Nun lese ich in besagtem Thread, dass solche Geräte nach dem Aushängen zusätzlich auch noch "ausgeworfen" werden. Ich weiß nicht recht, was die Metapher des "Auswerfens" hier eigentlich meint, denn pysikalisch tatsächlich "auswerfen" kann man meines Wissens nach nur einen Datenträger in einem optischen Laufwerk, gemeinhin CD und DVD. Angedeutet wurde, dass eine per USB-angeschlossene Platte auch nach dem Unmounten weiterhin unnötige Arbeit leistet und damit Strom verbraucht, was durch besagtes "Auswerfen" verhindert werden könne.
Darüber hinaus ist mir unklar, ob die geschilderten Probleme mit diesem "Auswerfen" nicht eigentlich Probleme mit neueren Kernen, sondern lediglich Probleme mit bestimmten (gtk-basierten?) DEs und/oder deren Dateimangern sind. Mir ist nicht aufgefallen, dass andere Szenarien mit den Problemen in Verbindung gebracht wurden.
Grüße, Günther
Darüber hinaus ist mir unklar, ob die geschilderten Probleme mit diesem "Auswerfen" nicht eigentlich Probleme mit neueren Kernen, sondern lediglich Probleme mit bestimmten (gtk-basierten?) DEs und/oder deren Dateimangern sind. Mir ist nicht aufgefallen, dass andere Szenarien mit den Problemen in Verbindung gebracht wurden.
Grüße, Günther
Zuletzt geändert von guennid am 07.12.2018 16:01:56, insgesamt 1-mal geändert.
Re: Umgang mit USB-Geräten
eject ist ein Kombibefehl für umount und auswerfen.
darf nur root, während
jeder darf. Darin dürfte auch begründet sein, warum gerne eject statt umount verwendet wird, man braucht kein su oder sudo. Bisher war es auch völlig ungefährlich, Geräte "auszuwerfen", die das gar nicht unterstützt haben, man bekam eine Fehlermeldung und alles war gut. Ich muß gestehen, zum Unmounten von USB-Sticks auch immer eject zu verwenden.
Ich habe den Thread natürlich auch mit einiger Verwunderung mitgelesen, scheinbar gibt es halt ab einer gewissen Kernelversion einen Absturz, wenn man Geräte "auswirft", die nicht auswerfbar sind. Das ist natürlich ein schwerwiegender Fehler, der von Hinz und Kunz zum Denial of Service ausgenutzt werden kann, einfach einloggen und ein Gerät sinnlos "ejecten" und schon steht die Kiste.
Das Problem ist aber wohl inzwischen behoben ist.
Code: Alles auswählen
umount /dev/sdX
Code: Alles auswählen
eject /dev/sdX
Ich habe den Thread natürlich auch mit einiger Verwunderung mitgelesen, scheinbar gibt es halt ab einer gewissen Kernelversion einen Absturz, wenn man Geräte "auswirft", die nicht auswerfbar sind. Das ist natürlich ein schwerwiegender Fehler, der von Hinz und Kunz zum Denial of Service ausgenutzt werden kann, einfach einloggen und ein Gerät sinnlos "ejecten" und schon steht die Kiste.
Das Problem ist aber wohl inzwischen behoben ist.
Re: Umgang mit USB-Geräten
Danke für die Aufklärung!
Ich fass' mal mein vorläufiges Verständnis zusammen: Ich kann meine externen Datenträger nach wie vor unmounten und gut ist. Alldieweil aber ein Kommando namens eject existiert (das in manchen Zusammenhängen sogar sinnvoll ist ), ist es gefährlich, wenn dieses Kommando, unsachgemäß angewendet, den Kernel zum Systemabsturz bringt?
Wenn dem so ist, dann wüsste ich weiterhin gerne, welche Kernelmodule dieses Verhalten mittlerweile bewirken, so dass ich die bei neuen Eigenbaukernen gegebenfalls abschalten könnte. (Nicht so wichtig. Ich benutze penetrant stable und neuere Kerne von kernel.org nur, wenn sie LTS sind, heißt für mich wahrscheinlich bis zum nächsten Stable-Release ausschließlich 4.14.)
edit:
Nun wundert mich aber nach wie vor, dass das Phänomen offenbar nur im Zusammenhang mit ganz bestimmter Software beobachtet wurde.
Grüße, Günther
Ich fass' mal mein vorläufiges Verständnis zusammen: Ich kann meine externen Datenträger nach wie vor unmounten und gut ist. Alldieweil aber ein Kommando namens eject existiert (das in manchen Zusammenhängen sogar sinnvoll ist ), ist es gefährlich, wenn dieses Kommando, unsachgemäß angewendet, den Kernel zum Systemabsturz bringt?
Wenn dem so ist, dann wüsste ich weiterhin gerne, welche Kernelmodule dieses Verhalten mittlerweile bewirken, so dass ich die bei neuen Eigenbaukernen gegebenfalls abschalten könnte. (Nicht so wichtig. Ich benutze penetrant stable und neuere Kerne von kernel.org nur, wenn sie LTS sind, heißt für mich wahrscheinlich bis zum nächsten Stable-Release ausschließlich 4.14.)
edit:
Nun wundert mich aber nach wie vor, dass das Phänomen offenbar nur im Zusammenhang mit ganz bestimmter Software beobachtet wurde.
Grüße, Günther
Re: Umgang mit USB-Geräten
Es gibt bei mount wie beim umount jeweils zwei Stufen:
Attached ------> Laufwerk ist im Dateimanager oder z.B. mit blkid zu sehen.
mount ------> man kann darauf rumkritzeln
umount ------> Laufwerk steht für Dateioperationen nicht mehr zur verfügung, ist aber im Dateimanaget und bei blkid vorhanden
disconnect ----> Laufwerk ist für das System nicht mehr,vorhanden, da elektrisch getrennt.
In Teminalesisch:
Umgekehrt genauso. Allerdings gibt es da via Dateimanager Fehlermeldungen in Buster, aber keinen Absturz:
Das letzte ( disconnect ) kann man im Terminal ausführen allerdings dann ohne Fehlermeldung, was darauf schließen lässt, das sowohl
Thunar als auch Nemo irgendwo einen Bug haben.
Edit
Aber --- seit gestern ist zumindest bei Nemo plötzlich alles anders, wie ich gerade feststelle und meine schöne Theorie ist über den Haufen geworfen.:
Der Menüpunkt "Laufwerk sicher entfernen" (bisher = auswerfen) ist verschwunden. Es gibt nur noch auswerfen ---> Laufwerk ist im System verschwunden. Aber im Journal ist nichts zu sehen -----> Testing
Attached ------> Laufwerk ist im Dateimanager oder z.B. mit blkid zu sehen.
mount ------> man kann darauf rumkritzeln
umount ------> Laufwerk steht für Dateioperationen nicht mehr zur verfügung, ist aber im Dateimanaget und bei blkid vorhanden
disconnect ----> Laufwerk ist für das System nicht mehr,vorhanden, da elektrisch getrennt.
In Teminalesisch:
Code: Alles auswählen
Dez 07 14:07:47 debianxfce kernel: sd 7:0:0:0: [sdg] Attached SCSI removable disk
Dez 07 14:07:52 debianxfce kernel: ISO 9660 Extensions: Microsoft Joliet Level 3
Dez 07 14:07:52 debianxfce kernel: ISO 9660 Extensions: Microsoft Joliet Level 3
Dez 07 14:07:52 debianxfce kernel: ISO 9660 Extensions: RRIP_1991A
Dez 07 14:07:52 debianxfce systemd[1]: Started Clean the /media/willy/SPARKY_64bit mount point.
Klick im Dateimanager auf das Laufwerk
Dez 07 14:07:52 debianxfce udisksd[811]: Mounted /dev/sdg1 at /media/willy/SPARKY_64bit on behalf of uid 1000
Code: Alles auswählen
Dez 07 13:59:36 debianxfce udisksd[811]: Cleaning up mount point /media/willy/SPARKY_64bit (device 8:97 is not mounted)
Dez 07 13:59:36 debianxfce systemd[1]: Stopping Clean the /media/willy/SPARKY_64bit mount point...
Dez 07 13:59:36 debianxfce systemd[1]: Stopped Clean the /media/willy/SPARKY_64bit mount point.
Dez 07 13:59:36 debianxfce udisksd[811]: Unmounted /dev/sdg1 on behalf of uid 1000
Im Dateimanager auswerfen:
Dez 07 14:08:46 debianxfce udisksd[811]: Ignoring SCSI command SYNCHRONIZE CACHE failure (Non-GOOD SCSI status from SGIO v3 ioctl: status=2 host_status=0 driver_status=8) on /dev/sdg
Dez 07 14:08:46 debianxfce udisksd[811]: Ignoring SCSI command START STOP UNIT failure (Non-GOOD SCSI status from SGIO v3 ioctl: status=2 host_status=0 driver_status=8) on /dev/sdg
Dez 07 14:08:46 debianxfce udisksd[811]: Powered off /dev/sdg - successfully wrote to sysfs path /sys/devices/pci0000:00/0000:00:0a.0/0000:04:00.0/usb10/10-2/remove
Dez 07 14:08:46 debianxfce kernel: usb 10-2: USB disconnect, device number 5
Thunar als auch Nemo irgendwo einen Bug haben.
Code: Alles auswählen
~$ umount /dev/sdg1
Dez 07 14:23:40 debianxfce udisksd[811]: Cleaning up mount point /media/willy/SPARKY_64bit (device 8:97 is not mounted)
Dez 07 14:23:40 debianxfce systemd[1]: Stopping Clean the /media/willy/SPARKY_64bit mount point...
Dez 07 14:23:40 debianxfce systemd[1]: Stopped Clean the /media/willy/SPARKY_64bit mount point.
Dez 07 14:23:40 debianxfce udisksd[811]: Unmounted /dev/sdg1 on behalf of uid 1000
~$ udisksctl power-off --block-device /dev/sdg1
Dez 07 14:23:45 debianxfce udisksd[811]: Successfully sent SCSI command SYNCHRONIZE CACHE to /dev/sdg
Dez 07 14:23:45 debianxfce udisksd[811]: Successfully sent SCSI command START STOP UNIT to /dev/sdg
Dez 07 14:23:45 debianxfce udisksd[811]: Powered off /dev/sdg - successfully wrote to sysfs path /sys/devices/pci0000:00/0000:00:0a.0/0000:04:00.0/usb10/10-2/remove
Dez 07 14:23:45 debianxfce kernel: usb 10-2: USB disconnect, device number 7
Aber --- seit gestern ist zumindest bei Nemo plötzlich alles anders, wie ich gerade feststelle und meine schöne Theorie ist über den Haufen geworfen.:
Der Menüpunkt "Laufwerk sicher entfernen" (bisher = auswerfen) ist verschwunden. Es gibt nur noch auswerfen ---> Laufwerk ist im System verschwunden. Aber im Journal ist nichts zu sehen -----> Testing
Re: Umgang mit USB-Geräten
Mich beschleicht da der Verdacht, dass hier versucht wird, absurde Windows Konventionalitäten nachzubilden. Dieser ominöse tooltip "Laufwerk sicher entfernen" hat letztens bei Windows XP bei mir zu erhöhtem Blutdruck geführt, aber da konnte ich's verstehen, da MS sich ja schon immer außerordentlich viel Mühe gemacht hat, dem Benutzer zu verheimlichen, was er denn eigentlich macht an seiner Maschine.
Einen Sinn darin, ein eingestecktes (nicht gemountetes) Gerät zu "disconnecten", also nach deiner Darstellung vor dem System zu verbergen, vermag ich nicht zu erkennen, es sei denn es geht um Strom(kosten)/ überflüssigen Verschleiß.
Ich halte es da mit MSfree: Einen Stick kann man nunmal nicht auswerfen, genauso wenig wie Windows einen "sicher entfernen" kann und der Versuch des Benutzers, Das Kommando dennoch auszuführen, darf gerne mit einer Fehlermeldung quittiert werden, aber nicht zum Systemabsturz führen. Wobei immer noch ungklärt zu sein scheint, ob nun der Kern oder die DE(-Tools) verantwortlich sind.
Grüße, Günther
Einen Sinn darin, ein eingestecktes (nicht gemountetes) Gerät zu "disconnecten", also nach deiner Darstellung vor dem System zu verbergen, vermag ich nicht zu erkennen, es sei denn es geht um Strom(kosten)/ überflüssigen Verschleiß.
Ich halte es da mit MSfree: Einen Stick kann man nunmal nicht auswerfen, genauso wenig wie Windows einen "sicher entfernen" kann und der Versuch des Benutzers, Das Kommando dennoch auszuführen, darf gerne mit einer Fehlermeldung quittiert werden, aber nicht zum Systemabsturz führen. Wobei immer noch ungklärt zu sein scheint, ob nun der Kern oder die DE(-Tools) verantwortlich sind.
Grüße, Günther
Re: Umgang mit USB-Geräten
Ein Disconnect sollte den USB-Port stromlos machen, was vor einem Abziehen eins USB-Gerätes durchaus sinnvoll ist. Damit sollte sicher gestellt sein, daß z.B. der Flash-Controller in einem Speicherstick keine Fehlsignale mehr bekommen kann und somit auch keinen Datensalat mehr auf die Speicherzellen schreiben kann.guennid hat geschrieben:07.12.2018 15:13:39Einen Sinn darin, ein eingestecktes (nicht gemountetes) Gerät zu "disconnecten", also nach deiner Darstellung vor dem System zu verbergen, vermag ich nicht zu erkennen, es sei denn es geht um Strom(kosten)/ überflüssigen Verschleiß.
Denn so hot-plugable, wie das gerne dargestellt wird, ist USB im dümmsten Fall leider nicht. Es geht zwar fast immer gut, nur dann nicht, wenn Murphy im Spiel ist.
Re: Umgang mit USB-Geräten
Vielleicht besitzt du so etwas wie eine externe USB 3-Festplatte nicht, die über USB mit Strom versorgt wird.guennid hat geschrieben:07.12.2018 15:13:39Mich beschleicht da der Verdacht, dass hier versucht wird, absurde Windows Konventionalitäten nachzubilden. Dieser ominöse tooltip "Laufwerk sicher entfernen" hat letztens bei Windows XP bei mir zu erhöhtem Blutdruck geführt, aber da konnte ich's verstehen, da MS sich ja schon immer außerordentlich viel Mühe gemacht hat, dem Benutzer zu verheimlichen, was er denn eigentlich macht an seiner Maschine.
Aber vielleicht kannst du dir vorstellen, dass es ganz sinnvoll sein könnte, diese Platte stromlos zu schalten, ohne jedes mal den Stecker ziehen zu müssen? Beim nächsten Start ist sie dann wieder da. Z.B: als Backup.Medium.
Und umgekehrt macht es sogar mehr als Sinn.
Würde es das "Attached" nicht geben, wärst du kaum in der Lage, irgendein USB-Laufwerk nachträglich zu mounten.
Ob nun "transparent" mit mount --irgendwas oder mit Klick +PW im Dateimanager.
Re: Umgang mit USB-Geräten
Das hatte ich bereits erwähnt und das hättest du berücksichtigen können.willy4711 hat geschrieben:vielleicht kannst du dir vorstellen, dass es ganz sinnvoll sein könnte, diese Platte stromlos zu schalten, ohne jedes mal den Stecker ziehen zu müssen?
Durchaus nachvollziehbar. Aber warum ventiliert man sowas erst im Zusammenhang mit diesem aktuellen Ärgernis? Die Frage muss/kann vielleicht auch nicht beantwortet werden. Aber ich wundere mich über Debian und manchen Verteter. Is' halt so "Psycho-Kram" und "zwischenmenschlicher Umgang". Für mich ist damit auch gut.MSFree hat geschrieben:Disconnect sollte den USB-Port stromlos machen, was vor einem Abziehen eines USB-Gerätes durchaus sinnvoll ist.
Grüße, Günther
Re: (gelöst) Umgang mit USB-Geräten
„Laufwerk sicher entfernen“ hängt’s in erster Linie aus, und sorgt dafür, dass die gecachten Daten geschrieben werden. Mehr als ein Windowsuser hat sich seine Daten zerschossen, indem er entweder nicht draufgeklickt, sondern den Stick so abgezogen hat, oder zwar draufgeklickt, aber nicht bis zum Beenden des Schreibens (mit entsprechender Meldung „Sie können das Gerät nun entfernen“ oder so) gewartet hat.
Bei USB-Sticks ist auch kein großer Sinn zu erkennen. Aber es gibt noch andere Geräte: eBook-Reader z.B. gehen in den „nur laden“-Modus (meinen könnte man nicht benutzen, solange er am Rechner hängt, aber nicht mit „eject“ oder dem entsprechenden Button in Calibre „ausgeworfen“ wurde), und eigentlich gilt’s für jedes Gerät, bei dem die Storage-Funktion nur eine von mehreren Funktionen ist.guennid hat geschrieben:07.12.2018 15:13:39Einen Sinn darin, ein eingestecktes (nicht gemountetes) Gerät zu "disconnecten", also nach deiner Darstellung vor dem System zu verbergen, vermag ich nicht zu erkennen
Re: (gelöst) Umgang mit USB-Geräten
Irgendwie habe ich das Gefühl, gegen Wände zu reden. Nichsdestotrotz sind mir niemands Hinweise immer einen Beitrag wert.
Dein erster Kommentar bestätigt nur das, was zumindest mir eh klar ist. Wobei dieses Verhalten nicht nur den Win-User betrifft, sondern potentiell auch jeden Linuxer, der Mount/Unmount-Regeln nicht beachtet. Die hardware hindert halt dummerweise keinen einzigen User daran, Blödsinn mit dem USB-Stick zu machen, egal, welches Betriebssystem er nutzt.
Nur wird (wurde?) der Linux-Anfänger recht ausführlich und detailliert von jeder halbwegs offiziellen Anleitung über die Bedeutung des Mountens ausführlich informiert, worin ein solcher Blödsinn besteht und er den demzufolge tunlichst zu unterlassen hat, was mir mit dem windowsigen "Laufwerk sicher entfernen" nie der Fall zu sein schien. Müssen wir nicht drüber streiten, ist mein Eindruck. Aber mit dem ganzen Automount-Gedönse der DEs bewegt sich Linux nach meinem Eindruck in diese Richtung hin.
Interessant und neu für mich ist, was du über Lesegeräte sagst. Aber vielleicht verunklart offenbar (auch?) hier die "moderne" Software, das Problem, das man ohne sie nicht hätte. Ich habe keinen Verwendungszweck (mehr) für Calibre. Mein Tolino funktioniert, pysikalisch verbunden mit einem Rechner, als Lesegerät genauso wenig wie dein Gerät. Aber ich kann dmesg lesen, den tolino dann mounten und dann Daten auf ihn übertragen. Und wenn ich dann die Verbindung trenne, ohne ihn vorher unmountet zu haben, sind diese Daten höchstwahrscheinlich weg.Soweit so klar, seit Linux-Urzeiten. Wie dem auch sei, als Lesegerät kann ich ihn erst wieder benutzen, wenn ich ihn mit meinen eigenen Händen vom Rechner getrennt (und vorher hoffentlich ordnungsgemäß unmountet) habe. Verstehe ich dich recht, dass dein Lesegerät trotz physikalischer Verbindung mit dem Rechner als Lesegerät funktioniert, wenn es via eject/oder entsprechendem Calibre-Kommando "behandelt" wurde. Das wäre in der Tat eine kleine Verbesserung gegenüber dem, was bei mir notwendig ist. Nur was passiert da anderes, als mit einem "unmount passieren würde? Ich werde das - ohne Calibre - testen, obwohl ich diese Verbesserung für mich für recht marginal halte.
Grüße, Günther
Dein erster Kommentar bestätigt nur das, was zumindest mir eh klar ist. Wobei dieses Verhalten nicht nur den Win-User betrifft, sondern potentiell auch jeden Linuxer, der Mount/Unmount-Regeln nicht beachtet. Die hardware hindert halt dummerweise keinen einzigen User daran, Blödsinn mit dem USB-Stick zu machen, egal, welches Betriebssystem er nutzt.
Nur wird (wurde?) der Linux-Anfänger recht ausführlich und detailliert von jeder halbwegs offiziellen Anleitung über die Bedeutung des Mountens ausführlich informiert, worin ein solcher Blödsinn besteht und er den demzufolge tunlichst zu unterlassen hat, was mir mit dem windowsigen "Laufwerk sicher entfernen" nie der Fall zu sein schien. Müssen wir nicht drüber streiten, ist mein Eindruck. Aber mit dem ganzen Automount-Gedönse der DEs bewegt sich Linux nach meinem Eindruck in diese Richtung hin.
Dem nicht geposteten Teil deines zweiten Zitates ließe sich entnehmen, dass mir auch das bewusst ist.niemand hat geschrieben:Bei USB-Sticks ist auch kein großer Sinn zu erkennen. Aber es gibt noch andere Geräte
Interessant und neu für mich ist, was du über Lesegeräte sagst. Aber vielleicht verunklart offenbar (auch?) hier die "moderne" Software, das Problem, das man ohne sie nicht hätte. Ich habe keinen Verwendungszweck (mehr) für Calibre. Mein Tolino funktioniert, pysikalisch verbunden mit einem Rechner, als Lesegerät genauso wenig wie dein Gerät. Aber ich kann dmesg lesen, den tolino dann mounten und dann Daten auf ihn übertragen. Und wenn ich dann die Verbindung trenne, ohne ihn vorher unmountet zu haben, sind diese Daten höchstwahrscheinlich weg.Soweit so klar, seit Linux-Urzeiten. Wie dem auch sei, als Lesegerät kann ich ihn erst wieder benutzen, wenn ich ihn mit meinen eigenen Händen vom Rechner getrennt (und vorher hoffentlich ordnungsgemäß unmountet) habe. Verstehe ich dich recht, dass dein Lesegerät trotz physikalischer Verbindung mit dem Rechner als Lesegerät funktioniert, wenn es via eject/oder entsprechendem Calibre-Kommando "behandelt" wurde. Das wäre in der Tat eine kleine Verbesserung gegenüber dem, was bei mir notwendig ist. Nur was passiert da anderes, als mit einem "unmount passieren würde? Ich werde das - ohne Calibre - testen, obwohl ich diese Verbesserung für mich für recht marginal halte.
Grüße, Günther
Zuletzt geändert von guennid am 07.12.2018 18:37:08, insgesamt 1-mal geändert.
Re: (gelöst) Umgang mit USB-Geräten
Probier’s halt einfach mal mit eject. Würde mich nicht wundern, wenn man dann während des Ladens lesen könnte. Wie’s beim Kindle halt auch funktioniert.guennid hat geschrieben:07.12.2018 18:32:25Wie dem auch sei, als Lesegerät kann ich ihn erst wieder benutzen, wenn ich ihn mit meinen eigenen Händen vom Rechner getrennt (und vorher hoffentlich ordnungsgemäß unmountet) habe.
Re: (gelöst) Umgang mit USB-Geräten
Kleine Editierung meines ersten Satzes in meinem vorigen Beitrag. (Eigentlich wollte ich in diesem Thread nichts mehr schreiben. )
Grüße, Günther
Grüße, Günther
Re: (gelöst) Umgang mit USB-Geräten
So, hab's getestet:
/etc/fstab:
Kein Absturz/Freeze. Ausgehängt wird das Gerät, aber Lesezugriff nicht möglich. Vanilla-Eigenbaukern 4.14. Wie gesagt: dass es so wie bei niemand funktioniert, ist mir nicht besonders wichtig. Wenn ich Zeit finde, teste ich nochmal auf einer Maschine mit Stretch-Standard-Kern 4.9.
Grüße, Günther
/etc/fstab:
Code: Alles auswählen
LABEL=tolino /media/tolino auto rw,users,noauto 0 0
Code: Alles auswählen
$ mount /media/tolino
$ eject /media/tolino
eject: kann `/dev/sdc' nicht öffnen
Grüße, Günther