BLOG main image
Their Finest Hour! Since1999..

카테고리

분류 전체보기 (934)
My Page (47)
Linux/Unix (604)
::FAQ (279)
::Fundamentals (285)
::Shell Script (2)
::Apache (22)
::Tomcat (0)
::Sendmail (9)
::Qmail (0)
::DNS -Bind (4)
::AnNyung Linux (3)
Windows (219)
Database (61)
Programming (1)
Network (0)
ScreenShot (1)
Tip (1)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백


ls 명령에 관해서 자주쓰는 옵션을 제외한 몇가지 중요한 \
옵션을 나열하였습니다.

명령:ls [-ABCFGHLPRTWabcdfgiklnoqrstu1] [file ...]

-a .(설정파일)을 포함한 모든 파일네임을 보여주는 옵션

-i 각 파일및 디렉토리의 inode를 알려준다

-l 파일 리스트에 파일의 각 특징및 상태를 같이 출력

-F 파일의 타입을 알려준다.

@ :링크파일
/:디렉토리파일
*:실행파일

-G 파일의 성격에 따라서 파일 네임에 색상을 입혀서 출력한다

-L 파일의 참조링크를 출력하지 않는다.

-P 파일의 참조링크파일을 출력한다

-T 시간을 자세히 출력.

-n 유저및 그룹넘버를 출력해준다.
Posted by 채종윤
"amd" :
마운트를 자동으로 해주는 데몬입니다. 이 항목은 네트워크 정보가 잘못 입력되었을 경우 부팅될 때 문제를 일으킬 수 있으므로 별다른 경우가 아니라면 꺼놓는 것이 좋습니다. 네트워크 설정이 정상적이거나 아예 사용하지 않는 겨우라면 선택해도 무방합니다.

"atd" :
백그라운드 작업을 해주거나 각종 예약 명령을 처리하는 작업을 합니다. 기본적으로 선택되어 있으며, 별다른 문제를 일으키지 않으므로 선택하도록 합니다.

"bootparamd" :
리눅스 서버를 통해 연결된 워크스테이션이 리눅스의 서버 정보를 통해 부팅을 하는 데몬입니다. IP를 지정하는 역할이라고 생각하면 되는데 최근에는 BOOTP와 DHCP가 많이 사용되며 워크스테이션이나 다른 서버가 연결되지 않은 컴퓨터라면 꺼놓도록 합니다.BOOTP와 DHCP를 사용할 때에도 켜놓을 필요가 없습니다.

"crond" :
리눅스에 등록된 명령어들을 정기적으로 수행하는 데몬입니다. 즉, 멀티 태스킹으로 동작하는 리눅스 체계에서 받은 메일의 스풀러 정리라든지 각종 명령어들을 실행하는 항목으로 중요한 데몬입니다. 반드시 선택하도록 합니다.

"dhcp" :
네트워크로 구성된 상태에서 리눅스 서버의 정보를 이용하여 부팅될 자신의 IP주소와 네트워크 정보를 가질 수 있게 하는 데몬입니다. 네트워크에 서버로 사용되는 리눅스라면 BOOTP와 DHCP가운데 하나를 선택해야 하는데, 정적IP를 부여한 네트워크 환경에서 선택해야 하는 데몬입니다. 네트워크 구성이 되지 않는 일반 PC에 리눅스가 설치된 경우라면 굳이 선택할 필요 없습니다.


"gpm" :
리눅스로 부팅된 다음 텍스트 상태에서 마우스를 사용하여 영역을 선택하거나 복사가 가능하도록 해주는 데몬입니다. 이 서비스는 PS/2 마우스의 경우 X윈도에서 충돌할 수 있습니다. 따라서 X윈도를 실행시켰을 마우스가 움직이지 않는다면 이 옵션을 끄도록 합니다.

"httpd" :
아파치 웹 서버입니다. 웹 서버로 사용되는 PC가 아니라면 선택할 필요가 없습니다. 부팅될 시간이 많이 걸리는 데몬 중의 하나 입니다.

