Unix 골수가 Windows에서 사는 법 #3: SUA (골수 Unix 유저를 위한 배려?)
일단 글 꼭지부터 바꾸었다. 너무 길어서다. 그 대신 딸린 제목을 더 길게 쓰기로 했다. 읽는 사람이 헛갈려도 할 수 없다. (누가 진짜 읽기는 하남? ^^;;)
내가 처음으로 닷넷으로 연습삼아 해보고 싶은 놀이는, 2008년 PDC, The Future of C# 에서 Microsoft Technical fellow자 C# Chief Architect로 일하고 있다는 Anders Hejlsberg가 보여주었던 Compiler-As-a-Service 예제다. 데모에서 크게 감명을 받았다거나 그래서가 아니라, 앞으로 실험해 보고자 하는 놀이에 Meta-Programming 기술이 꼭 필요하기 때문이고, 그 과정에서 Mono 팀이 삽질하고 있는 C# Interactive Shell 이라도 만들어 가지고 놀 수 있으면 무지 즐겁겠다는 생각이 들어서다.
문제는 이 맛갈나는 오프소스 자산을 가져다 쓰면서 tar, bzip은 아카이빙 도구들은 물론이고 make 등등 UNIX 프로그래밍 환경에서 거의 매일 쓰다시피하는 UNIX 명령어들이 줄줄이 등장하노니… 이 거 진짜 삽질이다.
그리하여, 그간의 삽질보고 되겠다.
- 아름드리님 가르침대로 GUI Shell command 만들어 넣는 삽질하다가 알게되었는데, Windows Registry Editor Version 5.00이라는 글귀를 파일 맨 첫머리에 넣지 않으면 이런 메시지 뜬다. 이 글귀가 없으면 이 파일 type 못알아 보나 브다. UNIX file system에서 말하는 Magic Number랑 비슷한 건가 이거?
- Meta-Programming을 지원하려면, (C#) Parser / Evaluator / Compiler Agent 같은 API set들이 필요하다. 결론은, .NET 4에는 아직 없다. 그리고 간단한 Command Line shell이라도 만들어 보려면 GNU의 readline 같이 line editor 기능이 갖추어진 Input Stream Reader가 있어야 한다.
필요할 때마다, GNU Unix 유틸들 하나씩 찾아서 깔다가, 결국은 SUA (Subsystem for Unix-based Applications)라는 거 깔았다. Microsoft에서 이런 거 많들어 놓았는지 진짜 몰랐다. 왜 아무도 말 안해 주는 거냐!!! 한 술 더떠서, 이런 곳도 있다. 덩실 덩실! SUA Community라는 게 있는 거다. { 이제 이거보고 열심히 따라 해야 겠다. 그럴 바엔 차라리 그냥 Unix 쓰라고 하고 싶으시겠지만 좀 참으시라. 뭐, 교육 비디오 두편도 Microsoft에서 만들어 준 거 같은디. 어쨌든 기쁨일지어다. }
오, Windows/SUA 밑에 널브러진 그 친숙한 디렉터리 생김새들과, bin 아래에 화면 가득히 펼쳐진 정겨운 이름들이여!! 땡스 어랏!
Comments
Anonymous
January 20, 2010
무슨 말인지 전혀 모를때가 99%지만 읽고 있습니다. ㅋ_ㅋ;;Anonymous
January 20, 2010
흑흑 공감을 더 이끌어 내려면, 글을 좀 풀어 써야 하는데, 그저 삽질 놀이 하는 게 더 재밌어서, 머리 속에 뜨는 대로 막 써 올리다 보니.... 지송. 앞으로 코드가 조금 씩 등장하면 괜챦겠죠? :)