Algunos detalles

Algunos detalles

sé que elejectEl comando se puede utilizar para expulsar casi cualquier componente de hardware conectado, pero ¿se puede utilizar para expulsar unidades USB?

¿Es posible expulsar unidades USB y discos duros externos con eleject¿dominio?

Respuesta1

Sí. Por ejemplo:

sudo eject /dev/sda

Otras respuestas aquí que indican que necesita hardware de expulsión mecánica son incorrectas.

Desmontar no es lo mismo que expulsar.

  1. Si desmontas un volumen, puedes volver a montarlo inmediatamente, porque el dispositivo subyacente todavía está disponible.En algunas situaciones, esto podría representar un riesgo para la seguridad.Al expulsar el dispositivo, sólo un reinicio del subsistema USB (por ejemplo, un reinicio) recargará el dispositivo.
  2. Al expulsar el dispositivo, deshabilita efectivamente cualquier acceso posterior al dispositivo. Sólo un reinicio del subsistema USB (por ejemplo, un reinicio) recargará el dispositivo. De lo contrario, deberás desconectar físicamente el dispositivo USB y volver a conectarlo para poder acceder a él nuevamente.
  3. Antes de expulsar, este comando desmontará todos los volúmenes del dispositivo que se montaron.
  4. Si hay volúmenes en uso, este comando fallará como ocurre con el desmontaje, excepto que algunos volúmenes pueden estar desmontados y otros pueden permanecer montados.

Respuesta2

Enlinux, ejectfuncionará, pero realmente no "terminará el trabajo" con respecto al USBgiratoriounidades.

Primero, tú eject /dev/sdb(o umounttodo).

Yentonces,después del desmontaje adecuado, la mejor manera de desconectar un disco duro externo USB es:

    udisksctl power-off -b /dev/sdb

o

    udisks --detach /dev/sdb

Esto normalmente hace que la unidad deje de girar con gracia.

Nota: udisksctlpodría ser una herramienta más "convencional", en comparación con udisks(la primera ya está instalada en mi Debian, la segunda no y lo ha sido).criticadopara subir/bajar giros innecesarios).

Algunos detalles

udisksctl

Elestados de documentación(sobre la opción de apagado):

Dispone que la unidad se retire y apague de forma segura. En el lado del sistema operativo, esto incluye garantizar que ningún proceso esté utilizando la unidad y luego solicitar que los buffers y cachés en tránsito se comprometan en un almacenamiento estable. Los pasos exactos para apagar la unidad dependen de la unidad en sí y de la interconexión utilizada. Para las unidades conectadas a través de USB, el efecto es que el dispositivo USB se desconfigurará y luego se desactivará el puerto concentrador ascendente al que está conectado.

Tenga en cuenta que, como algunos dispositivos físicos contienen varias unidades (por ejemplo, dispositivos USB con lector de tarjetas flash 4 en 1), apagar una unidad puede afectar a otras unidades. Como tal, no existen muchas garantías asociadas con la realización de esta acción. Normalmente el efecto es que el disco desaparece como si estuviera desconectado.

udisks (¿en desuso?)

Precisamente, elimplementación actual(a partir de 2014):

  • envía el comando SCSI sync-cache,
  • envía el comando de parada SCSI,
  • desvincula el controlador del kernel de almacenamiento USB,
  • suspende el dispositivo USB (alimentación),
  • lógicamente lo desactiva/elimina de su puerto USB.

Este proceso es cercano al procedimiento manual que se sugiereaquí. La respuesta inicial fueen Askubuntu.

Respuesta3

Pasos manuales para desmontar el disco /dev/sdb (Requiere sudo):

echo 'offline' > /sys/block/sdb/device/state
echo '1' > /sys/block/sdb/device/delete

Esto apagará completamente el dispositivo y lo desconectará del sistema. No se volverá a detectar hasta que se desconecte y se vuelva a conectar.

Respuesta4

Si lees atentamenteexpulsar(1)página de manual puede ver que hay 4 métodos de expulsión:

   -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.

Cuando usted llamaexpulsaren HDD/SCSI emite ioctl(fd, SG_IO, (void *)&io_hdr);el comando (copiar desde eject.cfuentes).

Esto equivale a eliminar de forma segura el dispositivo en MS Windows o MaxOSX.

Para algunos dispositivos esto tiene un significado especial. Por ejemplo Kindle 3 despuésexpulsarEl comando se ha movido al modo de carga y permite navegar en el dispositivo, mientras que antes la pantalla estaba bloqueada.

Otras utilidades hacen lo mismo, como esta

scsi-spin --force --down /dev/sda

información relacionada