"int" :
telnet, FTP, rlogin등의 서비스를 요청할 때 사용되는 데몬입니다.역시 독립 PC일 경우에는 선택할 필요가 없으며, 네트워크 환경이나 인터넷 환경에서 자신의 PC를 서버 개념으로 사용할 때 필요한 데몬입니다.

"innd" :
리눅스 서버를 뉴스 서버로 사용할 때 지정하는 데몬으로 유즈넷 뉴스의 서버 입니다.

"kerneld" :
운영체제의 핵심인 커널 기능을 동작시키는 중요한 서비스입니다. 반드시 선택하도록 합니다.

"keytable" :
부팅될 때 키보드의 정보를 설정하는 옵션입니다.

"lpd" :
프린터를 관리하는 데몬으로 프린터가 없다면 선택할 필요가 없습니다.

"named" :
도메인 네임 서버로, 역시 독립 PC일 때에는 지정할 필요가 없습니다.

"network" :
네트워크에 관련된 각종 설정을 활성화 하는 데놈입니다. 속도에는 그리 영향을 끼치지 않는 중요한 선택 옵션이므로 체크하도록 합니다.

"nfs" :
NFS 서버 데몬입니다. NFS는 네트워크 파일 시스템 (Network File System)이며, 네트워크상에서 파일이나 폴더를 공유할 수 있도록 하는 데몬입니다.

"nfsfs" :
네트워크 파일 시스템을 사용할 수 있게 해주는 스크립트입니다.

"portmap" :
원격 프로시저 호출(RPC: Remote Procedure Call)을 위한 데몬으로 네트워크상에서 클라이언트 서버 개념이 적용되지 않는 시스템에서는 실행할 필요가 없는 데몬이지만 네트워크상에서 NFS, NIS, amd등의 원격 프로시저 호출을 하는 프로그램을 사용할 겨웅에는 반드시 선택해야 하는 데몬입니다.

"routed" :
자동IP라우터로 역시 독립 시스템에서는 따로 실행할 필요 없습니다.

"sendmail" :
메일 전송 서버입니다. 메일 서버로 시스템을 운영하는 경우가 아닐 에는 꺼 놓도록 합니다.

"smb" :
마이크로소프트의 네트워크 파일/프린터 공유 서버입니다. 파일 서버로 운영 하여 다른 PC들이 윈도에서 파일이나 프린터를 공유할 경우 실행해야 하는 데몬이지만 그렇지 않을 경우에는 꺼놓도록 합니다. 네트워크 설정이 올바르지 않을 때에는 매우 긴 시간을 잡아먹게 되므로, 네트워크 설정을 제대로 지정한 다음 켜놓도록 합니다.

"sound" :
리눅스가 부팅될 때와 종료될 때 사운드의 믹서 설정을 복구하거나 저장하는 스크립트입니다.

"syslog" :
시스템에서 발생하는 각종 사건을 시록하는 데몬입니다. 작업 내용이나 로그온 정보 등이 필요할 경우 켜놓도록 합니다.

"ruserd":
네트워크 사용자를 추적할 수 있는 데몬으로 특정 사용자의 위치를 확이 할 수 있습니다.


"rwhod" :
원격 접속을 한 사용자들의 목록을 볼 수 있는 로그 정보를 가진 데몬입니다.

"snmp" :
네트워크 프로토콜의 하나로 단순 네트워크 관리 프로토콜(SNMP:Simple Network Management Protocol) 의 약어입니다.

"ypbind" :
NIS 네트워크 클라이언트에 관련되는 서버입니다. NIS를 사용하지 않는 서버에서는 지정할 필요가 없습니다.

"yppasswd" :
NIS에 관련되는 것으로 클라이언트 사용자가 패스워드를 변경할 수 있도록 해주는 서버측의 데몬 입니다.

