Comment enlever une key USB sans se soucier si elle a été démontée?

Parfois, je détwig ma key USB uniquement pour find des files qui n'y sont pas écrits.

Je suppose que la seule façon de s'assurer que les files sont écrits est de faire un clic droit sur le lecteur USB sur le bureau, puis select «démonter», mais parfois, je l'oublie.

Quelle est la meilleure façon de s'assurer que les files sont écrits sur le lecteur USB instantanément? De cette façon, je peux retirer le lecteur USB dès que je remarque que le voyant LED sur le lecteur USB s'est arrêté de clignoter.

OS: CentOS 6

C'est la réponse de Gilles, l'save ici pour qu'il ne se perde pas.

Si vous utilisez l'option de assembly de sync sur le lecteur amovible, toutes les écritures sont écrites immédiatement sur le disque afin que vous ne perdiez pas de données de files non encore écrits. C'est une mauvaise idée, mais il fait ce que vous requestz, en quelque sorte.

Notez que la sync ne garantit pas que vous ne perdrez pas de données . Le déassembly d'un lecteur amovible garantit également qu'aucune application n'a un file ouvert. Si vous ne démontez pas avant de détwigr, vous ne remarquerez pas si vous avez des données non enregistrées jusqu'à ce qu'il soit trop tard. Le déassembly pendant l'ouverture d'un file augmente également les risques de corruption, tant au niveau du système de files (le operating system peut avoir mis en queue certaines opérations jusqu'à ce que le file soit fermé) qu'au niveau de l'application (par exemple, t être enlevé).

En outre, la sync est mauvaise pour la durée de vie de l'appareil . Sans l'option de sync , les réorganisations du kernel les écrit et les écrit par lots. Avec l'option de sync , le kernel écrit chaque secteur dans l'ordre demandé par les applications. Sur les médias flash bon marché qui ne réaffectent pas les secteurs (ce qui signifie quasiment n'importe quelle key USB plus ancienne, je ne sais pas si c'est encore vrai des récents), les écritures répétées dans la table d'allocation de files sur (V) FAT ou au journal sur un système de files moderne typique peut tuer le bâton assez rapidement .

Par conséquent, je ne recommand pas d'utiliser l'option de assembly de sync .

Sur les filesystems FAT, vous pouvez utiliser l' option de assembly flush . Ceci est intermédiaire entre async (par défaut) et sync : avec l'option flush , le kernel vide toutes les écritures dès que le disque devient inactif, mais ne conserve pas l'ordre des écritures (par exemple toutes les écritures au FAT sont fusionnées) .

Patient : "Docteur, ça fait mal quand je fais ça."
Docteur : "Eh bien, ne fais pas ça."
peutêtre les Marx Brothers, mais ils l'ont probablement volé d'autres vaudevillians si oui

Les deux réponses sont correctes, mais je remets en question la question. Si vous ne vous souvenez pas de démonter correctement une key USB avant de la retirer, vous devriez peut-être vous en souvenir plus fort.

En général, le problème n'a pas de bonne solution. Le Macintosh d'origine (vers 1984) avait un lecteur de disquette de 90 mm sans button d'éjection approprié. Vous avez démonté le disque ou il ne serait pas sorti. Ils ont fourni un rlocation pour quand le logiciel a refusé d'éjecter le disque, mais vous aviez besoin d'un outil spécial (trombone non plié) pour l'actionner. Le trombone a formé une "fonction de forçage" de Don Normanesque car il était difficile d'ignorer que vous étiez en train de coincer un trombone dans un trou de 1mm.

En raison de la mécanique d'un connecteur USB, il est difficile de concevoir une fonction de forçage similaire pour les keys USB. Ainsi l'imprécation: ne pas retirer sans démonter. En outre, il est imprudent de conduire dans une automobile sans ceinture de security et à peu près toutes les fonctions de forçage jamais tentées n'ont pas réussi à atteindre la fin souhaitée.

Bien typiquement les périphériques de stockage de masse tels que les keys USB sont montés en utilisant une command, mount . Ils doivent être explicitement démontés en utilisant le compliment de cette command, umount (ce n'est pas une faute de frappe). Il existe des outils capables de détecter les events au niveau du matériel, par exemple un périphérique USB vient d'être branché. Ces «services» feront alors automatiquement le assembly pour vous. C'est ce qui se passe lorsque vous utilisez le bureau GNOME et vous verrez généralement les lecteurs USB apparaître comme monté dans le browser de files Nautilus.

Il est un peu plus difficile de savoir quand le périphérique n'est plus écrit. Vous devez écrire votre propre gestionnaire pour utiliser les messages Udev et DBUS pour savoir quand le périphérique a été écrit à chaque fois, puis le garder explicitement dans l'état "non monté".

Je ne vois pas d'autre moyen de le faire sans une intégration beaucoup plus profonde dans les différents sous-systèmes de Linux, et à ma connaissance, qui n'existe tout simplement pas pour l'instant.

MAC OS X

Je suppose que sur OSX, ils exécutent sync commands de sync et laissent le périphérique «monté», ce qui peut être considéré comme une chose dangereuse à faire, mais à des fins pratiques pour l'opérateur.