본문 바로가기

Linux

Manual CentOS

Red Hat의 오픈소스 배포판인 CentOS(The Community ENTerprise Operating System)를 정리한다.

목차

[숨기기]

설치 가이드

CentOS - 설치

CentOS 초기 설정

CentOS 사양 확인

  • CentOS 버전 확인
  • lsb_release -a
  • cat /etc/issue
  • CPU 갯수 : cat /proc/cpuinfo
  • Memory 용량 : free -m
  • Disk 용량 : df -k
  • showinfo_centos.bash
#!/bin/bash
echo 'CentOS Ver.  :' `cat /etc/issue | grep CentOS`, `uname -p`
echo 'CPU 개수  :' `cat /proc/cpuinfo | grep processor | wc -l` CPU
echo 'Memory (MB)  :' `free -m | grep Mem | awk '{print $2}'` KB
echo 'Restart 명령  : shutdown -r now'
echo '방화벽 명령  : system-config-securitylevel'

CentOS 설치 후 설정

  • 한글 설정
  • /etc/sysconfig/i18n 파일에서 다음을 설정 한다.
LANG="ko_KR.UTF-8"
  • 명령행에서 임시로 지정하는 방법
env | grep LANG
LANG="ko_KR.UTF-8"
  • 사용하는 터미널에서 "UTF-8"을 사용하도록 설정 한다.
  • PuTTY의 경우 : Window -> Translation 메뉴에서 "Character set translation on received data"를 "UTF-8"로 설정 한다.
  • 아래 명령을 사용하여 인터넷 접속 여부를 확인 한다.
ping -c3 google.com
  • 서버 시간 설정
echo "00 * * * * root /usr/bin/rdate -s time.bora.net" >> /etc/crontab
cat /etc/crontab
  • 기본 업데이트
  • free -m : 메모리 확인
yum -y update kernel
yum -y update kernel-PAE //--- 32 Bits 시스템에서 메모리가 4GB 이상일 경우
  • 가장 빠른 미러 사이트를 연결하는 yum 플러그인 설치
yum -y install yum-fastestmirror

CentOS Upgrade

  • Upgrade to CentOS 5.4 from 5.3
yum clean all
yum update glibc*
yum update yum* rpm* python*

yum clean all
yum update
shutdown -r now

#--- CentOS 버전 확인
lsb_release -a

CentOS Network 설정

VNC Server 설치

VNC (Virtual Network Computing)는 원격으로 Linux의 GUI 화면으로 접속할 수 있도록 한다.

  • VNC Server 설치
#--- CentOS에 root로 로그인 한다.
yum -y install vnc-server
  • vi /etc/sysconfig/vncservers
VNCSERVERS="1:root"    #--- 1번부터 5901 port를 사용 한다.
VNCSERVERARGS[1]="-geometry 1152x864" #--- 추가 옵션 : -nolisten -nohttpd -localhost
  • VNC Server 사용자 password 생성
cd
mkdir .vnc
cd .vnc
vncpasswd
#--- 여기서 암호를 입력 한다.
service vncserver restart
  • 방화벽에서 해당 사용자의 port를 오픈하여야 한다.
#--- /etc/sysconfig/vncservers에 등록된 1번부터 5901 port를 사용 한다.
  • VNC Client에서 접속 시
VNC Viewer로 접속시 "IP:5901"로 접속 한다.
TightVNC Viewer로 접속시 "IP:1"로 접속 한다.
  • 처음 접속이 완료되면 xstartup 파일이 생성된다. 이를 수정하여 예쁜화면을 사용하자.
cd
cd .vnc
vi xstartup
### twm & #--- 이 라인을 주석 처리(삭제) 한다.
gnome-session & #--- 이 라인을 추가 한다.
service vncserver restart
  • 설치 정보
  • 설치 폴더 :
  • 실행 파일 : /usr/bin/
  • 환경 설정 : /etc/sysconfig/vncservers
  • 기동 종료 : /etc/init.d/vncserver start, stop, restart
  • 서비스 확인 :
  • 참고 문헌

