유닉스 시스템의 패치나 프로그램등을 설치할 경우 소스를
다운 받으실 때 보시면 보통 *.tar.gz의 형식의 파일로 되어 있습니다.

이런 형식의 압축 파일을 푸는 방법에는 아래와 같은 몇가지 방법이
있습니다. inet.tar.gz을 푼다고 가정했을때


1. 기본적으로 푸는 방법
gunzip 페케지나 소스를 다운 받아 설치후 다음과 같이 한다.
# gunzip inet.tar.gz
# tar xvf inet.tar

2. 그외에 응용된 방법
# gnnzip -c moon.tar.gz | tar xvf -
or
# gunzip < moon.tar.gz | tar xvf -
or
# zcat -cd moon.tar.gz | tar xvf -

3. GNUtar 소스나 패캐지를 설치 한후
# tar xvzf moon.tar.gz
2005/07/01 14:21 2005/07/01 14:21
/ (root) 화일시스템이 full되었을 경우에 다음에 열거한 순서대로 화일시스템을
점검 하시면 됩니다.

1. / 화일시스템에 사용자가 임의로 만들어 준 디렉토리가 있는면 정리한다.

2. /dev 디렉토리 밑에 일반화일이 있는지 조사한다.

# find /dev -type f -exec ls -l {} \;

일반화일이 있을 경우, 모두 지우면 된다. 특히 테이프에 백업을 받을 경우에
사용자가 디바이스명을 잘못 지정하여, 테이프에 백업되지 않고 화일에
저장하는 경우가 있다.

3. 시스템에 있는 core 화일을 제거한다.

core 화일을 찾아 보려면 다음과 같은 명령어를 사용한다.

# find / -name core -print

core 화일을 찾아서 자동으로 지우려면 다음과 같은 명령어를 실행한다.

# find / -name core -exec rm {} \; -print

4. /var가 root 화일 시스템이 있을 경우, /var 디렉토리 밑을 조사한다.

# du -sk /var/* | sort -nr

이 명령어를 실행하면 /var 밑에 있는 디렉토리 별로 그 서브 디렉토리까지
포함하여 KB 단위의 크기를 출력한다. 거기에서 사이즈가 큰 디렉토리에 대하여
조사한다.
정상적인 시스템에 주로 문제가 될 만한 디렉토리는 다음과 같다.

/var/adm
/var/mail
/var/log
/var/preserve
/var/spool

4.1 /var/adm

/var/adm 디렉토리에는 시스템이 운용중이 발생하는 메세지나 기타 정보들이
누적 보관된다. 이 디렉토리에 큰 화일이 있으면 정리한다.

messmages.0, messages.1, ...

이러한 화일이 있으면 그냥 지워도 상관없다.
messages 화일의 크기가 너무 크면 " # cp /dev/null messages " 명령어를
사용하여 화일 크기를 0으로 만들 수 있다. 이 화일은 시스템에서 발생되는
메세지를 보관하는 화일이다.

wtmp 또는 wtmpx 화일의 크기가 너무 크면 다음과 같은 명령어를 실행하여
그 크기를 0으로 만들 수 있다. 이 화일에는 시스템에 접속한 사용자에
대한 정보를 가지고 있는 화일이다.

# cp /dev/null wtmp
# cp /dev/null wtmpx

만일 pacct이 있으면 그 화일의 크기를 다음과 같은 명령어를 사용하여
크기를 0으로 만들 수 있다. 이 화일은 accounting 정보를 가지고 있는
화일이다.

# cp /dev/null pacct

pacct1, pacct2, ... 등등의 화일이 있으면 그냥 지우면 된다.

그외에도 사이즈가 큰 화일을 알아서 정리한다.

4.2 /var/mail

/var/mail 디렉토리에는 메일 데이타가 보관되는 곳이다. 이 디렉토리에
사이즈가 큰 화일이 있으면, 해당 사용자에게 그 메일을 정리하도록 한다.

4.3 기타 디렉토리에 대해서도 조사하여 불필요하게 사이즈가 큰 화일 있을
경우 알아서 정리한다. 단 화일을 지울 때, 그 화일이 어떤 화일인지
숙지한 후에 지울 것인가 아닌가를 결정한다.

5. / 화일 시스템에 있는 1 MB 이상되는 화일을 조사하여, 화일 크기순으로
sort하여 그 내용을 조사한다.

# find / -mount -size +1024k -ls > /tmp/find.list
# sort -nr +6 /tmp/find.list > /tmp/find.list.s

find.list.s 화일에서 비정상적인 큰 화일이 있는지 조사한다.
2005/07/01 14:20 2005/07/01 14:20
*는 일반적으로 손데거나 사용하는 디렉토리임.
* 이외의 디렉토리는 굳이 손대지 않고도 서버를 운영할 수 있음.

/bin
바이너리의 준말로 가장 기본적인 실행파일이 존재한다.
chown, cat, vi , mkdir 과 같은 실행파일이 존재한다.
/boot
리눅스 부팅시에 필요한 파일이 존재하는 곳으로 커널이
여기에 존재한다.
/dev
플로피디스크, CDROM, 하드디스크 등의 장치연결정보 저장
#find /dev -type f 를 이용하여 MAKEDEV외의 것이 나타나면
해킹의 흔적일 가능성이 있다.
*/etc
환경설정파일들이 존재한다.
hosts, proftp.conf, sysconfig 등이 여기 존재한다.
*/home
리눅스 사용자들의 홈디렉토리를 지정하기 위한 공간
보통 웹호스팅 및 기타 계정 사용자들의 홈계정을
여기다가 만든다.
/lib
시스템 공유 라이브러리 디렉토리로 프로그램에 필요한
라이브러리 파일이 존재하는 곳으로 so가 들어가는 파일들이
존재한다.
/lost+found
손실된 파일등이 저장되어 있는곳
*/mnt
cdrom이나 플로피를 mount하여 사용하는 임시폴더
/opt
별도로 설치된 소프트웨어를 담기 위한 정보이나 거의 사용
안함
/proc
하드웨어와 관련된 정보를 저장하는 곳
/root
서버 관리자의 홈디렉토리이지만 루트의 경우 홈이 필요하지
않는 경우가 많아 사용안하는 경우가 많음.
/sbin
서버관리자만이 사용하는 실행파일의 보관장소.
reboot, shutdown 등의 명령어가 존재함
/tmp
임시파일이 저장되는 공간으로 PHP에서 파일 업로드하는경우
파일이 우선 저장되는 공간이기도 하고 세션정보 등이
임시로 보관되어지는 곳.
*/usr
자주 사용되는 프로그램이 저장되는 공간.
/usr/sbin 에는 useradd, userdel 명령어가 존재함.
/usr/local 에는 APM이나 zend 등 관리자가 설치한
프로그램들이 존재함.
/usr/bin 계정사용자들이 사용하는 실행파일이 존재.
*/var
로그파일이나 실행파일의 흔적을 기록하는 곳
/var/named 존파일이 존재하는 폴더
/var/log 로그파일이 존재하는 폴더
/var/spool/mail 주고받는 메일이 저장되는 곳
2005/07/01 14:19 2005/07/01 14:19