Lunatine
· < 1 min read

Linux : 기호 연결의 단계가 너무 많음

무슨 의미지?

Linux 시스템을 사용하다가 "기호 연결의 단계가 너무 많음"이라는 메시지를 만나게 되는 경우가 있다. 사람에 따라 다르겠지만 주변 반응으로 보아서 쉽게 의미가 파악되지 않는 것으로 보인다. 사실 ko_KR.UTF-8 로케일처럼 한글기반 언어설정이 된 시스템에서만 볼 수 있는 메시지로 영문 메시지는 아래와 같다.

Too many levels of symbolic links

즉, 심볼릭링크의 단계가 너무 많아서 발생하는 오류다. 대부분 이 경우는 무한반복(Self Looping)형태로 링크가 걸린 심볼릭링크 파일 때문에 발생한다. 예를 들면, 아래와 같이

[tuser@localhost /test/files]$ ls -l
-rw-r--r-- 1 root     root        126 Aug 14 10:57 Terminal
-rw-r--r-- 1 root     root      92261 Aug 14 10:57 Key
-rw-r--r-- 1 root     root      15289 Aug 14 10:57 Text_Message
lrwxrwxrwx 1 root     root         30 Aug 14 10:57 apps -> /test/files/apps

/test/files 아래에 있는 apps 파일이 /test/files/apps를 가리키게 되면 자기 자신을 가리키므로 이 파일을 가지고 어떤 액션을 취하거나 현재 디렉토리에서 액션을 취할 때 오류가 발생하게 된다. (만약, 보통의 Linux 배포판의 터미널이라면 해당 파일의 링크가 붉은색으로 문제가 있는 것 으로 보일 것이다) 해당 파일에 대해서는 가볍게 unlink 시켜주면 된다.

결과적으로

"기호 연결의 단계가 너무 많음" 이라는 번역이 나쁘다고 할 수 없지만 조금 아쉬운 건 사실. 아무래도, 기호 연결이라는 단어보다 심볼릭링크라는 단어가 더 익숙해서 그럴지도 모르겠다. 문득, kernel을 알맹이로 queue를 대롱으로 번역했던 책이 생각난다.