주요 SW 설치

암호 변경

passwd

CentOS용 프로그램

  • 시스템 라이브러리 설치
yum -y install zlib curl   
yum -y install gcc g++ cpp gcc-c++ compat-gcc-34-g77
yum -y install libxml2 libxml2-devel
yum -y install gd gd-devel
yum -y install freetype freetype-devel
yum -y install libpng libpng-devel
yum -y install libjpeg libjpeg-devel
yum -y install fontconfig fontconfig-devel
yum -y install mhash mhash-devel
yum -y install libmcrypt libmcrypt-devel
yum -y install openssl openssl-devel
yum -y install gmp gmp-devel
yum -y install flex
yum -y install libtermcap-devel ncurses-devel libc-client-devel bzip2-devel
  • 필요한 경우 컴파일러를 설치 한다.
yum -y install gcc gcc-c++ termcap libtermcap libtermcap-devel gdbm-devel

vsftpd 설치

  • vsftp 현황 확인
yum list | grep vsftpd               #--- 설치 가능한 package 확인
yum list installed | grep vsftpd #--- 설치된 package 확인
  • vsftpd 설치
yum -y install vsftpd
rpm -qa | grep vsftpd #--- vsftpd 설치 확인
  • 아래 설치 정보에 정리된 블랙 리스트에서 ftp를 사용할 사용자를 빼준다.
  • vi /etc/vsftpd/ftpusers
  • vi /etc/vsftpd/user_list
  • 방화벽에서 20, 21 port를 개방 한다.
system-config-securitylevel
  • FTP 클라이언트에서 접속이 디렉토리 목록이 표시되지 않을 경우
  • FTP Client 설정에서 문자셋을 UTF-8로 강제로 설정하고 접속 한다.
  • 설치 정보
  • 실행 파일 : /usr/sbin/
  • 환경 파일 : /etc/vsftpd/vsftpd.conf
  • 블랙 리스트 : /etc/vsftpd/ftpusers, /etc/vsftpd/user_list
  • 기동 종료 : /etc/init.d/vsftpd start, stop, restart, status
  • 서비스 확인 : ps -ef | grep vsftpd | grep -v grep
  • showinfo_vsftp.bash
#!/bin/bash
echo 'vsftp 버전  : vsftp 2.0.5'
echo '환경 파일  : vi /etc/vsftpd/vsftpd.conf'
echo '블랙 리스트  : /etc/vsftpd/ftpusers, /etc/vsftpd/user_list'
echo '기동 종료  : service vsftpd restart'
echo '서비스 확인  : ps -ef | grep vsftpd | grep -v grep'

Java 설치

MySQL 설치

PostgreSQL 설치

Apache Http Server 설치

PHP 설치

Tomcat 설치

  • Linux의 심볼 링크를 사용하여 Tomcat의 Root 폴더를 변경 하는 방법
ln -s /var/www/html /usr/share/tomcat5/webapps/ROOT

Apache ANT 설치

yum -y install ant

관리 SW 설치

sendmail을 통한 gmail 연동

DNS 서버 구축

  • DNS Server 설치
yum install bind bind-utils bind-libs bind-chroot caching-nameserver

서버 IP (114.207.113.12)와 서버 URL (www.jopenbusiness.com)에 따른 DNS Server 설정 사례를 기술 한다.

cd /var/named/chroot/var/named/
cp localhost.zone jopenbusiness.com.zone
chown named:named jopenbusiness.com.zone

cp localhost.zone 113.207.114.zone
chown named:named 113.207.114.zone
  • vi /etc/named.rfc1912.zones
  • 맨 아래에 다음을 추가 한다.
zone "jopenbusiness.com" IN {
type master;
file "jopenbusiness.com.zone";
allow-update { none; };
};

