파일 전체의 "보기"를 생성하는 Linux 시스템 호출이 있습니까?

파일 전체의 "보기"를 생성하는 Linux 시스템 호출이 있습니까?

Linux는 백업 파일의 제한된 바이트 범위에 대한 "보기"를 생성할 수 있는 시스템 호출을 제공합니까? 예를 들어 내가 상상하는 것들은 열린 파일 설명자에 대해 작동하고 이를 수정하거나 범위의 시작을 기준으로 파일 오프셋을 설정하고 범위의 끝에서 끝나는 새 파일 설명자를 생성하는 것입니다.

사용 사례는 비협조 하위 프로세스가 입력 파일의 특정 부분에만 액세스하도록 제한하는 것입니다.

답변1

한 가지 방법은 루프 장치를 사용하는 것입니다. 이 접근 방식에는 유용성이 떨어질 수 있는 두 가지 요구 사항이 있습니다. 이를 설정하려면 루트가 필요하고 비협력 하위 프로세스는 블록 장치에 쓸 수 있어야 합니다. 아, 그리고 충돌하는 변경 사항을 처리하지 않습니다.

루프 장치를 설정하려면 다음을 실행하세요.

losetup -o 1024 --sizelimit 2048 --show -f yourfile

1024, 2048yourfile를 적절한 값으로 대체합니다 -o. 시작 오프셋, --sizelimit크기(오프셋에서 계산)를 지정합니다. sizelimit512의 배수여야 합니다 .

그러면 설정된 루프 장치의 이름이 출력됩니다. 필요에 따라 권한을 조정하고 비협력 하위 프로세스에 권한을 부여합니다. 더 이상 필요하지 않으면 장치를 제거하십시오.

losetup -d /dev/loopN

N적절하게 교체하십시오.

관련 정보