"ypserv" :
NIS/YP 네트워킹 프로토콜의 서버입니다.
Posted by 채종윤
유닉스나 리눅스 서버에서 서버의 이상이나 갑작스런 종료로 인해서 시스템의
파일시스템 이상으로 재부팅시 파일시스템이 마운트 되지 않는 경우가 종종 발생합니다.
위와 같은 경우 가장 많이 사용하는 명령어인 fsck에 관한 자세한 설명 입니다.

1. 파일시스템 점검 및 복구
부적절한 시스템의 중지(shutdown을 이용하지 않고 시스템 을 강제 종료하거나 정전에 의한 시스템의 예기치 않은 정지등의 이유)나 하드웨어상의 문제 발생시 파일시스템은 손상을 입게 된다. 이러한 경우 다시 시스템을 부팅하여 사용하기 이전에 "fsck" 명령 을 사용하여 시스템상의 모든 파일시스템을 점검하여 조치를 취하여야 한다.
* fsck 명령어의 점검사항
fsck 명령어는 다음과 같은 사항을 점검한다. fsck가 점검하는 부분이, 파일 시스템 전 체를 점검하기 때문에 fsck는 각 부분의 점검 (super block, i-node, indirect block, data block. free block 등)을 단계별로 나누어서 점검하게 된다. 비정상적인 시스템의 종료로 인한 정상적인 파일 시스템의 관리가 진행되지 못하였을 때는 이의 복구를 우선하여야 한다. 이러한 일련의 점검은 그 효 율을 증대하기 위하여 부분별로 나누어져 각 단계별로 진행된다.

| haitai# fsck /dev/rdsk/c0t3d0s7
| ** /dev/rdsk/c0t3d0s7
| ** Currentyly Mountes on /home
| ** Phase 1 - Check Blocks and Size
| ** Phase 2 - Check Pathnames
| ** Phase 3 - Check Connectivity
| ** Phase 4 - Check Reference Counts
| ** Phase 5 - Check Cly groups
| 314 file,14585 free (82 frags, 172 blocks, 0.3% fragmentation)

*phase 1 - Check Blocks and Sizes
파일시스템에 존재하는 파일에 대한 정보를 담고 있는 i-node 영역을 점검하는 단계로서 파일 유형의 이상 유무, 파일의 내용이 있는 디스크 블록의 주소, 파일의 크기, 파일의 링크여부를 점 검한다.

| Haitai# fsck /dev/rdsk/c0t3d0s7
| ** Last Mounted on /home
| ** Phase 1 - Check Blocks and Sizes
| PARTIALLY ALLOCATED INODE I=5
| CLEAR? Y
|
| UNKNOWN FILE TYPE I=768
| CLEAR? Y
|
| 5 DUP I=2306
| 6 DUP I=2306
| 7 DUP I=2306
| 8 DUP I=2306
| 9 DUP I=2306

부적절하게 할당된 i-node를 점검한다. 즉, i-node 리스트들이 점검되어진다.
파일 유형이 없을때 (i-node 768, 종종 디렉토리에서 발생) fsck는 파일시스템에 존재하는 파일에 대하여 i-node의 정보중 링크 계수가 '0'인 경우는 다음과 같은 메세지를 내보낸다.

| LINK COUNT TABLE OVERFLOW
| CONTINUE?

i- node에 의해 요구되어진 블록을 점검하는 동안 불량블럭, 중복 블록등이 발견될 경우 다음 메시지를 출력한 다.
| xxx BAD I=I 또는 yy DUP I=L
여기서 xxx은 잘못된 블록 주소 로서 이러한 잘못된 데이터 디스크 블록을 가지고 있는 파일을 점검할 때 나타난다. 여기에서 는 단지 메시지 출력만 있을 뿐 운용자에게 응답을 요구하지 않는다. 그러나 운용자는 이 i-node 번 호를 기억해 두는 것이 좋다.
나중에 중복 블록에 대한 파일의 점검시에 제거할 수 있는 파일을 결정해야하기 때문이다.


