Red Hat의 오픈소스 배포판인 CentOS(The Community ENTerprise Operating System)를 정리한다.
- 홈페이지 : http://www.centos.org/
- 다운로드 : http://mirror.centos.org/centos/5/isos/
- 라이선스 : Free
- 플랫폼 :
목차[숨기기] |
설치 가이드
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 구축
- Subversion 설치
yum install subversion
- Subversion용 사용자 생성
useradd -d /home/svn -m -g apache svn
- Subversion 저장소(repo_sample) 생성
-
- /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
- Subversion 접속 권한 설정
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
- 참고 문헌
-
- [A Quick Guide to Using KVM with CentOS-5 http://wiki.centos.org/HowTos/KVM, 2009.10]
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/*