강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

== 1. CentOS 4.2 설치강좌 ==

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문


||| CentOS 4.2 서버용 설치하기 |||
 

강좌라고 하기에는 너무 말이 거창한듯 합니다. 앞으로 CentOS 4.2 를 기반으로 설치부터 기본적인 A.P.M 컴파일 설치 및 여러 서비스에 대해 제가 공부하고 느꼈던점을 위주로 기술하여 정보를 공유하는데 목적으로 적음을 밝힙니다.
리눅스를 설치할때 GUI(그래픽인터페이스) 나 첫번째 CD를 넣고 웹으로 설치하는 방법, 그리고 text모드로 설치하는 방법등이 있는데 먼저 CentOS 4.2 를 text 모드로 설치하는 방법을 해보도록 하겠습니다.
( 이유는 이방법으로 가장많이 설치해본 솔직한 이유도 있지만 좀 불편해도 처음에는 text기반으로 몸에 친숙함을 만드는것이 좋을것같고 항상 최악의 상황을 생각해서 요 모드로 설치합니다. 그럼 설치방법 및 내용과 해당 이미 지를 참고하여 설치를 시작합니다. )
 
00_textmode.png
먼저 CentOS 4.2 설치 CD 4장(개발툴 패키지만 설치할것이므로 4번은 구지없어 됨)이 준비되었다는 가정에서 첫번째 CD를 넣고 조심스래 rebooting 을 합니다. 요때 내 컴퓨터혹은 서버가 CD롬 부팅 이 최우선순위로 되어있는지 확인해 봅니다. 간혹 요것이 않되어서 CD가 이상한가? 아님 파티션이 이상하게 잡혀서 그런가? 라는 생각을 해본적이 있습니다. 아래 화면은 정상적으로 1번 CD를 인식하여 설치 첫 화면으로 그래픽모드설치, 텍스트모드설치와 아래 F2 메뉴를 선택하면 다른 기능들도 볼수 있지만 우리는 설치의 목적이므로 바로 텍스트모드설치를 합니다. 입력부분에 linux text라고 하셔도 되고 그냥 text라고 엔터 치시면 됩니다.
01_cdFound.png
설치하기위해 CD - ROM 검사합니다. 한두번 설치하는 것이라면 문제가 없지만 관리자라든지 잦은 설치를 하는 경우에는 여분의 CD-ROM을 준비해 두는 센스!! 보통 시간절약과 자신의 CD-ROM이 정상이라는 믿음으로 [skip] 으로 넘어갑니다.
02_Welcome.png
"환영한다" 라는 메세지이며 "OK" 하고 넘어갑니다. 여러번 설치를 하다보니 via 라는 문고가 먼지 궁금했는데 요거는 특별한 의미의 단어가 아니고 "~에 의해서" 라는 뜻으로 GPL을 따른다는 의미!!
03_languageSelection.png
설치시 사용할 언어선택 입니다. 설치시 사용될 언어이지 설치 후 기본 언어를가 되는것은 아닙니다. "English" 를선택하구 넘어갑니다.
04_keyboard.png
사용할 키보드 선택 "US" 선택
05_InstallationType.png
설치 타입을 4가지로 분류되어 있습니다. 4번째 "Custom" 사용자정의 설치를 선택하여 좀더 골라먹는 재미를 느껴보시길 바랍니다.
06_DiskPartitioningSetup.png
디스크 파티션 설정 부분입니다.
자동파티션(말그대로 자동으로잡기), 디스크Druid(직접잡기정도로해석) 이 있는데 직접 파티션을 나누어 잡아 봅니다. Disk Druid를 선택합니다.
07_PartitonWarning.png
새로운 디스크라든지 리눅스에서 지원되지 않는 파티션 테이블이
있는경우 모든 영역을 DATA로 쓸것인지 묻습니다. Yes 하고 넘어갑니다.
08_Partitioning.png
파티션을 나누는 정보를 입력하는 단계입니다.
역시 여기서 파티션을 나누고 다음단계로 넘어가도 실질적으로 파티션이 나누어져 포멧된것은 아니며, 여기서는 정보만을 넣고 실제적으로 마지막단계인 패키지선택이 끝나고야 여기서 셋팅한 정보대로 포맷을 합니다. 즉 다음단계로 넘어가더라도 뒤로와서 얼마든지 수정가능하다는 이야기입니다. 요리조리 나누어 보시길 바랍니다.
그럼 파티션을 어떻게 나누어야 할것인가가 가장 큰문제일 것 입니다. 요거는 특별히 정답이 있는것도 아니고 사용목적에 따라 유도리 있게 나누기 때문에 기본적인 조건만 만족시켜주면 된다.
일단 위 그림은 8G 정도되는 공간에 아무 파티션도 없음을 보여주고 기본적은 조건은 (꼭은아니지만) /boot, swap, / 이렇게 3개의 파티션정도는 나누어 주는것이 보통이며(/만큼은 꼭 있어야함) 위와 같이 나누게 되면 /usr /var /etc등 모두 / 의 파티션으로 정의 됩니다. 결과적으로 이렇게 3개만 나누더라도 리눅스의 기본 디렉토리들은 다 재위치에 생성되고 단 정의하지 않은 디렉토리들만이 / 파티션에 같은 영역으로 잡혀있다는 의미입니다.
아래의 과정들은 3개로 나눈것입니다. 파일시스템은 ext3 로 합니다.(가장 보편적인 파일시스템)
09_AddPartition_boot.png
파티션을 나누는 순서는 상관없으며 저는 /boot부터!!
/boot 파티션은 커널 이미지를 보관하는 곳으로 부팅관련 파티션이라고 생각하면 됩니다. 실질적으로 이 파티션은 많은공간이 필요하지 않으며 30M 안쪽으로 쓰이는데 대부분 100M정도로 여유있게 잡습니다.
10_AddPartition_swap.png
스왑부분은 Mount Point 부분에 적는것이 아니라 File System type 부분에서 선택을 하고 Size를 명시하면 됩니다. 스왑은 가상메모리(실제메모리가 부족할때 하드디스크의 공간을 활용해서 메모리처럼쓰는것) 정도로 생각하시면 되고 보통 자신의 메모리 크기에 두배정도 잡는 다라고 정석화 되어있지만 항상 절대적인것은 아닙니다.
11_AddPartition_all.png
/ 파티션은 최상위를 뜻하는것도 있지만 위의 /boot와 스왑이 외에 마지막으로 / 파티션만 잡으면 특별하게 디렉토리를 세부적으로 잡지않고 나머지 부분을(home/usr/local, /etc ,/var, /backup 등) 파티션을 하나로 잡아 쓰겠다라는 뜻입니다. 요즘은 대용량의 디스크들이 나와 이런 고민을 잘 안하지만 이전에는 디스크 용량도 작고 윈도우와 멀티로 사용하거나 그럴때 용량이 작아 나중에 백업이나 설치될 패키지들등 나중의 용량변화를 모를때 이렇게 / 파티션하나만 잡습니다. 가장 빈번한 예로 /backup 파티션은 보통 널널한 디스크에서는 그 디스크에 반을 할당합니다. 웹서버로 사용한다면 사용자 /home에 용량이 많을테고 /home 데이타와 기타 설정파일들 (/etc) , APM이나 sendmail등의 시스템적인 데이터(/usr/local)등을 압축하여 주기적으로 백업할려면 반정도는 잡아야 무리가 없습니다. 하지만 가용 용량에서 반을 잡아버리면 다른부분에서 너무 작에 용량이 잡히게 되는 경우에 다시 파티션을 잡을수도 없고 (디스크추가시 덧붙이는건있지만) 막상보니 백업은 많이 차지하지 않하더라고 하면(사용자가 많이 없을수도있으니까) /backup 에서는 용량이 남고 다른 파티션에서는 용량이 부족한 빈익빈부익부 현상이 발생되므로 위와 같이 / 파티션을 나머지 용량 몽땅 잡습니다.(Size 에서 [*]Fill all available space 를 선택)
처음에는 이렇게 3개만 하다가 몇번설치하다보면 감각이 생겨서 /home이라던지 /backup등 큼직막한 파티션에 대해 적절히 잡을때가 올것입니다. 그리고 한차원 더 나아가면 나중에 프로그램으로 디스크 크기를 늘리는 파일시스템으로 잡아 좀더 테크날리지하게 파티션을 잡겠지요.. ^^
12_Partitioning_ok.png
파티션의 재가 생각한 정책대로 다 설정하고 결과를 볼수있습니다.
파티션을 통합해서 위의 설정처럼 잡는것과 하나하나 다 잡아주는것 둘다 장단점이 있으니 항상 그 서버의 용도와 자신이 운영할 정책을 세워서 가장 효율적인 파티션잡기를 하시길 바랍니다.

