Linux+Solaris HOWTOMax Bergerv0.8-$Revision: 1.1 $, $Date: 2003/08/10 02:52:29 $이태상$Date: 2003/08/10 02:52:29 $이 문서는 하나의 컴퓨터에서 Linux (x86)와 Solaris (x86)를 함께 사용하는 방법을 설명한다. Appendix1. 소개1.1 왜 하필 솔라리스인가?이는 정말 좋은 질문이다. 리눅스를 사용할 수 있는데 왜 솔라리스를 사용하는가? 솔라리스는 하드웨어 지원이 부족한 상용 시스템이다. 그러나 여러분이 지금 이 글을 읽고 있다면, 아마도 솔라리스를 사용하기를 이미 결정한 상태일 것이다. 그렇지 않다면 다음과 같은 이유가 있을 수도 있다:
1.2 이 문서에서 다루는 것들이 문서는 이미 리눅스를 사용하고 있는 x86머신에서 솔라리스 7이나 솔라리스 8을 추가로 설치하고자하는 여러분을 위한 것이다. 주된 목표는
1.3 참고한 버전이 문서를 작성할때 참고한 버전은 다음과 같다:
1.4 경고작업을 시작하기 전에, 여러분의 모든 데이터를 백업하기 바란다! 이 문서에서 설명하고 있는 많은 부분들이 과도한 데이터의 손실을 야기시킬 수도 있다! 그에 대해 나는 어떠한 책임도 지지 않는다! Credits and legal stuff 섹션을 참고하라. 2. 하드 드라이브의 준비솔라리스를 위한 하드 드라이브 공간을 준비하기 위해서, 표준 PC 파티션 테이블과 솔라리스의 디스크 슬라이스에 대해서 알아야 한다. 이 문서에서는 시스템에 하나의 디스크만 존재(single-disk systems)한다고 가정하여 설명하겠으나, 멀티 디스크 환경의 경우에도 마찬가지로 적용될 것이다. 2.1 일반적인 PC 파티션일반적인 표준 파티션 테이블은 4개의 엔트리를 갖는다. 우리에게 중요한 사항은 다음과 같다:
fdisk 프로그램을 사용하라. 1번 부터 4번까지의 번호를 가지는 파티션들이
(hda1 ..4 , sda1 ..4 , ...) 여러분의 파티션 테이블에 존재할 것이다.
2.2 솔라리스 파티션 레이블(Solaris Partition Labels)솔라리스는 자신만의 파티션 체계를 가지고 있다. 파티션 테이블의 하나의 엔트리를 사용하며, 그 파티션이 마치 디스크 전체인 것처럼 여긴다. 이 가상 디스크는 8개까지의 슬라이스로 나누어 질 수 있다. 세번째 슬라이스인 s2는 전체 가상 디스크를 말하는 것이므로, 실제로는 솔라리스를 위한 7개 까지의 슬라이스를 가지는 것이다. 불행하게도 솔라리스 파티션은 리눅스 스왑 파티션(82) 과 같은 타입으로 인식된다. 따라서 여러분은 어떠한 리눅스 스왑 파티션이라도 프라이머리 파티션으로 잡으면 안된다. 물론 리눅스는 이것을 상관하지 않지만, 솔라리스가 이 스왑 파티션을 어떻게 할지 누가 알겠는가. 리눅스 fdisk 프로그램이 몇개의 ``Sun disklabel''을 지원하기는 하나, 이것으로는 문제가 해결될 수 없다. 2.3 하드 디스크 공간당연히 솔라리스도 디스크 공간이 필요하다. 솔라리스 8의 최소설치를 위한 공간은 300 MB 정도이다. 일반적인 툴을 포함하는 인스톨을 위해서는 약 700 MB가, ``developer-system'' 인스톨을 위해서는 약 1 GB의 공간이 필요하다. 그러나 이것은 기본적인 솔라리스의 설치를 위해 필요한 공간이다. 여러분은 다양한 GNU 개발 도구들과 그 밖의 소프트웨어를 추가하고 싶을 것이다. 게다가 솔라리스와 리눅스와의 데이터 공유를 원한다면, 이것은 솔라리스 파티션에서 이루어지므로 더 많은 공간을 준비해야 한다. 혹시 여러분의 홈 디렉토리를 솔라리스와 리눅스에서 공유하고 싶어할지도 모르겠다. 이것은 잊어버려라! 적어도 이 문서를 작성한 시점에서는 그 같은 일은 불가능하다. 나는 그것을 성공시키기위해서 내 홈 디렉토리를 엉망으로 만들었고, 결국은 내가 미리 백업을 해 놓았다는 사실에 매우 행복해 할 수 밖에 없었다. 데이터 공유 섹션을 참고하라. 2.4 점검 사항여러분이 반드시 점검해야 할 사항들이 있다:
3. 리눅스에서의 준비3.1 커널 재구성어떤 사람들은 새로이 커널을 구성하는 것을 싫어한다. 여러분의 경우: 솔라리스와 리눅스간에 데이터를 공유하고 싶다면 반드시 여러분만의 커널을 재구성해야 한다. 그러나 만약 데이터 공유를 원치 않는다면, 이전 커널을 그대로 사용해도 된다. 솔라리스 호환(Solaris compatibility)기능을 위한 커널 옵션:
3.2 부트 로더의 준비부트로더의 사용을 위한 작업에 들어가기 전에, 이전 시스템으로 부팅할 수 있는 비상 디스켓이 준비되어 있는지 확인하기 바란다. 불행히도 솔라리스를 인스톨하면 master boot record (MBR)에 있는 이전의 부트 매니저를 덮어 쓰게 된다. 하지만 다행스러운 것은, 솔라리스 부트 매니저가 연쇄 부팅(chain-boot)을 할 수 있다는 점이다. 이를 위해서 여러분은 기존의 부트로더(lilo 등)를 리눅스 프라이머리 파티션의 부트 섹터에 설치해야 한다. 여러분의 /etc/lilo.conf파일을 열어서 부트로더가 연쇄 부팅을 할 수 있는지 알아보기 위해, lilo를 MBR에 인스톨 시킨후 두번째 부트 매니저를 로딩해보는 방법이 있다. 이를 위해 나는 lilo.conf.mbr이라는 다음 파일을 사용했다: #lilo.conf.mbr #Lilo in Master Boot Record doing nothing but chain-loading another lilo boot=/dev/hda root=/dev/hda5 install=/boot/boot.b map=/boot/map vga=ask delay=50 other=/dev/hda1 label=lilochain 그 다음 lilo -C lilo.conf.mbr 라는 명령으로 lilo를
MBR에 인스톨한다. 부트 섹터에 있는 lilo를 갱신하기 위해 lilo 명령을 내리는 것도 잊지말자.
이제 시스템을 재부팅하면 lilo 프롬프트가 보일 것이다. 여기서 4. 솔라리스의 인스톨4.1 Solaris interactive
Please Note: 솔라리스 인스톨과정에 들어갔다면, 이미 MBR은 덮어씌어져 있으므로, 하드 디스크로 전혀 부팅할 수 없는 상황이 될수도 있음에 주의하라. 4.2 Web-Start나는 (interactive installation 대신에) Web-Start를 사용하여 이 작업을 할 수 없었다. 여러분 중 Web-Start를 사용하여 설치한 경험이 있다면 메일을 보내주기 바란다. 그러나 일단 솔라리스를 설치하고 난 다음에는 web-start 패키지들을 추가하는데에는 문제가 없었다. 4.3 GNU 도구의 설치솔라리스의 표준 설치에는 5. 부팅 관리5.1 솔라리스 부트 매니저 사용하기부팅한 후 나타나는 솔라리스 부트 매니저는 4개의 프라이머리 파티션 모두를 보여주고, 부팅할 파티션을 선택하라고 할 것이다. 여러분이 부팅하고 싶은 프라이머리 파티션의 부트 섹터에 부트로더가 설치되어 있다면 아무런 문제될 것이 없다. 단지 선택해 주는 것 만으로 리눅스로 부팅할 수 있다. 5.2 lilo 사용하기현재 솔라리스 부트 매니저를 주된 부트로더로 사용하고 있는 여러분이
다시 lilo를 주 부트 로더로 사용하고 싶다하더라도 전혀 문제될 것이 없다.
Lilo는 쉽게 솔라리스로 부팅 가능하게 해 준다. 단지 여러분의 lilo.conf 파일에
적절한 테스트를 위해 먼저 부트 섹터에 있는 lilo를 수정한다. 여러분이 원하는 만큼 lilo, 솔라리스 부트 매니저, lilo, 솔라리스 부트 매니저, lio, .... 의 로딩을 반복할 것이다. 이것이 잘 된다면 이제 lilo를 MBR로 돌려놓으면 된다. 그러나 솔라리스는 여러분의 파티션 테이블로 인하여 곤경에 빠질 수도 있다. 이는 내가 Solaris 8을 인스톨 했을때 발생했다. Lilo는 새로운 파티션을 별로 좋아하지 않으며 fdisk도 마찬가지이다. Solaris 7을 사용했을 경우에는 아무런 문제가 없었다. 5.3 grub 사용하기불행히도 나는 grub을 사용하여 솔라리스를 부팅해 본 적이 없다. 경험이 있는 분은 메일을 보내달라! 6. 데이터 공유6.1 공유 파티션의 사용커널 재구성에서 설명한 대로 Sun 디스크 레이블 및 UFS 지원이 가능하도록 여러분의 커널을 재구성했다면, 이제 솔라리스 파티션을 마운트할 준비가 된 것이다. 리눅스로 부팅하는 동안 다음과 같은 메시지를 볼 수 있을것이다: hda: [PTBL] [523/255/63] hda1 hda2 < hda5 hda6 hda7 hda8 > hda3 <Solaris: [s0] hda9 [s1] hda10 [s2] hda11 [s3] hda12 [s6] hda13 [s7] hda14 >위의 경우에는 hda3 가 6개의 슬라이스를 가진 솔라리스 파티션이며,
각각의 슬라이스(s0,s1,s2,s3,s6,s7)는 hda9 에서 hda14 까지
리눅스 디바이스로 매핑(mapping)되어있다.
솔라리스 파티션을 마운트 해보자. UFS 파티션을 마운트 할 때에는
항상 mount -oufstype=sunx86 /dev/hda14 /mnt이제 파티션을 테스트 해보자. Please note: UFS 파티션에 쓰기 작업을 지원하는 것은 매우 실험적인 기능이다. UFS 파티션에 작성한 어떠한 데이터라도 안심하지 마라! 만약 솔라리스 파티션을 부팅시에 자동으로 마운트되게 하고 싶다면, /etc/fstab 파일에 다음과 같은 라인을 추가한다: /dev/hda14 /solaris ufs ufstype=sunx86 0 0 6.2 또 다른 방법언제나, 데이터를 공유하는 다양한 방법들이 존재하기 마련이다:
7. 외부 바이너리(binary)의 실행7.1 솔라리스에서 리눅스 바이너리의 사용이것은 "lxrun"이라는 프로그램을 사용함으로써 가능한 일이다. 나는 아직 충분히 테스트 해보지는 못했다. 솔라리스 웹사이트를 참고하기 바란다. 7.2 리눅스에서 솔라리스 바이너리의 사용내가 아는 바로는, 이것은 지원되지 않는다. 8. 추가 정보여러분이 참고할 수 있는 몇몇 웹사이트들이 있다:
9. Credits and legal stuff9.1 Credits솔라리스를 직접 인스톨하면서 이 HOWTO를 베타 테스트 해준 Marcel Meyer에게 감사한다. 9.2 질문, 권고, 제안언제든지 환영이다. 메일로써 연락하기 바란다. max.berger@xslt.de 9.3 License번역하지 않습니다. (LDPL을 따를 경우 허락없이 수정/재배포 가능하다는 내용) - 역자 This document is copyrighted © by Max Berger. You may use and/or modify it according to the Linux Documentation Project License (LDPL) found at http://www.linuxdoc.org/COPYRIGHT.html. According to the license you don't have to tell me, but I'd very much like to know when you modify and/or republish this document. Although the information given in this document is believed to be correct, the author will accept no liability for the content of this document. Use the tips and examples given herein at your own risk. |