지난 08년 여름 썬에서 썬스타들과 함께 하계 인턴프로그램에 참여하여 첫 출근했던날
부장님께 한가지 여쭤봤던 질문이 있었다. 지금 생각하면 앞뒤 다 자르고 여쭤봐서 좀 엉뚱했다는 생각이 든다.

"리눅스 쉘이랑 솔라리스 쉘이랑 왜 같은 bash 로 세팅했는데 다르죠?"

사실 리눅스는 99년 국내에 한참 배포판들이 보급될때부터 지금까지 쭉 사용해왔고
솔라리스는 06년도 여름방학때 아르바이트 했던 회사에서 그때 잠깐 사용했던 정도였다.
고로 사용자(혹은 개발자, 엔지니어 등)들이 직접 참여해서 편리함을 우선으로 만들어진 리눅스에
너무나도 익숙한 나머지 전통 환경에서 전혀 적응을 못해서 생긴 에피소드 였다.

갑자기 이번 겨울부터 뭔가 심심한나머지 장난감이 필요했었다.
그러던중 우연히 중고장터에서 저렴하게 구입한 Sun Ultra 10 머신을 구입하게 되었고,
요세들어 연구실에 앉아서 계속 요놈을 주물럭 거리게 되었다.

여튼... -_- 오늘따라 서론이 좀 길었는데...
결론은 지금부터 솔라리스 운영체제를 리눅스처럼? 환경을 개조시켜 볼것이다.
(주로 사용하는 배포판이 Centos 라 Centos 5.2 기준으로 개조시킬것이다.)

1. Solaris 10 다운로드
http://kr.sun.com/software/solaris/ 여기서 다운로드를 누르고 회원가입후 로그인해서 다운가능
현재 버젼은 Solaris 10 10/08 버젼이다.

2. Solaris 10 설치
이건 다른 블로그들 참조... (그렇게 어렵진 않아요...)

3. SSH 설정 - root 접근 허용 설정(개인적으로 root로 작업하는걸 좋아해서..)
#vi /etc/ssh/sshd_config
(132번줄) PermitRootLogin no -> PermitRootLogin yes
#svcadm disable ssh
#svcadm enable ssh

4. root 유저 기본 쉘 설정
#vi /etc/passwd
root:x:0:0:Super-User:/export/home/root:/usr/bin/bash <-각자 환경에 맞게 홈디렉토리나 등등 설정

5. Coreutils / vim 설치
http://www.sunfreeware.com 에서 자신에 CPU 타입에 맞게 린크 접속
coreutils-6.4-sol10-XXXXX-local.gz / vim-7.2-sol10-XXXX-local.gz 다운로드
및 서버에 업로드 (의존성 걸린 프로그램 있으면 전부 다운로드 및 업로드)

#gzip -d coreutils-6.4-sol10-XXXXX-local.gz
#pkgadd -d coreutils-6.4-sol10-XXXXX-local

#gzip -d vim-7.2-sol10-XXXX-local.gz
#pkgadd -d vim-7.2-sol10-XXXX-local


6. bash 관련 설정파일 생성
##################################################################
~/.bashrc
##################################################################
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi
##################################################################


##################################################################
~/.bash_profile
##################################################################
if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

MAIL=/usr/mail/${LOGNAME:?}
PATH=/usr/local/bin:/usr/ccs/bin:$PATH
export PATH
##################################################################


##################################################################
/etc/bashrc
##################################################################
if [ "$TERM" = "xterm" ]
then
        alias ls='/usr/local/bin/ls --color'
        alias grep='/usr/local/bin/grep --color'
        alias egrep='/usr/local/bin/egrep --color'
        alias vi='vim'
else
        alias ls='/usr/local/bin/ls'
        alias grep='/usr/local/bin/grep'
        alias egrep='/usr/local/bin/egrep'
fi
if [ "$PS1" ]; then
    if [ "x`tput kbs`" != "x" ]; then # We can't do this with "dumb" terminal
        stty erase `tput kbs`
    fi
    case $TERM in
        xterm*)
            PROMPT_COMMAND='echo -ne "\033]0;${USER}
@${HOSTNAME}: ${PWD}\007"'
            ;;
        vt100*)
            PROMPT_COMMAND='echo -ne "\033]0;${USER}
