상대 심볼릭 링크 내에 상대 심볼릭 링크 만들기

상대 심볼릭 링크 내에 상대 심볼릭 링크 만들기

저는 상대 심볼릭 링크 내에 상대 심볼릭 링크를 생성하는 방법을 찾으려고 잠시 동안 탐색 중이었습니다. 즉...

내 프로젝트 중 하나에 내 CakePHP 템플릿 뼈대가 심볼릭 링크로 있고 내 뼈대 내에 뼈대 폴더 외부 플러그인에 대한 심볼릭 링크가 있습니다. 아이디어는 내 프로젝트 CakePHP CMS 뼈대 내에서 내 것을 심볼릭 링크하여 "응용 프로그램"을 생성할 수 있다는 것입니다. CMS 스켈레톤 심볼릭 링크 외부의 플러그인이고 스켈레톤 심볼릭 링크는 내 프로젝트 "응용 프로그램" 플러그인을 가리킵니다.

내가 의미하는 바는 다음과 같습니다.

다음 경로에 CakePHP CMS 뼈대가 있습니다.

/mnt/proj/libs/cakephp/lib/Cake/Console/Templates/skel

내 프로젝트 폴더의 경로는 다음과 같습니다

/mnt/proj/mysite.com/

그런 다음 아래와 같이 CakePHP CMS Skeleton을 내 프로젝트 폴더에 심볼릭 링크했습니다.

/mnt/proj/mysite.com/cms-skel -> /mnt/proj/libs/cakephp/lib/Cake/Console/Templates/skel

스켈레톤 내부에는 애플리케이션 플러그인에 대한 심볼릭 링크가 있습니다.

/mnt/proj/libs/cakephp/lib/Cake/Console/Templates/skel/Plugin/Application -> ../../Application

그래서 mysite.com 폴더 안의 CakePHP CMS 심볼릭 링크 폴더에

/mnt/proj/mysite.com/cms-skel/Plugin/Application -> ../../Application

문제는 위의 심볼릭 링크가 다음을 가리킨다는 것입니다.

/mnt/proj/libs/cakephp/lib/Cake/Console/Templates/Application

나는 그것을 가리킬 필요가있다.

/mnt/proj/mysite.com/cms-skel/Plugin/Application

심볼릭 링크를 사용하여 위의 작업을 수행하는 방법에 대한 아이디어는 크게 감사하겠습니다. 현재로서는 무엇을 Google에 검색해야 할지 모르겠습니다.

답변1

문제는 두 개의 디렉토리 트리에서 작동하는 단일 상대 링크를 사용하려고 하지만 링크의 상대성이 두 디렉토리 트리에서 동일하지 않다는 것입니다.

처음부터 디렉토리 구조를 만들었지 proj만 그 외에는 동일합니다.

$ pwd
/home/saml/proj

이것은 lib/나무입니다:

$ tree -lf libs/
libs
`-- libs/cakephp
    `-- libs/cakephp/lib
        `-- libs/cakephp/lib/Cake
            `-- libs/cakephp/lib/Cake/Console
                `-- libs/cakephp/lib/Cake/Console/Templates
                    |-- libs/cakephp/lib/Cake/Console/Templates/Application
                    `-- libs/cakephp/lib/Cake/Console/Templates/skel
                        `-- libs/cakephp/lib/Cake/Console/Templates/skel/Plugin
                            `-- libs/cakephp/lib/Cake/Console/Templates/skel/Plugin/Application -> ../../Application  [recursive, not followed]

이것은 mysite.com/나무입니다:

$ tree -lf mysite.com/
mysite.com
`-- mysite.com/cms-skel -> /home/saml/proj/libs/cakephp/lib/Cake/Console/Templates/skel/
    `-- /home/saml/proj/libs/cakephp/lib/Cake/Console/Templates/skel//Plugin
        `-- /home/saml/proj/libs/cakephp/lib/Cake/Console/Templates/skel//Plugin/Application -> ../../Application

따라서 첫 번째 트리의 애플리케이션 링크를 살펴보면 다음과 같습니다 lib/.

$ pwd
/home/saml/proj/libs/cakephp/lib/Cake/Console/Templates/skel/Plugin

$ readlink -f Application
/home/saml/proj/libs/cakephp/lib/Cake/Console/Templates/Application

그러나 카탈로그에서 동일한 분석을 수행하면 mysite.com/문제가 발생합니다.

$ pwd
/home/saml/proj/mysite.com/cms-skel/Plugin

$ readlink -f Application
/home/saml/proj/libs/cakephp/lib/Cake/Console/Templates/Application

어떻게 되어가나요?

음, 트리에 올라가면 mysite.com/상위 2개 레벨 mysite.com/cms-skel/Plugin/libs/cakephp/lib/Cake/Console/Templates.

이것은 그것을 보는 데 도움이 될 것입니다:

$ pwd
/home/saml/proj/mysite.com/cms-skel/Plugin

$ readlink -f ../../
/home/saml/proj/libs/cakephp/lib/Cake/Console/Templates

두 트리의 디렉터리 수에 차이가 있으므로 이 문제를 해결할 방법이 없습니다.

관련 정보