반응형

1. oracle홈밑에 admin/network 밑에

    모든 . ora 파일을 삭제한다.

  

   ==> oracle홈/bin/netca 를 통해(GUI) 모든 리스너를 새로 만듬(SID까지)

 

2. 방화벽 설정이 되어 있을경우에는 안될수 있음

   root 권한으로 setup 명령을 통해

   방화벽 1521을 예외로 설정한다.

    ==> tnsping 을 통해 해당 컴퓨터에서만 된다면...

참 쉽죠 잉 ~

반응형

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

TAR 절대 경로  (0) 2009.07.03
Centos (센토스) 오라클 설치 오류 해결하기  (0) 2009.04.17
CentOS 5.2 + Xmanager 설정 방법  (1) 2009.03.05
JBOSS 설치하기  (0) 2009.03.05
CVS 설치하기  (0) 2009.03.05
반응형

출처 : http://blog.bagesoft.com/906

 

/etc/X11/gdm/gdm.conf 파일

Enable=true

 

/etc/X11/fs/config 파일

no-listen = tcp 에 주석처리

 

/etc/X11/xdm/xdm-config 파일

DisplayManager.requestPort: 0 맨 마지막 라인 ! 느낌표로 주석 처리

 

/etc/X11/xdm/kdmrc 파일

[Xdmcp] 항목

Enable=true 로 수정 후 저장

 

/etc/X11/xdm/Xaccess 파일

# *                 #any host can get a login window

약 40번째 라인 주석 제거 저장

 

확실하게 하기 위해서 리붓한번 시도

 

이후에 접속을 해 보시구요. 참고로 아이피 대역이 같아야 합니다. (c class 까지)

run level 은 무조건 5 이어야 하구요.

 

# uname -a (운영체제 bit 확인) x86 or i386, i686 ( 32bit OS)

x86_64 라고 나오면 64bit OS

 

방화벽 안씀이라고해 놓았으면 궂이 iptables 를 세팅 안해도 상관없습니다.

 

PATH 설정을 해 주시면 다른 디렉토리에 있는 실행파일을 아무 위치에서나 사용할 수 있습니다.

 

.bash_profile 이나 .cshrc 파일을 열어보시면

PATH = $PATH:/bin ~~~ 이렇게 되어 있죠? 그 다음에 :/opt/java1.4  를 입력하시고 저장하시면 됩니다

Red Hat 5 EL에서 XDMCP 접속을 위한 설정법입니다.
1. XDM 설정
Linux runlevel 설정

/etc/inittab 파일에서 runlevel을 5로 설정
id:5:initdefault:

gdm 환경 설정 (gdm을 사용하는 경우)

/etc/gdm/custom.conf 파일의 [xdmcp] 섹션에서 Enable의 값을 1로 설정
[xdmcp]
Enable=true

kdm 환경 설정 (kdm을 사용하는 경우)

