Linux는 백업 파일의 제한된 바이트 범위에 대한 "보기"를 생성할 수 있는 시스템 호출을 제공합니까? 예를 들어 내가 상상하는 것들은 열린 파일 설명자에 대해 작동하고 이를 수정하거나 범위의 시작을 기준으로 파일 오프셋을 설정하고 범위의 끝에서 끝나는 새 파일 설명자를 생성하는 것입니다.
사용 사례는 비협조 하위 프로세스가 입력 파일의 특정 부분에만 액세스하도록 제한하는 것입니다.
답변1
한 가지 방법은 루프 장치를 사용하는 것입니다. 이 접근 방식에는 유용성이 떨어질 수 있는 두 가지 요구 사항이 있습니다. 이를 설정하려면 루트가 필요하고 비협력 하위 프로세스는 블록 장치에 쓸 수 있어야 합니다. 아, 그리고 충돌하는 변경 사항을 처리하지 않습니다.
루프 장치를 설정하려면 다음을 실행하세요.
losetup -o 1024 --sizelimit 2048 --show -f yourfile
1024
, 2048
및 yourfile
를 적절한 값으로 대체합니다 -o
. 시작 오프셋, --sizelimit
크기(오프셋에서 계산)를 지정합니다. sizelimit
512의 배수여야 합니다 .
그러면 설정된 루프 장치의 이름이 출력됩니다. 필요에 따라 권한을 조정하고 비협력 하위 프로세스에 권한을 부여합니다. 더 이상 필요하지 않으면 장치를 제거하십시오.
losetup -d /dev/loopN
N
적절하게 교체하십시오.