사이드바 영역으로 건너뛰기

게시물에서 찾기분류 전체보기

3개의 게시물을 찾았습니다.

  1. 2006/11/24
    솔라리스를 사용하지 않는 이유?
    종이한장
  2. 2006/05/25
    가상 (virtual) IP 설정하기(1)
    종이한장
  3. 2006/04/21
    /etc/system (계속 추가됨)
    종이한장

솔라리스를 사용하지 않는 이유?

 

무엇이 있을까?

간단한 대답은 "없으니까"이다.

Sun에서 제 아무리 솔라리스10을 훌륭한 OS라고 자랑하더라도 쓰는 사람이 없으면 무용지물.

일단 많은 사람들이 솔라리스는 스팍 머신에 최적화 되어있는 OS라고 생각한다.

시장에서 스팍 머신을 사용하는 사람중에 Linux/Sparc 을 설치해서 사용하는 경우 보았는가?

해커 기질이 아무리 다분하다고 하더라도 그 비싼 기계 들여놓고 실험 정신을 발휘해서 Linux/Sparc 을 올리는 사람은 거의 없다.

반대로 x86 기계에 솔라리스를 올려지는 경우는 얼마나 될까? 아마도 리눅스를 올려 사용하는 경우와 비교하면 1:9 ? 아니 0.1:9.9 정도나 될까?

한때 방화벽 시스템으로 솔라리스 x86이 애용된 적이 있다고 들었지만, 지금은?

그럼 사람들은 왜 x86 기계에 솔라리스보다 리눅스를 애용하는 것일까?

간단하게 생각해 보면 쉽게 접할 수 있기 때문 정도?

리눅스가 한국에서 널리 보급된 경로를 추적하다보면  빼놓을 수 없는 패키지가 "알짜리눅스"이고 매체는 프로그램 세계이다.  프로그램 세계는 주기적으로 리눅스 시디를 잡지 부록으로 제공했고 그에 따르는 특집 기사와 연재 기사를 지속적으로 제공하며 한국에서 리눅스 저변 확대에 일등공신 역할을 했다고 생각한다.  결국 MS윈도우 위주로 기사를 제공하던 마이크로스포트웨어지까지 리눅스 코너를 만들고 덩달아 부록 씨디까지 제공하지 않았던가!

 

그럼 솔라리스는?

솔라리스는 그 값 비싼 기계와 걸맞게 값 비싼 "유료" 정책을 고수했고 따라서 무료로 배포되는 잡지 부록으로는 어울리지 않았다.  어차피 그들 시장은 정해져 있었고 그들 이외의 작은 회사나 개인들이 솔라리스를 돈 주고 사용 할리는 만무하기에 리눅스가 널리 퍼지는 동안 솔라리스는 그저 자신들의 몸 값만 지키고 있었을 뿐....

 

리눅스 개발자나 사용자가 솔라리스를 사용하지 않을 특별한 이유는 거의 없다.

사용상의 차이점은 어차피 리눅스의 많은 배포본들 사이에서도 존재한다.  솔라리스와의 차이는 겨우 또 다른 배포판 간의 차이 정도밖에 없다.

개발자의 경우 솔라리스에 Gnu 툴과 Gnu 라이브러리 컴파일러를 설치해서 사용하면 리눅스와의 차이점이라면 커널이 SunOS냐 리눅스이냐의 차이 정도?

 

솔라리스10은 굉장히 뛰어난 기능을 가지고 있다고?

구슬이 서말이라도 꿰어야 보배지...

아무리 훌륭한들 사용하는 사람이 없는데 무슨 소용?

 

마지막으로 지금 당장 서점에 나가 컴퓨터 코너에 가보시라!

솔라리스 관련 서적은 얼마나 있을까?

열심히 찾아봐야 때지난 책 대여섯권 정도 발견 할 뿐이다.

 

유닉스 시장에서 솔라리스가 주류 OS일지 모르지만, x86 시장에서 솔라리스는 그 옛날(?) 리눅스가 차지하던 마이너 신세일뿐...

 

 

 