*Phase 2 - Check Pathname
화일시스템에 디렉토리 를 점검한다. 루트 디렉토리하의 모든 디렉토리에 대하여 디렉토리의
구조를 점검하여 각 화일 들의 이름과 i-node 링크에 대한 이상 유무를 검진한다.

| - Phase 2 - Check Pathname
| UNALLOCATED I=768 OWNER=root MODE=0
| SIZE=0 MTIME=Jul 15 16:18 1992
| NAME=/test
|
| REMOVE? y

디렉토리 엔트리들이 점검되어진다. 루트 디렉토리부터 시작하여 각 디렉토리 엔트리를 계층적으로 점검해 나간다. Phase 1에서 수집한 정보와 여기서 디렉토리 엔트리를 점검한 정보와 비교하면서 비교에서 어긋남이 있으면 에러 메세지 를 출력한다. 점검을 시작하는 i-node는 2번(root directory)부터 시작한다. 루트 파일시스템의 i- node 모드와 상태, 디렉토리 파일 내용의 이상 유무, 잘못된 i-node 링크수 등을 검사한다.
비 록 할당된 i-node를 가지고 있을지라도 루트가 디렉토리 유형이 아니고 일반적인 파일의 유형이라던 지 다른 4가지 형태라면 계층구조인 화일시스템에서는 각 경로들을 찾아갈수가 없을 것이다. 이러한 경우 출력되는 메세지는 다음과 같다.

| ROOT INODE NOT DIRECTORY
| FIX?

이러한 경우의 선택은 당연히 'y'가 되어야 할것이다. 그러면 fsck는 루트의 파일 유형을 디렉토리 파일의 유형으로 변환시켜 줄것이다. 이 상황에서 루트 i-node 에 문제가 발생했다면 다음 메시지를 출력시킨다.

| DUPS/BAD IN ROOT INODE
| CONTINUE?

Phase 1과 Phase 1B에서 루트 i-node에서 이 중블럭이나 잘못된 블록이 발견 되어진 결과로 발생하는 메시지이다. 여기서 'y' 라고 입력하 여 그것을 없애 버린다.

Phase 2 동안 계층적으로 찾아 들어가고 있는 동안 Phase 1에서 나타났던 잘못된 블록이나 중복된 블록을 가지고 있는 i-node를 발견시 그때의 메시지 출현은 다음 과 같다.

| DUP/BAK I=00 OWNER=0 MODE=M SIZE=S
| MTIME=T FILE=/important
| REMOVE?

Phase 1에서 불량/중복 블록 주소를 기록하지 않았다면 이 i-node가 불량인지 중복인지 구별할 수가 없다. 여기 서 운영자는 신중한 결정을 해야한다. 데이터를 보존하여 둔 것이 있었으면 당연히 없애버리고 다시 회복 시킬수가 있지만 그렇지 않을 경우에는 'n'이라고 입력한 뒤에 백업을 받고 fsck를 다시 실행시 키는 것이 좋을 것 같다.
그것이 잘못된 블록이라면 cp명령어가 소용 없게 된다. cp명령어는 잘 못된 블록의 주소를 가지고는 더 이상 진행하지 못하기 때문이다.
만일 fsck 수행중 i-node넘버 만 알 수 있고 그 파일의 이름을 모르는 경우에는 ncheck 명령으로써 파일 이름을 확인할 수있 다.

*Phase 3 - Check connentivity
파일시스템에 디렉토리를 점검하여 만약 디렉토 리의 구조가 잘못되어 파일 이름과 i-node 링크 항목의 디렉토리 항목이 없을시 이를 복구한 다.

| **Phase 3 - Check Connectivity
| UNFER DIR - =769 OWNER=root MODE=40775
| SIZE=512 MTIME=May 12 15:27 1991
| RECONNECT? Y
|
| DIR I=769 CONNECTED. PATENT WAS I=768
| UNFER DIR I=1536 OWNER=root MODE=40775
| SIZE=512 MTIME=Jun 8 10:42 1991
| RECONNECT? Y
|
| DIR I=1536 CONNECTED. PARENT WAS I=768
|
| DUP/BAD I=2306 OWNER=987 MODE=100640
| SIZE=4096 MTIME=May 11 10:43 1991
| FILE/lost+found#1536/ASA/test11
| REMOVE? Y

