Réponses:
Non, ils ne doivent pas l'être non plus. ejectest 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.
syncle retire avant
ejectle pilote de périphérique USB sous-jacent peut toujours (essayer de) écrire APRÈS umountest revenu. Cela peut être clairement vu si le lecteur a un voyant d'état. Utiliser la clé USB juste après la umountfin 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.
sudocette 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.
ejectfonctionnera, 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
udisksctlqui n'a pas d' --detachotion 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 udisksou udisks2 disponible.
udisksctl power-off -b /dev/sdwhateversemble 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 -Yest é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.csources).
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 ejectfonctionne 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/sdc1a disparu.
mt rewofflest 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/sdXoù (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/sdXissg_start -s /dev/sdX(fromsg3_utilspackage), les deux utilisent des commandes SCSI pour envoyer au périphérique.