진보블로그 공감 버튼트위터로 리트윗하기페이스북에 공유하기딜리셔스에 북마크

가상 (virtual) IP 설정하기


  • 표시는 아래 줄과 연결됨을 의미함.
  • 특정 명령 실행 후 바뀌어진 부분은 굵은글꼴로 표시했음.

솔라리스에서 한 개의 네트워크 인터페이스 카드(NIC)에 여러개의 주소를 사용하기 위해서는 ifconfig 명령을 이용하여 가상(virtual) 인터페이스를 만들고 주소를 할당해 주어야 한다.

1. 시스템 부팅시 적용하기

시스템 시작시 자동으로 적용해 주기 위해서는 /etc/hosts 파일에 추가할 가상 주소의 호스트 이름을 적어주어야 한다.
#
# Internet host table
#
127.0.0.1           localhost
211.123.123.2    ns             # 원래 사용중인 주소 (211.123.123.x 는 가짜주소)
211.123.123.3    ns2           # 추가할 주소

그 다음 초기화 스크립트에서 인터페이스를 활성화 시키기 위해 사용하는 /etc/hostname.*[0-9] 파일을 만들어 주어야 하는데, 현재 하나의 NIC에 한 주소를 사용중이라면 /etc/hostname.hme0 파일만이 있을 것이다.  hme0 인터페이스 카드에 가상 주소를 부여하려고 한다면 /etc/hostname.hme0:1 이란 파일을 만들고 그 파일에 /etc/hosts 파일에서 추가한 가상 주소의 호스트 이름을 추가한다.

# pwd
/etc
# ls -alt hostname*
-rw-r--r--   1 root            6 Sep 21  2005 hostname.hme0
-rw-r--r--   1 root            6 May 25  21:00 hostname.hme0:1
# cat hostname.hme0
ns
# cat hostname.hme0:1
ns2

위 두 가지 작업이 끝난 다음, 시스템을 리부팅하고나서 ifconfig -a 명령을 실행하면 hme0 인터페이스 이외에 hme0:1 이란 인터페이스가 생겼고, IP 주소가 할당되어 있음을 확인 할 수 있을 것이다.

# /sbin/ifconfig -a
# /sbin/ifconfig -a
lo0: flags=1000849 mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
hme0: flags=1000843 mtu 1500 index 2
        inet 211.123.123.2 netmask ffffffc0 broadcast 211.123.123.63
        ether 8:0:20:ac:c1:8e
hme0:1: flags=1000843 mtu 1500 index 2
        inet 211.123.123.3 netmask ffffffc0 broadcast 211.123.123.63

시스템을 리부팅하지 않고 바로 적용하려고 한다면, 아래처럼 /etc/init.d/network restart 명령을 실행해도 된다. 그러나, shcat 이라는 명령을 찾지 못하고 호스트 이름을 'unknown'으로 설정해 버리는 문제가 있다.  이는 shcat 명령이 /etc/rcS 스크립트에 정의된 내장 함수이기 때문인데, 시스템 리부팅시엔 아무런 문제가 없지만, 일단 부팅된 다음 network 스크립트를 사용할 때는 shcat 명령을 사용할 수 없다. 따라서, 부팅하지 않고 network 스크립트를 이용해서 적용한 다음에는 반드시 hostname 명령을 이용해서 원래의 호스트 이름을 설정해야 한다.

# /etc/init.d/network restart
.... message ....

# hostname
unknown
# hostname ns
# hostname
ns

이상의 내용은 솔라리스 9 이하에서 작동한다. 솔라리스 10 에서는 초기화 과정이 바뀌었기 때문에 적용할 수 없다.

2. 수동으로 적용하기

수동으로 가상 주소를 위한 인터페이스를 만들고 주소를 할당하기 위해서는 ifconfig 명령만 잘 사용하면 된다.

일단, 가상 주소를 위한 인터페이스를 만들기 위해서는 plumb 옵션을 사용해야 한다.  plumb 옵션은 IP 주소를 할당하여 사용하기 위한 물리적인 인터페이스 카드 장치를 오픈한다.

