이전에 chroot된 파일 시스템을 제거하는 방법은 무엇입니까?

이전에 chroot된 파일 시스템을 제거하는 방법은 무엇입니까?

나는 다음과 같이 데비안 서버의 일부 문제를 해결하기 위해 복구 라이브 시스템(라이브 CD와 유사)을 사용하고 있습니다:

# mkdir -p /mnt/rescue
# mount /dev/md2 /mnt/rescue
# mount --bind /dev /mnt/rescue/dev/
# mount --bind /proc /mnt/rescue/proc/
# mount --bind /sys /mnt/rescue/sys/

이제 chroot를 할 수 있습니다 /mnt/rescue. 하지만 작업이 끝나면 파일 시스템을 다시 마운트 해제하려면 어떻게 해야 합니까?

umount: /mnt/rescue: target is busy.
    (In some cases useful info about processes that use
     the device is found by lsof(8) or fuser(1))

나는 이것이 마운트된 파일 시스템에 바인딩되어 있기 때문 dev이라고 추측합니다. 하지만 제거하는 것도 불가능합니다 ...procsys

답변1

  1. 먼저 chroot 세션을 종료해야 합니다. 일반적으로 exit다음과 같이 간단합니다.

    exit
    
  2. 그런 다음 바인딩된 모든 디렉터리를 제거합니다.

    umount /mnt/rescue/dev/
    umount /mnt/rescue/proc/
    umount /mnt/rescue/sys/
    
  3. 그 다음에:

    umount /mnt/rescue
    

여기에서 사용되지 않는 것이 걱정되시는 경우에는 sync제거 가능 여부에 아무런 영향을 미치지 않으므로 주의하시기 바랍니다. 마운트 해제하면 마운트된 쓰기가 어쨌든 플러시됩니다(마운트 해제 후에는 갈 곳이 없기 때문에 필요합니다). chroot 프로세스의 존재 여부는 관련이 없습니다(제거를 방지하지 않는 한). 정상적인 시스템 작동 중에는 동기화가 눈에 띄는 영향을 미치지 않습니다. 동기화는 장치가 제거되지 않은 채 물리적으로 연결이 끊어졌거나 장치가 마운트된 동안 시스템이 충돌하는 경우에만 영향을 미칩니다.

답변2

다음 명령을 실행하여 파일 시스템을 파일 시스템 계층에서 강제로 분리하고 파일 시스템이 더 이상 사용되지 않는 즉시 파일 시스템에 대한 모든 참조를 지웁니다.

umount -lf /mnt/rescue

답변3

"대상이 사용 중입니다"라는 메시지를 받은 이유입니다. 이 메시지는 파일 브라우저나 터미널 세션에서 열려 있는 마운트 지점( /mnt/rescue)과 제거 프로세스 순서로 인해 발생합니다(여기서는 마운트 지점이 dev/pts제거되기 전에 제거되어야 함 을 의미함 dev/).

음, 모든 파일 시스템을 성공적으로 마운트 해제하려면 다음을 수행하십시오.

  • 파일 브라우저에서 마운트 지점이 열려 있지 않은지 확인하세요!
  • chroot를 종료한 후 디렉토리를 chroot dir( cd)로 변경하세요!
  • fs를 마운트 해제하려면 다음 순서를 따르십시오 dev/pts => dev/ => proc/ => sys/.

    sudo umount /mnt/rescue/dev/pts
    sudo umount /mnt/rescue/dev sudo umount /mnt/rescue
    /proc
    sudo umount /mnt/rescue/sys
    sudo umount /mnt/rescue

답변4

chroot를 종료합니다. 호스트 시스템에서 "mount" 명령을 실행하면 마운트된 모든 경로가 표시됩니다. (chroot에 마운트된 경로를 포함합니다.) 예를 들면 다음과 같습니다.

binfmt_misc on /home/user/projects/jsroot/proc/sys/fs/binfmt_misc

그런 다음 chroot 환경으로 들어갑니다. 모든 경로를 순서대로 마운트 해제하려면 chroot 환경에서 마운트 해제를 실행하세요. (하위 경로는 상위 경로보다 먼저 언로드되어야 합니다.)

unmount /proc/sys/fs/binfmt_misc
unmount /proc/sys
unmount /proc

관련 정보