오늘 여러분에게 알려드릴 내용은 리눅스에서 이더넷 장치 번호에 대한 것 입니다.
사실 매우 간단한 건데 이걸 이렇게 따로 정리하게 된 데에는 제가 이것 때문에 좀 삽질을 해 버려서 그렇습니다.
우리에게 삽질이라는 것은 매우 고달프고 슬픈 일이고, 그것을 누군가 하지 않게 도와준다면 그 사람은 천사니까요.
아마 전 천사가 되려나 봅니다. 으하하하하!!! ^^v
Step 1. 일반적인 상태에서 ifconfig
헛소리는 여기서 그만하고 일단 리눅스에서 우리가 잘 아는 이더넷 정보 보는 명령어를 한번 쳐 봅시다.
설치가 완료 되면 grub에
XEN 커널이 추가가 됩니다.
menu.lst 파일에 'default=1' 을 'default=0' 으로 수정한 후 재부팅
합니다.
[root@ruo91 ~]# vi
/boot/grub/menu.lst
#
grub.conf generated by anaconda
#
# Note that you do not have to
rerun grub after making changes to this file
# NOTICE: You have a
/boot partition. This means that
# all kernel and initrd
paths are relative to /boot/, eg.
# root (hd0,0)
#
kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
#
initrd /initrd-version.img
#boot=/dev/sda default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu title CentOS (2.6.18-164.11.1.el5xen)
root (hd0,0) kernel
/xen.gz-2.6.18-164.11.1.el5 module
/vmlinuz-2.6.18-164.11.1.el5xen ro root=/dev/VolGroup00/LogVol00
module /initrd-2.6.18-164.11.1.el5xen.img
title CentOS
(2.6.18-164.el5)
root (hd0,0)
kernel
/vmlinuz-2.6.18-164.el5 ro root=/dev/VolGroup00/LogVol00
initrd /initrd-2.6.18-164.el5.img
[root@ruo91 ~]# reboot
- Guest OS 설치
가상화 목록을
확인 합니다.
[root@ruo91 ~]# xm list
Name
ID Mem(MiB) VCPUs State Time(s)
Domain-0
0 879 1 r----- 170.7
Guest OS 가 생성될
디렉토리를 만들고 설치를 진행 합니다.
[root@ruo91 ~]#
mkdir /vm
[root@ruo91 ~]#
virt-install -n CentOS_5.4 --prompt consol
How much RAM should be
allocated (in megabytes)? 256
What would you like to use as the disk
(file path)? /vm/CentOS_5.4.img
What is the install URL?
http://centos.mirror.cdnetworks.com/5.4/os/i386
Starting
install...
Retrieving file .treeinfo...
| 413 B 00:00
Retrieving file
vmlinuz...
| 2.1 MB 00:00
Retrieving file initrd.img...
| 6.6 MB 00:00
Creating
domain...
| 0 B 00:04
Connected to domain CentOS_5.4
Escape
character is ^]
Linux version 2.6.18-164.el5xen
(mockbuild@builder16.centos.org) (gcc version 4.1.2 20080704 (Red Hat
4.1.2-46)) #1 SMP Thu Sep 3 04:47:32 EDT 2009
..........................
..............................
옵
션 및 설명
-n : 가상 OS 이름
-v : 전 가상화 (Full
virtualization)
-p : 반 가상화 (Para virtualization)
--prompt consol :
콘솔 기반으로 설치
How much RAM
should be allocated (in megabytes)?
-> 가상 OS에 메모리 용량을 얼마나 줄것인지..
기본 MB(메가바이트) 단위
What would you
like to use as the disk (file path)?
-> 가상 OS의 이미지 파일이 저장될 경로
What
is the
install URL?
-> 미러링 서버로 설치 하기 위한 주소
이후 가상 OS 설치를
할수 있게 됩니다.
XEN
을 이용한 가상 OS 를 확인 해봅니다.
[root@ruo91
~]# xm list
Name ID Mem(MiB)
VCPUs State Time(s)
CentOS_5.4
4 255 1 -b---- 259.7
Domain-0
0 747 1 r----- 2693.5
CentOS는 RedHat Enterprise의 클론 리눅스다.. 무료로 RHEL의 검증되고 안정된 서버를 구축할 수 있다는 장점을 가지고 있다.
서버용으로 설치한다고는 해도 설치과정은 GUI로 할 수 있으니 파티션 잡는 것만 잘 넘어간다면 어려운 것은 없으니 언급하지 않겠다. 기회가 되면 이것도 한번 다뤄보는 것도 좋을 듯 싶기도 하고..
참고로 좀 안다 싶은 사람들을 위한 것이 아닌 본인처럼 완전 개초보를 위한 글이므로이 글을 읽는 사람 중에 이건 아니다 싶은 사람은 미련 없이"GET OFF!!"하기 바란다.
사실 APM설치에 대해 인터넷에서 검색해보면 굉장히 많은 자료가 나오고 그 자료 마다컴파일 하는데 있어서의 방법 등에 있어서상당히 다른 방법을 제시하는 경우가 많다.
그들을 무시 하는 것은 아니지만 초보가 보기에는 상당히 혼란스럽고 어렵기만 하다. 또한 안정적으로 검증된, 제공된 방법으로 설치를 하고 싶을 수도 있고..
세세한 커스터마이즈는 나중에 해보기로 하고 지금 당장 설치를 원하는 초보들을 위해 yum으로 설치하는 방법을 소개하고자 한다. (더 쉬운 건 첨에 설치할 때 패키지 설치 해버리면 끝이겠지만......)
더보기
일단 인터넷이 되는지 확인 해보자 그래야 yum이던 뭐든 할것이다. 구글사마께 핑을 드려보자.
# ping -c3 google.com
자 핑이 잘 뜨면 인터넷은 잘 된다고 보고~ 이제 본격적으루다가..
준비작업 (현 단계에서는 필수가 아니고 약간의 편의를 위해서 이므로 넘어가도 되고 아래 실제 설치 단계에서도 사용하지는 않는다.) 1. putty
리눅스 자체 콘솔 보다는 Putty가 다루는데 많은 편의를 제공 할 것이다.
"창 - 변환 - 수신 데이터의 문자 셋 변환"에서 UTF8로 설정하고 접속 하면 한글도 잘 보이고 좋다.
2. FTP서버
ftp서버 환경을 미리구성하고 놓고 작업을 하면 조금은 더 편하다. 언젠가는 설치 해야 하니까 FTP환경을 구축해보자. 설치는 vsftpd를 해보자.
# yum -y install vsftpd
설정 편집은 다음과 같이 하자.
# vi /etc/vsftpd/vsftpd.conf
편집은 i키를 누르고 수정, esc키를 눌러 편집 종료, :wq 라고 입력하고 엔터 하면 저장 하고 종료.
특별히 지금은 설정할 필요가 별로 없다. 나중에 인터넷의 각졸 글들을 참조 해서 설정해주고 일단 chroot_list만 비활성또는 주석 되어 있는지 확인만 하자. 이유는 내 폴더의 상위에 접속 할 수 있어야 설치 단계에서는 그나마 편하기 때문인데 나중에 보안의 문제가 있으니 나중에는 막아 두길 권장한다.
뿌띠와 FTP서버가 준비 되었으면 설치 작업을 시작 한다.
알림.아래 방법대로 설치시 PHP 5.1.6으로 설치 된다. 이러저러한 이유로 상위 버전으로 설치하고 싶다면 이 글의 제일 아래부분을 확인 하자.
이 밖에도 pear나 pear-MDB2등 원하는 패키지를 설치 할 수도 있다. * 제일 처음에 나오는 gd를 설치하면 뒤에 나오는 libjpeg, libpng, freetype, fontconfig과 같이 자동으로 설치되지만 혹시나 하는 분들은 확인겸 설치 해보기 바란다.
MYSQL 설정
이제 설정을 하자... 안하고 패스 해도 됨
mysql에서 사용할 환경 설정파일을 복사해야 하는데 시스템에 따라서 좀 다르다. 아래를 참조하자
my-huge.cnf 1GB 이상 메모리
my-large.cnf 512MB ~ 1GB
my-medium.cnf 128MB ~ 256MB
my-small.cnf 64MB 이하
# cp /usr/share/mysql/my-large.cnf /etc/my.cnf
본인은 Virtual Box로 설치해봤는데 512여서 large를 사용했다.
기본관리 db를 설정하고, 권한지정도 해주자
# /usr/bin/mysql_install_db --user=mysql
# chown -R root /usr/bin/
# chgrp -R mysql /usr/bin/
# chown -R mysql /var/lib/mysql/
이제 콘솔에서도 mysql 명령들을 사용 할 수 있도록 등록해보자.
# vi ~/.bash_profile
PATH부분에 다음과 같이 추가 한다
PATH=$PATH:$HOME/bin:/usr/bin
지루한 mysql 설정은 이제 다 끝났다 다만 재부팅 후 자동으로 실행 할 수 있도록 등록만 해주면 된다. 일단 확인 해보자.
위와 같은 명령에서 보이는 결과중 "mysqld" ":::3306" 뭐 이런 글귀가 보이면 정상적으로 동작한다고 생각해도 된다.
PHP설정
# vi /etc/httpd/conf.d/php.conf
아래 두줄을 찾아 아래처럼 고친다.
AddHandler php5-script .php .htm .html
AddType application/x-httpd-php-source .phps .php .html .html
수정이 끝났으면 저장 하고 같은 방법으로 httpd.conf 파일을 아래와 같은 부분들을 찾아 수정/추가한다.
AddType application/x-gzip .gz .tgz 을 찾아 그 다음줄에 아래 두줄 내용 추가
AddType application/x-httpd-php .htm .html .php .ph php3 .php4 .phtml .inc
AddType application/x-httpd-php-source .phps
#AddHandler cgi-script .cgi 주석 삭제
=> AddHandler cgi-script .cgi
* 사실 vi 나 vim등리눅스의에디터는윈도우즈에익숙한사람에게는더없이당황하게만드는소프트웨어중하나인데(적응만한다면더없는최고의에디터라지만적응은요원하기만하다!) 좀쉽게사용을원한다면"#yum -y install mc"해서 mc를사용해보라조금은편하게사용할수있을것이다.
사실 제일 편한건 콘솔에서 직접 하는 것보다 뿌띠로 열어서 하는것과 FTP로 수정 하는것이다.. 위에서 FTP로는 에디트플러스 같은걸로 바로 수정하면 되니까..
여기서 수정하고 추가 할것이 많기는 많다. 엄청.. 인터넷을 뒤져 보면 이부분에 대한 많은 분서를 접할 수 있을 거라고 생각 되는데 이 문서가 부족하다고 느끼는 사람이 있거나 입맛에 맞는 설정을 원하는 사람은 맛보기로 설치 해보고 제대로 공부 해보자. 친절히 설명된 많은 문서를 볼 수 있을것이다(검색의 수고로움이 더해져야 하지만.. 대부분 자기는 안다고 휘리릭 넘어가는 경우가 많다....)
위와 같은 명령에서 보이는 결과중 "httpd" ":::80" 뭐 이런 글귀가 보이면 정상적으로 동작한다고 생각해도 된다.
끝으로 시스템을 전체적으로 업데이트 해보자
# yum update
주루룩 뭔가 많이 지나가고 업데이트 된다. 끝났다면
# reboot
으로 시스템을 재시작 함으로서 모든 설치 과정은 끝난다.
테스트 설치 환경
VM : VirtualBox
RAM : 512MB
HDD : 80GB
OS image : CentOS-5.3-i386-bin-DVD.iso
설치 시 네트워크는 NAT로 사용했고 테스트는 호스트 OS에서 접근을 해야 하므로 HOST-Only로 테스트 했다.
Virtual Box는 아쉽게도 본인이 사용법을 정확히 이해하지 못했는지 호스트 OS가 바로 게스트 OS에 접근이 불가능했다.하지만 공유기를 이용하고 IP를 Virtual Box 호스트 어댑터와 같은 대역으로 맞춘다면 인터넷도 가능 하리라 생각해본다. (귀찮아서 공유기 연결 안 했음)
아래는 위 설정 방법으로 설치된 스크린샷이다.
더보기
사실 apache의 httpd.conf의 설정 등 세세한 것이 아~~~주 많이 남았지만 위에 설명한 것 만으로도 처음 글을 시작할 때 yum으로 간단히 설치하기의 취지에 조금 벗어나지 않았나 싶을 정도로 긴 설치였다.
하지만 차근히 따라만 한다면 쉽게 끝낼 수 있으리라 본다. 다만 vi의 사용법이 더 어려울지도 모르겠다. ^^a
그리고 실제 릴리즈된 버전보다 YUM으로 설치하면 버전이 낮은 경우가 많은데 글의 서두에 말했다시피 CentOS는 RHEL의 클론이다. 즉 안정성에 우선된 검증된 릴리즈를 이용한다는 것이라고 보면 틀리지 않다고 생각된다.
엔터프라이즈 환경에서의 가장 중요한 점은 성능도 성능이지만 안정성이 최우선시 되는 게 당연하다고 본인은 느끼기 때문에 버전이 현재 릴리즈보다 낮다고 나쁠 건 없지 않겠는가?
추가. 위 방법대로 설치시 PHP 5.1.6으로 설치 된다. 이러저러한 이유로 상위 버전으로 설치하고 싶다면 아래처럼 해보자.
addbib - 도서목록 형식의 데이터베이스를 만들거나, 확장
apropos - 사용설명서의 키워드 검색
ar - 라이브러리 만들기, 관리
at, batch - 원하는 시간에 원하는 명령을 실해하게 하는 명령
awk - 패턴 검색과 언어 처리
banner - 큰 글자(배너) 만들기
basename - 경로 이름에서 마지막에 있는 이름만 출력
biff - 자신에게 편지가 배달되면 알려주는 명령
bin-mail, binmail - 예전에 사용한 전자우편 프로그램
cal - 달력보기
calendar - 간단한 일정표
cat - 파일 병합과 내용 보기
cb - 간단한 C 프로그램 beautifier(?)
cc - C 컴파일러
cd - 작업 디렉토리 바꾸기
checknr - nroff 또는 troff 입력 파일 검사; 오류를 보여준다
chgrp - 파일의 사용자 그룹 바꾸기
chmod - 파일의 접근 권한 바꾸기
clear - 터미날 화면 깨끗이 하기
cmp - 두 파일을 바이트 단위로 비교
colcrt - troff 파일의 밑줄 속성 문자 처리
comm - 지정 두파일의 줄 단위 비교와 그 처리
compress, uncompress, zcat - 파일 압축관련 유틸리티들
cp - 파일 복사
cpio - copy file archives in and out
cpp - C 언어 전처리기
csh - C 문법과 비슷한 쉘 스크립트 문법과 기타 여러 기능이 내장된 쉘
ctags - ex 나 vi 편집기에서 사용될 tag 파일을 만드는 명령
date - 시스템 시간 보기나 지정하기
dbx - 소스 수준의 디버거
deroff - nroff, troff, tbl, eqn 관련 내용 지움
df - disk free: 디스크의 남은 용량 보기
diff - 두 파일의 차이점 비교
du - disk used : 디스크 사용량 보기
echo - 인자를 표준 출력으로 출력
ed, red - 기본 줄 편집기
eqn, neqn, checkeq - 수식 표현 포멧 도구
error - 컴파일러 오류 메시지 목록
ex, edit, e - 줄 편집기
expand, unexpand - TAB 문자를 공백문자로 바꿈, 또는 그 반대로
expr - 인자를 수식으로 처리
file - 파일 형식 알아보기
find - 파일 찾기
finger - 사용자 정보 알아보기
fmt, fmt_mail - 간단한 문서나, 편지 포멧 도구
fold - 긴 줄 출력 방법 지정
ftp - 파일 전송 프로그램
gcore - 실행 중인 프로세스의 core 이미지를 구한다.
gprof - call-graph profile data(?)를 보여줌
grep - 문자열 찾기
groups - 사용자의 그룹을 보여줌
history - 이전 명령 보기
hostname - 현재 시스템 이름을 보여줌
imake - makefile 만드는 프로그램
indent - C 프로그램 소스 파일을 들여쓰기 하는 포멧 도구
install - 파일 설치
join - 관계형 데이터베이스 연산자
kill - 프로세스 죽이기 - "마누라 죽이기"와 상관없음 :-)
last - 사용자가 마지막 접속 상태를 보여줌
ld, ld.so - 링크 편집기, 동적 링크 편집기
leave - 자신의 접속 종료 시간을 알려줌
less - more 명령의 확장
lex - 어휘 분석 프로그램 생성기
lint - C 프로그램 verifier
ln - 파일의 하드, 심벌릭 링크 명령
login - 시스템 접속 명령
look - 시스템 디렉토리나, 정열된 목록에서 단어 찾기
lookbib - 도서목록형 데이타베이스에서 찾기
lorder - 오브젝트 라이브러리의 관계 찾기
lp, cancel - 인쇄 시작, 취소
lpq - 인쇄 작업 상황 보기
lpr - 인쇄
lprm - 인쇄 작업 지우기
ls - 디렉토리 내용 보기
mail, Mail - 전자 우편 프로그램
make - 실행 파일을 만들거나, 특정 작업 파일을 만들 때 사용하는 도구
man - 온라인 사용자 설명서를 보는 명령
mesg - 메시지 수신 상태를 보거나 지정
mkdir - 디렉토리 만들기
mkstr - C 소스 파일을 참조로 오류 메시지 파일을 만듬.
more, page - 텍스트 파일 보기 명령
mv - 파일 이동이나, 이름 바꾸기
nawk - 패턴 검색과 언어 처리
nice - 낮은 우선권에서 명령 실행
nm - 심블 이름 목록 보기
nroff - 문서 포멧 도구
od - 8진수, 10진수, 16진수, ascii 덤프
passwd, chfn, chsh - 비밀번호, 핑거정보, 쉘 바꾸기
paste - 여러파일의 서로 관련 있는 줄 연결시키기
pr - 문서 파일 양식화 도구
printenv - 현재 환경 변수들의 내용과 그 값 알아보기
prof - profile 자료 보기
ps - 현재 프로세스 정보 보기
ptx - permuted(순열화된?, 교환된?) 색인 만들기
pwd - 현재 작업 디렉토리 보기
quota - 한 사용자에게 지정된 디스크 할당량보기
ranlib - archive를 random 라이브러리로 변화
rcp - 리모트 카피
rcs - RCS 파일 속성 바꾸기
rcsdiff - RCS revisions 비교
rev - 한 줄의 문자열 꺼꾸로
rlogin - 리모트 로그인
rm, rmdir - 파일, 디렉토리 지우기
roffbib - 도서목록형 데이터베이스 보기 또는 양식화
rsh - 리모트 쉘
rup - 로칼 머쉰의 호스트 상태 보기(RPC version)
ruptime - 로칼 머쉰의 호스트 상태 보기
rusers - 현재 접속자 보기 (RPC version)
rwall - 모든 사용자에게 알림(RPC)
rwho - 현재 접속자 보기
sccs - Source Code Control System (SCCS)
sccs-admin, admin - SCCS 사용 내역 파일을 만들고, 관리
sccs-cdc, cdc - SCCS 델타의 델파 주석을 바꿈
sccs-comb, comb - SCCS 델타 조합
sccs-delta, delta - SCCS 파일에 데해 델타를 만듬
sccs-get, get - SCCS 파일 버전확인
sccs-help, help - SCCS 오류나 경고 메시지 검색
sccs-prs, prs - SCCS 사용내역의 선택된 부분 보기
sccs-prt, prt - SCCS 파일에서 델타 테이블 정보를 봄
sccs-rmdel, rmdel - SCCS 파일에서 델타를 지움
sccs-sact, sact - SCCS 파일의 편집 상태를 봄
sccs-sccsdiff, sccsdiff - SCCS 파일들의 버전 비교
sccs-unget, unget - SCCS 파일의 미리 얻은 것(?)을 취소한다.
sccs-val, val - SCCS 파일 유요화
script - 화면 갈무리
sed - stream editor
sh - 유닉스 표준 쉘
size - 오브젝트 파일의 크기들을 보여줌
sleep - 지정한 시간 만큼 실행 보류
sort - 줄 정열과 검색
sortbib - 도서목록형 데이터베이스 정열
spell, hashmake, spellin, hashcheck - 맞춤범 검사(물론 영어겠지요)
split - 파일 나누기
strings - 오브젝트 파일이나, 실행 파일에서 문자열 찾기
strip - 오브젝트 파일에서 심벌 테이블과 중복된 비트 삭제
stty - 터미날 설정
su - super-user, 임시적으로 새 ID로 바꿈
symorder - 심벌 순서 바꿈
tabs - 터미날 tab 크기 지정
tail - 파일의 끝 부분 보기
talk - 다른 사용자와 이야기하기
tar - 여러 파일 묶기 또는 묶긴 파일 풀기
tbl - nroff 또는 troff의 도표 작성 도구
tee - 표준 출력으로 방향 전환
telnet - TELNET 프로토콜을 이용한 원격 리모트 호스트 접속
test - 주워진 환경이 참인지, 거짓인지를 돌려줌
tftp - 간단한 ftp.
time - 명령 실행 시간 계산
touch - 파일 날짜 관련 부분을 바꿈
troff - 문서 양식화 도구
true, false - 쉘 스크립트에서 사용되는 참/거짓을 리턴하는 명령
tsort - topological sort
tty - 현재 터미날 이름 보기
ue - MICROemacs
ul - 밑줄 속성 문자 표현
unifdef - cpp 입력 줄에서 ifdef 부분 바꾸거나 지움
uniq - 중복되는 빈줄 지우기
units - 프로그램 변환도구
uptime - 시스템 부팅 기간 보기
users - 현재 접속 사용자 보기
uucp, uulog, uuname - 시스템 간의 복사
uuencode, uudecode - 이진 파일을 아스키파일로 인코딩, 반대로 디코딩
uusend - 리모트 호스트에 파일 보내기
uux - 리모트 시스템 명령 실행
vacation - 자동으로 편지 답장하기
vgrind - grind nice program listings
vi, view, vedit - ex 바탕의 편집기
vtroff - 문서 양식화 도구
w - 현재 누가 접속해 있으며, 무엇을 하고있는지
wait - 프로세스가 마치기를 기다림
wall - 모든 사용자에게 알림
wc - 단어, 줄, 바이트 계산
what - 파일에서 SCCS 버전 정보 알아냄
whatis - 명령의 간단한 설명 보여줌
whereis - 찾는 명령의 실행파일, 소스, 맨페이지가 어디 있는지 경로를 보여
줌
which - 명령만 찾음.
who - 시스템에 접속되어 있는 사람만 보여줌
whoami - 현재 사용하고 있는 자신이 누군지 보여줌
write - 다른 사용자의 화면에 특정 내용을 알림
xargs - 명령행 인자 처리 명령
xstr - extract strings from C programs to implement shared strings
yacc - yet another compiler-compiler: 파싱(형태소분석) 프로그램 생성기
yes - 항상 yes만 응답하는 명령
zcat - 압축 파일 내용보기