@${HOSTNAME}: ${PWD}\007"'
            ;;
        *)
            ;;
    esac
    PS1="[\u@\h \W]\\$ "

    if [ "x$SHLVL" != "x1" ]; then # We're not a login shell
        for i in /etc/profile.d/*.sh; do
            if [ -x $i ]; then
                . $i
            fi
        done
    fi
fi
##################################################################

7. vim 관련 설정
##################################################################
~/.vimrc 및 /etc/vimrc
##################################################################
if v:lang =~ "utf8$" || v:lang =~ "UTF-8$"
   set fileencodings=utf-8,latin1
endif

set nocompatible        " Use Vim defaults (much better!)
set bs=indent,eol,start         " allow backspacing over everything in insert mode
"set ai                 " always set autoindenting on
"set backup             " keep a backup file
set viminfo='20,\"50    " read/write a .viminfo file, don't store more
                        " than 50 lines of registers
set history=50          " keep 50 lines of command line history
set ruler               " show the cursor position all the time

" Only do this part when compiled with support for autocommands
if has("autocmd")
  " In text files, always limit the width of text to 78 characters
  autocmd BufRead *.txt set tw=78
  " When editing a file, always jump to the last cursor position
  autocmd BufReadPost *
  \ if line("'\"") > 0 && line ("'\"") <= line("$") |
  \   exe "normal! g'\"" |
  \ endif
endif

if has("cscope") && filereadable("/usr/bin/cscope")
   set csprg=/usr/bin/cscope
   set csto=0
   set cst
   set nocsverb
   " add any database in current directory
   if filereadable("cscope.out")
      cs add cscope.out
   " else add database pointed to by environment
   elseif $CSCOPE_DB != ""
      cs add $CSCOPE_DB
   endif
   set csverb
endif

" Switch syntax highlighting on, when the terminal has colors
" Also switch on highlighting the last used search pattern.
if &t_Co > 2 || has("gui_running")
  syntax on
  set hlsearch
endif

if &term=="xterm"
     set t_Co=8
     set t_Sb=^[[4%dm
     set t_Sf=^[[3%dm
endif
##################################################################

8. 설정이 새로운 유저에게도 적용되도록 설정파일 복사
#cp ~/.bashrc /etc/skel/.bashrc
#cp ~/.bash_profile /etc/skel/.bash_profile
#cp ~/.vimrc /etc/skel/.vimrc


위 설정에 <tab> 자동완성 및 vim 을 통하여 컬러설정 ls 시 컬러설정까지 포함되어있다.

사실 솔라리스만 딱 깔고났을때는 너무나 익숙했던 것들이 전부 달라서....
쉘상에서 화살표키를 사용할때나 vi 에서 키이동이나.. 등등... 그게 너무 불편했기에....

이제 새롭게 터미널을 접속해보면... 짜잔~ 거의 흡사하게 리눅스시스템과 비슷하다고
느낄수 있을것이다..^^

p.s. history 체크하면서 올린거라... 혹시 빠진 내용이 있을 수 있으나
중간중간 빠진부분은 체크해서 업데이트 하겠습니다.

Posted by 호랭이~

OpenSolaris 와 Centos 비교자료

opensolaris-centos.odp

Star Suite Impress 용 파일

opensolaris-centos.pdf

Portable Document Format 용 파일



(OpenSolaris 2008년 5월 릴리즈 / CentOS 5  버젼기준)

*본 내용의 '5.맺음말'은 본인의 의사로 사실과 다를 수 있음.
*본 내용의 Linux는 CentOS 5 기준으로 초점을 맞추었음.

Posted by 호랭이~

개인적으로 쓰는, 웹서버 세팅시 옵션들....

*필요 라이브러리들 설치
#yum update
#yum install gcc gcc-c++ termcap libtermcap libtermcap-devel gdbm-devel zlib* libxml* freetype* libpng* libjpeg*

*MySQL 설치
#./configure --prefix=/usr/local/mysql/ --localstatedir=/usr/local/mysql/db --with-charset=utf8 --sysconfdir=/etc
# make
# make install

*MySQL 세팅
#cp support-files/my-medium.cnf /etc/my.cnf
#useradd mysql
#/usr/local/mysql/bin/mysql_install_db
#chown mysql.mysql /usr/local/mysql/db -R
#ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
#/usr/local/mysql/share/mysql/mysql.server start
#/usr/local/mysql/bin/mysql -uroot mysql
>update user set password=password('암호암호') where user='root';
>create database 데이터베이스;
>GRANT ALL PRIVILEGES ON 데이터베이스.* TO 아이디@localhost IDENTIFIED BY '암호암호' WITH GRANT OPTION;
#/usr/local/mysql/bin/mysqladmin -uroot reload

*Apache 설치
server/mpm/prefork/prefork.c [256 -> 2048 (8배)]
server/mpm/worker/worker.c [16 -> 256 (8배)]
#./configure --prefix=/usr/local/apache --enable-mods-shared=all --enable-rewrite --enable-so
#make
#make install
#ln -s /usr/local/apache/bin/apachectl /usr/bin/apachectl

*PHP 설치
#./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql --with-libxml-dir --with-iconv --with-gd --with-jpeg-dir --with-freetype-dir --enable-ftp --enable-sockets
#make
#make install
#cp php.ini-dist /usr/local/lib/php.ini

*Zend설치
#./install

#httpd.conf 추가
*PHP관련
AddType application/x-httpd-php .html .htm .php .php3 .php4 .php5 .phtml .cgi .inc
AddType application/x-httpd-php-source .phps

*Index 파일관련
DirectoryIndex index.html index.htm index.php index.php3

*Rewrite 모듈관련
AllowOverride all

Posted by 호랭이~