zone "113.207.114.in-addr.arpa" IN {
type master;
file "113.207.114.zone";
allow-update { none; };
};
  • vi /var/named/chroot/var/named/jopenbusiness.com.zone
$TTL    86400
@ IN SOA ns.jopenbusiness.com. root (
42  ; serial (d. adams)
3H  ; refresh
15M  ; retry
1W  ; expiry
1D )  ; minimum

IN NS ns.jopenbusiness.com.
IN A 114.207.113.12
www IN A 114.207.113.12
  • vi /var/named/chroot/var/named/113.207.114.zone
$TTL    86400
@ IN SOA ns.jopenbusiness.com. root (
42  ; serial (d. adams)
3H  ; refresh
15M  ; retry
1W  ; expiry
1D )  ; minimum

IN NS ns.jopenbusiness.com.
12 IN PTR jopenbusiness.com.
12 IN PTR www.jopenbusiness.com.
  • DNS 설정 방법 (~.zone에서 사용)
  • A : 도메인에 IP 할당
  • MX : Mail Exchanger 설정
  • CNAME : 도메인의 별칭에 IP 할당
  • PTR : IP에 도메인 할당
  • NS : Name Server
  • DNS 설정 사례
                IN NS           ns.jopenbusiness.co
IN MX 10 mail.google.com.  ;NS 아래, CNAME 위에 설정할 것
www IN A 114.207.113.12
mail IN CNAME ghs.google.com.
12 IN PTR jopenbusiness.com.
  • vi /etc/named.caching-nameserver.conf
  • "any;" 부분을 수정할 것
  • query-source port 53; 의 주석을 푼다.
  • query-source-v6 port 53; 의 주석을 푼다.
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";

query-source port 53;
query-source-v6 port 53;

allow-query { any; };
allow-query-cache { any; };
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
view localhost_resolver {
match-clients { any; };
match-destinations { any; };
recursion yes;
include "/etc/named.rfc1912.zones";
};
  • vi /etc/resolv.conf에 다음 라인을 추가 한다.
nameserver 114.207.113.12
  • 방화벽에서 TCP 53, UDP 53 포트를 열어 둔다.
  • showinfo_name.bash
#!/bin/bash
echo 'Name 버전  : caching-nameserver 9.3.6'
echo '설치 폴더  : /var/named/'
echo '환경 파일'
echo ' vi /var/named/chroot/var/named/jopenbusiness.com.zone'
echo ' vi /var/named/chroot/var/named/113.207.114.zone'
echo ' vi /etc/named.caching-nameserver.conf'
echo '환경 폴더  : /var/named/chroot/var/named/'
echo '기동 종료  : service named restart'
echo '서비스 확인  : ps -ef | grep named | grep -v grep'
  • 도메인을 구입한 업체에서 도메인에 해당 하는 네임서버를 등록 하여야 한다.
  • 사용하실 네임서버는 호스트 등록이 되어 있고 실제로 존재해야만 합니다.
  • 네임서버 변경이 완료 된 후에 최대 2-3일의 갱신 시간이 필요합니다.
  • 한글 도메인 등록 방법
;100 	IN  PTR    한글.kr.
100 IN PTR xn--bj0bj06e.kr. ; ← 한글 도메인을 Punycode로 변환 후 설정
  • nslookup으로 DNS 설정 확인 방법
nslookup
//--- A,ANY,CNAME,HINFO,MX,NS,PTR,SOA,TXT 등
set type=A
www.jopenbusiness.com
set type=MX
jopenbusiness.com
  • 참고 문헌

Subversion 구축

yum install subversion
useradd  -d /home/svn -m -g apache svn
  • /home/svnserve/repo_sample 저장소를 생성 한다.