파티션설정부분을 마치면서 기타적인 내용!!
==================================
Allowable Drives 부분은 디스크 드라이브를 선택하는 것으로 위화면에서는 [*] sda라고 되어있습니다.
IDE 디스크는 hda, hdb, hdc ... 요로케 나가고 (a.b.c가붙는거는 첫번째 , 두번째 디스크를말함)
SCSI 디스크는 sda, sdb, sdc ... 쭉 나갑니다.
만약에 한게의 IDE 디스크와 SCSI디스크가 있는 경우라고 생각하면 파티션 잡을때
[*] hda
[*] sda
이렇게 되어있습니다. 둘다 체크해놓고 설정하시면 두 디스크의 영역을 구분안하겠다는 의미이고 /backup 파티션을 예로들어 이 파티션은 공통영역이아닌 sda만 체크를하고 설정하면 나중에 시스템이 망가져 복구가 안될때 새로운 디스크에 OS를 설치하고 /sda였던 이 디스크는 그대로 때놓고 다시 붙혀 마운트시켜서 백업되어있던 데이타로 이전 자료들을 복구할 수도 있습니다. /backup만이아니라 전부분에있어 파티션을 어떻게 나누느냐에 따라 관리의 수준이 달라집니다.
그리고 4개 이상의 파티션을 나울때 이상한것이 하나 더 생기는것을 볼수있을것입니다. 그것은 기본적으로 주파티션이 4개까지 잡히고 그러니까 3개는 주파티션 나머지 한 개의 주파티션으로 확장파티션을 정의하여 더많은 파티션을 나눌수있게 합니다. 예전에는 이것을몰라서 어! 갑자기 하나거 더생겼다면서 의문을 가졌던 적이 있습니다. 파티션쪽도 조금 깊게 들어가보면 매우 볼만한게 많습니다. 기회가 될때 파보시길 바랍니다.
13_BootLoader.png
여기서 부터는 부트로더 설정부분입니다.
사실 몇 번 설치하여 보면 여기서 부터 네트워크 잡는 부분까지 거의 기본설정으로 넘어갑니다.(팁으로 현재보이는 절정에서 건드릴것이 없고 다음 설정으로 넘어갈때 탭키를 눌러 OK 까지 가서 엔터를 치는데 F12을 누르면 한방에 넘어갑니다. 모든 부분에서 다 적용되니 설치에 좀 익숙해지면 요걸 쓰면 스피드있게 딱딱 넘아갈수있습니다. ^^)
예전에는 LILO도 많이 썼지만 대세는 GRUB 입니다. ^^
15_BootLoader3.png
부트로더 옵션값을 넣는 부분입니다. 그냥 넘어갑니다.
16_BootLoader4.png
이부분도 추억이 있습니다. 이부분은 부트로드 GRUB의 비밀번호를 넣는부분인데 아무것도 모를때 root 패스워드인줄 알고 넣었다가 정작 뒤에 진짜 root패스워드 넣는부분이 나오는데 그것때문에 헷갈려서 결국 비밀번호를 다시 생신할려고 싱글모드 방법을 알아내 시도하는데 이부분을 설정안하고 넘어갔으면 한방에 root 패스워드를 바꾸었을텐데 이분에 암호를 걸고 잊어먹는 바람에 시스템을 다시 설치한 기억이 있습니다. 로컬에서의 패스워드 변경조차도 한번에 인증과정을 더 거치고 싶으시면 이부분에서 암호를 걸어두시는것도 좋치만 대부분 이것까지는 넣치 않습니다. 이부분에서 설정한것을 잊어버리면 패스워드 분실시 다시 재설치해야 되는 경우가 생기기때문에 위험부담이 쬐끔 있습니다. ^^
17_BootLoader5.png
부트로더의 기본 부팅 파티션 정보입니다. hda3로구나라고 생각해주고 넘어갑니다.
18_BootLoader6.png
부트로더를 설치할 곳을 선택하는 부분으로 MBR (Master Boot Record - 젤 첫번째 섹터)에 설치가 되어야 부팅이 됩니다.
19_NetworkConfiguration.png
네트워크 설정부분으로 위의 화면은 eth0 (첫번째 이더넷드라이브 = 랜카드) 의 IP와 netmask를 미리 알고있는 정보로 넣습니다. 만약 고정아이피가 없다면 DHCP를 선택합니다.
20_Network_detail.png
고정아이피로 잡고 들어왔다면 세부설정으로 Gateway, DNS 서버를 입력합니다.
이부분은 잘못설정하였다고 하더라고 설치가 끝난후 수정할수있습니다.
21_Hostname.png
Hostname 설정으로 이곳의 설정과 외부로의 네트워크와는 상관이 없습니다. 보통 서리를 끝내고 리부팅하게 되고 처음 root로 로그인을하면 이 이름으로 쉘이 떨어집니다. 그러니까 내부에서만 인정해주는 자신의 이름입니다.
22_Firewall.png
iptables라는 아이피 혹은 아이피 대역으로 접속을 차단하고 허용하는 방화벽 설정입니다. 역시 설치후 사용옵션을 변경(ntsysv 명령어로)할수있습니다. 하지만 초보자에게는 이 방화벽때문에 안되는 몇몇 기능들에 불편함을 느낄수있기에 위와같이 No firewall 을 선택하고 차 후 방화벽기능이 필요할때는 Enable로 설정하면 됩니다.
참고로 Enable로 하고 Customize 를 선택하면 내가지의 서비스들에 관하여 방화벽적용을 하겠느냐라는 항목이 나옵니다.
방화벽 포트 : SSH => 22번포트, HTTP => 80번포트, FTP => 21번 20번포트, SMTP => 25번포트, 기타 110(pop3, 53(dns))
23_Warning-NoFirewall.png
앞에서 No firewall을 선택했기때문에 정말 이설정대로 갈건지에 대한 내용이다. proceed를 선택한다.
24_SecurityEnhanced.png
SELinux 라고 하는데 기존에 리눅서 서버에서 보안이라고 하며 아이피를 가지고 하는 것이 전부였지만 이것은 특정 디렉토리는 어디서만 실행해라.. 넌 여기에만 있어라. 등의 개념으로 퍼미션을 이용하여 좀더 높은 보안을 확보할수있다. 보통 다른서비스들의 설치 위치나 서비스함에 있어 규칙의 틀이 강하게 되므 잘 사용은 하지 않으나 보안쪽으로 초점을 마추어 공부해볼려 한다면 위 이미지처럼 Active를 선택해본다.(아마 프로그램까지 설치다하고 않되는 기능들이 보일것이다. 특히 네임서버 등등.. ^^)
25_LanguageSupport.png
여기서 선택하는 언어가 실제 OS에서 사용될 언어들이다.
26_DefaultLanguage.png
기본언어를 지정한다.
27_TimeZone.png
Time Zone 을 아시아/서울 로 맞춘다.
28_RootPassword.png
루트 패스워드 설정부분이다. 문자,숫자,특수문자 썩어서 만드는것을 권장한다.
29_PackageGroup.png
이제 패키지 선택하는 부분인데 위에 선택한것이 컴파일을 포함한다. 다른것은 설치후 패키지를 설치해주거나 컴파일하여 설치할수있는데 컴파일러가 없으면 다른 패키지들을 컴파일할수없으므로 위의 저항목은 최소한 선택하길 바란다. 공부를 위해서라면 아무것도 설치 않해도 OS는 정상적으로 설치된다.
30_InstallationBegin.png
설치가 끝난 후 설치된 패키지 로그(/etc/install.log)를 볼건지에 대한 설정이다.
31_RequiredInstallMedia.png
이부분에서 조심할것이 앞에서 쭉 설정하다가 이부분에서 실수로 바로 엔터를 눌러버리면 이제까지 했던 설정들이 다 없어져버리고 리부팅 되므로 패키지 선택이 나오면 다음단계인 이 항목이서 조심하길 바란다. Cuntinue를 선택한다.
32_PackageInstallation.png
패키지를 인스톨할 준비를 하고있다.
33_PackageInstallation2.png
패키지가 설치되고있다.
34_ChangeCDROM.png
위 그림은 두번째 시디를 넣는다
35_ChangeCDROM2.png
위에서 셋팅한데로 설정했으면 마지막 3번째장을 넣으라하고 이것을 설치하고 끝난다.
36_PostInstall.png
설치가 모두 끝나고 설치정보를 정리한다.
37_Complete.png
설치가 완전히 끝나고 reboot를 해준다.
39_start.png
reboot 하면서 CentOS 4.2 를 볼수있을것이다.

많이 모르지만 내가아는 정보는 최대한 전달하려고 이번강좌에서 노력했다. 노력해도 다른 분들에게는 많이 미비하고 틀린부분도 있을 수 있기때문에 그런점이 발견되면 아래주소로 메일로 알려주며 바로 수정하도록 하겠다.
 
 
 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,041 명
  • 현재 강좌수 :  35,855 개
  • 현재 접속자 :  117 명