Phase 2 에서 계층적으로 찾아들어가는 동안 발견 못했던 디렉토리 i-node에 대한 이름 을 만드는 즉, 디렉토리 연결자체와 관계되는 부분이다. 참조할 수 없는 디렉토리 또는 lost+found 디 렉토리에 연결할 수 없는 것 등에 의한 오류등이다.

i- node에 대해 디렉토리 엔트리를 더 한다. 그러한 i-node를 발견하였을 때의 메시지는 다음과 같다.

| UNREF DIR I=769 OWNER=root MODE=40775
| SIZE=512 MTIME=May 12 15:27 1991
| RECONNECT?

여기서 'n'라고 입력하면 현 오류상태가 무시된 다. 이때는 항상 다음 Phase에서 UNFER 오류를 발생한다. 되도록 'y'라고 답하는 것 이 좋을 것이다.
만일 그 i-node가 비어있다면 요구상황 없이 그 파일을 없애버린 다.
Lost+found 디렉토리에 연결이 무사히 진행되었으면 CONNECTED라고 메시지가 다음과 같 이 출력된다. 추후에 lost+found 디렉토리를 점검하여 조치를 취해야 한다.

| DIR I=769 CONNECTED. PARENT WAS I=768


*Phase 4 - Check Reference Counts
파일시스템 관리 정보를 담고 있는 슈퍼 블록내의 파일 할당 수와 디렉토리 들을 점검하여 조사된 파일들의 수를 비교, 이상 유무를 검진하여 복구한다.

| Phase 4 - Check Reference Counts
| LINK COUNT DIR I=2 OWNER=root MODE=40775
| SIZE=512 MTIME=May 13 15:53 1991
| COUNT 4 SHOULD BE 3
| ADJUST? Y
|
| UNREF DIR I=787 OWNER=root MODE=100644
| SIZE=728 MTIME=Jun 13 13:42 1991
| REVONNECT? Y
|
| UNREF DIR I=788 OWNER=root MODE=100644
| SIZE=1126 MTIME=Apr 23 09:31 1991
| RECONNECT? Y
|
| DUP/BAD I=2306 OWINER=987 MODE=100640
| SIZE=4096 MTIME=May 11 10:43 1991
| FILE=/lost+found/#1536/ASA/test11
| CLEAR? y

이 과정은 Phase 2 에서 디렉토리 엔트리를 찾아가면서 계산되 어진 링크계수와 각각의 i-node에 있는 링크 카운터 값과 일치하여야 하는데 값이 같지 않을 경우 오 류 메시지를 출력하는 것이다.
0이 아난 링크 카운트를 가지지만 디렉토리 엔트리를 계층적으로 찾아갈 때 발견하지 못한 i-node를 발견하였다면 그것을 lost-found 디렉토리에 연결할 것인지 물을 것이다.
(그 i-node가 비워 있지 않을 경우에) fsck는 Phase 2,3 동안 실제 디렉토리 엔트리의 링크 카운트를 계산한다. 두 값의 비교로 같으면 상관없지만 틀릴경우 메시지는 다음과 같 다.

| LINK COUNT DIR I=2 OWNER=root MODE=40775
| SIZE=512 MTIME=May 13 15:53 1991
| SOUNT 4 SHOULD BE 3
| ADJUST?

여기서는 'y'를 입력하여 틀린 링크 카운트를 정확하게 맞추어야 한다.

Phase 4 수행도중 다음과 같은 오류 메시지가 발견되었다고 가정해 보 자.

| UNREF DIR I=787 OWNER=root MODE=100644
| SIZE=728 MTIME=Jun 13 13:42 1991
| RECONNECT?