mkdir /home/svnserve
cd /home/svnserve
svnadmin create --fs-type fsfs repo_sample
vi /home/svnserve/repo_sample/svnserve.conf
anon-access = none
auth-access = write
password-db = passwd
realm = Sample Repository
vi /home/svnserve/repo_sample/passwd
[user]
아이디 = 암호
  • Subversion 시작 및 데몬 확인
svnserve -d -r /home/svnserve
ps -ef | grep svnserve
  • Subversion 사용을 위한 설정
cd /home/svn
svn checkout svn://localhost/repo_sample repo_sample
export SVN_EDITOR=/bin/vi
#--- 주요 소스 코드를 저장하는 trunk 폴더 생성
svn mkdir svn://localhost/repo_sample/trunk
 :q!
C
svn mkdir svn://localhost/repo_sample/branches
svn mkdir svn://localhost/repo_sample/tags

svn list svn://localhost/repo_sample
  • Subversion 사용 Port
3690/tcp
  • 참고 문헌

Samba Server 구축

  • Samba 설치
  • CentOS 5.5에서는 Samba 3.0.33 이 설치됨
yum install samba samba-common samba-client
  • vi /etc/samba/smb.conf
[global]
workgroup = MYGROUP
server string = Samba Server Version %v
log file = /var/log/samba/%m.log
security = share
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
dos charset = cp949
unix charset = UTF8
display charset = UTF8
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

[homes]
comment = Home
browseable = no
writable = yes

[public]
comment = Public
path = /home/public
public = yes
writable = yes
  • Samba 재기동
service smb restart
  • /etc/samba/smbusers  : 삼바 사용자 파일
  • /etc/samba/smbpasswd : 삼바 사용자 암호 파일
  • 공유 폴더 생성
mkdir /home/public
chmod 666 /home/public
chown nobody:nobody /home/public
  • Samba 사용자 추가
smbpasswd -a samba01   #--- 사용자 추가
smbpasswd -x samba01 #--- 사용자 삭제
  • Windows에서 서버 접속
\\서버_IP
  • Default 삼바 사용자
nobody:nobody
  • 로그 파일
/var/log/samba/nmbd.log
/var/log/samba/smbd.log
  • PC의 공인 IP 확인 사이트
http://www.whatismyip.com/
  • 참고 문헌

File System Mount

  • Mount 상태 보기
mount
  • Linux 파일 시스템 마운트
mkdir /mnt/linux
mount -t ext2 /dev/sda1 /mnt/linux
  • 원격 파일 시스템 마운트
mkdir /user
mount -t nfs 172.18.38.398:/vol/CCHDATA01A/diska /user
  • 윈도우 파일 시스템 마운트
mount -t cifs 윈도우_IP/diska /user/disk
  • mount 해제
unmount  /user
  • 참고 문헌

NFS 설정

NFS를 사용하여 리모트에 있는 파일 시스템을 마운트 해보자. 증분 백업이 필요한 경우에는 rsync가 좋지만, 그외의 경우에는nfs가 편리하다.

NFS Server 설정

  • NFS Server의 환경
  • OS : CentOS 5.5
  • IP : 203.231.11.100
  • NFS 설치
yum install nfs-utils nfs-utils-lib

#--- Booting시 nfs 자동 실행 설정
chkconfig --level 3 nfs on
chkconfig --level 3 portmap on
service nfs restart
  • NFS 사용자 등록
  • NFS의 경우 Server와 Client간의 사용자/그룹 번호가 자동으로 매핑되므로 보안에 주의 하여야 한다. 단, 0번의 경우에는 65534로 연결이 된다.
#--- 사용하고자 하는 번호를 이미 사용하고 있는지 확인 (여기서는 60001번을 사용)
vi /etc/passwd /etc/group
groupadd -g 60001 nfsgroup
useradd -u 60001 -d /home/nfsuser -m -g nfsgroup nfsuser
  • NFS를 사용하여 disk 공유
mkdir /nfsdisk
chown nsfuser:nfsgroup /nfsdisk
chmod 755 /nfsdisk

