fstab에서 드라이브에 폴더를 마운트합니다. 이동하다?

fstab에서 드라이브에 폴더를 마운트합니다. 이동하다?

내 파일이 다른 드라이브에 fstab있도록 임시로 파일을 변경하고 싶습니다 . /home그러나 전체 파티션을 마운트하는 것이 아니라 해당 파티션에 하나의 폴더("home")만 마운트하고 싶습니다. 나머지 데이터는 사용할 수 없다는 데 동의합니다.

이것을 표현하는 표준적인 방법은 무엇입니까 fstab? 아직 마운트되지 않은 파일 시스템의 폴더를 참조할 수 없기 때문에 하나의 명령으로 이 작업을 수행하는 방법을 생각할 수 없습니다. 첫 번째 설치를 하고 폴더를 로 이동해야 할 것 같습니다 /home. 하지만 이동할 수 있는지는 fstab아직 찾지 못했습니다 man(그리고 에만 액세스할 수 있으므로 맹목적으로 시도하고 싶지 않습니다. 지금 당장 ssh를 통해 머신으로 접속하세요).

이제 바인드 마운트가 생겼습니다 fstab.

/dev/sdd1 /mnt/temphome ntfs defaults,errors=remount-ro 0 2
/mnt/temphome/home /home none bind

그러나 이렇게 하면 /dev/sdd1두 지점이 모두 설치된 상태로 유지됩니다.

결론적으로:

  • 그곳에서 모바일 설치를 할 수 있나요 fstab? 그렇다면 어떻게 진행해야 할까요?
  • 이것이 올바른 접근 방식입니까? 그렇지 않다면 무엇입니까?

미리 감사드립니다.

답변1

내 생각엔 당신이 그 행동을 할 수 없을 것 같아요 /etc/fstab. 이 작업을 수행하려면 mount --move에서 수행하십시오 /etc/rc.local. 이렇게 하면 부팅 프로세스 중에 홈 디렉토리를 최종 위치에서 사용할 수 없는 시간이 남습니다. 이는 홈 디렉토리이므로 부팅 프로세스 동안 많이 사용되어서는 안 되므로 중요하지 않습니다. 내가 생각할 수 있는 한 가지는 @rebootcrontab 명령입니다. 이들 중 하나라도 있는 경우 홈 디렉토리를 사용할 수 있어야 하므로 이를 mount --move올바른 위치 /etc/rc.sysinit( 바로 뒤 mount -a)에 추가해야 합니다.

그러나 바인드 마운트를 사용하는 것은 괜찮을 수 있습니다. 잘못될 수 있는 주요 사항은 백업 및 업데이트와 같이 전체 디스크를 순회하는 프로세스입니다. 바인드 마운트를 유지하는 /etc/fstab것은 가장 덜 위험한 옵션이지만 디스크 워크 프로세스를 건너뛰도록 구성해야 합니다 /mnt/temphome/home.

/home또 다른 가능성은 심볼릭 링크를 만드는 것입니다 . 그러나 이로 인해 일부 프로그램에서는 사용자의 홈 디렉터리에 대한 절대 경로가 기록될 수 있습니다. 즉, /mnt/temphome/home/bob바인드 마운트 또는 모바일 하위 마운트에는 이 문제가 없습니다.

답변2

아니요, 요청한 대로 수행할 수 없습니다. 지적하신 대로 아직 마운트되지 않은 파일 시스템의 파일은 참조할 수 없습니다. [*]

그러나 루프 장치를 통해 마운트된 기증자 파티션의 파일 시스템이 도움이 될 수 있는 시나리오가 있습니다. 고려하다:

# cd /mnt/temphome
# chmod 700 .
# chown root.root .
# dd if=/dev/zero of=temphome bs=4k count=1M
# mke2fs -j temphome
(answer yes to the annoying question)
# mount temphome /home -o loop

이는 파티션 루트의 파일에 4GiB /home파일 시스템을 생성하는 것입니다. /mnt/temphome여전히 기증자 파티션을 마운트하고 마운트된 상태를 유지해야 하지만, 루트만 이를 마운트하거나 /home장치 마운트 루핑을 포함하여 내용을 직접 변경할 수 있습니다. 그러나 새 /home파일 시스템이 마운트되면 일반 사용자는 권한에 의해 제어되는 권한을 가진 커널을 통해 새 파일 시스템에 쓸 수 있습니다.순환 파일 시스템.

어떤 이유로 인해 /mnt/temphome파티션이 귀하가 원하는 것보다 여전히 더 큰 위험에 처해 있는 경우 제가 생각할 수 있는 최선의 옵션은 다음을 사용하는 것입니다.갈라진기부 파티션을 축소하고 여유 공간을 사용하여 새 임시 파티션을 만듭니다 /home. 사용이 끝나면 gparted로 돌아가서 임시 파티션을 삭제하고 기부 파티션을 다시 확장하여 여유 공간을 사용하세요. 그러나 여기에는 그 자체의 위험이 따릅니다. 파티션 수정은 100% 안전하지 않습니다.


[*] 글쎄, 그것은 전적으로 사실이 아닙니다. 때로는 다른 파일 시스템에 있는 파일의 정확한 디스크 위치(섹터, 헤드, 트랙)에 대한 지식과 관련된 스푸핑을 볼 수 있습니다. 이는 최대 절전 모드, 스왑, 부팅 등 낮은 수준의 활동에서 가장 일반적입니다. 이를 달성하려면 원시 섹터 파티션을 읽고 쓰고 마운트 해제를 시작할 수 있도록 절대 이동되지 않는(즉, 조각화 없음) 완전히 연속된 파일이 필요합니다. 파티션.

그러나 시간이 지남에 따라 이러한 추세가 어떻게 변하는지 살펴보면 다음과 같은 경향이 있음을 알 수 있습니다.더 적은시간이 지남에 따라 다양한 결과로 인해 인기를 얻었습니다. 우선, 조각 모음 프로그램은 그러한 계획을 망치는 경향이 있습니다. 이것이 이유 중 하나 /boot이며 swap일반적으로 Linux에서는 별도의 파티션입니다.

관련 정보