이 메시지는 디렉토리 엔트리에 의해 참조되지 않은 파일이 존재 한다는 것이다. 즉, i- node 수치가 787인 파일이 디렉토리 엔트리에 연결되어 있지 않는 경우이다.
다시 재연결할것인 지 묻는 것은 이 파일을 lost-found 디렉토리에 연결 시킬것인가를 묻는 것이다. 'y'라는 대답으로 일 단은 lost+found에 옮겨 놓는 것이 좋다.


*Phase 5 - Check Cyl groups :
슈퍼 블록에서 관리하고 있는 프리 블록 리스트(파일의 데이터 생성내지 추가시 할당을 받을 수 있는 파 일 시스템 영역)과 현재 파일의 데이터가 점유하고 있는 디스크 블록들이 중복되는지를 점검하여 진 행한다.

| ** Phase 5 - Check Cyl groups:
| FREE BLK COUNT(S) WRONG IN SUPERBLK
| SALVAGE? Y
|
| 10744 files, 143872 used, 18518 free
| (1422 frage, 2137 blocks, 0.9% fragmentation)
| ***** FILE SYSTEM WAS MODIFIED*****

여 기서의 주임무가 프리블럭 리스트를 점검하는 단계다.
모든 블록들은 i-node에서 주소로 기록되 어 있거나 아니면 free block list에 기록되어 있어야 한다. 프리블럭 리스트 내의 비정상적인 블록 정 보, 프리 블록 리스트의 블록과 파일에 할당된 데이터 블록과의 중복등의 사항을 점검한다. 만약 Phase 4 동안에 어떤 i-node를 제거시켰을 때는 그 i-node를 제거시켰을 때는 그 i-node는 현재 파 일이 있지도 않고 프리블럭 리스트에도 등록이 되어 있지도 않을 것이다.
이럴 경우 하나의 에 러 메시지가 출현할 수 있는 요소가 된다.

1 BAD BLKS IN FREE LIST

중복블럭 이 발생했을 경우도 마찬가지로 진행되며 메시지의 출현은 다음과 같다.

2. DUP BLKS IN FREE LIST

만일 비어있지않는 i-node를 지워버릴 경우에는(fsck에서나 또는 clri를 통하 여) i-node의 주소비트에서 할당되지도 않았고 free block list에도 할당되지 않는 경우가 발생될 수 있다.
그럴 경우에 출현될 수 있는 메시지는 다음과 같다.

00 BLK(S) MISSING

슈퍼 블록내의 프리 블록 리스트를 관리하고 있는 내용이 잘못된 경우 다음과 같 이 나올 수 있다.

| FREE BLK COUNT(S) WRONG IN SUPERBLK
| SALVAGE?

이런 메시지를 발견 했을 경우의 대답은 되도록이면 'y'라고 답 하는 것이 좋다.
슈퍼 블록에 저장되어 있는 free list에서 범위를 벗어난 블록이나 중복된 블록 이 fsck 프로그램에서 허용, 정의한 10개가 초과 했을 경우는 bad, dup block이 excessive(초과) 했 다는 메시지가 출현된다.

| EXCESSIVE BAD BLKS IN FREE LIST
| EXCESSIVE DUP BLKS IN FREE LIST
| CONTINUE?

이때에는 'y'를 선택하면 free block list의 나머지가 무시되고 fsck는 계속 진행된 다.
Phase 5에서 발견된 프리 블록 리스트의 비정상적인 블록, 중복 블록, 중복되지 않은 프리블 럭등에 의해 발생되는 에러에 의하여 항상 나타나는 메세지로서 만일 '-q' 옵션을 지정하면 프리블 럭 리스트는 자동적으로 제거된다.
그렇지 않는 경우는 다음과 같이 나타난다.

| BAD FREE LIST
| SALVAGE?

여기에서 'y'를 입력하 면 실제의 free block list가 새롭게 free block list로 등록된다
Posted by 채종윤

Total : Today : Yesterday :
채종윤's Blog is powered by Daum & Tattertools.com / Designed by tistory.com