USB 드라이브가 마운트 해제되었는지 걱정하지 않고 USB 드라이브를 제거하려면 어떻게 해야 합니까?

USB 드라이브가 마운트 해제되었는지 걱정하지 않고 USB 드라이브를 제거하려면 어떻게 해야 합니까?

때로는 USB 드라이브를 분리했는데 파일이 기록되지 않은 것을 발견할 때도 있습니다.

파일이 기록되었는지 확인하는 유일한 방법은 바탕 화면에서 USB 드라이브를 마우스 오른쪽 버튼으로 클릭하고 "마운트 해제"를 선택하는 것인데 가끔 잊어버리곤 합니다.

파일이 USB 드라이브에 즉시 기록되도록 하는 가장 좋은 방법은 무엇입니까? 이렇게 하면 USB 드라이브의 LED 표시등이 깜박임을 멈추면 USB 드라이브를 제거할 수 있습니다.

운영 체제: CentOS 6

답변1

이동식 드라이브에서 마운트 옵션을 사용 하면 sync모든 쓰기가 즉시 디스크에 기록되므로 아직 기록되지 않은 파일의 데이터가 손실되지 않습니다. 이것은 나쁜 생각이지만 원하는 대로 작동합니다.

알아채다sync데이터가 손실되지 않는다는 보장은 없습니다. 이동식 드라이브를 마운트 해제하면 어떤 응용 프로그램에서도 파일이 열려 있지 않게 됩니다. 플러그를 뽑기 전에 제거하지 않으면 너무 늦을 때까지 저장되지 않은 데이터가 있는지 알 수 없습니다. 파일이 열려 있는 동안 언로드하면 파일 시스템 수준(파일이 닫힐 때까지 운영 체제가 특정 작업을 대기열에 넣을 수 있음)과 응용 프로그램 수준(예: 응용 프로그램이 파일 잠금을 설정하는 경우) 모두에서 손상 가능성이 높아집니다. , 삭제되지 않습니다.)

또한,sync장비의 수명에 유해함. 이 sync옵션이 없으면 커널은 일괄적으로 쓰기 및 쓰기를 재정렬합니다. 이 sync옵션을 사용하면 커널은 애플리케이션이 요청한 순서대로 각 섹터를 씁니다. 섹터를 재할당하지 않는 저렴한 플래시 미디어(거의 모든 구형 USB 스틱을 의미합니다. 최근 USB 스틱에서도 이것이 여전히 해당되는지는 모르겠습니다)에서 파일 할당 테이블에 반복적으로 쓰거나 (V)FAT에 로그온합니다. 일반적인 최신 파일 시스템에서막대기를 아주 빨리 죽일 수 있다.

sync따라서 마운트 옵션을 사용하지 않는 것이 좋습니다 .

FAT 파일 시스템에서는 다음을 사용할 수 있습니다.flush설치 옵션. 이는 async(기본값)과 다음 사이의 중간 값 입니다 sync. 이 flush옵션을 사용하면 드라이브가 유휴 상태가 되면 커널이 모든 쓰기를 플러시하지만 쓰기 순서는 유지하지 않습니다(예를 들어 FAT에 대한 모든 쓰기가 병합됩니다).

답변2

일반적으로 대용량 저장 장치(예: USB 썸 드라이브)는 명령을 사용하여 마운트됩니다 mount. 이 명령을 추가하여 명시적으로 제거해야 합니다 umount(오타가 아님). USB 장치가 방금 연결되는 등 하드웨어 수준의 이벤트를 감지할 수 있는 도구가 있습니다. 그러면 이러한 "서비스"가 자동으로 설치됩니다. GNOME 데스크탑을 사용할 때 이런 일이 발생합니다. 일반적으로 파일 브라우저 Nautilus에 USB 드라이브가 마운트된 것으로 표시됩니다.

장치에 더 이상 기록되지 않는 시기를 아는 것은 약간 까다롭습니다. 이를 위해 Udev 및 DBUS 메시지를 사용하여 장치에 대한 각 쓰기가 완료되는 시기를 파악한 다음 이를 "마운트되지 않음" 상태로 명시적으로 남겨두는 방식으로 자체 핸들러를 작성해야 합니다.

Linux의 다양한 하위 시스템에 대한 심층적인 통합 없이는 이를 수행할 수 있는 다른 방법을 찾을 수 없으며, 제가 아는 한 아직 존재하지 않습니다.

운영 체제

내 생각에는 OSX에서 명령을 실행 sync하고 장치를 "마운트된" 상태로 두는 것 같습니다. 이는 위험한 것으로 간주될 수 있지만 운영자에게는 편리합니다.

관련 정보