vi /etc/exports
/nfsdisk 203.231.11.201(rw,sync,no_subtree_check,all_squash)

exportfs -a
exportfs -v
  • /etc/exports에서 사용 가능한 옵션
rw : 일기/쓰기
ro : 읽기
secure : Mount시 1024 이하의 포트 사용
noaccess : 접속 거부
root_squach : root 권한 획득 차단
no_root_squash : Client root가 Server의 root로 연동
sync : 파일 시스템이 변경 즉시 동기화
all_squach : 서버와 클라이언트를 동일한 권한으로 설정 (root를 제외)
no_all_squach : 서버와 클라이언트가 하나의 권한을 가짐 (root를 제외)
  • 방화벽 설정을 위해 사용 port 변경
  • NFS는 portmap (111 port)와 rpc.nfs (2049 port)를 제외하고 나머지 port는 동적으로 설정됨
  • 방화벽 설정을 위해서 사용 포트를 다음과 같이 고정 한다
111/tcp  111/udp      portmap
2049/tcp 2049/udp rpc.nfs
4000/tcp 4000/udp rpc.statd
4001/tcp 4001/udp rpc.lockd
4002/tcp 4002/udp rpc.mountd
4003/tcp 4003/udp rpc.rquota
  • vi /etc/init.d/nfslock
STATD_PORT=4000        #--- 추가
export STATD_PORT #--- 추가
[ -n "$STATD_PORT" ] && STATDARG="$STATDARG -p $STATD_PORT"

service nfslock restart
  • vi /etc/sysconfig/nfs 다음을 추가
LOCKD_TCPPORT=4001
LOCKD_UDPPORT=4001
MOUNTD_PORT=4002

service nfs restart
  • vi /etc/services에서 4003에 해당하는 것을 아래와 같이 수정
rquotad 4003/tcp          # rpc.rquotad tcp port
rquotad 4003/udp # rpc.rquotad udp port

service nfs restart
  • 사용 Port 확인
rpcinfo -p
  • 방화벽 설정
system-config-securitylevel
111/tcp 111/udp 2049/tcp 2049/udp 4000/tcp 4000/udp 4001/tcp 4001/udp 4002/tcp 4002/udp 4003/tcp 4003/udp

NFS Client 설정

  • NFS Client의 환경
  • OS : CentOS 5.5
  • IP : 203.231.11.201
  • NFS 사용자 등록
  • NFS의 경우 Server와 Client간의 사용자/그룹 번호가 자동으로 매핑되므로 보안에 주의 하여야 한다. 단, 0번의 경우에는 65534로 연결이 된다.
#--- 사용하고자 하는 번호를 이미 사용하고 있는지 확인 (여기서는 60001번을 사용)
vi /etc/passwd /etc/group
groupadd -g 60001 nfsgroup
useradd -u 60001 -d /home/nfsuser -m -g nfsgroup nfsuser
  • 파일 시스템 마운트
mkdir /client/nfsdisk
mount 203.231.11.100:/nfsdisk /client/nfsdisk
  • 참고 문헌

rsync 설정

CentOS에서 rsync는 하나의 서버로부터 다른 서버로 일방적으로 파일을 동기화하는 명령 이다. rsync는 inetd, rsync server, ssh 등을 이용하여 파일을 주고 받을 수 있다. 여기서는 보안적인 측면에서 ssh를 사용하여 rsync를 설정하는 방법을 알아 보자.

  • rsync 설치
yum install rsync
  • 대상 서버에 rsync 사용자 등록
  • 보안을 위해서 rsync만을 위한 사용자와 그룹을 사용하여 rsync를 설정하자.
#--- 사용하고자 하는 번호를 이미 사용하고 있는지 확인 (여기서는 60001번을 사용)
vi /etc/passwd /etc/group
groupadd -g 60001 nfsgroup
useradd -u 60001 -d /home/nfsuser -m -g nfsgroup nfsuser
  • ssh를 사용한 rsync 명령 2가지
