CentOS 6 Minimal 설치

CentOS 6 Minimal 설치 준비

ㅇㅇ아아앙

What is CentOS?

CentOS is an Enterprise Linux distribution based on the freely available sources from Red Hat Enterprise Linux. Each CentOS version is supported for 7 years (by means of security updates). A new CentOS version is released every 2 years and each CentOS version is periodically updated (roughly every 6 months) to support newer hardware. This results in a secure, low-maintenance, reliable, predictable and reproducible Linux environment.

설치 이미지 준비를 먼저 해야한다. CentOS 공식 홈페이지에 가서 직접 다운로드 받거나, 토렌토(Torrent)를 이용해서 받으면 된다.

http://isoredirect.centos.org/centos/6/isos/

요즘의 대부분의 PC를은 64Bit CPU이므로 x86_64를 다운로드 받아 DVD로 구우면 되겠다. 가상머신을 이용하는 경우에는 ISO 파일 그대로 사용하게 된다.
CentOS(RHEL) 6의 바뀐점은 다음 자료에 좀더 간략히 요약되어 있다. 
Red Hat Enterprise Linux 6 Technical Overview - 
http://www.redhat.com/f/pdf/tburke_rhel6_full_webinar_loopback.pdf

설치 DVD로 부팅

DVD를 드라이브에 넣고 BIOS 설정을 DVD에서 부트하도록 설정 시작합니다. 그러면 다음과 같은 시작 옵션이 있습니다. 여기에서 Install or upgrade an exissting system을 선택합니다.

다음 화면에서는 미디어에 오류가 있는지 검사를 수행할지 선택하는 화면입니다. 보통 Skip을 합니다.

설치 화면 설명

screenshot-0000

Next를 선택하여, 다음 화면으로 넘어가자.

screenshot-0001

설치 및 설치후에 사용할 언어를 선택한다.

screenshot-0002

키보드 자판을 선택한다. 기본 선택값인 U.S. English를 사용하면 된다.

screenshot-0003

설치할 Disk의 유형을 선택합니다. 일반적인 Sata나 SAS환경이라면 BASIC을 선택하면 됩니다.

screenshot-0004

선택한 Disk장치를 초기화 할 것인지 묻는 화면입니다. 전체 Disk영역에 대한 초기화(Initialize)를 선택합니다.

screenshot-0005

서버의 이름을 설정합니다. test1.crystalljun.kr 이렇게 FQDN형식으로 입력하는 게 보통입니다.

Configure Network 설정 화면 추가

screenshot-0006

시간 표시에 사용되는 Time zone을 설정합니다. Asia/Seoul을 선택합니다.

screenshot-0007

서버의 관리자 권한인 root 계정의 암호를 설정합니다.

screenshot-0008

설치 작업시 Disk를 어떻게 사용할 것인가 결정하는 화면입니다. 본 책에서는 모든 Disk영역을 Linux용으로 사용할 것이이 때문에 Use All Space를 선택하였습니다.

그리고 Review and modify partitioning layout을 선택하여, Disk를 어떻게 사용하는지 확인합니다.

screenshot-0009

Review and modify partitioning layout을 선택했다면 볼수 있는 화면입니다. 여기서 자동으로 설정된 Disk 구조(파티션)을 변경하거나 다시 작성할 수 있습니다. 변동사항이 없다면 Next를 선택합니다.

screenshot-0010

Disk를 Format한다는 경고입니다. Format을 선택하여 계속 진행합니다.

screenshot-0011

Write changes to disk를 선택하여 Format 작업 진행시킵니다.

screenshot-0012

Format되고 있는 화면입니다.

screenshot-0013

리눅스 부트로더 설치와 관련한 설정화면입니다. 기본값으로 사용하면 됩니다.

screenshot-0014

실제 CentOS 6의 기본 프로그램 설치를 어떤 구성으로 할지 선택하는 부분입니다.

screenshot-0015

Basic Server로 변경합니다. Minimal 설치보다는 기본으로 설치되는 관리 프로그램이 있어서 사용하기에 더 편리합니다.

screenshot-0016

이전 단계에서 Customize now를 선택했을 경우 보이는 화면입니다. 기본 패키지 구성에서 설치할 패키지를 제거, 추가 할 수 있습니다.

screenshot-0020

CentOS 6의 프로그램들이 설치되는 화면입니다.

screenshot-0021

설치가 완료되었습니다. Reboot를 선택하여 자동으로 재부팅되며 CentOS로 부팅됩니다.

CentOS 6.2 Miminal X86-64 기본 설치 후 정보

커널 버젼

[root@gserver1 ~]# uname -a
Linux gserver1 2.6.32-220.el6.x86_64 #1 SMP Tue Dec 6 19:48:22 GMT 2011 x86_64 x                                                                              86_64 x86_64 GNU/Linux

설치 용량 및 패키지 갯수

