반응형

1. 시스템 서비스 적용 여부

/etc/inetd.conf

#shell   stream  tcp6    nowait  root    /usr/sbin/rshd         rshd
#login   stream  tcp6    nowait  root    /usr/sbin/rlogind      rlogind

다시실행 1(비추)
 ps -ef | grep inetd

나온 PID 값을

kill -9 <PID>

다시 실행

다시실행(환경파일 다시 읽어오기 inetd에 관해)
 refresh -s inetd

동작 여부(#은 주석처리됨...)

2. root 계정에서 .rhosts 여부
+ (아무나)

3. /etc/hosts
연결될 IP 정보 존재여부


반응형
반응형


유저 : root
파일 : /etc/inittab
시스템 : aix 5.3

주의사항 : respawn 옵션이 있기전에 넣어야 정상적으로 작동
 # USER SHELL #
myroute:2:once:/usr/local/bin/sys_route.sh > /dev/console 2>&1
mydbstart:2:wait:/usr/local/bin/dbstart > /dev/console  2>&1
myjeusstart:2:once:/usr/local/bin/jeusstart > /dev/console 2>&1
mymegatier:2:once:/usr/local/bin/megatierstart > /dev/console 2>&1
#############

myroute 는 라우팅 설정을 하는 파일
mydbstart 는 oracle 을 시작하고 리스너 까지 실행
myjeusstart는 제우스 시작을 함
mymegatier 연계 솔루션을 시작함.

단 mydbstart는 wait를 걸어 실행하고 쉘이 끝날 때까지 기다림.

모든 .sh 쉘 파일은 실행가능한 옵션으로 설정함 (chmod +x 파일명.sh)

su - 사용자계정 -c (실행명령)

파일 : /usr/local/bin/sys_route.sh
 # 시스템 라우팅 세팅 쉘
# 기본 라우팅 설정 세팅
 /usr/sbin/route add 0.0.0.0 -netmask 0.0.0.0 192.168.0.1 -if en2

파일 : /usr/local/bin/dbstart
 su - oracle -c /oracle/product/102/VMS/bin/dbstart

파일 :  /oracle/product/102/VMS/bin/dbstart

#!/usr/bin/sh
# ORACLE START
/oracle/product/102/VMS/bin/sqlplus '/as sysdba' <<-EOF
startup
exit 0

EOF

# LISTENER START
/oracle/product/102/VMS/bin/lsnrctl start


파일 : /usr/local/bin/jeusstart
su - emdnet -c /home/jeus5/bin/jboot


위와 같이 설정하면 정상적으로 작동함...

단.....

AIX에서 inittab 파일에서 default init 설정을 확인하면 대부분이 level 2이므로

/etc/rc.d/rc2.d/ 밑에 S01파일명 형태의 link를 걸어도 무방하다~
반응형
반응형

유닉스도 여러종류가 있는데 어떤 유닉스인가요? hp,sun,ibm...등등..

.profile에 넣어서는 오라클이 자동실행이 되질 않습니다....

sun unix기준으로 자동으로 오라클이 올라오게 하려면...


sun solaris 부팅 시 oracle DB를 auto startup하도록 하는 데 관련된 화일들이다.

/etc/inittab : o/s의 초기화 과정을 조절하는 화일
/etc/rc2 : 부팅 run-level 2 에서 사용되는 스크립트
/etc/rc0 : 부팅 run-level 0 에서 사용되는 스크립트
/etc/rc2.d/S99dbstart : /etc/init.d/dbstart 에 대한 symbolic link
/etc/rc0.d/K01dbshut : /etc/init.d/dbshut 에 대한 symbolic link
/var/opt/oracle/oratab : 시스템에 설치된 오라클 인스턴스에 대한 정보.

(참고)
/etc/init.d/dbstart, dbshut 화일은 super user(root)로 생성하시고,
symbolic link도 super user로 만드시기 바랍니다.
이 화일들은 super user가 owner가 되도록 하고, super user(root)만이
실행 가능하도록 해야 합니다.


1. 먼저 vi /etc/inittab 화일을 열어보십시오.

ap::sysinit:/sbin/autopush -f /etc/iu.ap
fs::sysinit:/sbin/rcS >/dev/console 2>&1 is:3:initdefault:
p3:s1234:powerfail:/usr/sbin/shutdown -y -i5 -g0 >/dev/console 2>&1
s0:0:wait:/sbin/rc0 >/dev/console 2>&1 s1:1:wait:/usr/sbin/shutdown -y -iS -g0 >/dev/console 2>&1 s2:23:wait:/sbin/rc2 >/dev/console 2>&1 s3:3:wait:/sbin/rc3 >/dev/console 2>&1 s5:5:wait:/sbin/rc5 >/dev/console 2>&1 s6:6:wait:/sbin/rc6 >/dev/console 2>&1 fw:0:wait:/sbin/uadmin 2 0 >/dev/console 2>&1 of:5:wait:/sbin/uadmin 2 6 >/dev/console 2>&1 rb:6:wait:/sbin/uadmin 2 1 >/dev/console 2>&1 sc:234:respawn:/usr/lib/saf/sac -t 300
co:234:respawn:/usr/lib/saf/ttymon -g -h -p "`uname -n` console login: " -T
sun
-d /dev/console -l console -m ldterm,ttcompat

s1부터 s6까지 os file들에 대해 위와 같이 device redirection이 연결되어
있으면 됩니다.

------------------------------------------------------------------------
s2:23:wait:/sbin/rc2 >/dev/console 2>&1
위와 같이 설정하면 run-level 2일 경우 /sbin/rc2 스크립트가 실행된다.
/sbin/rc2 는 /etc/rc2.d 디렉토리에 들어있는 스크립트를 실행한다.
만약 스크립트가 S 로 시작하면 /sbin/rc2 는 이 스크립트에 startup 파라미
터를 부여하고 여기서 지정된 프로세스를 실행시킨다.
따라서 /etc/rc2.d/S99dbstart 화일을 사용하여 dbstart를 실행한다.

shutdown 과정도 거의 비슷하다. /etc/inittab 에 다음과 같은 라인을 보자.

s0:0:wait:/sbin/rc0 >/dev/console 2>&1
이것은 /sbin/rc0 를 실행시키는데 /sbin/rc0 는 /etc/rc0.d 디렉토리에
들어있는 스크립트를 실행시킨다.
스크립트 이름이 K 로 시작하면 이것은 stop 파라미터를 갖고 실행되어서 이
스크립트에 지정된 프로세스를 정지시킨다.
따라서 /etc/rc0.d/K01dbshut 스크립트는 stop 파라미터를 갖고 실행되며
이 스크립트는 $ORACLE_HOME/bin/dbshut 스크립트를 실행시켜서 오라클을
shutdown 시킨다.
------------------------------------------------------------------------


2. 그 다음에 vi /etc/rc2 화일을 한번 열어보세요.

이 스크립트 화일은 run-level 2에서 사용되는 스크립트입니다.
특별히 수정할 내용은 없으나, 이 화일이 존재하는지 확인해 보십시오.

PATH=/usr/sbin:/usr/bin
set `/usr/bin/who -r`
if [ x$9 = "xS" -o x$9 = "x1" ]
then
echo 'The system is coming up. Please wait.'
BOOT=yes
...


3. 그 다음에 vi /etc/rc0 화일을 한번 열어보세요.

이 스크립트 화일은 run-level 0에서 사용되는 스크립트입니다.
특별히 수정할 내용은 없으나, 이 화일이 존재하는지 확인해 보십시오.

PATH=/usr/sbin:/usr/bin

echo 'The system is coming down. Please wait.'

# make sure /usr is mounted before proceeding since init scripts
# and this shell depend on things on /usr file system
/sbin/mount /usr > /dev/null 2>&1

# The following segment is for historical purposes.
# There should be nothing in /etc/shutdown.d.
if [ -d /etc/shutdown.d ]
then
for f in /etc/shutdown.d/*
{
if [ -s $f ]
then
/sbin/sh ${f}
fi
}
fi
...


4. /etc/init.d/dbstart 와 /etc/init.d/dbshut 스크립트를 만들어야 합니다.
그 내용은 각각 다음과 같이 한 줄로 작성합니다.

/etc/init.d/dbstart 화일은 다음과 같이 만듭니다.
su - -c <$ORACLE_HOME>/bin/dbstart
/etc/init.d/dbshut 화일은 다음과 같이 만듭니다.
su - -c <$ORACLE_HOME>/bin/dbshut



5. /etc/rc2.d/S99dbstart 화일을 /etc/init.d/dbstart에 대한 link로 생성합니다.

ln -s /etc/init.d/dbstart /etc/rc2.d/S99dbstart


6. /etc/rc0.d/K01dbshut 화일을 /etc/init.d/dbshut에 대한 link로 생성합니다.

ln -s /etc/init.d/dbshut /etc/rc0.d/K01dbshut


7. /var/opt/oracle/oratab 화일을 엽니다.

oratab 화일은 일반 텍스트 화일로서 시스템에 설치된 오라클 인스턴스에 대한
정보를 가지고 있는데 보통 3개의 필드로 이루어져 있으며,
첫번재 필드는 ORACLE_SID, 두번째 필드는 ORACLE_HOME, 세번째 필드는 Y 또는
N으로 구성되어 있습니다. 해당 인스턴스를 auto startup 시키려면 세번째
필드가 반드시 Y로 세팅되어 있어야 합니다.

아래에 예를 참조하세요.

ORA805:/oracle4/ora8/app/oracle/product/8.0.5:Y
ORA815:/oracle4/ora8i/app/oracle/product/8.1.5:Y

(주)
만약, <$ORACLE_HOME>/bin/dbstart 수행에 오류가 있으면 기존의 dbstart 화
일을 다른 path에 rename하고, 아래 내용만 가지고 <$ORACLE_HOME>/bin/ 아래
에 dbstart 화일을 다음과 같이 만든다.

svrmgrl connect internal
startup
exit
EOF


Example
-------
none


Reference doc-uments
-------------------
none



블루틴참조


반응형
반응형
리눅스
마지막에 wc -l을 하지 않으면 개수가 아닌 실제 리스트가 출력 된다.

#> cat /proc/cpuinfo|grep processor|wc -l

솔라리스
#> psrinfo -v|grep "Status of processor"|wc -l

IBM-AIX
#> lsdev -C| grep Process | wc -l

HP/UX
ioscan -C processor | grep processor | wc -l
반응형
반응형


month=`date +%m`
year=`date +%Y`

real_month=`expr $month + 2`

if [ $real_month -gt 9 ]
then
        if [ $real_month -gt 12 ]
        then
                # 년도 증가
                year=`expr ${year} + 1`

                # 월에서 -12
                real_month=`expr ${real_month} - 12`

                real_month=${year}0${real_month}
        else
                real_month=${year}${real_month}

        fi;
else
        real_month=${year}0${real_month}
fi;

echo $real_month


 

반응형
반응형

 cut 이랑 uniq 사용법

예) 현재 접속된 ip만 확인(포트번호 제외)하여 중복된 것을 제거한 갯수

# netstat-an | grep ESTABLISHED | awk '{print ($2)}' |cut -f "1 2 3 4" -d .| sort | uniq -c

 

 

- date 관련

1. date 0없애기

# date '+%h %-d'
Aug 04
# date '+%h %0d'
Aug 4

 

2. date 전달 구하기

# TZ=KST+700 date +'%m'

 

3. data 전일 구하기

# TZ=KST+15 date +'%d'

 

 

- du 관련

1. 현재 디렉토리 내의 모든 파일의 용량을 보여줌

# du -sk * (du -sm * 및 du -sg * 가능)

 

2. 같은 파일시스템 내의 디렉토리 사이즈만 보여줌

# du -x

 

 

 

- awk 사용예제

# df -m | awk '{print$7}'

# df -m | awk '{print$1,$7}'

# lsvg -l rootvg | awk '{print"lslv -l "$1}' | sh

# df | awk '{print"lsfs "$7}'|sh

# lsdev -Cc adapter | grep ent | awk '{print"lsattr -El "$1}' | sh

# ps -ef | grep nmon |awk '{print"kill -9 "$2}' |sh 

# ls -l /etc/*.conf| awk '{print "grep pmtu " $9}' | sh

 

(디렉토리의 사용량 보기)
# ls -l|grep ^d | awk '{print"du -sk "$9}' | sh

 

(파일시스템 90% 이상 찾기)
# df -Pk|awk 'int($2) != 0'|grep -v Mounted|grep -v 가능|awk 'int($3*100/$2) > 89 {print $5, $6}'


(메모리 사용량 보기)
# vmstat 1 3 |tail -1 |awk '{used=$3*4096/1024/1024}{free=$4*4096/1024/1024}END{printf " used memory : %.0f MB\n free memory : %.0f MB\n",used,free}'


(CPU사용량보기)
# sar 1 2|tail -1|awk '{use=int($2+$3)}END{printf "%.0f\n",use}'


(HP에서 disk용량 보기)
# ioscan -fnC disk|grep rdsk|awk '{print "diskinfo "$2}'|sh|grep size|grep -v '0 Kbytes'|awk '{print int($2/1024/1024)}'

 

 

 

- 일일점검 shell(AIX 기준)

 

export LANG=C
DATE=`date '+%y%m%d'`
MONTH=`date '+%y%m'`
TIME=`date '+%H%M%S'`
HOST=`hostname`

SCRIPT_HOME=/CHECK
TEMP_HOME=$SCRIPT_HOME/TEMP
LOG_HOME=$SCRIPT_HOME/LOG
OUTPUT=$LOG_HOME/systemcheck_$HOST'_'$DATE.out
NET_INFO=$SCRIPT_HOME/TEMP/ifconfig.info
NET_TEMP=$SCRIPT_HOME/TEMP/ifconfig.count

 

####### MEMORY CHECK ########
MEMINUSE=`svmon -G  | grep "in use" | awk '{print ($3)}'`
MEMTOTAL=`svmon -G  | grep "memory" | awk '{print ($3/$2)*100}'`
MEMCOMP=`svmon -G  | grep "memory" | awk '{print ('$MEMINUSE'/$2*100)}'`
MEMNONCOMP=`echo "scale=3; $MEMTOTAL - $MEMCOMP"|bc`

 

####### NETWORK CHECK ########
> $NET_INFO < /dev/null
> $NET_TEMP < /dev/null

ifconfig -a | grep en | grep -v tcp | awk '{print $1}' | cut -c 1-3 > $NET_INFO
for NET_EN in $(<$NET_INFO)
  do
       netstat -v $NET_EN | grep Link | grep -iv Up | wc -l >> $NET_TEMP
  done

 

echo "CPU = `sar 1 2|tail -1|awk '{use=int($2+$3)}END{printf "%.0f\n",use}'`" > $OUTPUT
echo "MEM/COMP = $MEMCOMP" >> $OUTPUT
echo "MEM/NONCOMP = $MEMNONCOMP" >> $OUTPUT
echo "MEM/SWAP = `lsps -a | grep hd6 | awk '{ print $5 }'`" >> $OUTPUT
echo "DISK = `df -Pk|awk 'int($2) != 0'|awk 'int($3*100/$2) > 95 {print $5, $6}' | wc -l`" >> $OUTPUT
echo "NETWORK = `cat $NET_TEMP | grep -v 0 | wc -l`" >> $OUTPUT

CHECK=`lssrc -a | grep topsvcs | grep active | wc -l`
if [ $CHECK = 1 ] ; then
        echo "CLUSTER/DEMON = 0" >> $OUTPUT
        echo "CLUSTER/LOG = `cat /tmp/hacmp.out | wc -l`" >> $OUTPUT
else
        echo "CLUSTER/DEMON = 1" >> $OUTPUT
fi

echo "ERRORLOG = `errpt | grep -v ID | grep -v SOFTWARE | wc -l`" >> $OUTPUT

 

 

 

 

- 벤더별 메모리 사용량 체크

[IBM]

export LANG=C

SCRIPT_HOME=/수정하세요


####### MEMORY CHECK ########
MEMINUSE=`svmon -G  | grep "in use" | awk '{print ($3)}'`
MEMTOTAL=`svmon -G  | grep "memory" | awk '{print ($3/$2)*100}'`
MEMCOMP=`svmon -G  | grep "memory" | awk '{print ('$MEMINUSE'/$2*100)}'`
MEMNONCOMP=`echo "scale=3; $MEMTOTAL - $MEMCOMP"|bc`

echo "CPU = `sar 1 2|tail -1|awk '{use=int($2+$3)}END{printf "%.0f\n",use}'`"
echo "MEM/COMP = $MEMCOMP"
echo "MEM/NONCOMP = $MEMNONCOMP"
echo "SWAP = `lsps -a | grep hd6 | awk '{ print $5 }'`"


[HP]

export LANG=C

SCRIPT_HOME=/수정하세요

####### MEMORY CHECK ########
MEMFREE=`vmstat 1 2 | tail -1 | awk '{ printf "%-d\n", $5*4}'`
MEMTOTAL=`echo "phys_mem_pages/D" | adb /stand/vmunix /dev/kmem|tail -1|awk '{ printf "%-d\n", $2*4}'`
MEMUSE=`echo "scale=3; 100-($MEMFREE*100/$MEMTOTAL)"|bc`

echo "CPU = `sar 1 2|tail -1|awk '{use=int($2+$3)}END{printf "%.0f\n",use}'`"
echo "MEM = $MEMUSE"
echo "SWAP = `/usr/sbin/swapinfo -tm|tail -1|awk '{use=int($3*100/$2)}END{printf "%.0f\n",use}'`"

 

[SUN]

export LANG=C
SCRIPT_HOME=/수정하세요

####### MEMORY CHECK ########
MEMTOTAL=`prtconf|grep Mem|awk '{print $3}'`
MEMFREE=`sar -r 1 2|tail -1|awk '{use=int($2*8/1024)}END{printf "%.0f\n",use}'`
MEMUSE=`echo "scale=3; 100-($MEMFREE*100/$MEMTOTAL)"|bc`

echo "CPU = `sar 1 2|tail -1|awk '{use=int($2+$3)}END{printf "%s\n",use}'`"
echo "MEM = $MEMUSE"
echo "SWAP = `swap -l|tail -1|awk '{use=int(100-($5*100/$4))}END{printf "%s\n",use}'`"

 

 

 

- system 정보 저장하는 shell

 

#!/bin/sh

IdChk=`id | grep root | wc -l`

if [ $IdChk -eq 0 ]; then
  echo
  echo "You must login root... Try again..."
  echo
  exit
fi

OutFile=`hostname`"_"`date +%y%m%d`.out"


echo "-------------------------------------------"| tee -a $OutFile
echo "             시스템 정기 점검              "| tee -a $OutFile
echo "-------------------------------------------"| tee -a $OutFile

echo '1. 점검 일자 : ' `date` | tee -a $OutFile
echo '2. 장비 이름 : ' `hostname` | tee -a $OutFile
echo '3. 모 델 명 : ' `uname -M` | tee -a $OutFile
echo '4. 시리얼번호 : ' `uname -u` | tee -a $OutFile
echo '5. OS 버젼 : ' `oslevel -r` | tee -a $OutFile
echo '6. 커널 비트 : ' `bootinfo -K` | tee -a $OutFile

echo | tee -a $OutFile

echo | tee -a $OutFile
echo "  =====================" | tee -a $OutFile
echo "  CPU / MEMORY 정보확인" | tee -a $OutFile
echo "  =====================" | tee -a $OutFile
echo | tee -a $OutFile
echo "# lsdev -Cc processor" | tee -a $OutFile
lsdev -Cc processor  | tee -a $OutFile
echo | tee -a $OutFile
echo "# bootinfo -r"  | tee -a $OutFile
bootinfo -r  | tee -a $OutFile
echo | tee -a $OutFile
echo "# lscfg -vp |grep Size"  | tee -a $OutFile
lscfg -vp |grep Size | tee -a $OutFile
echo | tee -a $OutFile
echo "# lsps -a"  | tee -a $OutFile
lsps -a  | tee -a $OutFile
echo | tee -a $OutFile
echo | tee -a $OutFile
echo "  ==============" | tee -a $OutFile
echo "  DISKS 정보확인" | tee -a $OutFile
echo "  ==============" | tee -a $OutFile
echo | tee -a $OutFile
lscfg -vp | grep disk  | tee -a $OutFile
echo | tee -a $OutFile
echo "  =================" | tee -a $OutFile
echo "  ADAPTERS 정보확인" | tee -a $OutFile
echo "  =================" | tee -a $OutFile
echo | tee -a $OutFile
echo "# lsdev -Cc adapter"  | tee -a $OutFile
lsdev -Cc adapter  | tee -a $OutFile
echo | tee -a $OutFile
echo "  =================" | tee -a $OutFile
echo "  SLOT 정보확인" | tee -a $OutFile
echo "  =================" | tee -a $OutFile
echo | tee -a $OutFile
echo "# lsslot -c pci"  | tee -a $OutFile
lsslot -c pci | tee -a $OutFile
echo | tee -a $OutFile
echo "  ===================" | tee -a $OutFile
echo "  CDROM 장치 정보확인" | tee -a $OutFile
echo "  ===================" | tee -a $OutFile
echo | tee -a $OutFile
echo "# lsdev -Cc cdrom"  | tee -a $OutFile
lsdev -Cc cdrom  | tee -a $OutFile
echo "  ===================" | tee -a $OutFile
echo "  TAPE 장치 정보확인" | tee -a $OutFile
echo "  ===================" | tee -a $OutFile
echo | tee -a $OutFile
echo "# lsdev -Cc tape"  | tee -a $OutFile
lsdev -Cc tape  | tee -a $OutFile
echo | tee -a $OutFile
echo "  ===================" | tee -a $OutFile
echo "  File Systems 사용량" | tee -a $OutFile
echo "  ===================" | tee -a $OutFile
echo | tee -a $OutFile
echo "# df -Pk"  | tee -a $OutFile
df -Pk  | tee -a $OutFile
echo | tee -a $OutFile
echo "  ============" | tee -a $OutFile
echo "  LVM 정보확인" | tee -a $OutFile
echo "  ============" | tee -a $OutFile
echo | tee -a $OutFile
echo "# lsvg "  | tee -a $OutFile
lsvg| tee -a $OutFile
echo | tee -a $OutFile
echo "# lsvg -o"  | tee -a $OutFile
lsvg -o| tee -a $OutFile
echo | tee -a $OutFile
echo "# lspv "  | tee -a $OutFile
lspv| tee -a $OutFile
echo | tee -a $OutFile
echo "# lsvg |awk '{print "lsvg -l "$1}'|sh"  | tee -a $OutFile
lsvg |awk '{print "lsvg -l "$1}'|sh | tee -a $OutFile
echo | tee -a $OutFile
echo "  ================" | tee -a $OutFile
echo "  NETWORK 정보확인" | tee -a $OutFile
echo "  ================" | tee -a $OutFile
echo | tee -a $OutFile
echo "# ifconfig -a "  | tee -a $OutFile
ifconfig -a| tee -a $OutFile
echo | tee -a $OutFile
echo "# netstat -rn "  | tee -a $OutFile
netstat -rn| tee -a $OutFile
echo | tee -a $OutFile
echo "# EtherChannel "  | tee -a $OutFile
for ENT in `lsdev -Cc adapter|grep EtherChannel|awk '{print $1}'`
  do
  echo ""
  echo "== $ENT =="
        lsattr -El $ENT | tee -a $OutFile
  done
echo "# Duplex"  | tee -a $OutFile
for ENT in `lsdev -Cc adapter|grep ent|grep -v EtherChannel|awk '{print $1}'`
  do
  echo ""
  echo "== $ENT =="
        lsattr -El $ENT | grep speed | tee -a $OutFile
  done

echo "  ====================" | tee -a $OutFile
echo "  ENVIRONMENT 정보확인" | tee -a $OutFile
echo "  ====================" | tee -a $OutFile
echo | tee -a $OutFile
echo "# crontab -l "  | tee -a $OutFile
crontab -l| tee -a $OutFile
echo | tee -a $OutFile
echo "# cat /etc/passwd "  | tee -a $OutFile
cat /etc/passwd| tee -a $OutFile
echo | tee -a $OutFile
echo "# cat /etc/group "  | tee -a $OutFile
cat /etc/group| tee -a $OutFile
echo | tee -a $OutFile
echo "# cat /.profile "  | tee -a $OutFile
cat /.profile| tee -a $OutFile
echo | tee -a $OutFile
echo "# cat /etc/filesystems "  | tee -a $OutFile
cat /etc/filesystems| tee -a $OutFile
echo | tee -a $OutFile
echo "# cat /etc/environment "  | tee -a $OutFile
cat /etc/environment| tee -a $OutFile
echo | tee -a $OutFile
echo "# ulimit -a "  | tee -a $OutFile
ulimit -a| tee -a $OutFile
echo | tee -a $OutFile
echo "# lsattr -El sys0 "  | tee -a $OutFile
lsattr -El sys0| tee -a $OutFile
echo | tee -a $OutFile
echo "# lsattr -El aio0 "  | tee -a $OutFile
lsattr -El aio0 | tee -a $OutFile
echo | tee -a $OutFile
echo "# vmo -a|egrep 'perm|repage' "  | tee -a $OutFile
vmo -a|egrep "perm|repage" | tee -a $OutFile
echo | tee -a $OutFile
echo "  ==============" | tee -a $OutFile
echo "  Error Log 확인" | tee -a $OutFile
echo "  ==============" | tee -a $OutFile
echo | tee -a $OutFile
echo "# errpt"  | tee -a $OutFile
errpt  | tee -a $OutFile
echo | tee -a $OutFile
echo "  ========" | tee -a $OutFile
echo "  LPP 확인" | tee -a $OutFile
echo "  ========" | tee -a $OutFile
echo | tee -a $OutFile
echo "# lppchk -v"  | tee -a $OutFile
lppchk -v  | tee -a $OutFile
echo | tee -a $OutFile
echo "# lslpp -l"  | tee -a $OutFile
lslpp -l  | tee -a $OutFile
echo | tee -a $OutFile
echo "  ========" | tee -a $OutFile
echo "  ETC 확인" | tee -a $OutFile
echo "  ========" | tee -a $OutFile
echo | tee -a $OutFile
echo "# lsconf"  | tee -a $OutFile
lsconf | tee -a $OutFile
echo | tee -a $OutFile
echo "# lscfg -vp "  | tee -a $OutFile
lscfg -vp | tee -a $OutFile
echo | tee -a $OutFile
echo "# ps -ef "  | tee -a $OutFile
ps -ef | tee -a $OutFile
echo | tee -a $OutFile
echo "# bootlist -m normal -o "  | tee -a $OutFile
bootlist -m normal -o | tee -a $OutFile
echo | tee -a $OutFile

echo 'Ending Date : ' `date` | tee -a $OutFile

 

 

 

 

- 사용자 자동 생성 shell

 * 인자값 입력형(예: user.sh 아이디 비번)

 

OID=`cat /etc/passwd|tail -1|cut -f 3 -d :`
NID=`echo "scale=0; $OID + 1"|bc`
UID=$1
x() {                                         
LIST=                                         
SET_A=                                        
for i in "$@"                                 
do                                            
        if [ "$i" = "admin=true" ]            
        then                                  
                SET_A="-a"                    
                continue                      
        fi                                    
        LIST="$LIST \"$i\""                   
done                                          
eval mkuser $SET_A $LIST                      
}                                             
x id='$NID' home='/u/$UID' rlogin='false' $UID

PW=$2
echo "$UID:$PW"|chpasswd
pwdadm -c $UID
echo "$UID 생성 완료"

 

 

 * 대화형(예:user.sh)

 

OID=`cat /etc/passwd|tail -1|cut -f 3 -d :`
NID=`echo "scale=0; $OID + 1"|bc`
read UID?'사번을 입력하세요 => '

x() {                                         
LIST=                                         
SET_A=                                        
for i in "$@"                                 
do                                            
        if [ "$i" = "admin=true" ]            
        then                                  
                SET_A="-a"                    
                continue                      
        fi                                    
        LIST="$LIST \"$i\""                   
done                                          
eval mkuser $SET_A $LIST                      
}                                             
x id='$NID' home='/u/$UID' rlogin='false' $UID

read PW?'비밀번호를 입력하세요 => '

echo "$UID:$PW"|chpasswd

pwdadm -c $UID

echo "$UID 생성 완료"

 

 

- DD 사용(원격)

 

블럭 디바이스
# dd if=/dev/hd3| rsh localhost "dd of=/dev/lv00 bs=1920000"


캐릭터 디바이스
# dd if=/dev/rlv01 ibs=64k obs=512 | rsh hostname dd ibs=512 obs=64k of=/dev/rlv01

 

 

 

- tar 사용

1. Compress(압축)명령
 . tar(create tape archives, and add or extract files)
:파일들을 묶어주는 명령들이다.(압축하지는 않습니다.)

ex) tar -cvf [만들 filename.tar] *    ==> 묶을 때 보통 tar이라는 확장자를 씁니 다.
그러면 filename.tar이라는 파일이 생성 됩니다.

tar -xvf [풀 filename]    ==> 묶였던 파일들이 다시 풀립니다.

compress, uncompress
: 파일을 압축하는 명령입니다. compress는 압축 uncompress는 풀어주는 명령입 니다.

ex) compress [filename]    ==> filename.Z 가 생성됩니다.

# compress temp.tar     ==> temp.tar.Z 가 생성됩니다.

-v 는 압축률을 보여줍니다.

# compress -v temp.tar

 compress는 tar처럼 새로운 파일을 만드는 것이 아니고 원본파일을 압축하기만 합니다.

# uncompress [압축한 filename]     ==> 원래의 파일이 됩니다.

. gzip, gunzip
: 역시 파일을 압축하고 푸는 명령입니다. 보통 compress보다 성능이 좋습니다. 역시 -v option이 있습니다.

ex) gzip [fileanme]     ==> filename.gz 가 생성

#  gzip -v temp.tar     ==> temp.tar.gz 가 생성됨

gunzip [filename]

#  gunzip temp.tar.gz    ==> 원본인 temp.tar가 됨

 

 

2. tar백업(파이프 이용)

# tar -cvf - .|(cd /logdata_recover/ && tar -xvf -)

 

# tar -cvf- <path> | rsh <t_mach> "cd <path> && tar -xvf-"

 

 

 

 

 

- AIO관련 (aio활성화 후 재부팅 해야 적용되는 줄 알았는데...)

# mkdev -l aio0

이렇게 하거나

# smitty aio  -> Configure Defined Asynchronous I/O

 

- AIX(ksh)에서 파일명 자동완성(리눅스에서 일부만 입력후 tab키 누르는 것과 같은 효과)

[ESC] + [=] 실행가능 list up

[ESC] + [\] 파일명 자동완성

 

 

- AIX에서 최대 생성가능 스레드 개수(확인 방법)

기본값은 process당 32767 개

# vi /usr/include/pthread.h 파일을 열어서  PTHREAD_THREADS_MAX  값을 확인 함

 

 

- process top10구현

# ps gu |head -n 1; ps gu | egrep -v "CPU|kproc"|sort +2b -3 -n -r | head -n 10

 

- svmon 상위 15개 용량

# svmon -Pt15|perl -e 'while(<>){print if($.==2||$&&&!$s++);$.=0 if(/^-+$/)}'

 

 

- 터미널(secure CRT등) 글자 깨질때(예: 바이너리파일을 열때  cat /usr/bin/ls)

# echo <ctrl+V><Ctrl+O><Enter>

 

 

- 미들웨어 버전 확인

# su - jeus -c 'jeusadmin -fullversion'

# su - webtob -c 'wsadmin -v'

# su - anylink -c 'tmadmin -v'

# su - tmax -c 'tmadmin -v'

반응형
반응형

보안 경고 문구 추가하기

/etc/security/login.cfg 파일 맨 아래에 추가 (공란없이 편집 잘하세요..)

herald = "\n\n                      **** W A R N I N G ****\nThis system is available to authorized personne ls only of

Samsung.\nYour all activities are being monitored and\nyou will be penalized for illegal access according to related reg

ulations.\n                      ***********************\nlogin: "


  • ntp 설정

   /etc/rc.tcpip 파일 열어서 ntp부분 찾아서 아래와 같이 수정하면 됩니다. ("x" 옵션 주고. 주석 해제하면 됩니다)

start /usr/sbin/xntpd "$src_running" "-x"

 

  • snmp 미사용시 막기

  /etc/rc.tcpip 파일 열어서 snmp 부분 찾아서 아래와 같이 수정하면 됩니다.

 #start /usr/sbin/snmpd "$src_running" <- 주석 처리만 하면 됩니다.

 

  • UMASK, TIMEOUT 미설정

  /etc/profile 파일에 아래 내용 추가하면 됩니다.

 

umask   022

TMOUT=1800

export TMOUT

  • 불필요 서비스 막기

  이건 다 아는거겠죠?? /etc/inetd.conf에서 막고..

 # refresh -s inetd  or inet 데몬 HUP 하면 되요..

출처 : http://withoutu.springnote.com/pages/1568906

반응형

'OS > AIX' 카테고리의 다른 글

awk 프로그래밍  (0) 2009.03.05
AWK 사용하기  (0) 2009.03.05
[AIX] 파일시스템을 관리 하는 방법  (0) 2009.03.05
AIX 팁 게시판  (0) 2009.03.05
AIX 5L 기본 설치 가이드  (0) 2009.03.05
반응형

다음에 설명되는 내용은 주의하여 사용하여야 합니다.혹 다음의 내용을 실제 업무에 적용하는 중에 발생한 우연한 손실은 사용자 여러분의 책임입니다.

다음에 설명되는 내용은 갑작스런 여유 디스크공간의 부족을 방지하기 위하여 어떤 파일들을 감시하여야 하고 특정 파일시스템 내의 충분한 여유공간을 확보하기 위해서는 무엇을 살펴 보아야 하는 가에 대한 설명이다.이의 내용은 AIX V3.2및 AIX V4.2 모두에 적용된다.

만일 루트(/)가 가득 찬 경우라면, 그리고 만일 /VAR이 가득 찬 경우라면 다른 파일시스템에 대한 일반적인 관리 기법은

만일 루트(/)가 가득 찬 경우라면
/etc/security/failedlogin 파일을 확인하도록 한다.

다음 명령을 사용하여 위 파일의 내용을 확인한다:
last -f /etc/security/failedlogin
"tty's respawning too repidly"라는 오류는 failed login 항목들을 생성시킨다.
위와 같이 내용을 확인하거나 이의 내용을 보관한 후에는 다음 명령을 이용하여 해당 파일을 정리한다:

cp /dev/null /etc/security/failedlogin

/dev 디렉토리를 점검한다.

만일 장치 이름을 잘못 입력하는 경우 예를 들면 rmt0 대신에 rmto를 사용한 경우에 /dev 디렉토리내에  rmto라는 파일이 만들어 진다. 이와 같은 경우에는 해당 명령은 / 파일시스템을 완전히 사용할 때까지 실행된다.( /dev는 / 파일시스템내에 속한다)따라서 /dev내에서  major 혹은 minor 번호를 가지지 않은 항목들이 있는지를 검증하도록 한다.

cd /dev

ls -l |pg

정상적인 파일에 대한 파일의 크기를 나타내는 항목을 조회하게 되면 장치파일의 경우는 쉼표로 구분되는 두개의 번호가 표시되어 있다.즉 그 내용의 예는 다음과 같다:

crw-rw-rw-   1 root     system    12,  0 Oct 25 10:19 rmto

대신에 다음과 같은 내용이 나타난다면

crw-rw-rw-   1 root     system   9375473 Oct 25 10:19 rmto

이들 파일들은 제거되어야 한다. 또한 /dev 디렉토리가 정상적인 파일이름들을 가지고 있는가를 점검하도록 한다. 그리고 혹 500byte 이상의 크기를 가지고 있는가도 검증하도록 한다. 만일 시스템 auditing을 실행하고 있다면 /audit 디렉토리 (이것은 디폴트이다)는 매우 급격히 증가하게 되므로 이를 주의하여야 한다.

매우 큰 파일들을 점검하도록 한다.

find 명령을 이용하여 어떠한 큰 파일들이 있는가를 찾을 수 있다.루트 디렉토리내에 1 MB보다 큰 파일들이  있는가를 조회하려면 다음의 명령을 사용한다:

find / -xdev -size +2048 -ls |sort -r +6

위 명령은 1 MB보다 큰 파일들을 찾아, 파일의 크기 순으로  나열시킨다. :notes. 루트 디렉토리를 검증하는 경우에는, /dev 디렉토리내에  파일 크기대신에 major와 minor 번호을 가진 항목들은  정상 파일로 파악되어 무시된다

만일 /VAR이 가득 찬 경우라면..

/var/tmp내에 오래된 파일들이 있는가를 점검한다.

/var/adm/wtmp는 모든 로그인들 rlogin들과 텔넷 세션들을 기록하여 두는 파일이다. 만일 이 파일이 계속적으로 감시되지 않는 경우에는 이 파일의 크기는 계속하여 증가하게 된다.(물론 시스템 어카운팅을 사용하는 경우에는 매일 밤에 이의 내용이 정리된다)따라서 이의 내용을 깨끗이 정리하거나 이 파일의 내용중 필요하지 않은 내용을 지워버리도록 한다.이 파일을 깨끗이 정리하려면 다음의 명령을 사용한다:

cp /dev/null  /var/adm/wtmp

만일 원하는 않는 정보만 지우려고 한다면 다음과 같이 파일을 편집한다.

/usr/sbin/acct/fwtmp < /var/adm/wtmp >/tmp/out

/tmp/out파일의 내용을 편집하여 원하지 않는 항목들을 지우고 이를 wtmp내의 파일로 저장한다.

/usr/sbin/acct/fwtmp -ic < /tmp/out > /var/adm/wtmp

/var/adm/ras 디레토리하의 오류기록을 정리한다. 

이 디렉토리는 오류기록인 errlog를 가지고 있다. 이는  정확히 이의 내용을 지우지 않는 한, 절대로 정리되지 않는다.  하지만, 이를 지우고자 하는 경우에  절대로 /dev/null을 이 파일로  복사하지 않도록 한다. 0의 크기를 가지는 errlog파일은  백업테이프를 이용하여 반드시 교체되어야 한다.

대신에 errclear명령을 이용하여, 이 파일의 내용을 전부  지우거나 혹은 특정일자까지의 내용만을 삭제할 수 있다:

모든 오류로그를 지우려면: errclear 0

오류로그를 정리하지만, 지난 일주일간의 내용은  보관하고자 하는 경우에는: errclear 7

:notes. 또한 트래이스를 실행한 결과로 생긴 큰 파일이 이 디렉토리내에  있는 경우도 있다. 이러한 trcfile은 다음의 명령으로  제거한다.

rm /var/adm/ras/trcfile

/var/spool디렉토리는 큐잉 시스템 파일들을 보관하고 있다. 

큐잉 부시스템을 정리한다:

stopsrc -s qdaemon

rm /var/spool/lpd/qdir/*

rm /var/spool/lpd/stat/*

rm /var/spool/qdaemon/*

startsrc -s qdaemon

/var/adm/acct디렉토리는 어카운팅 자료들을 보관한다. 만일 어카운팅을 운영중이라면, 이 디렉토리는 여러 큰  파일들을 가질 수 있다. 이들 파일들을 관리하는 방법은  시스템 관리 지침서(SC23-2457-01)를 참조하도록 한다.

/var/preserve디렉토리는 오래전에 종료된 vi세션들을  가지고 있다. 이들을 지우도록 한다.

오래된 vi세션들은 비정상적으로 종료된 파일들을 복구하는데  사용될 수 있다. 따라서, 사용자들이 파일의 복구를 원하는  경우에 대비하기 위하여, 최신의 파일들을 보관할 필요도  있다. 파일을 복구하려면, 다음의 명령을 사용한다:

vi -r filename 또는 vi –r

위 명령은 복구할 수 있는 모든 파일들을 보여 준다.

/var/adm/sulog 파일을 변경시킨다. 이 파일은 모든 경우에 있어 su를 시도한 내용을  기록한다. 이는 일반 파일이며, 따라서 vi를 이용하여  조회할 수 있다. 만일 이 파일이 없어지게 되는 경우에는,  다음번 su시도시에 다시 만들어 진다.

/var/tmp/snmpd.log 파일을 변경시킨다.

이는 snmpd데몬이 기록을 위해 사용하는 파일이다. 만일  이 파일이 제거된 경우에는, snmpd데몬에 의해 다시  만들어 진다.  :notes. 물론 /etc/snmpd.conf파일의 내용을 조정하여, 이 파일의  최대 크기를 설정할 수 있다. :enotes. :notes. 또한 find명령을 이용하여 /var 내의 큰 파일들을  점검할 수 있다: 

find /var -xdev -size +2048 -ls| sort -r +6

:enotes. :notes. AIX는 skulker이라 불리우는 일반적인 시스템 청소 스크립트를 제공하는데 이는 /usr/sbin 디렉토리하에 있다. 이러한 skulker명령을 실행하기 전에 InfoExplorer 내의 내용을 반드시 확인하여 이 명령이 어떤 파일들을 지우고 어떤 시간 기준에 의해 파일을 삭제하지 않는가에 대하여 반드시 확신을 가지도록 한다.

물론 다음과 같이 crontab항목을 이용하여 cron 작업 형태로 skulker을 실행할 수 있다:

0 3 * * * /usr/sbin/skulker

이들 항목들을 cron을 통하여 실해하는 경우에는 다음과  같이 errlog를 제한하는 것이 바람직하다:

0 11 * * * /usr/bin/errclear -d S,O 30

0 12 * * * /usr/bin/errclear -d H 90

:enotes.

다른 파일시스템에 대한 일반적인 관리 기법은..

큰 파일들이 놓여 있는 곳을 확인하기 위하여 find 명령에  -size 옵션을 사용하거나, 혹은 특정 파일시스템이  꽉 찬 경우에는, -newer 옵션을 사용하여 최근에  변경된 파일들을 찾도록 한다. 이때 -newer의 기준이 되는  파일을 생성시키기 위해서는 다음과 같이  touch명령을 사용한다:

touch mmddhhmm filename

mm is month

dd is day

hh is hour (24 hour format)

mm is minute

이후 사용하는 명령은 다음과 같다:

find /filesystem_name -xdev -newer touched_file –ls

또한 최근 24시간내에 변경된 파일들을 찾는 find 명령에  대한 옵션은 다음과 같다:

find /filesystem_name -xdev -mtime 1 –ls

위의 내용과 같이 파일시스템을 모두 소모한 경우에는 여러 파일들의 내용을 검증하여야 한다. 하지만 위의 내용은 매우 일반적인 것이며 파일시스템을 해당 환경하에 효과적으로 사용하려면 시스템 관리자는 어떠한 업무가 운영되는지 또한 운영되는 업무의 성격이 어떠한지를 정확이 파악하여 혹 발생할 수도 있는 자원의 부족에 미리 대비하여야 한다

출처 : http://cafe.naver.com/superadmin.cafe?iframe

반응형

'OS > AIX' 카테고리의 다른 글

AWK 사용하기  (0) 2009.03.05
SNMP AIX 보안 설정 하기  (0) 2009.03.05
AIX 팁 게시판  (0) 2009.03.05
AIX 5L 기본 설치 가이드  (0) 2009.03.05
AIX 5L-5.3 시스템에 GCC-4.1.2 설치 방법  (0) 2009.03.05
반응형


인터넷 검색중....

외국에  AIX관련 팁 게시판이 운영되는걸 알았다...

관심있으면 가보자 ~

http://users.ca.astound.net/baspence/AIXtip/
반응형

'OS > AIX' 카테고리의 다른 글

SNMP AIX 보안 설정 하기  (0) 2009.03.05
[AIX] 파일시스템을 관리 하는 방법  (0) 2009.03.05
AIX 5L 기본 설치 가이드  (0) 2009.03.05
AIX 5L-5.3 시스템에 GCC-4.1.2 설치 방법  (0) 2009.03.05
ADMINISTRATION CONTENTS  (0) 2009.03.05
반응형


 IBM의 pSeries 소개    AIX 5L 설치 가이드    설치환경    설치하기  

IBM의 pSeries 소개

The Binary Compatible Family!
[그림 1]

IBM의 e(logo)server pSeries 및 RS/6000 제품군은 기계설계 (MCAD)에 이상적인 강력한 워크스테이션에서부터 정밀한 대량의 수치해석이 필요한 슈퍼컴퓨터와 데이터 웨어하우스 및 웹 서빙 작업을 처리할 수 있는 초병렬 RS/6000 SP 시스템에 이르기까지 다양한 애플리케이션을 사용하여 급변하는 기업의 환경에 적합한 시스템 유연성을 제공한다. IBM의 e(logo)server pSeries 는 각 모델의 용량 및 특성에 따라 대용량 서버, 엔터프라이즈 서버, 중형 서버, 인터넷 전용 서버, 소형 서버 / 워크스테이션으로 나눌 수 있다.


대용량 서버(SP)
RS/6000 SP 시스템은 복잡한 연산을 빠르게 처리할 수 있는 슈퍼컴퓨터로 활용되며 실제로 전세계에서 가장 큰 슈퍼컴퓨터로 사용되고 있다. 대용량의 데이터 처리 및 대량의 수치해석에 적합하다.


엔터프라이즈 서버(p680, S80)
pSeries 및 RS/6000 엔터프라이즈 서버는 광범위한 기업의 기간업무에 적합한 기반을 제공한다.


중형 서버(M80, p660, p620)
중소형 고객에게 경제적이고 강력한 e-business 세계로 진입할 수 있도록 도와준다.


인터넷 전용 서버(p640)
신업체, ISP 및 리눅스 업체를 위한 최적의 웹서버이다.


소형 서버 / 워크스테이션(270, 170, 150)
뛰어난 그래픽 성능을 제공하는 RS/6000 워크스테이션은 복잡한 2/3차원 설계 및 해석에 적합할 뿐만 아니라, 부서단위 혹은 소규모 서버로도 이상적인 성능과 안정성을 제공한다.


특히 2001년 4월에 발표된 p660, p620은 구리칩 및 SOI(Silicon-On-Insulator)기술을 적용한 최초의 중형서버로서 다양한 고개들의 환경에 부합되는 보다 나은 성능과 우수한 신뢰성을 제공할 수 있으리라 생각된다.


AIX 5L 설치 가이드

이 chapter에서는 IBM UNIX인 AIX 5L(Version 5.1)을 시스템에 새로이 설치하는 방법에 대해 설명하고자 한다. 여기에서는 AIX 5L을 Standalone 시스템(혼자서 기동이 가능한 시스템)에 설치하는 것만 다루기로 한다. Dataless, diskless 시스템과 같이 혼자서는 부팅이 되지 않고 remote server시스템이 있어야 Network을 통해 Start up이 되는 시스템은 여기서는 다루지 않기로 한다.


AIX 5L을 설치하기 전에 확인해야 할 것들

- 외부 디바이스(tape drives, CD-ROM, DVD-ROM drives 등)를 포함하여 모든 요구되는 hardware가 물리적으로 연결되어 있어야 한다.

- 설치하고자 하는 시스템은 AIX 5L 설치 media(CD-ROM, Tape)가 가동되어질 디바이스로부터 부팅이 될 준비가 되어있어야 한다.

- 시스템 key가 있는 경우는 key를 Service Position으로 돌려 놓아야 한다.

- 설치하고자 하는 시스템에 접속하고 있는 사용자들은 설치 전에 로그아웃을 해야 한다.

- 설치하고자 하는 시스템의 메모리는 64MB이상이어야 한다. 그렇지 않으면 설치media로부터 부팅이 되지 않는다.

- 설치하고자 하는 시스템이 현재 사용중이라면 시스템 Backup을 받아놓아야 한다.



설치환경

시스템

RS/6000 기종에 따라 다를 수 있지만 여기서는 최근 업계 버스 표준 방식인 PCI(peripheral component interconnect) 방식의 시스템이라고 가정한다. Console은 시스템 구입시 함께 오는 IBM 컬러모니터로 가정한다. 몇 년 전까지만 해도 IBM 고유의 버스 방식인 MCA(micro-channel architecture) 방식의 시스템이 다수를 차지하고 있었으며, PCI 방식의 시스템은 절차나 지원하는 디바이스에 있어서 MCA 방식의 시스템과는 약간의 차이가 있었다. 그 한가지 예로, MCA 모델에서는 하드웨어 box의 cover에 물리적인 Key가 있어 필요에 따라 이를 이용하여 시스템을 Normal, Service, Secure의 모드로 전환할 수 있었으나, PCI 방식의 시스템에서는 이러한 key mode switch를 제공하지 않는 대신, SMS(System Maintenance Service)를 제공한다.


AIX 5L 설치 media

여기서는 CD-ROM을 이용한 설치만을 다루며 총 5장의 CD로 구성되었다.


설치하기

1. 시스템 본체와 모니터의 전원을 켠다(모델에 따라 전원 스위치가 약간씩 다르나 보통 흰색 버턴이다). 전원을 켠 후 본체 앞의 LED 화면에서 숫자가 나오며 시스템이 가동되는 것을 확인한다.

2. LED화면에 E1F1이란 숫자가 나오면 monitor화면에 Device Initialization Indicator 아이콘들이 차례로 뜨기 시작하는데 이때 마지막 스피커화면 아이콘(혹은 텍스트)이 다 뜨기 전에 재빨리 F1 키 또는 1번 키를 여러 번 눌러준다(모델 및 사양에 따라 뜨는 시간이 다소 차이가 있으며 workstation급은 그래픽 형식으로 뜨고 F1 키를 눌러주어야 하며 server급은 텍스트 형식으로 뜨고 1번 키를 눌러 주어야 한다). 그러면 System Management Service(SMS) 화면이 나타난다. SMS 화면이 그래픽 화면으로 뜰 경우는 A)로, 텍스트 화면일 경우로 바로 B)로 가 주기 바란다.


A) Workstation 급의 Graphic SMS 화면의 경우

Workstation 급의 Graphic SMS 화면의 경우
[그림 2]


위로


1) SMS 화면에서 MultiBoot 아이콘으로 가서 클릭한다.
(참고로 Config 메뉴는 현재 프로세서 수, Mhz, 실메모리량, 디스크 구성 및 용량 등의 하드웨어 정보를 보여주고 Utilities 메뉴는 Password, SCSI 등 기초검진을 수행한다. 이 두 메뉴에서는 현재로선 해 줄 것이 없다.)

SMS 화면에서 MultiBoot 아이콘으로 가서 클릭한다
[그림 3]

2) MultiBoot 화면 안에 들어오면 여기서 Boot Sequence를 클릭한다.

MultiBoot 화면 안에 들어오면 여기서 Boot Sequence를 클릭한다
[그림 4]


위로


3) 여기서 install Media 우선순위를 정해주게 된다.
Arrow key나 마우스를 이용하여 SCSI CD-ROM에 가서 1을 친 뒤 Save icon을 클릭한다(나머지 Media에도 제2, 제3의 우선순 위를 아래와 같이 둘 수 있으나 여기서는 CD-ROM 만 지정하기로 한다)

4) Save icon을 클릭하면 SCSI CD-ROM만이 설치 매개체로 지정되고 나머지는 None으로 되어있는 New Boot Order 창이 뜬다. 창을 확인 후 Exit icon 을 클릭하여 나온다.

5) 이제 다시
[그림 4]으로 돌아왔다. 그러면 SCSI CD-ROM 에 [1] 이 지정되어 있고 나머지 media에는 숫자가 지정되어 있지 않은 것을 볼 수 있다.

6) 이제 CD drive 에 AIX 5L install CD 1 of 5를 먼저 넣고 Exit icon을 클릭한다.(이 CD는 시스템 power on하기 전에 넣어 놓아도 상관없다)

7) 최초의 SMS화면까지 계속하여 Exit icon을 클릭하여 빠져 나오면 "Starting software… Please wait"이라는 메시지가 나오며 CD를 자동으로 읽기 시작한다. 이제 아래 B)를 skip하고 바로 4)로 간다.


B) Server 급의 text SMS 화면의 경우

1) 시스템 화면은 SMS(System Management Service) text 환경의 창이 뜬다.

시스템 화면은 SMS(System Management Service) text 환경의 창이 뜬다
[그림 5]


위로


2) SMS 화면에서 6번 Multiboot 를 골라준다(Multiboot외의 다른 메뉴는 Default로 두면 되므로 들어갈 필요가 없다). 이 때 6번을 친 후 Enter를 칠 필요는 없다(이하에서도 마찬가지임).

SMS 화면에서 6번 Multiboot 를 골라준다
[그림 6]

3) Multiboot 화면 안에 들어오면 4번 select Boot Device를 선택한다.

Multiboot 화면 안에 들어오면 4번 select Boot Device를 선택한다.
[그림 7]


위로


4) Boot Device화면에 들어오면 3번 Configure 1st Boot Device를 선택한다.
Boot Device화면에 들어오면 3번 Configure 1st Boot Device를 선택한다.
[그림 8]

5) Configure 1st Boot Device 화면에 들어오면 SCSI CD-ROM을 선택한다(이때는 2번을 입력한 후 Enter를 쳐야 한다).

Configure 1st Boot Device 화면에 들어오면 SCSI CD-ROM을 선택한다
[그림 9]


위로


6) 그리고 AIX 5L install CD 1 of 5를 넣고 x를 쳐서 나온다.

7) 그 위 메뉴로 하나씩 올라갈 때마다 계속 x를 친다. 결국 마지막 x를 선택하면 "Starting Software. Please wait …"이라는 메시지가 나오며 CD를 자동으로 읽기 시작 한다.


4. System Console을 선택하는 화면에서 정지한다. 이때 F1을 치고 Enter 를 친다. 이것은 현재 모니터를 console로 지정한다는 것이다.

5. 이어서 Installation Language를 선택하는 화면에서 정지한다. 이때 1을 치고 Enter를 친다. 이것은 English를 선택하는 것이다.

6. "Welcome to Base Operating System"이란 창이 뜨면 >>>Choice [1] _ 에 2를 치고 Enter를 친다. 이때 88번을 치고 Enter를 하면 각 세가지 Options별 내용을 알 수 있다.

1) Start Installation Now With Default Settings
시스템에서 지정한 Defaults값에 의해 즉시 설치 시작함

2) Change/Show Installation settings and install
Default settings값을 보고 수정할 수 있으며 이 메뉴에서 설치할 수도 있음.

3) Start Maintenance Mode For System Recovery
Recovery에 우선적으로 사용되는 Maintenance Options의 리스트를 보고 선택할 수 있음


7. Installation and Settings 화면에 들어오면 먼저 1(System Settings)을 치고 Enter를 친다.

8. Change Method of Installation 화면에서 1(New and Complete Overwrite)을 치고 Enter 한다. 이것은 기존의 것을 몽땅 다 지우고 완전히 새로 설치한다는 의미이다. 2(Preservation Install)를 선택하면 일부 files(root(/), user(/asr), varible(/var), temporary(/tmp)은 제외하고 나머지만 새로 설치한다.

9. Change Disk(s) Where you want to Install 화면이 나온다. 많은 디스크들 중에 hdisk0를 AIX설치용으로 골라주는 것이 통상적이다. 그렇게 하기 위해서는 hdisk0 줄 왼쪽 편에만 >>> 이 나오도록 해야 한다. 각 hdisk 왼편에는 번호들이 붙어있다(hdisk0인 경우는 1). 만일 원하지 않는 hdisk에 >>> 이 되어 있다면 그 디스크 번호를 치고 Enter 하면 >>> 이 없어진다. 그리고 원하는 hdisk에 >>> 이 없다면 그 디스크 번호를 치고 Enter 하면 >>> 가 원하는 hdisk에 생성되게 된다. 이런 방법으로 >>> 1 hdisk0 만을 지정하게 된 것을 확인하면 Enter치고 나간다.

10. 그러면 다시 Installation and Settings 화면으로 돌아온다. 다음은 Primary Language Environment Settings에 들어가기 위해 2번을 치고 Enter 한다.

11. 여기서는 우선적인 언어환경을 선택할 수 있다. Korean은 67번, English (United States)는 43번이며 1번 C(POSIX)을 선택하면 영어로 선택되어 진다. 이때 그냥 해당 언어에 대한 번호만 치고 Enter를 치면 "Invalid choice. Please try again"라는 메세지가 뜬다.꼭 선택하고자 하는 언어가 보일 때까지 페이지를 넘기고 원하는 언어 옆에 >>> 표시가 있는 것을 확인한 후 Enter한다. 다음 페이지로 갈 때는 MORE CHOICES의 번호를 치고 Enter 하면 되고 이전 페이지로 돌아갈 때는 …PREVIOUS CHOICES 번호를 치고 Enter하면 옮겨진다. >>> 를 원하는 언어에 생기게 하는 방법은 위 9)의 방법과 동일하다.

12. 다시 Installation and Settings 화면으로 나오면 3. Advanced Options를 선택하고 Enter한다.

13. Advanced Options에서는 Desktop 환경설정과 TCB(Trusted Computing Base)를 설정할 수 있다. Desktop은 CDE(Common Desktop Environment : 가장 일반적인 AIX desktop), GNOME와 KDE(LlNUX용 desktop), None 중 하나를 선택 할 수 있으며 1번을 누른 후 Enter를 치면 선택이 자동적으로 바뀌게 된다. 이 때 CDE는 Default로서 가장 일반적이며 GNOME이나 KDE를 선택하면 설치 중간에 AIX Toolbox for Linux Applications라는 CD를 설치해야 하므로 시간이 오래 걸리는 점이 있다. 그러므로 여기서는 일단 CDE를 선택한 후 나중에 한꺼번에 AIX Toolbox for Linux Applications를 설치하면 시간을 아낄 수 있을 것이다. TCB 설정을 마찬가지로 2번을 치고 Enter를 치면 Yes, No를 선택할 수 있으며 Yes는 가동하고자 하는 프로그램의 신뢰성을 확인시켜주어 다른 프로그램이 사용하고자 하는 프로그램인 것처럼 가장할 수 없게 해주며 No를 선택하면 설치 시간을 단축시킬 수 있다.

14. 위의 설정이 모두 끝나면 다시 처음 Installation and Settings 화면으로 돌아오며 여기서 0을 치고 Enter하거나 그냥 Enter하면 본격적인 AIX 5L설치가 시작된다.

15. Installing Base Operating System 창이 뜨면서 Please wait… 메시지가 나온다. 화면에 코드 및 text가 올라가면서 기본적으로 설치되는 프로그램들의 목록을 보여준다. 설치도중 "installp : Please insert volume 5 into device /dev/cd0......"라는 메세지가 뜬다. 그러면 5번 CD를 넣고 Enter해주면 계속 설치가 진행된다. 설치가 끝난 후 시스템이 다시 자동으로 재부팅 된다. 여기서는 어떤 키도 누르지 않고 그냥 기다리면 된다.

16. 시스템에 구성설정보조프로그램 화면이 나타날 때 까지 기다린다. 여기서 설치된 소프트웨어를 보증하는 사용권계약조정을 승인할지 거부할지 여부를 묻는 창이 나온다. 여기서는 승인icon을 클릭해준다(여기서 사용권열람을 클릭하면 구체적인 소프트웨어 계약조건들을 확인 할 수 있다).

17. 권장구성설정 타스크에 대해 설명하는 창이 나오면 다음icon을 클릭한다.

18. 이제 구체적인 권장구성설정 타스크에 대한 창이 나온다. 여기서는 모두다 설정할 필요가 없으며 날짜 및 시간, 페이징 공간만 지정해 주면 된다. 먼저 시스템날짜 및 시간설정 또는 검증 메뉴를 한번 클릭해 주고 다음icon을 클릭한다. 시스템날짜 및 시간설정 또는 검증 화면이 나오면 먼저 날짜 및 시간은 현재 시간으로 다 맞춰주고 시간대는 한국(Korea(CUT+9))으로 맞춘다. 시간대 박스아래에 있는 "사용자지역이 일광 절약시간을 따르지 않는다면, 이 박스를 체크표시하지 마십시오" 에는 비워둬야 한다. 박스에 check 가 되어 있으면 박스를 한번 클릭해 주면 비워진다. 그리고 다음icon을 클릭하고 나간다.

19. 화면으로 돌아와서 시스템 기억영역 및 페이징 공간관리를 한번 클릭해 줘서 지정해 주고 다음icon을 한번 클릭한다.

20. 시스템 기억영역 및 페이징 공간관리 화면으로 들어왔다. 화면에 메모리 크기(MB)가 실메모리량이다. 물론 권장되는 페이징 공간(MB)도 화면에 친절히 나와있다. 그러나 새로운 페이징 공간 박스에는 사용자가 직접 아래 공식대로 계산해서 값을 주는 게 좋다.

공식)
실메모리량 이 256MB 이하이면 페이징 공간 = 실메모리 * 2,
256MB 보다 크면 페이징 공간 = 512 + (실메모리 - 256)*1.25 이다.
단 실메모리가 아무리 커도 페이징 공간의 Upper Limit은 2GB 정도 임을 반드시 기억 해 두기 바란다.
새로운 페이징 공간에 값을 넣고 나서 다음icon을 한번 클릭한다.

21. 다시 구성설정보조 프로그램 화면으로 돌아왔다. 여기서는 맨 밑에 있는 구성설정보조프로그램 종료를 한번 클릭하고 다음icon을 클릭한다.

22. 구성설정보조프로그램 종료 화면이 나오면 "지금 종료하고, 운영시스템을 재시작 할 때 구성설정보조프로그램을 시작하지 않습니다" 란 메뉴를 클릭하고 종료icon을 클릭한다.
이제 CDE로 들어오게 된다. CDE로 들어오기 전에 먼저 Login 을 해 주어야 하는데 아래와 같이 따라 해 보자.

23. "환영합니다 ! local host" 화면이 나타나면 사용자이름으로 root를 치고 Enter 한다.

24. 이제 마치 윈도우 환경처럼 보이는 CDE화면으로 들어왔다. "응용프로그램관리자"란 창과 "파일관리자"란 창이 떠있으며 아래 메뉴바가 있음을 확인한다. 아래 메뉴바에서 왼쪽 끝에서 네번째 아이콘(종이와 연필그림)이 보이면 그 위의 화살표(세모표로 볼 수도 있음)를 한번 클릭한다.개인용 응용프로그램 메뉴가 위로 나오면 터미널을 골라 클릭해 준다. 그러면 dtterm 창이 뜨고 안에는 # prompt가 대기하고 있다. 여기서 AIX command및 Smitty를 활용할 수 있다.

25. 이제 AIX 5L기본(Base Operating System) 설치는 완전히 끝났다. 다음은 추가 소프트웨어를 설치 해 주어야 한다. 기본 설치만 가지고 모든 기능을 만족할 수는 없다. 그래서 기본설치 외에도 추가적으로 아래의 소프트웨어를 설치 해 주어야 한다. 그럼 하나하나 따라해 보자. 먼저 CD-ROM에 있는 5번 CD를 빼고 1번 CD를 다시 넣는다.

시스템관리
[그림 10]


26. dtterm 창에서 # smitty 를 치고 Enter 한다. 그러면 "시스템 관리" 라는 메뉴가 뜬다. 여기에서 소프트웨어 설치 및 유지보수를 arrow key로 선택하고 Enter 친다.


[그림소프트웨어 설치 및 유지보수 11]

27. 소프트웨어 설치 및 갱신을 선택하고 Enter 친다.

소프트웨어 설치 및 갱신을 선택하고 Enter 친다.
[그림 12]

28. 소프트웨어 번들 설치를 선택하고 Enter 친다.

소프트웨어 번들 설치를 선택하고 Enter 친다.
[그림 13]

29. 소프트웨어의 입력장치/디렉토리 [] 안에서 커서가 깜박이고 있을 것이다. 여기서 F4 key를 누른다. (참고로 smitty에서 [] + 가 보이면 F4 key로 선택 사항들을 볼 수 있다. 아래 보이는 Function key 메뉴들을 참조하면 된다). 그러면 아래에 "소프트웨어의 입력장치/디렉토리" 라는 작은 창이 뜬다. 거기서 /dev/cd0 (SCSI 멀티미디어 CD-ROM 드라이브)을 arrow key를 선택하고 Enter 친다.

소프트웨어의 입력장치/디렉토리  [] 안에서 커서가 깜박이고 있을 것이다.
[그림 14]

30. "파일세트 번들 선택"이란 창이 뜬다. 여기서 App-Dev 을 선택하고 Enter 친다.


[그림 15]

31. 이어서 나오는 화면은 현재 사용자가 설정한 내용들을 쭉 보여준다. 여기서는 번들이 App-Dev로 잘되어 있나 확인만 하고 그냥 Enter 을 친다.

32. "확실합니까?" 라는 작은 창이 아래에 나와 한번 더 묻는다. 이때도 그냥 Enter 를 친다.


[그림 16]


위로


33. 지금부터 왼쪽 상단에 "명령 : 수행중" 이란 메세지가 나오면서 App-Dev package 내용들을 설치하기 시작한다.
시스템에 따라 다르지만 시간이 수분간 소요된다.

34. 한참 설치가 진행되다가 창의 아래에 "installp: 볼륨 2을(를) /dev/cd0 에 삽입하고 Enter 을 눌러 계속하거나, 중지하려면 "q"를 입력하십시오." 라는 메시지가 나오면 CD 1 of 5를 빼고 CD 2 of 5 을 넣는다. 그리고 Enter 을 친다.

35. 한참 설치가 진행되다가 창의 아래에 "installp: 볼륨 3을(를) /dev/cd0 에 삽입하고 Enter 을 눌러 계속하거나, 중지하려면 "q"를 입력하십시오." 라는 메시지가 나오면 CD 2 of 5를 빼고 CD 3 of 5 을 넣는다. 그리고 Enter 을 친다.

36. 한참 설치가 진행되다가 창의 아래에 "installp: 볼륨 5을(를) /dev/cd0 에 삽입하고 Enter 을 눌러 계속하거나, 중지하려면 "q"를 입력하십시오." 라는 메시지가 나오면 CD 3 of 5를 빼고 CD 5 of 5 을 넣는다. 그리고 Enter 을 친다.

37. 한참 설치가 진행되다가 창의 아래에 "installp: 볼륨 1을(를) /dev/cd0 에 삽입하고 Enter 을 눌러 계속하거나, 중지하려면 "q"를 입력하십시오." 라는 메시지가 나오면 CD 5 of 5를 빼고 CD 1 of 5 을 넣는다. 그리고 Enter 을 친다.

38. 한참 설치 후 왼쪽 상단에 "명령 : 확인" 이라는 싸인이 뜨면 App-Dev 설치가 끝났다는 신호다.

이로써 AIX 5L 의 모든 설치를 마쳤다.

앞으로 추가적으로 설치하고자 하는 소프트웨어의 경우는 # smitty → 시스템관리 → 소프트웨어 설치 및 유지보수 → 소프트웨어 설치 및 갱신 → 사용 가능한 소프트웨어에서 설치 및 갱신 → 소프트웨어의 입력장치/디렉토리 [] 에서 F4를 누른 후 /dev/cd0 를 선택한다. → 장치할 소프트웨어 []에서 F4를 누르면 "자료를 처리중입니다" 라는 메시지가 뜬 후 "설치할 소프트웨어"를 찾는 창이 뜬다. 여기에서 커서를 아래 위로 움직여서 설치하고자 하는 소프트웨어를 찾아 F7을 눌러 그 소프트웨어를 지정할 수 있으며, / 를 누르면 "찾기"라는 창을 띄우게 된다. 여기서 [] 에 원하는 소프트웨어의 이름을 치고 Enter 하면 그 소프트웨어를 좀더 쉽게 찾을 수도 있다. 
반응형

'OS > AIX' 카테고리의 다른 글

[AIX] 파일시스템을 관리 하는 방법  (0) 2009.03.05
AIX 팁 게시판  (0) 2009.03.05
AIX 5L-5.3 시스템에 GCC-4.1.2 설치 방법  (0) 2009.03.05
ADMINISTRATION CONTENTS  (0) 2009.03.05
AIX 5L 버전 5.2 한글 매뉴얼입니다.  (0) 2009.03.05

+ Recent posts