본문 바로가기

운영체제

Solaris10에서 컴파일러 설치하기 및 CD롬 마운트하기

Solaris 10 x86 을 설치 할 때 몇가지 옵션이 있다. 그 옵션에 따라 1G 남짓의 VMWare 이미지를 만들 수도 있고 7G 이상의 큰 용량의 VMWare 이미지를 만들 수도 있다.
여러 사람에게 배포하는 교육용 VMWare 이미지는 작을 수록 배포가 쉽고 관리도 쉽기 때문에 좋긴 하지만 여러 S/W들.. 예를 들면 Apache라든가 MySQL 이라든가... 컴파일러를 Solaris 10 설치 옵션에서 일일이 골라서 설치하기는 쉽지 않다.

서버보안 교육용 Solaris 10 x86 이미지를 만들 때 확인한 바로는 1G 정도의 용량을 갖는 기본 설치 형태와 5G 정도를 갖는 설치 옵션이 있다. 개발자 용 설치 용량은 6G byte가 넘고 전체 설치는 7G byte가 넘는다. 2~3 G byte 정도의 컴파일러 옵션이 있으면 좋을 텐데...없었다.

그래서 1G byte 남짓의 용량으로 설치하고 Apache, PHP, MySQL을 수동으로 설치 했다

더보기


그리고 나서 간단한 C 소스를 컴파일 할 수 있는지 확인했는데...
이런... 또 오류가 발생한다.


as가 뭔데... 실행을 못한다는 걸까... 이 끝없는 에러와의 싸움은 이제 지겹기도 하지만 모든 IT 업체에서는 기본적으로 이런 문제에 언제나 직면하게 된다. 그래서 엔지니어라는 직업이 필요한 것인데 도대체 엔지니어가 왜 필요한지 모르는 IT업체의 CEO도 있다는 것이 한심하기만 하다.

이쯤에서 필요한 gcc의 옵션하나. 바로 -v 옵션이다. gcc에 -v 옵션을 주면 gcc가 컴파일 하는 과정을 적나라하게 보여준다.


위를 보면 gcc가 컴파일 하는 마지막 단계에서 as라는 프로그램을 실행한다. 아마도 목적코드를 만드는 마지막 단계에서 호출하는 것으로 보아 어셈블러(assembler)가 아닌가 해서 찾아보기로 했다.

그래서 네이년 검색 시작... 그렇지... 이 에러메시지로 검색해보니 쓸만한 정보가 하나도 없다. 도대체 네이년의 검색 DB엔 뭐가 들어있는 건지... 혹시 똥만 들은 건 아닌지 ... -.- 없는게 왜이리도 많은지. 네이면이 문제가  아니면 우리나라엔 정보를 공유하는 엔지니어가 없던가 그것도 아니면 제대로 일하지 않는 엔지니어들만 있는게 틀림없다.

그래서 구글을 뒤져봤다. 역시... 구글의 검색 DB가 훌륭하던가 아니면 외국의 하얀피부의 엔지니어들이 훨씬 일을 열심히 하고 정보공유도 잘하는게 틀림없다.

Solaris 10 의 최소형태로 설치하다 보니 어셈블러가 없는 것이었다. 어셈블러인 binutils 패키지를 설치하라고 친절하게 구글 검색엔진이 알려준다.

어셈블러를 설치하기 위해 sunfreeware.com 에서 어셈블러가 포함되어 있는 binutils 패키지를 다운받았다.

sunfreeware


서버에 FTP로 업로드 한 뒤 gzip으로 압축 풀고  pkgadd -d ./패키지명 으로 설치 했다.
그리고 다시 컴파일을 시도했다.
이번엔 정말 될 줄 알았다. 그런데... 오마이 갓...!!!
또 에러다.


음... 이번엔 뭔가... 살펴보니 values-Xa.o 파일을 Open할 수 없단다. 도대체 이건 또 무슨 파일인가.... 이번에도 네이년부터 검색해봤다. 오~~~ 우리나라 엔지니어 중에도 나와 같이 이 문제를 경험한 엔지니어가 있다. 그리고 정보공유까지 하고 있다. 훌륭한 분이다..

이건 SUNWarc 패키지를 설치해야 한단다. -.-
도대체 몇개를 더 설치해야 하는 건지... 오기가 생긴다.. 끝까지 해보련다.
그런데 이 SUNWarc 패키지는 Sunfreeware.com에 없다. 이 패키지는 Solaris 10 설치 DVD에 있다.
CD를 마운트해야한다.

VMWare에서 CD 마운트는 가상머신 구동중에도 할 수 있다.

vmware cdrom mount


이 화면에서 설치 이미지를 지정하거나 CD롬 드라이브를 지정하면 구동중인 가상머신에서 CD드라이브로 마운트할 수 있다.

VMWare에서 Solaris10 에 Connected 된 CD롬은 볼륨매니저에 의해서도 마운트할 수 있지만 최소설치로 Solaris를 설치하면 볼륨매니저가 설치되지 않는것 같다. 이때는 iostat 명령으로 사용중인 디바이스 이름을 확인할 수 있다.

iostat


iostat -En 명령을 사용하면 위와 같이 연결되어 있는 디스크들의 정보가 나온다. VMWare IDE CDR10 이라고 되어 있는 디바이스, 즉 c1t0d0가 CD롬이다. 용량도 2.1G로 Solaris 10 ISO파일의 크기다.

하지만 mount 할 때는 이 이름을 그대로 사용하면 CD롬을 찾지 못한다고 나온다. 제대로 사용하기 위해서는 위의 디바이스 이름 뒤에 첫번째 슬라이스 즉 s0을 붙여주어야 인식이 된다.

마운트하고나서 다음과 같이 설치한다. 가능하다면 SUNWarc 패키지가 있는 디렉토리를 /var/spool/pkg에 복사하고 pkgadd를 설치하라. 왜냐고..?? 궁금하면 위 DVD의 Solaris_10 디렉토리에 가서 해봐라...

pkgadd


이제 다 끝났을까....
컴파일을 해봤다. 오예~~~ 잘 된다.

이제 교육준비는 다 끝났다.