rsync -ave ssh 원본_폴더 사용자@대상_서버_IP:타겟_폴더 
예) rsync -ave ssh /rsyncDisk nfsuser@203.231.11.201:/targetDisk
/targetDisk/rsyncDisk 폴더가 생성이 된다.

rsync -av --rsh='ssh -pSSH의_Port -l사용자' 원본_폴더 사용자@대상_서버_IP:타겟_폴더
예)rsync -av --rsh='ssh -p22 -lnfsuser' /rsyncDisk nfsuser@203.231.11.201:/targetDisk
  • rsync 옵션
--delete : delete files that don't exist on sender (system)
-v : Verbose (try -vv for more detailed information)
-e "ssh options" : specify the ssh as remote shell
-a : archive mode
-r : recurse into directories
-z : compress file data

ssh를 사용할 경우, ssh에서 사용자(nfsuser)에 대한 암호를 물어보므로 crontab 등에서 사용하기에 불편하다. expect를 사용하여 rsync를 자동화 하자.

  • rsync 명령 자동화 스크립트
#!/usr/bin/expect
spawn bash -c "여기에_rsync_명령어"
expect -re "assword:"
sleep 0.2
send "사용자_암호\r"
interact
  • 방화벽 설정
  • ssh 사용시 22/tcp 사용함
  • rsync server 사용시 873/tcp 사용함

사용자 가이드

CentOS 기본 명령

  • CentOS 완전 종료
shutdown now
  • CentOS 리부팅
shutdown -r now        //--- reboot 명령을 사용하여도 됨

SSH 접속 방법

yum 사용법

  • 관련 폴더
/etc/yum.conf
/etc/yum.repos.d/
/etc/yum/
  • 설치 가능한 package 목록 보기
yum list [all]
yum grouplist #--- package 그룹 보기
  • package 설치 및 삭제
yum install httpd          #--- 설치
yum install httpd.i386 #--- 아키텍처를 지정하여 설치
yum update httpd #--- 업데이트
yum remove httpd #--- 삭제

yum groupinstall "그룹명" #--- package 그룹 설치
yum groupupdate "그룹명" #--- package 그룹 업데이트
yum groupremove "그룹명" #--- package 그룹 삭제
  • 설치된 package 목록 보기
yum list installed [httpd]
  • 업데이트할 package 목록 보기 및 업데이트
yum list updates           #--- 목록 보기
yum update -y #--- 업데이트

RPM 사용법

Redhat Package Manager로 레드헷에서 만든 패키지 관리자 이다.

  • RPM 파일명 구조
패키지이름-버전-릴리즈번호.소스여부.시스템.확장자
  • RPM 명령어
  • rpmfind에서 PRM 패키지(~.rpm)를 찾을 수 있다.
rpm -Uvh gcc-2.96-98.i386.rpm  #--- 패키지 설치
rpm -Uvh ftp://ftp.rpmserver.com/gcc-2.96-98.i386.rpm #--- 네트워크로 패키지 설치
rpm -e gcc-2.96-98.i386 #--- 패키지 제거
rpm -qa | grep httpd #--- 패키지 조회
rpm -qi ~.rpm #--- 패키지 상세 정보 조회
rpm -ql gcc-2.96-98.i386 #--- 패키지 설치 경로 조회
  • RPM 옵션
-i       :기본 설치. 이전 버전이 존재하면 설치하지 않음
-U  : 이전 버전이 설치되어 있으면 업그레이드. (-i 보다 권장)
-F  : 이전 버전이 설치되어 있는 경우에만 설치
-v  : 설치 메시지를 보여 줌
-h  : 진행과정을 '#'으로 표시
-e  : 패키지를 제거
-q  : 패키지가 설치되어 있는 지 확인
-qa  : 현재 설치된 모든 패키지 목록을 출력
-qi  : 현재 설치된 패키지의 간략한 정보를 출력
-ql  : 현재 설치된 패키지의 내용(위치)을 출력
-Vf  : 현재 설치된 파일의 검증. 문제가 없으면 '.'으로 표시
-Va  : 한 패키지만 검증
--force  : 충돌 등을 무시하고 무조건 설치
--nodeps : 의존성 문제를 무시하고 설치

