J'utilise Ubuntu 12.04, et lorsque je clique sur une icône de mon lecteur flash (dans la barre de gauche de Unity), j'obtiens deux options qui me rendent confus: éjecter et supprimez en toute sécurité .
Le plus proche de ma réponse était ce fil de discussion , ce qui conclut que (pour un lecteur flash), ils sont à la fois égaux et également équivalents à utiliser la commande umount
. Cependant, cette dernière affirmation semble être fausse.
Si j'utilise umount
de la console pour démonter ma plongée flash, puis j'utilise la commande lsblk
, je vois toujours mon appareil (sans rien sous MOUNTPOINT, bien sûr) . D'un autre côté, si je éjecte ou enlève en toute sécurité mon lecteur flash , lsblk
ne l'affiche plus.
Donc, ma question est, quelle serait la commande/les commandes de la console qui reproduiraient vraiment le comportement de éjecter et supprimer en toute sécurité ?
Si vous utilisez systemd
, utilisez l'utilitaire udisksctl
avec power-off
option:
éteindre
Organise le retrait et la mise hors tension du lecteur. Du côté du système d'exploitation, cela implique de s'assurer qu'aucun processus n'utilise le lecteur, puis de demander que les tampons et les caches en vol soient validés pour un stockage stable.
Je recommanderais d'abord de démonter tous les systèmes de fichiers sur cette clé USB. Cela peut être fait aussi avec udisksctl
, donc les étapes seraient:
udisksctl unmount -b /dev/sda1
udisksctl power-off -b /dev/sda
Si vous n'utilisez pas systemd
alors l'ancien bon udisks
devrait fonctionner:
udisks --unmount /dev/sda1
udisks --detach /dev/sda
umount
est parfaitement sûr pour le disque. Une fois que vous avez fait cela, vous avez réussi à démonter le système de fichiers et vous n'avez pas à vous inquiéter dans ce sens. La principale différence entre eject et umount
ne concerne pas du tout le disque - il s'agit plutôt de la sortie d'alimentation 5v du port USB.
Après umount
, vous pouvez toujours voir votre disque répertorié dans lsblk
car il est toujours sous tension et connecté. umount
le système de fichiers d'un disque dur interne et vous verrez le même comportement pour la même raison. Mais lorsque vous éjectez un périphérique USB, vous le mettez hors tension et il cesse de tirer le 5v, il le ferait généralement - je pense qu'il descend à 0,5 V, mais cette classe s'est produite il y a longtemps.
lsblk -f /dev/disk/by-id/usb-SanDisk_Cruzer_200522428118F4325EC2-0:0
NAME FSTYPE LABEL UUID MOUNTPOINT
sdd
├─sdd1 vfat USBESP 3AD6-C7CC
└─sdd2 ext4 USBROOT 5afbfe93-6955-44ec-8c4f-cf381f8ef174
Voici sa ligne de bus usb ...
cat /sys/bus/usb/devices/5-3/manufacturer
SanDisk
Même si je ne le monte presque jamais, il est branché et clignote depuis longtemps, je suppose ...
cat /sys/bus/usb/devices/5-3/power/{level,connected_duration}
on
1777877440
Je devrais faire quelque chose à ce sujet:
echo 1 | Sudo tee /sys/bus/usb/devices/5-3/remove
Maintenant, je vais y jeter un œil à nouveau ...
cat /sys/bus/usb/devices/5-3/power/level
cat: /sys/bus/usb/devices/5-3/power/level: No such file or directory
Hmmm ...
lsblk -f /dev/disk/by-id/usb-SanDisk_Cruzer_200522428118F4325EC2-0:0
lsblk: /dev/disk/by-id/usb-SanDisk_Cruzer_200522428118F4325EC2-0:0: not a block device