동적 심볼릭 링크

동적 심볼릭 링크

저는 다양한 아키텍처를 위한 애플리케이션을 구축했으며 변수에 따라 올바른 버전으로 이동하는 "동적 심볼릭 링크"를 만들고 싶습니다.

현재 로그인한 컴퓨터가 x86이라면 심볼릭 링크를 통해 해당 버전으로 이동해야 합니다.

시뮬레이션 예내가 하고 싶은 것:

$ uname -i
x86_64

$ ls -ltr 
lrwxr-xr-x  1 dogbane gg     4 Feb 16 15:40 mylink -> @sys/
drwxrwxr-x  2 dogbane gg  2048 Feb 16 15:40 x86_64/
drwxrwxr-x  2 dogbane gg  2048 Feb 16 15:40 i386/

$ cd mylink

$ pwd -P
~/x86_64

가능합니까?

나는 이것을 사용할 수 있다는 것을 알고 있지만 cd $(uname -i)더 간단한 것을 원합니다.

답변1

이 기능은 다음을 지원합니다.잠자리BSD,그것은 알려져있다변형 심볼릭 링크. 바라보다man varsym그리고man ln더 알아보기.

답변2

기호 링크는 정적입니다. 파일 시스템은 문자열만 저장하고 기호 링크에 대한 액세스는 기호 링크 위치에 상대적인 이름이 해당 문자열인 파일로 리디렉션됩니다.

한 번 쓰기 편해요퓨즈파일 시스템은 이러한 동적 심볼릭 링크를 노출하지만 기존 심볼릭 링크는 전혀 모릅니다.

답변3

나는 이것이 바이너리 파일이라고 가정하고 있으므로 심볼릭 링크 대신 PATH 변수 평가기를 사용하여 이를 수행할 것입니다.

PATH=$PATH:/base/$ARCH/bin.

cfengine이나 puppet과 같은 도구를 사용하는 경우. 시스템 아키텍처에 따라 적절한 디렉터리에 대한 기호 링크를 만들 수 있습니다.

답변4

심볼릭 링크는 본질적으로 일부 경로를 포함하는 특수 플래그가 있는 파일이며 경로는 있는 그대로 해석되므로 이런 식으로 심볼릭 링크가 다른 곳을 가리키도록 만들 수 없습니다. 그러나 적절한 빌드를 실행하는 스크립트를 계속 작성할 수 있습니다.

관련 정보