lrwxrwxrwx 와 lrwxr-xr-x 의 차이점이 궁금합니다.
글쓴이: ai / 작성시간: 토, 2003/02/08 - 5:24오후
어떤 파일에 대해 링크를 걸면 링크파일의 퍼미션은 보통 아래와 같이 lrwxrwxrwx 로 나타난다고 생각하고 있었습니다.
$ pwd /usr/lib $ ls -o -g --time-style=+ libstdc++* -rw-r--r-- 1 350596 libstdc++-3-libc6.2-2-2.10.0.so lrwxrwxrwx 1 31 libstdc++-libc6.1-1.so.2 -> libstdc++-3-libc6.2-2-2.10.0.so lrwxrwxrwx 1 31 libstdc++-libc6.1-2.so.3 -> libstdc++-3-libc6.2-2-2.10.0.so lrwxrwxrwx 1 31 libstdc++-libc6.2-1.1.so.2 -> libstdc++-3-libc6.2-2-2.10.0.so lrwxrwxrwx 1 31 libstdc++-libc6.2-1.so.2 -> libstdc++-3-libc6.2-2-2.10.0.so lrwxrwxrwx 1 31 libstdc++-libc6.2-2.so.3 -> libstdc++-3-libc6.2-2-2.10.0.so
그런데 최근 데비안 시스템을 뒤적거리다가 /usr/lib 에 강제로 링크를 만들어 주어야 할 일이 생겨서 리스트를 보았더니 lrwxr-xr-x 로 되어있는 링크파일들이 다수 보이는군요. 이렇게 생겼습니다.
$ ls -o -g --time-style=+ libstdc++* -rw-r--r-- 1 270280 libstdc++-3-libc6.1-2-2-10.0.so lrwxr-xr-x 1 31 libstdc++-libc6.1-2.so -> libstdc++-3-libc6.1-2-2-10.0.so
그래서 자세히 살펴보니 lrwxrwxrwx 와 lrwxr-xr-x 의 두 종류로 링크파일들을 나누어 볼 수 있었습니다. 어차피 강제로 링크를 걸어야 했으므로 ln -s 를 사용해서 링크는 생성했지만..
$ ln -s libstdc++-libc6.1-1.so libstdc++-3-libc6.1-2-2-10.0.so $ ls -o -g --time-style=+ libstdc++* -rw-r--r-- 1 270280 libstdc++-3-libc6.1-2-2-10.0.so lrwxrwxrwx 1 31 libstdc++-libc6.1-1.so -> libstdc++-3-libc6.1-2-2-10.0.so lrwxr-xr-x 1 31 libstdc++-libc6.1-2.so -> libstdc++-3-libc6.1-2-2-10.0.so
이상하게도 (또는 당연히?) 제가 만들어준 링크는 lrwxrwxrwx 라고 나타납니다. 퍼미션 문제인가 해서 chmod 를 생각해 보았지만 원본을 가리키고 있는 파일이기 때문에 의미도 없는 것 같고, 실제로 lrwxr-xr-x 로 바뀌지도 않았습니다. 특별한 방법으로 생성된 파일인지 의심이 되어 .deb 의 소스패키지를 받아 설치 스크립트를 살펴보았는데 ln -s 이외의 별다른 내용은 없네요.
사실 동작에는 전혀 차이가 없는 것 같으니 그냥 사용해도 문제는 없는 것 같습니다만 왜 이런 차이가 생기는지 궁금합니다.
Forums:
댓글 달기