Réponses:
Non, ils ne doivent pas l'être non plus. eject
est utilisé pour ouvrir des lecteurs optiques, où il est impossible d'extraire directement le support.
Le démontage est suffisant pour USB / eSATA / etc. périphériques de stockage.
sync
le retire avant
eject
le pilote de périphérique USB sous-jacent peut toujours (essayer de) écrire APRÈS umount
est revenu. Cela peut être clairement vu si le lecteur a un voyant d'état. Utiliser la clé USB juste après la umount
fin est RECIPE FOR DISASTER.
Oui. Par exemple:
sudo eject /dev/sda
Les autres réponses suggérant que vous avez besoin d’un matériel d’éjection mécanique sont incorrectes.
Le démontage n'est pas la même chose que l'éjection.
sudo
cette commande pour qu'elle se termine (tout ce qu'elle ferait était de démonter le lecteur avant de dire qu'il était incapable d'ouvrir le fichier). Autre que cela, réponse utile.
eject
fonctionnera, mais ne "terminera pas vraiment le travail" en ce qui concerne les lecteurs rotatifs USB .
La meilleure façon de débrancher un disque dur externe USB, après un démontage approprié , est la suivante:
udisks --detach /dev/sdb
Cela provoque généralement une réduction progressive du lecteur.
Justement, la mise en œuvre actuelle :
Ce processus est proche de la procédure manuelle suggérée ici . La réponse initiale était sur askubuntu .
EDIT: De plus, comme le souligne g.rocket , cette commande peut être équivalente:
udisksctl power-off -b /dev/sdb
udisksctl
qui n'a pas d' --detach
otion est disponible. Que faire dans ce cas? Merci.
udisks
.
udisks
? Ce n'est pas sur mon système. J'ai trouvé le paquet udisks2
, mais cela n'a pas fait udisks
ou udisks2
disponible.
udisksctl power-off -b /dev/sdwhatever
semble faire la même chose.
Procédure manuelle de démontage du disque / dev / sdb (nécessite sudo):
echo 'offline' > /sys/block/sdb/device/state
echo '1' > /sys/block/sdb/device/delete
Cela éteindra complètement l'appareil et le détachera du système. Il ne sera plus détecté tant qu'il ne sera pas déconnecté et reconnecté.
hdparm -Y
est également pratique pour les disques SATA / IDE.
Si vous lisez attentivement la page de manuel eject (1) , vous constaterez qu’il existe 4 méthodes d’éjection:
-r This option specifies that the drive should be ejected using a CDROM
eject command.
-s This option specifies that the drive should be ejected using SCSI
commands.
-f This option specifies that the drive should be ejected using a remov‐
able floppy disk eject command.
-q This option specifies that the drive should be ejected using a tape
drive offline command.
Lorsque vous appelez eject sur le disque dur / SCSI, il émet une ioctl(fd, SG_IO, (void *)&io_hdr);
commande (copie depuis les eject.c
sources).
Cela équivaut à supprimer un périphérique en toute sécurité sous MS Windows ou MaxOSX.
Pour certains appareils, cela a une moyenne particulière. Par exemple, Kindle 3 après que la commande d’ éjection a été déplacée en mode de charge et autorise la navigation sur l’appareil, alors que l’écran précédent était verrouillé.
Un autre utilitaire fait la même chose, comme ça
scsi-spin --force --down /dev/sda
"Éjecter" n'a aucune signification pour le matériel sans bac ou autre mécanisme de chargement (je suppose que cela fonctionne aussi avec les lecteurs de bande).
Cependant, les tests avec une clé USB externe indiquent que cela eject
fonctionne beaucoup umount
: avec comme effet secondaire de faire disparaître les nœuds de périphérique, par exemple:
% ls /dev/sdc*
/dev/sdc /dev/sdc1
% sudo eject /dev/sdc
% ls /dev/sdc*
/dev/sdc
Remarque qui /dev/sdc1
a disparu.
mt rewoffl
est plus pratique car il rembobine aussi), mais il ne fait travailler avec les lecteurs de disquettes à moteur comme ceux qu'on trouve sur les anciens Mac et stations de travail Sun.
udisks --detach /dev/sdX
où (X) est la dernière lettre de votre périphérique USB. Cela fonctionne bien sur n'importe quel système Linux.
OK, je vais essayer de mieux l'expliquer:
La commande udisks supprime et éteint complètement tout périphérique USB monté ou connecté dans la commande de démontage du système, il suffit de démonter la partition, c.-à-d.: dev / sdb1 ou autre chose, mais que le port USB est toujours présent dans le système.
Donc ce n’est pas la même chose de démonter, éjecter et détacher
udisks = éteindre l'USB
umount = démontez simplement la partition et non la clé USB entière
éjecter = identique ou très proche de la commande umount
eject /dev/sdX
issg_start -s /dev/sdX
(fromsg3_utils
package), les deux utilisent des commandes SCSI pour envoyer au périphérique.