무슨 의미지?

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

Too many levels of symbolic links

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

[[email protected] /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를 대롱으로 번역했던 책이 생각난다.