/usr/share/config/kdm/Xaccess 파일의 다음 줄에 코멘트 기호(#)를 삭제
#* #any host can get a login window ==>
* #any host can get a login window
/usr/share/config/kdm/kdmrc 파일의 [xdmcp] 섹션에서 Enable의 값을 true로 설정
[xdmcp]
Enable=true

2. 방화벽 설정
PC에서 UNIX/Linux 방향으로 UDP 177번 포트 개방
UNIX/Linux에서 PC 방향으로 TCP 6000~6010번 포트 개방
3. Linux 장비를 재부팅하거나 다음 명령을 실행한 후 Xmanager를 실행합니다.
# init 3; init 5





서비스가 떴는지 netstat -an | grep 177 로 확인하자.  아래처럼 한 줄이 나오면 정상이다.
사용자 삽입 이미지

위의 설정대로 하고도 서비스가 뜨지 않는다면, 아래 처럼 실행하고 리붓해 보라.

사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지
  
 
SSH를 통해 접속
실행 명령 부분에 DISPLAY=$DISPLAY;/etc/gdm/Xsession
를 기입하면됨
반응형
반응형

JBoss 설치

http://blog.naver.com/hk7179?Redirect=Log&logNo=100024707531

1. JBoss 설치

[csmsuser1@localhost ~]$ unzip jboss-4.0.4.GA.zip

2. JAVA_HOME 설정

.bash_profile 파일에 JAVA_HOME 추가

[csmsuser1@localhost ~]$ vi .bash_profile

export JAVA_HOME=/usr/java/j2sdk1.4.2_12

3. 실행 (백그라운드로 실행)

[csmsuser1@localhost ~]$ cd jboss-4.0.4.GA/bin
[csmsuser1@localhost bin]$ nohup ./run.sh &
[1] 7234
[csmsuser1@localhost bin]$ nohup: appending output to `nohup.out'

4. 실행 로그 보기

[csmsuser1@localhost bin]$ tail -f nohup.out
16:15:07,453 INFO  [testDurableTopic] Bound to JNDI name: topic/testDurableTopic
16:15:07,485 INFO  [testQueue] Bound to JNDI name: queue/testQueue
16:15:07,738 INFO  [UILServerILService] JBossMQ UIL service available at : /0.0.0.0:8093
16:15:07,789 INFO  [DLQ] Bound to JNDI name: queue/DLQ
16:15:08,047 INFO  [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:name=JmsXA,service=ConnectionFactoryBinding' to JNDI name 'java:JmsXA'
16:15:08,112 INFO  [TomcatDeployer] deploy, ctxPath=/jmx-console, warUrl=.../deploy/jmx-console.war/
16:15:08,698 INFO  [Http11BaseProtocol] Starting Coyote HTTP/1.1 on http-0.0.0.0-8080
16:15:08,963 INFO  [ChannelSocket] JK: ajp13 listening on /0.0.0.0:8009
16:15:08,978 INFO  [JkMain] Jk running ID=0 time=1/43  config=null
16:15:09,004 INFO  [Server] JBoss (MX MicroKernel) [4.0.4.GA (build: CVSTag=JBoss_4_0_4_GA date=200605151000)] Started in 27s:760ms

5. 종료

[csmsuser1@localhost bin]$ ./shutdown.sh -S
Shutdown message has been posted to the server.
Server shutdown may take a while - check logfiles for completion
[csmsuser1@localhost bin]$
반응형
반응형

CVS 설치

http://wiki.javajigi.net/pages/viewpage.action?pageId=189
http://blog.naver.com/jooken?Redirect=Log&logNo=130004687179
http://blog.naver.com/bigseven89?Redirect=Log&logNo=10005409481
http://kwon37xi.egloos.com/1784525

1. 패키지 설치

[root@localhost init.d]# yum install cvs

2. 사용자 추가, 디렉토리 생성

[root@localhost ~]# useradd cvs
[root@localhost ~]# su - cvs
[cvs@localhost ~]$ pwd
/home/cvs
[cvs@localhost ~]$ mkdir CSMS
[cvs@localhost ~]$ cvs -d /home/cvs/CSMS init
[cvs@localhost ~]$ chmod ug+rwx /home/cvs/CSMS/CVSROOT

3. /etc/services

4. /etc/xinetd.d/cvspserver 파일 생성


[root@localhost xinetd.d]# vi /etc/xinetd.d/cvspserver

# default : on
# description : The cvsserver serves CVS Password Server sessions; it uses
# unencrypted username/password pairs for authentication.
service cvspserver
{
    disable = no
    flags = REUSE
    socket_type = stream
    wait = no
    user = cvs
    server = /usr/bin/cvs
    server_args = -f --allow-root=/home/cvs/CSMS pserver
    log_on_failure += USERID
}

[root@localhost xinetd.d]# service xinetd restart
xinetd 를 정지함:                                          [  확인  ]
xinetd (을)를 시작합니다:                                  [  확인  ]

[root@localhost xinetd.d]#

5. cvs 암호 생성 스크립트 생성

[root@localhost xinetd.d]# vi /usr/local/bin/cryptpasswd

#!/usr/bin/env perl
srand(time());
$randletter = "(int (rand (26)) + (int(rand(1) + .5)% 2?65:97))";
$salt = sprintf("%c%c",eval$randletter,eval$randletter);
$plaintext =shift;
$crypttext = crypt ($plaintext,$salt);

print "${crypttext}\n";

[root@localhost xinetd.d]# chmod a+x /usr/local/bin/cryptpasswd

6. 설치

[root@localhost xinetd.d]# useradd csmsuser1
[root@localhost xinetd.d]# cryptpasswd 1111
WPGA4j90YnWMI
[cvs@localhost CVSROOT]$ vi /home/cvs/CSMS/CVSROOT/passwd

csmsuser1:WPGA4j90YnWMI:cvs

7. Test

[cvs@localhost ~]$ cvs -d :pserver:csmsuser1@localhost:/home/cvs/CSMS login
Logging in to :pserver:csmsuser1@localhost:2401/home/cvs/CSMS
CVS password:
[cvs@localhost ~]$ cvs -d :pserver:csmsuser1@localhost:/home/cvs/CSMS status
cvs status: in directory .:
cvs [status aborted]: there is no version here; run 'cvs checkout' first
[cvs@localhost ~]$

8. 이클립스에서 CVS설정

메뉴 [Windows] -> [Show View] -> [Other...]








반응형
반응형

연결명을 datasource 부분에 oracle 로 설정함

 

드라이버

oracle.jdbc.driver.OracleDriver

 

데이터베이스 url

jdbc:oracle:thin:@10.95.50.15:1521:vms

 

캐릭터셋

KSB5601

 

데이터소스명

jdbc/demo

이 정보들을 바로 맞춰주지 않으면

ubireport는 절대로 동작하지 않음... ㅜㅜ

반응형
반응형

디렉토리에 파일이 너무 많을 때에는
ls -l 이 안될때 가 있다.
이럴 때에는
smitty system
으로 가서
   Change / Show Characteristics of Operating System

Type or select values in entry fields.
Press Enter AFTER making all desired changes.

                                                        [Entry Fields]
  System ID                                                                                             0X800013DA7A500000
  Partition ID                                                                                             0X800013DA7A500001
  Maximum number of PROCESSES allowed per user                              [8192]                         +#
  Maximum number of pages in block I/O BUFFER CACHE                        [20]                           +#
  Maximum Kbytes of real memory allowed for MBUFS                              [0]                            +#
  Automatically REBOOT system after a crash                                            true                          +
  Continuously maintain DISK I/O history                                                   true                          +
  HIGH water mark for pending write I/Os per file                                       [0]                            +#
  LOW water mark for pending write I/Os per file                                        [0]                            +#
  Amount of usable physical memory in Kbytes                                      47448064
  State of system keylock at boot time                                                     normal
  Enable full CORE dump                                                                          false                         +
  Use pre-430 style CORE dump                                                                false                         +
  Pre-520 tuning compatibility mode                                                          enable                        +
  Maximum login name length at boot time                                                [9]                            +#
  Stack Execution Disable (SED) Mode                                                     select                        +
  NFS4 ACL Compatibility Mode                                                              secure                        +
  ARG/ENV list size in 4K byte blocks                                                    [512]                          +#
  CPU Guard                                                                                         enable                        +
  Processor capacity increment                                                               1.00
  Partition is capped                                                                                true
  Partition is dedicated                                                                             true
  Entitled processor capacity                                                                   8.00
  Minimum potential processor capacity                                                   1.00
  Maximum potential processor capacity                                                  8.00
  Variable processor capacity weight                                                         0

변경해 주면 보인다.

아무리 그래도 너무 많으면 안보이겠지만..
10만개까지 인가는 보인다..

반응형

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

Date 를 이용하여 +2 개월 뒤 년월 셋팅 하기  (0) 2009.03.25
AIX 자주 쓰이는 관리 명령 모음(펌)  (0) 2009.03.11
awk 프로그래밍  (0) 2009.03.05
AWK 사용하기  (0) 2009.03.05
SNMP AIX 보안 설정 하기  (0) 2009.03.05
반응형

개요

Shell Programming 뿐만 아니라 기본적으로 로그 파일 변환 및 필터링시 유용하면 아주 강력한 Awk 유틸리티에 대한 일반적인 내용을 다룹니다.


문법

BEGIN : 실행하기전 전처리 단계 preprocess
ROUTINE {} : 수행
END : 처리 후 수행

ex)

$ cat sedscr
aa 90
bb 30
dd 99

$ cat sedscr | awk 'BEGIN{ sum = 0; print " "; } {sum += $2} END {print " : " sum}'
  : 219

ex - file version)

$ cat sum.awk
#!/bin/awk
#
# This Program is for Summing of exam_result.
#

# BEGIN :
BEGIN {
sum = 0;
print " ";
}

# ROUTINE :
{
sum += $2;
}

# END :
END {
print " : " sum;
average = sum / 3;
print " : " average;
}

$ cat sedscr | awk -f sum.awk
  : 219 : 73

 


내부 변수

FS : - Fields Seperator : BEGIN에서 재정의 함으로써 구분자를 바꿀수 있다.
RS : - Records Seperator : BEGIN에서 재정의 함으로써 레코드 구분자를 바꿀 수 있다.
NF : (Number of Fields)
NR : (Number of Records)
FNR : 입력파일이 여러개 인경우 현재 파일에서 NF를 표시한다.
OFS : FS( Output Fields Seperator ). 출력시의 FS
ORS : RS( Output Records Seperator ). 출력시의 RS
FILENAME : 현재 파일명

 


기타


스크립트
 

  1. 패턴 {동작}
    패턴, 동작 전체를 단일 따옴표로 묶어야한다.
    특정 패턴에 대해 동작하게 한다.
    패턴이 없으면 모든 레코드에 대해 동작한다.
  2. 패턴
    /정규표현식/ : sed가 지원하지 않는것까지 모두 지원
    비교연산 : 숫자 문자 비교 가능
    패턴매칭연산 : ~ 일치하는 부분, !~ 일치하지 않는 부분
    BEGIN : 레코드 읽기전 할일
    END : 레코드 읽고 나서 할일


동작
 

  1. 모두 {}로 둘러싸여야한다.
    ex)
    > good이라는 문자열을 포함한 모든 레코드 출력
    /good/
    > good이라는 문자열을 포함한 첫번째 레코드 출력
    /good/ {print $1}
    > 두개 이상의 필드를 가지는 모든 레코드 출력
    NF > 2
    > 한라인을 필드로, 빈라인을 레코드로 구분
    BEGIN {FS="\n";RS=""}

    /good/ {++x} END {print x}
    { total += $2 } END { print "Total of $2: " , total }
    length($0) < 20 /* 라인의
    길이가 20이하인 것 출력 */
    NF == 4 && /^good/
    NF > 0

연산자
 

  1. 산술 : =, +=, -=, *=, /=, %=
  2. 조건 : ? : 논리: ||, &&, ! 패턴: ~, !~
  3. 비교 : <, <=, >, >=, !=,==
  4. 증감 : ++, -- 필드 참조 : $
  5. 제어문 (C의 제어문과 같다)
    break
    continue
    do {실행} while (조건)
    exit
    for (관계형 배열의 요소) {실행}
    펄의 foreach와 같다
    if (조건) {실행} else {실행}
    return
    while


명령어

  1. 문자열연산
    gsub(reg,s) : 정규식 r을 s로 치환
    gsub(reg,s1,s2) : s2에서 정규식 r을 s1으로 대치한다.
    index(s1,s2) : s1에서 s2의 위치 넘겨줌 없음 0
    length(arg)
    match(s,r) : r의 매칭되는 부분의 위치를 넘겨줌
    split(string,array[,seperator]) : 구분자를 기준으로(디폴트 공백)해서 지정한 문자열을
    배열로 만든다.
    sub(r,s), sub(r,s1,s2) : gsub와 동일하나 여러개 일치해도 처음것만 실행
    substr(s,m) : s에서 m번째 부터 끝까지 문자 리터
    substr(s,m,n) : m에서 n까지
    tolower(str)
    touper(str)
  2. 수치 연산
    atan2(x,y) : y/x의 arctangent 값을 라디안 단위로 넘겨준다.
    cos(x)
    exp(arg)
    int(arg)
    log(arg)
    rand() : 0과 1사이의 난수를 발생
    sin(x)
    sqrt(arg)
    srand(expr)
  3. 입출력 프로세스
    close(filename) : 지정한 파일 닫는다.
    close(cmd) : 명령어 파이프 닫는다
    delete array?element : 지정한 배열 요소 지운다
    getline() : 다음 레코드 읽어 들인다.
    getline?variable [< "filename"] : 파일에서 읽어 들인다.
    next : 다음 레코드(라인)을 입력받는다, getline과 비슷하지만 /패턴/동작을 새롭게 시작>
    한다.
    print ?args ?> "filename" : 인자를 출력한다.
    printf "format" [,expressions] ?> "filename" : 형식에 맞춰 출력
    sprintf (format [,expressions]) : 출력은 안하고 리턴만한다.
    system(command) : 시스템 내부 명령어 실행
  4. 예제
    awk ' BEGIN { for (i = 1;i<=7,i++) print int(101*rand()) }'
    ls -l file1 file2 file3 | awk ' { x += $5 } ; END { print "Total bytes : " x } '
    awk ' END { print NR } ' filename
    awk ' NR % 2 == 0 '

 

 
출처 : http://yaaong.tistory.com/32 
반응형
반응형

AWK가 뭐하는 거냐고 묻는다면, 간단하게 텍스트에서 원하는 결과들을 추려내고 정리해서, 원하는 형태의 결과물 텍스트를 만들고자 할 때 사용하는 툴이라고 말할 수 있을 것이다. 물론 펄(Perl)도 있지만 AWK 역시 대부분의 유닉스에 펄만큼이나 보편적으로 설치되어 있으며 아직까지 널리 사용되고 있다. 간단히 AWK를 소개하는 기사인 만큼, 너무 기본적이거나 복잡한 것들은 과감히 생략하고 독자들이 AWK에 관심을 가질 수 있도록 실습 가능한 흥미위주의 내용들을 몇 가지 다루어 볼까 한다.

일반적인 awk 의 사용법은 일반적으로 다음과 같은 형식이다.
awk <search pattern> {<program actions>}
정규 표현식 완전 해부와 실습(개정판)


search pattern은 어떤 조건을 찾을 것인지를 기술하면 되는데, 정규표현식(regular expression)을 이용하면 된다. 검색조건은 생략할 수 있으며 이때는 모든 입력값이 처리대상이 된다. 정규표현식에 대해서 생소한 독자라면 『정규 표현식 완전 해부와 실습(개정판)』이나 『Regular Expression Pocket Reference』를 참고하기 바란다(한빛미디어에 기고하는 기사라서가 아니라 시중에 출간된 책 중에 정규표현식을 다루는 참고할만한 서적이 별로 없다).

이제부터는 독자들이 개인 또는 회사에서 아파치 웹 서버를 관리한다고 가정하고 기사를 진행해 보도록하겠다. 웹 서버의 응답속도가 느리다거나 뭔가 문제가 발생했다고 할 때, 기본적으로 스크립트를 약간 할 줄 안다면 보통 아파치 웹 서버 데몬을 찾을 때 다음과 같이 할 것이다.
ps -ef | grep httpd
이러면 ps -ef의 한 결과 중 httpd가 포함된 정보들이 주루룩 나올 것이다. 이는 awk를 이용해서 다음과 같이 할 수 있다.
ps -ef | awk '/httpd/ {print}'
혹은
ps -ef | awk '/httpd/ {print $0}'
$0 은 입력라인 전체를 의미한다.

단지 이것이 전부라면 awk를 이용할 필요가 전혀 없을 것이다. ps -ef의 결과 중 필요한 필드만을 취사선택해서 나타내고 싶다고 하자. 물론 ps 옵션을 수정해서 그렇게 나타내 보일 수도 있지만, 우리는 이것을 awk로 해보기로 하겠다. 왜? awk 입문을 위한 기사니까… 보통 ps -ef 를 하면 다음의 순서로 결과가 나온다.
UID         PID   PPID    C STIME    TTY             TIME CMD
이렇게 칸이 띄워져 있는 텍스트의 한 라인을 awk에 입력하면 awk는 띄워 쓰기 기준으로 각 토큰들을 $1, $2, $3 … 의 식으로 인식한다. 다음과 같은 문장이 입력된다면
1  철수  초등학생  10세
Awk 는 공백을 기준으로 토큰을 잘라내서 '1'은 $1, '철수' 는 $2, '초등학생' 은 $3, 그리고 '10세'는 $4와 같은 식으로 사용할 수 있다. 만약 ps -ef 의 결과 중 UID와 C만 출력하고 싶다면
ps -ef | awk '/httpd/ {print $1, $4}'
이와 같이 입력하면 된다. AWK에서는 BEGIN과 END를 이용해서 변수의 선언을 비롯한 초기화, 그리고 모든 처리가 끝났을 때 수행할 동작을 지정할 수 있다. httpd들의 UID, PID, C 필드를 출력하고, 마지막에 C필드들의 합(CPU의 사용시간)을 출력해 보고 싶다면 다음과 같이 입력한다.
ps -ef | awk '/httpd/ {print $1, $2, $4; sum += $4} END {print "sum = ", sum}'
Regular Expression Pocket Reference
다음과 같은 식으로 결과가 나온다.
test4 24473 0.5
test4 24474 0.1
test4 24475 0.7
test4 24476 2.0
test4 24477 0.0
test4 26306 0.0
web1 87796 1.0
web1l 87800 10.0
web1 88186 0.0
web1 127437 0.0
web1 314856 0.0
sum =  14.3
awk로 처리해야 할 파일이 | 와 같이 파이프로 제공되지 않고 특정파일로 제공된다면 awk 뒤에 파일명을 적어주면 된다. test.txt 를 읽어서 뭔가를 처리하고 싶다면 다음과 같이 입력해주면 된다.
awk   'program_text'    test.txt
awk에서도 다른 유틸리티나 프로그래밍 언어와 같이 조건문을 제공한다. CPU 사용시간이 1이상인 프로세스들을 출력하고 그 합을 보고 싶다면 다음과 같은 형식으로 해주면 된다.
ps -ef | awk '/httpd/ {if ($4 >= 1) print $1, $2, $4; sum += $4} END {print "sum = ", sum}'

이번 기사에서는 간단하게 AWK를 소개하는 정도의 기사를 적어보았다. 다음에 시간이 허락된다면, 좀 더 복잡한 사용법과 함께 Awk와 함께 자주 사용되는 Sed에 대해서도 소개해 볼까한다.

 

-------------------------------------------------------------

원문 회손없이 올리다보니 여러가지 복잡미묘한 점이 있습니다.

양해하시길..

 

출처 :http://cafe.naver.com/javalove.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=238

반응형

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

파일들이 너무 많이 ls -l 이 제대로 동작하지 않을 때....  (0) 2009.03.05
awk 프로그래밍  (0) 2009.03.05
SNMP AIX 보안 설정 하기  (0) 2009.03.05
[AIX] 파일시스템을 관리 하는 방법  (0) 2009.03.05
AIX 팁 게시판  (0) 2009.03.05
반응형

보안 경고 문구 추가하기

/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

+ Recent posts