[root@gserver1 ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_gserver1-lv_root
                      5.5G  643M  4.6G  13% /
tmpfs                 499M     0  499M   0% /dev/shm
/dev/sda1             485M   40M  421M   9% /boot


[root@gserver1 ~]# rpm -qa | wc -l
209

실행되는 서비스 프로세스

[root@gserver1 ~]# netstat -anlpt | grep LISTEN
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      981/rpcbind
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1118/sshd
tcp        0      0 0.0.0.0:46620               0.0.0.0:*                   LISTEN      1000/rpc.statd
tcp        0      0 :::111                      :::*                        LISTEN      981/rpcbind
tcp        0      0 :::22                       :::*                        LISTEN      1118/sshd
tcp        0      0 :::40905                    :::*                        LISTEN      1000/rpc.statd

[root@gserver1 ~]# who -r
         run-level 3  2011-12-21 16:21

[root@gserver1 ~]# chkconfig --list | grep "3:on"
auditd          0:off   1:off   2:on    3:on    4:on    5:on    6:off
fcoe            0:off   1:off   2:on    3:on    4:on    5:on    6:off
ip6tables       0:off   1:off   2:on    3:on    4:on    5:on    6:off
iptables        0:off   1:off   2:on    3:on    4:on    5:on    6:off
iscsi           0:off   1:off   2:off   3:on    4:on    5:on    6:off
iscsid          0:off   1:off   2:off   3:on    4:on    5:on    6:off
lldpad          0:off   1:off   2:on    3:on    4:on    5:on    6:off
lvm2-monitor    0:off   1:on    2:on    3:on    4:on    5:on    6:off
netfs           0:off   1:off   2:off   3:on    4:on    5:on    6:off
network         0:off   1:off   2:on    3:on    4:on    5:on    6:off
nfslock         0:off   1:off   2:off   3:on    4:on    5:on    6:off
rpcbind         0:off   1:off   2:on    3:on    4:on    5:on    6:off
rpcgssd         0:off   1:off   2:off   3:on    4:on    5:on    6:off
rpcidmapd       0:off   1:off   2:off   3:on    4:on    5:on    6:off
rsyslog         0:off   1:off   2:on    3:on    4:on    5:on    6:off
sshd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
udev-post       0:off   1:on    2:on    3:on    4:on    5:on    6:off

[root@gserver1 ~]# free -m
             total       used       free     shared    buffers     cached
Mem:           996        137        859          0          4         49
-/+ buffers/cache:         82        913
Swap:         2015          0       2015

기본 보안 정책

방화벽인 iptables가 활성화 되어 있으며, ssh 포트(TCP 22)가 허용되어 있다.

[root@gserver1 ~]# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED
ACCEPT     icmp --  anywhere             anywhere
ACCEPT     all  --  anywhere             anywhere
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ssh
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

OS 보안 모듈인 SELinux가 활성화 되어 있다.

[root@gserver1 ~]# sestatus 
SELinux status:                 enabled
SELinuxfs mount:                /selinux
Current mode:                   permissive
Mode from config file:          permissive
Policy version:                 24
Policy from config file:        targeted

네트워크 설정

윈도우 및 기존 CentOS 5.x 버전때와는 다르게 설치되고 나서 네트워크가 바로 동작하지 않는다.
물론 설치화면을 자세히 보면 설정할 수도 있다.  어찌되었건 NIC가 OS에 인식은 되어 있으나, 활성화가 되어 있지 않도록 되어있다. 
이를 변경하고, IP와 게이트웨이, 넷마스크, DNS서버 등을 설정하고 재시작하면 네트워크를 사용할 수 있다.
ifconfig eth0 192.168.0.10
echo "nameserver 192.168.0.1" >> /etc/resolv.conf
route add default gw 192.168.0.1 eth0

/etc/sysconfig/network-scritpts/ifcfg-eth0

DEVICE=eth0
HWADDR=00:02:B3:B0:09:0B
NM_CONTROLLED=yes
ONBOOT=yes
IPADDR=192.168.0.11
BOOTPROTO=none
NETMASK=255.255.255.0
TYPE=Ethernet
GATEWAY=192.168.1.1
IPV6INIT=no
USERCTL=no

문제해결

udev: renamed network interface eth0 to eth1

udev: renamed network interface eth0 to eth1 와 같이 messages나 dmesg에서 나오면 ifconfig에서 올라와도..장치가 제대로 동작하지 않는다.

일단 rm /etc/udev/rules.d/70-persistent-net.rules 명령을 한 후 재부팅한다. 삭제된 파일은 재부팅 되면서 udev가 다시 만들어 준다. 그래도 제대로 안되면 /etc/udev/rules.d/70-persistent-net.rules 파일을 직접 변경한다.

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1b:b9:xx:xx:xx", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"

NAME="eth1" 이부분을 바꾸어본다. 물론 /etc/sysconfig/network-scritpts/ifcfg-eth?와 일치시켜주어야 하겠다.

참고자료

http://blog.naver.com/PostView.nhn?blogId=parkgimi&logNo=120140867676

http://starnixhacks.blogspot.com/2010/09/udev-renamed-network-interface-eth0-to.html

http://www.numango.com/5207_linux-udev-renamed-network.html