dpkg가 심볼릭 링크를 삭제할 수 없습니다

dpkg가 심볼릭 링크를 삭제할 수 없습니다

dpkg 패키지에는 다음 postint 스크립트가 있습니다.

rm -f /SOMEDIRECTORY/current
ln -s /SOMEDIRECTORY/releases/RELEASESHA /SOMEDIRECTORY/current
ln -s /SOMEDIRECTORY/shared/config/config.json /SOMEDIRECTORY/releases/RELEASESHA/config/config.json

다음은 설치 전 디렉터리 트리입니다.

drwxr-xr-x 2 user user 4096 May 12 15:21 config
drwxr-xr-x 3 user user 4096 May 14 08:56 shared
drwxr-xr-x 6 user user 4096 May 14 10:06 releases
lrwxrwxrwx 1 root          root            49 May 14 10:14 current -> /SOMEDIRECTORY/releases/RELEASESHA

deb 패키지를 설치하려고 하면 JUST THE SYMLINK와 반대로 가리키는 디렉토리 심볼릭 링크를 제거하려고 합니다.

dpkg: warning: unable to delete old directory '/SOMEDIRECTORY/releases/OLD_RELEASESHA': Directory not empty

수동으로 명령을 실행하면 rm -f예상대로 작동하지만 postinst가 실행될 때 해당 명령을 다른 것으로 변경하는 일이 어떻게 진행되고 있습니까? 심볼릭 링크 자체뿐만 아니라 심볼릭 링크가 가리키는 디렉터리를 제거하려고 하는 것은 무엇입니까?

누구 아이디어? 감사해요

답변1

해당 오류 메시지는 postinst의 어떤 명령에서도 나오지 않습니다.

많은 정보를 제공하지 않았지만 제 생각에는 deb 패키지를 설치하려고 할 때 시스템에 이미 이전 버전의 패키지가 있는 것 같습니다. 이 경우 dpkg는 새 버전을 설치하기 전에 이전 버전을 지우려고 시도합니다. 다른 패키지에는 파일이 없기 때문에 그 시점에서는 비어 있을 것으로 예상되어 /SOMEDIRECTORY/releases/OLD_RELEASESHA제거하려고 시도했지만 거기에~이었다그 안에 어떤 패키지도 소유하지 않은 일부 파일이 있습니다. 괜찮습니다. 예상치 못한 일이므로 dpkg는 경고를 출력합니다.

관련 정보