스크립트가 자신을 포함하는 볼륨을 마운트 해제할 수 있습니까?

스크립트가 자신을 포함하는 볼륨을 마운트 해제할 수 있습니까?

읽기 전용 하드 드라이브가 있는 컴퓨터가 있습니다. 플래시 드라이브에서 스크립트를 실행하고 있습니다. 스크립트가 플래시 드라이브를 마운트 해제할 수 있기를 원하지만 스크립트가 아직 읽기용으로 열려 있기 때문에 이 작업을 수행할 수 없습니다.

쓰기 가능한 다른 드라이브가 있으면 거기에 스크립트를 복사하여 실행하지만 넣을 곳이 없습니다. 스크립트를 메모리에 로드하여 메모리에서 실행하고 원본 스크립트 파일을 닫을 수 있는 방법이 있습니까?

답변1

배포판에 따라 실제로 저장소에 여러 개의 파일 시스템이 있을 수 있습니다. 이에 대한 mount | grep tmpfs아이디어를 얻을 수 있습니다.

특히 적어도 내 CentOS 시스템은 /run/user/(your UID)로그인한 모든 사용자가 사용할 수 있는 위치입니다. (여기서는 귀하의 스크립트가 주 메모리에 비해 상당히 작다고 가정합니다.) 귀하의 상황은 일종의 구조 임무처럼 들립니다. 따라서 귀하는 아마도 루트이므로 항상 가능합니다 /run/user/0.

1 모든 실제적인 상황에서

답변2

마지막으로 마운트 해제할 명령을 백그라운드에서 보낼 수 있습니다.

bash -c " ( sleep 10 ; echo umount /..../my-usb ) </dev/null >> /tmp/umount.log 2>&1 & "

관련 정보