리눅스 명령어를 윈도우에서 사용하기; 시그윈(Cygwin) 없이 Win32로; GnuWin32
Thursday, July 06, 2006
스폰서 링크리눅스 명령어나 툴들을 MS윈도우에서 사용하려면, Cygwin(시그윈)을 설치하는 방법도 있고, 순수한 Win32용으로 컴파일된 파일을 사용하는 방법도 있습니다. 여기서 설명하는 것은 후자입니다.
Cygwin(시그윈)은 최소 설치만 해도 49메가가 넘기에 좀 부담스러운 면이 있더군요. grep 이나 diff 등의 명령어 한두 개를 쓰려고, Cygwin(시그윈)을 설치하는 것은 배보다 배꼽이 더 큰 경우였습니다.
"GnuWin32" 에서 리눅스/유닉스 툴을 윈도우용으로 컴파일하여 제공하고 있습니다. 물론 무료이고 오픈소스입니다. 인터넷에 보면 GnuWin32 말고도 이렇게 리눅스 툴을 윈도우용으로 포팅해 주는 곳이 많은데 GnuWin32 쪽이 가장 전문적이었습니다.
주소 (2021-09-03: httpS 미지원): http://gnuwin32.sourceforge.net/packages.html
파일 비교 명령인 diff 파일을 받는 것을 예로 듭니다:
우선 위의 주소의 목록에서 DiffUtils 라는 것을 클릭하면 다운받는 페이지가 나옵니다.
"Complete package, except sources (소스를 제외한, 패키지 전체)"의 Setup 을 클릭하고 Download 를 클릭하면, 전세계의 미러 사이트들이 나오고 "diffutils-2.8.7-1.exe" 등의 이름을 가진 설치 파일이 다운로드됩니다. 그런데 저는 이 방법보다는, 다음의 수동 설치를 권합니다.
Binaries 옆의 Zip 을 클릭합니다. 그러면 "diffutils-2.8.7-1-bin.zip" 식의 이름으로 압축된 파일이 다운로드됩니다. (버전에 따라서 파일명이 다름.) 이 파일 속에 있는 diff.exe 파일을 하드에 풀어 놓습니다. diff.exe 를 실행시키면 다음의 메시지가 나옵니다:
---------------------------
diff.exe - DLL 찾기 실패
---------------------------
DLL libintl3.dll을(를) 지정한 경로 D:\X;.;C:\WINNT\system32;C:\WINNT\system;C:\WINNT;에서 찾을 수 없습니다.
---------------------------
확인
---------------------------
diff.exe 가 libintl3.dll 이라는 라이브러리 파일을 필요로 한다는 의미입니다. 그러면 앞의 다운로드 페이지로 다시 돌아가서, Dependencies (종속 파일들) 옆에 있는 Zip 을 클릭하여 "diffutils-2.8.7-1-dep.zip" 이라는 파일을 받습니다.
"diffutils-2.8.7-1-dep.zip" 파일 속에서 "libintl3.dll" 파일을 꺼내서, diff.exe 가 있는 곳에 같이 풀어놓습니다.
이제 diff.exe 를 다시 실행시키면
---------------------------
diff.exe - DLL 찾기 실패
---------------------------
DLL libiconv2.dll을(를) 지정한 경로 D:\X;.;C:\WINNT\system32;C:\WINNT\system;C:\WINNT;에서 찾을 수 없습니다.
---------------------------
확인
---------------------------
이런 메시지가 나옵니다. 방금 받은 "diffutils-2.8.7-1-dep.zip" 파일 속에서 "libiconv2.dll" 파일도 꺼내서, diff.exe 가 있는 곳에 같이 풀어놓습니다.
이제 diff.exe 가 잘 실행이 될 것입니다.
diff.exe --help 라고 하면 도움말이 나옵니다.
다른 유틸리티들도 이런 식으로 받을 수 있습니다. 특히 CoreUtils 라는 것 속에는, 리눅스의 가장 기본적인 명령어들이 들어 있기에 꼭 받아보는 것이 좋습니다.
그런데 GnuWin32 에는 bash 셀이 없더군요. 그래서 bash 셀을 쓰기 위해서는 시그윈(Cygwin)을 설치할 수밖에 없었습니다.
Cygwin(시그윈)은 최소 설치만 해도 49메가가 넘기에 좀 부담스러운 면이 있더군요. grep 이나 diff 등의 명령어 한두 개를 쓰려고, Cygwin(시그윈)을 설치하는 것은 배보다 배꼽이 더 큰 경우였습니다.
"GnuWin32" 에서 리눅스/유닉스 툴을 윈도우용으로 컴파일하여 제공하고 있습니다. 물론 무료이고 오픈소스입니다. 인터넷에 보면 GnuWin32 말고도 이렇게 리눅스 툴을 윈도우용으로 포팅해 주는 곳이 많은데 GnuWin32 쪽이 가장 전문적이었습니다.
다운로드 방법
주소 (2021-09-03: httpS 미지원): http://gnuwin32.sourceforge.net/packages.html
파일 비교 명령인 diff 파일을 받는 것을 예로 듭니다:
우선 위의 주소의 목록에서 DiffUtils 라는 것을 클릭하면 다운받는 페이지가 나옵니다.
"Complete package, except sources (소스를 제외한, 패키지 전체)"의 Setup 을 클릭하고 Download 를 클릭하면, 전세계의 미러 사이트들이 나오고 "diffutils-2.8.7-1.exe" 등의 이름을 가진 설치 파일이 다운로드됩니다. 그런데 저는 이 방법보다는, 다음의 수동 설치를 권합니다.
Binaries 옆의 Zip 을 클릭합니다. 그러면 "diffutils-2.8.7-1-bin.zip" 식의 이름으로 압축된 파일이 다운로드됩니다. (버전에 따라서 파일명이 다름.) 이 파일 속에 있는 diff.exe 파일을 하드에 풀어 놓습니다. diff.exe 를 실행시키면 다음의 메시지가 나옵니다:
---------------------------
diff.exe - DLL 찾기 실패
---------------------------
DLL libintl3.dll을(를) 지정한 경로 D:\X;.;C:\WINNT\system32;C:\WINNT\system;C:\WINNT;에서 찾을 수 없습니다.
---------------------------
확인
---------------------------
diff.exe 가 libintl3.dll 이라는 라이브러리 파일을 필요로 한다는 의미입니다. 그러면 앞의 다운로드 페이지로 다시 돌아가서, Dependencies (종속 파일들) 옆에 있는 Zip 을 클릭하여 "diffutils-2.8.7-1-dep.zip" 이라는 파일을 받습니다.
"diffutils-2.8.7-1-dep.zip" 파일 속에서 "libintl3.dll" 파일을 꺼내서, diff.exe 가 있는 곳에 같이 풀어놓습니다.
이제 diff.exe 를 다시 실행시키면
---------------------------
diff.exe - DLL 찾기 실패
---------------------------
DLL libiconv2.dll을(를) 지정한 경로 D:\X;.;C:\WINNT\system32;C:\WINNT\system;C:\WINNT;에서 찾을 수 없습니다.
---------------------------
확인
---------------------------
이런 메시지가 나옵니다. 방금 받은 "diffutils-2.8.7-1-dep.zip" 파일 속에서 "libiconv2.dll" 파일도 꺼내서, diff.exe 가 있는 곳에 같이 풀어놓습니다.
이제 diff.exe 가 잘 실행이 될 것입니다.
D:\X>diff
diff.exe: missing operand after `diff.exe'
diff.exe: Try `diff.exe --help' for more information.
diff.exe: missing operand after `diff.exe'
diff.exe: Try `diff.exe --help' for more information.
diff.exe --help 라고 하면 도움말이 나옵니다.
결론
다른 유틸리티들도 이런 식으로 받을 수 있습니다. 특히 CoreUtils 라는 것 속에는, 리눅스의 가장 기본적인 명령어들이 들어 있기에 꼭 받아보는 것이 좋습니다.
그런데 GnuWin32 에는 bash 셀이 없더군요. 그래서 bash 셀을 쓰기 위해서는 시그윈(Cygwin)을 설치할 수밖에 없었습니다.
더 읽기:
☞ 리눅스 Linux | 유닉스 Unix | 시그윈 Cygwin
Post a Comment
<< Home