관리자 가이드

방화벽 설정

CentOS는 디폴트로 iptables를 방화벽으로 사용 한다.

  • 특정 IP의 서버 접근 차단 방법
iptables -A INPUT -s 61.247.209.81 -j DROP
iptables -A INPUT -s 61.247.209.0/24 -j DROP
  • 방화벽 설정 명령어
system-config-securitylevel

부팅시 자동 실행 설정

  • named 서비스를 자동 실행 설정
chkconfig --level 5 named on
chkconfig named on
chkconfig --list | grep named
  • ntsysv 명령어를 실행하여 자동 실행할 데몬을 선택할 수도 있다.

KVM

  • 참고 문헌

VirtualBox 설치

RPM 제작

  • RPM 제작을 위한 패키지 설치
yum -y install rpm-build rpm-devel
yum -y install ~.rpm
  • 설정 파일 : /etc/rpmrc, /usr/lib/rpm/rpmc


  • RPM 소스 패키지(~.src.rpm) 다운로드
  • rpmfind에서 원하는 RPM 소스 패키지를 다운로드 한다.
wget ftp://rpmfind.net/linux/fedora/development/source/SRPMS/~.src.rpm


  • RPM 소스 패키지로 RPM 패키지(~.rpm) 만들기
rpmbuild --rebuild --target=i686 ~.src.rpm
rpmbuild --rebuild ~.src.rpm #--- target은 생략 가능


  • RPM 패키지 설치
rpm -Uvh ~.rpm


  • RPM 소스 패키지 내용 보기
mkdir /usr/src/redhat
rpm -ivh ~.src.rpm
  • /usr/src/redhat/SOURCES : 소스와 패치 파일 저장
  • /usr/src/redhat/SPECS  : 스팩 파일 저장


  • RPM 소스 패키지 다시 만들기
cd /usr/src/redhat/SPECS
rpm -ba ~.spec
  • /usr/src/redhat/SRPMS : RPM 소스 패키지가 생성됨
  • /usr/src/redhat/RPMS  : RPM 패키지가 생성됨


  • /usr/src/redhat/ 폴더의 구조
  • BUILD  : rpm에 의해서 빌드가 이루어지는 디렉토리
  • RPMS  : 아키텍처별 RPM 패키지 저장
  • 아키텍처별로 athlon, geode, i386, i486, i586, i686, noarch 하위 폴더가 있음
  • SOURCES : RPM 소스 저장
  • SPECS  : RPM Spec 저장
  • SRPMS  : SRPM 저장


  • 참고 문헌

시스템 모니터링

  • vmstat : 메모리 모니터링
  • iostat : 입출력 모니터링
  • free : 메모리 모니터링
  • top : Process 모니터링
  • uptime : 시스템 평균 부하율
  • sar : sysstat package install 필요
  • ls -alF /proc/*info
  • CPU 모니터링 도구
  • top, vmstat, ps aux, mpstat -P all, sar -u, iostat, oprofile, gnome-system-monitor, KDE-monitor, /proc
  • Memory 모니터링 도구
  • top, vmstat -s, ps aur, ipcs, sar -r -B -W, free, opeofile, gnome-system-monitor, KDE-monitor, /proc

시스템 튜닝

  • vi /etc/sysctl.conf
  • Memory Turning
/proc/sys/vm/*
  • Kernel Turning
/proc/sys/kernel/*
  • Filesystems Turning
/proc/sys/fs/*

참고 문헌