나는 알고 eject
명령이 부착 된 거의 모든 하드웨어 구성 요소를 추출하는 데 사용할 수 있지만, USB 드라이브를 꺼내 사용할 수 있습니까?
eject
명령으로 USB 드라이브와 외장 HDD를 꺼낼 수 있습니까?
답변
아닙니다. 그렇지 않아도됩니다. eject
광 드라이브를 여는 데 사용되며 매체를 직접 가져올 수 없습니다.
USB / eSATA 등에는 마운트 해제로 충분합니다. 저장 장치.
답변
예. 예를 들면 다음과 같습니다.
sudo eject /dev/sda
여기에 기계식 배출 하드웨어가 필요하다는 다른 답변이 잘못되었습니다.
마운트 해제는 배출하는 것과 다릅니다.
- 볼륨을 마운트 해제하면 기본 장치를 계속 사용할 수 있으므로 볼륨을 즉시 다시 마운트 할 수 있습니다. 경우에 따라 보안 위험이 발생할 수 있습니다. 장치를 꺼내면 USB 하위 시스템 재설정 (예 : 재부팅) 만 장치를 다시로드합니다.
- 장치를 배출하면 장치에 대한 추가 액세스를 효과적으로 비활성화 할 수 있습니다. USB 하위 시스템 재설정 (예 : 재부팅) 만 장치를 다시로드합니다. 그렇지 않으면 USB 장치를 물리적으로 분리했다가 다시 연결해야 다시 액세스 할 수 있습니다.
- 꺼내기 전에이 명령은 마운트 된 장치의 모든 볼륨을 마운트 해제합니다.
- 볼륨이 사용 중이면 일부 볼륨이 마운트 해제되고 일부 볼륨이 마운트 된 상태로 남아있는 것을 제외하고는 마운트 해제와 같이이 명령이 실패합니다.
답변
eject
작동하지만 USB 회전 드라이브 와 관련하여 실제로 “작업을 마치지”않을 것 입니다.
적절한 마운트 해제 후 USB 외장 하드 드라이브를 분리하는 가장 좋은 방법 은 다음과 같습니다.
udisks --detach /dev/sdb
이로 인해 일반적으로 드라이브가 정상적으로 회전하지 않습니다.
정확하게, 현재 구현 :
- SCSI 동기화 캐시 명령을 보냅니다.
- SCSI 중지 명령을 보냅니다.
- USB 저장 장치 커널 드라이버의 바인딩을 해제합니다.
- USB 장치를 정지시킵니다 (전원).
- USB 포트에서 논리적으로 비활성화 / 제거합니다.
이 프로세스는 여기 에 제안 된 수동 절차에 가깝습니다 . 초기 답변은 askubuntu에있었습니다 .
편집 : 또한 g.rocket이 지적 했듯이이 명령은 다음과 같습니다.
udisksctl power-off -b /dev/sdb
답변
디스크 / dev / sdb 마운트 해제를위한 수동 단계 (sudo 필요) :
echo 'offline' > /sys/block/sdb/device/state
echo '1' > /sys/block/sdb/device/delete
이렇게하면 장치의 전원이 완전히 꺼지고 시스템에서 분리됩니다. 연결을 끊었다가 다시 연결할 때까지 다시 검색되지 않습니다.
답변
eject (1) 매뉴얼 페이지 를주의 깊게 읽으면 4 가지 추출 방법이 있음을 알 수 있습니다.
-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.
HDD / SCSI에서 꺼내기 를 호출하면 ioctl(fd, SG_IO, (void *)&io_hdr);
명령 ( eject.c
소스 에서 복사)을 발행 합니다.
이것은 MS Windows 또는 MaxOSX에서 장치를 안전하게 제거하는 것과 같습니다.
일부 장치의 경우 특별한 의미가 있습니다. 예를 들어 꺼내기 명령 후 Kindle 3 이 충전 모드로 이동하고 화면이 잠기기 전에 장치를 탐색 할 수 있습니다.
다른 유틸리티는 이와 같은 일을합니다
scsi-spin --force --down /dev/sda
답변
“이젝트”는 트레이 또는 다른 로딩 메커니즘이없는 하드웨어에는 의미가 없습니다 (테이프 드라이브에서도 작동한다고 가정).
그러나 외부 USB 플래시 드라이브로 테스트 하면 장치 노드가 사라지는 부작용과 eject
같은 방식으로 작동합니다.umount
% ls /dev/sdc*
/dev/sdc /dev/sdc1
% sudo eject /dev/sdc
% ls /dev/sdc*
/dev/sdc
주 /dev/sdc1
사라졌다.