pendrive에 데이터를 즉시 기록하도록 구성하는 방법은 무엇입니까?


12

pendrive에서 파일을 편집 한 다음 물리적으로 제거하면 데이터가 기록되지 않습니다. "꺼내기"를 클릭해야하므로 LED가 깜박이기 시작하고 데이터가 기록되기 시작합니다.

변경시 데이터가 즉시 기록되도록 어떻게 변경할 수 있습니까?

업데이트 : 우분투 11.10

우분투 11.10에서는 규칙 파일 ( @enzotib 답변)을 작성했지만 작동하지만 꺼내기 / 마운트 해제하려고 할 때 다음 메시지가 표시됩니다.

여기에 이미지 설명을 입력하십시오

(우분투 11.10에 대해 다른 질문을 시작해야합니까?)


2
쓰기 캐시가 더 이상 사용되지 않으므로 성능이 떨어집니다. 꺼내기 / 마운트 해제 옵션을 사용하여 파티션을 올바르게 마운트 해제하면 데이터가 손실됩니다.
Lekensteyn

4
sync파티션을 마운트 할 때이 옵션을 사용할 수 있습니다 . 썸 드라이브에 대한 쓰기 수가 급격히 증가하기 때문에 권장하지 않습니다.
정렬

2
@ urangetu가 자동 마운트를 수행함에 따라 이것을 sync기본값으로 설정 하는 방법이 있습니까? 그래서 매번 터미널 에서이 작업을 수행 할 필요가 없습니까? 그리고 나는 그것이 쓰기 수를 극적으로 증가시킬 것이라는 것을 알고 있습니다. 여전히 내가 원하는 것입니다. 감사!
톰 브리토


@arrange는 그것을 보았지만 여전히 완전한 대답은 아닙니다 ...
Tom Brito

답변:


8

@arrange가 자신의 의견에 표시 하는 질문과 답변에 따라 새 파일을 만들어 보겠습니다.

/etc/udev/rules.d/11-media-by-label-auto-mount.rules

다음 내용을 작성하십시오 ( / media 아래의 udev :: Mount 참조 ; 존재하는 경우 파티션 레이블 사용 )

KERNEL!="sd[a-z][0-9]", GOTO="media_by_label_auto_mount_end"

# Import FS infos
IMPORT{program}="/sbin/blkid -o udev -p %N"

# Get a label if present, otherwise specify one
ENV{ID_FS_LABEL}!="", ENV{dir_name}="%E{ID_FS_LABEL}"
ENV{ID_FS_LABEL}=="", ENV{dir_name}="usbhd-%k"

# Global mount options
ACTION=="add", ENV{mount_options}="relatime,sync"
# Filesystem-specific mount options
ACTION=="add", ENV{ID_FS_TYPE}=="vfat|ntfs", ENV{mount_options}="$env{mount_options},utf8,uid=1000,gid=1000,umask=002"

# Mount the device
ACTION=="add", RUN+="/bin/mkdir -p /media/%E{dir_name}", RUN+="/bin/mount -o $env{mount_options} /dev/%k /media/%E{dir_name}"

# Clean up after removal
ACTION=="remove", ENV{dir_name}!="", RUN+="/bin/umount -l /media/%E{dir_name}", RUN+="/bin/rmdir /media/%E{dir_name}"

# Exit
LABEL="media_by_label_auto_mount_end"

나는 웹 사이트에보고 된 것과 관련하여 약간의 수정을했습니다.

  • sync옵션을 추가ENV{mount_options}
  • 수정 gid=100에 대한 옵션 uid=1000,gid=1000에 의해 반환되는 숫자가 사용-ID와 그룹 ID를 기준으로, id -u그리고id -g

두 번째는 마운트 된 파티션에있는 모든 파일의 소유자가되므로 권한 문제가 발생하지 않습니다. 한 명 이상의 사용자가 파일에 액세스해야하는 경우에는 그렇지 않지만 다른 방법으로 처리 할 수 ​​있습니다.

Windows 이외의 파일 시스템의 경우 소유자 및 그룹은 파일 시스템의 메타 데이터이며 마운트 옵션으로 변경할 수 없습니다.

새로운 규칙은 즉시 활성화됩니다 ( udevinotify 를 사용하여 새로운 규칙 파일과 수정 된 규칙 파일을 탐지합니다).

마운트 된 드라이브는 볼 수 있듯이 파일 관리자 창에서 자동으로 열리지 않으며 마운트 프로세스가 루트에 의해 소유되고 그래픽 로그인 세션에 액세스 할 수 없기 때문에 달성하기가 어렵습니다. 그러나 드라이브는 데스크탑에 있으므로 간단한 두 번 클릭하면 열립니다.

불행히도 바탕 화면을 마우스 오른쪽 버튼으로 클릭하여 마운트 해제를 작동시킬 수는 없지만 큰 문제는 아닙니다. sync옵션을 사용하면 장치를 간단히 분리 할 수 ​​있으며 udev 규칙은 항목을 /proc/mounts제거하고 마운트를 제거합니다. 포인트.


이 방법을 작성해 주셔서 감사합니다.;) 또한 사용자가 마운트를 해제 할 수 없었습니다. users옵션이 fstab파일 에서만 유효 하는 것 같습니다 ... 이것은 아닙니다. 여기서 문제 ( "동기화"), 그러나 일반적인 방법은있을 것입니다.
정렬

대답 해줘서 고마워. 불행히도, 설명을 한 후에 pendrive에서 파일을 만들거나 편집하거나 삭제할 수 없습니다. 또한 플러그를 꽂을 때 더 이상 자동으로 창을 열지 않습니다. 어떤 생각?
Tom Brito

그건 그렇고, ".rule"을 입력 한 확장자가 잘못되었다고 생각하고 해당 폴더의 다른 파일 인 ".rules"를 사용했습니다.
Tom Brito

이 설명서에는 사용할 특정 확장에 대한 내용이 나와 있지 않습니다. 그런데 사이트에서 잘못 복사 했으므로 .rules안전하게 사용하는 것이 좋습니다 . 나머지는 편집 된 답변을 참조하십시오.
enzotib

안녕하세요, 지금 우분투 11.10을 사용하고 있으며 다른 동작이 있습니다. 내 업데이트를 참조하십시오.
Tom Brito
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.