기본 접두사를 기반으로 경로 확인(절대 심볼릭 링크 포함)

기본 접두사를 기반으로 경로 확인(절대 심볼릭 링크 포함)

외부 디렉터리 트리를 어딘가에 마운트한 다음 chroot입력한다고 가정해 보세요.

mount /dev/sdx1 /mnt
chroot /mnt
readlink /usr/bin/myapp    # Outputs: /usr/libexec/myapp/run

내부 경로를 구문 분석할 수 있는 도구가 있나요?/mnt접두사이전 (없음)행위 chroot? 예를 들어 다음이 있는 경우 /usr/bin/myapp파일 입력 /mnt절대 경로를 가리키는 심볼릭 링크입니다./usr/libexec/myapp/실행(더 튼튼하기보다는../libexec/myapp/실행) 그렇다면 이 문제를 해결하는 방법은 무엇입니까? /mnt/usr/libexec/myapp/실행chroot가 없나요?

유망 해 보이지만  realpath --relative-to=DIR --relative-base=DIR실제로는 다른 목적이 있습니다. 를 사용하면 path에 하나의 기호 링크만 있을 때 약간 도움이 될 수 있지만 --canonicalize-missing호스트 시스템에서 유효하지 않은 기본 링크를 기준으로 상대 경로를 반환합니다.

물론, 각 경로 수준을 수동으로 반복하고 스크립트를 사용하여 각 경로 수준을 구문 분석하는 스크립트를 작성하는 것도 가능 readlink하지만 이는 과잉처럼 보입니다.

관련 정보