# /sbin/ifconfig hme0:1 plumb
# /sbin/ifconfig -a
lo0: flags=1000849 mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
hme0: flags=1000843 mtu 1500 index 2
        inet 211.123.123.2 netmask ffffffc0 broadcast 211.123.123.63
        ether 8:0:20:ac:c1:8e
hme0:1: flags=1000843 mtu 1500 index 2
        inet 0.0.0.0 netmask 0

위 명령을 실행하고 나서 ifconfig -a 명령을 실행해 보면 hme0:1 이란 인터페이스가 추가되어 있음을 확인 할 수 있는데, 주소를 할당하지 않았기 때문에 0.0.0.0 으로 되어있는 것을 볼 수 있다.  hme0:1 인터페이스에 주소를 할당하는 방법은 아래와 같다.

# /sbin/ifconfig hme0:1 211.123.123.3 broadcast 211.123.123.63 netmask 
255.255.255.192 up
# /sbin/ifconfig -a
lo0: flags=1000849 mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
hme0: flags=1000843 mtu 1500 index 2
        inet 211.123.123.2 netmask ffffffc0 broadcast 211.123.123.63
        ether 8:0:20:ac:c1:8e
hme0:1: flags=1000843 mtu 1500 index 2
        inet 211.123.123.3 netmask ffffffc0 broadcast 211.123.123.63
여기까지 제대로 했다면, 이 시스템은 hme0 에 할당된 주소와 hme0:1 에 할당된 주소를 함께 사용 할 수 있다.  만일, 더 이상 hme0:1 주소를 더 이상 사용하지 않으려면 up 플래그와 반대되는 down 플래그를 사용하면 되는데, 이 명령 후 확인해 보면 hme0:1 인터페이스에 UP이라는 플래그가 사라졌음을 확인 할 수 있다.

# /sbin/ifconfig hme0:1 down
# /sbin/ifconfig -a
lo0: flags=1000849 mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
hme0: flags=1000843 mtu 1500 index 2
        inet 211.123.123.2 netmask ffffffc0 broadcast 211.123.123.63
        ether 8:0:20:ac:c1:8e
hme0:1: flags=1000843<BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
        inet 211.123.123.3 netmask ffffffc0 broadcast 211.123.123.63


만일, hme0:1 인터페이스 자체를 더 이상 사용 할 일이 없어서 지우려고 한다면 plumb 옵션과 반대되는 unplumb 옵션으로 아래와 같이 지울 수 있다.

# /sbin/ifconfig hme0:1 unplumb
# /sbin/ifconfig -a
lo0: flags=1000849 mtu 8232 index 1
        inet 127.0.0.1 netmask ff000000
hme0: flags=1000843 mtu 1500 index 2
        inet 211.123.123.2 netmask ffffffc0 broadcast 211.123.123.63
        ether 8:0:20:ac:c1:8e



진보블로그 공감 버튼트위터로 리트윗하기페이스북에 공유하기딜리셔스에 북마크

/etc/system (계속 추가됨)

솔라리스 시스템에서 사용하는 /etc/system 내용을 요약함. 더 자세한 내용은 docs.sun.com 에서 확인해야 함. 여기있는 내용은 단순 참고용.

rlim_fd_max

프로세스에서 열 수 있는 파일 디스크립터 최대 숫자를 정의한다. (hard limit)
기본값은 65536

rlim_fd_cur
프로세스에서 열 수 있는 파일 디스크립터 숫자를 정의한다. (soft limit) 이 값은 hard limit
값을 넘을 수 없다.
기본값은 256 이며, 이 값은 쉘 상에서 'ulimit -n 값'으로 수정할 수 있으며 C언어에서 setrlimit 시스템 콜로도 수정 가능하다.

set rlim_fd_max=65536
set rlim_fd_cur=1024






진보블로그 공감 버튼트위터로 리트윗하기페이스북에 공유하기딜리셔스에 북마크