최초 부팅

설치후 재부팅을 하면 다음과 같이 5초 내에 부팅한다는 메시지가 나오며 부팅이 진행된다. 

RHEL 도 동일한 메시지가 표시되나 제품명만 CentOS 대신 Red Hat Enterprise Linux 로 표시된다.

 

만약 임의의 키를 누르면 GRUB 부트 매니저의 메뉴가 표시되므로 부팅할 커널을 선택하거나 부팅 옵션을 추가/변경할 수 있다.

최초 설치이므로 커널이 하나밖에 없으나 커널 업데이트가 되었을 경우 예전 커널은 그대로 놔두고 새로운 커널을 추가하고 GRUB 에 등록하므로 메뉴에서 선택할 수 있는 커널 갯수가 증가한다.

정상적으로 부팅이 진행된다면 아래와 같이 텍스트 기반의 진행바가 표시된다. 진행바 표시도 RHEL 과 CentOS 가 약간 다르다.

기다리면 로그인 프롬프트가 표시된다. login: 에 root 를 넣고 설치시에 설정한 암호를 입력하여 로그인하자.

 

정상적으로 로그인 되었다면 먼저 할 일은 네트워크가 정상적으로 동작하는지 여부이다. 네트워크가 설정이 되어야 콘솔이 아닌 윈도나 Mac OS X 등의 데스크탑에서 연결할 수 있으며 yum 으로 시스템도 업데이트할 수 있다.

네트워크 확인

먼저 명령행 기반으로 http 로 데이타를 가져올 수 있는 유틸리티인 curl 로 네트워크의 정상 동작 여부를 확인해 보자.

nslookup google.com Non-authoritative answer: Name: google.com Address: 1.255.33.173 Name: google.com

 

만약 위와 같은 결과가 나오지 않는다면 네트워크가 정상적으로 설정되지 않았거나 서버의 네트워크가 문제가 있는 것이다. CentOS의 네트워크의 설정을 담고 있는 파일은 /etc/sysconfig/network-scripts/ifcfg-ethX 이다. X 는 숫자이며 0 부터 시작되며 NIC의 숫자만큼 ifcfg-ethX 파일이 존재한다. 설치시에 네트워크를 설정한 NIC 숫자에 맞는 파일(예: /etc/sysconfig/network-scripts/ifcfg-eth0)을 에디터로 열어서 설정을 확인해 보자.

DEVICE=eth0
TYPE=Ethernet
UUID=1dd5dbd2-fbcc-4e7b-9b8b-39d8596476e5
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
HWADDR=00:0C:29:08:2E:20
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
NETMASK=255.255.255.0
GATEWAY=192.168.152.2
DNS1=192.168.152.2
IPADDR=192.168.152.131

네트워크가 안 될 경우 다음 항목을 점검해 보아야한다.

  • ONBOOT
     "yes" 로 설정되야 시스템 부팅시 자동으로 네트워크를 설정한다.
  • NM_CONTROLLED
    "yes" 로 설정되어 있으면 네트워크 관리 데몬 프로그램인 NetworkManager 가 네트워크 인터페이스의 변경을 감지하고 자동으로 설정을 반영한다. 리눅스를 데스크탑으로 사용할 경우 유용할 수 있지만서버는 NetworkManager 을 사용하지 않는게 안전하므로 "no" 로 설정하자.
  • NETMASK
    CentOS 서버가 위치한 네트워크의 환경에 맞게 넷마스크를 설정한다.
  • GATEWAY
    네트워크 게이트웨어 IP 를 설정한다.
  • DNS1
     도메인 이름을 IP 로 변경해 주는 DNS 서버의 IP 를 설정한다. 사내에 있다면 사내의 IP 를 사용하고 아니면 구글이 제공하는 공개 DNS인 8.8.8.8 나 8.8.4.4 를 사용하면 된다. 두 개를 사용할 경우 두 번째 DNS 는 DNS2 항목으로 설정해야 한다.
  • IPADDR
    CentOS 서버의 IP가 정확한지 확인해보자.

 

설정이 완료되었으면 다음 명령어로 네트워크를 재구동한다. service 명령어에 대해서는 다음 장에서 알아보자.

service network restart

ssh client 설정

리눅스를 사용할 경우 부팅이 안 되서 복구할 경우등 특별한 이유가 있지 않은 이상 콘솔에서 작업을 하지 않고 리모트에서 네트워크로 연결해서 작업을 하게 된다.

예전에 많이 사용하던 프로토콜인 텔넷은 데이타가 평문으로 노출되고 아이디와 암호외엔 인증 수단이 없는 등 여러 보안 취약점이 있으므로 CentOS 는 SSH만 사용하며 텔넷은 클라이언트와 서버 모두 기본적으로 설치되지 않는다.

독자들은 대개 윈도를 클라이언트로 사용할테니 윈도용 ssh 클라이언트로 CentOS 서버를 연결하기 위한 최적의 설정을 알아보자.

SecureCRT

Vandyke Software 라는 회사에서 개발한 SSH/Telnet/Terminal 에뮬레이터이다. 상용이라 구매해야 사용할 수 있지만 기능이 뛰어난 SSH 클라이언트로 유닉스 터미널을 가장 잘 에뮬레이션하는 장점이 있다. 회사에서 구매가 가능하다면 SecureCRT 를 사용하여 CentOS 서버에 연결하자.

 

설정

  1. SecureCRT 를 구동 한후에 연결할 CentOS 서버의 정보를 설정해 보자. Connect 창을 띄운 후에 New Session 을 클릭하여 세션 창을 연다.

  2. 먼저 Connection 항목을 설정해 보자. Name 에 세션의 이름을 넣는다. 이 부분은 실제 서버의 도메인이나 IP 와 상관없이 식별 가능한 이름을 넣으면 된다.그리고 중요한 항목은 Protocol 부분이다. SecureCRT 는 기본적으로 SSH1 으로 설정되어 있으나 CentOS 의 SSH2 는 보안 문제때문에 SSH1 이 비활성화되어 있다. 꼭 프로토컬을 SSH2 로 변경하자.

  3. SSH2 설정으로 이동하여 Hostname: 은 연결할 서버의 도메인명이란 IP 를 설정한다. SSH 는 기본적으로 22 번 포트를 사용하므로 기본 설정이라는 Port 는 수정할 필요가 없다. 다음은 Username: 항목은사용자의 id 를 입력한다. root 로 로그인하는 것은 좋은 습관이 아니지만 처음 설치하고 시스템 업그레이드를 해야 하니 일단은 root 로 설정하자.

  4. 이제 Terminal -> Emulation 항목을 설정해 보자. 기본값은 VT100 터미널로 설정되어 있는데 이럴 경우 vim 등의 터미널 프로그램에서 컬러 표시가 제대로 되지 않아 가독성이 떨어진다. SecureCRT 는 Linux 전용 터미널 설정이 있으니 그 걸 사용하고 Ansi Color 도 체크를 하자.

  5. Appearance 는 글꼴과 언어를 설정하는 항목이다. 기본 글꼴인 vt100 은 가독성도 안 좋고 한글 문제가 있으므로 Font 를 클릭해서 수정하자.

    글꼴 설정화면에서 선호하는 글꼴을 선택하고 스타일과 크기를 선택하자. 주의할 점은 하단의 스크립트 가 한글이어야 터미날에서 제대로 한글이 표시된다.

  6. CentOS 는 기본 문자 설정이 UTF-8 이다. 글꼴 설정을 완료한 후에 Character encoding 이 Default 로 설정되어 있는 부분을 UTF-8 로 변경하자. 그리고 하단의 Use Unicode line-drawing characters 을 체크한다.

  7. 이제 필요 설정이 끝났다 .Ok 를 눌러서 저장한다.

 

Putty

putty 는 ssh와 텔넷을 구현한 공개 프로그램으로 윈도와 유닉스를 지원한다. 비용 부담없이 사용할 수 있으므로 SecureCRT 를 사지 못하는 환경에서는 좋은 선택이다. putty 는 인터넷에서 손쉽게 구할 수 있으므로 다운로드와 설치에 대해서는 언급하지 않겠다.

 

설정

  1. putty 를 구동한 하면 Session 탭이 펼쳐진다. Host Name 에 CentOS 의 IP나 도메인 명을 넣고 Saved Sessions 에 식별할 세션명을 설정해 주자. 설정이 끝났으면 좌측의 Save 를 눌러야 세션 정보가 저장된다.

  2. 이제 글꼴을 선택해 보자. 좌측의 Windows -> Appearance 를 선택하면 Font settings 항목이 표시된다. Change 를 눌러서 글꼴을 변경하자. 글꼴 설정은 윈도 공통이므로 위의 SecureCRT 와 동일하게 설정하면 된다. 마찬가지로 스크립트 에 한글을 선택하자.

  3. Tranlation 항목을 클릭하면 인코딩을 설정할 수 있다. 기본 문자열 집합은 Use font encoding 으로 설정되어 있는데 이 경우 한글이 제대로 표시되지 않는다. 리스트중에서 UTF-8 을 찾아서 설정하자.

  4. 이제 설정이 끝났다. 다시 Session 항목으로 가서 Save 를 눌러주면 세션 설정이 저장된다.

서버에 연결

SecureCRT 나 putty 설정이 끝났으면 CentOS 서버에 연결해 보자. SSH2 는 서버의 공개키(Public Key)를 사용하여 암호화할 키를 생성한다. 이때 서버의 공개키가 SSH 클라이언트의 서버 목록에 등록되어 있지 않으면 해당 서버로 연결을 허용하겠느냐는 메시지를 띄우게 된다.

SecureCRT 는 Accept & Save 를 putty는 Y 를 누르면 서버의 공개키가 등록되므로 다음번에는 묻지 않는다. Y 를 눌러서 서버에 연결을 진행해 보자.

암호를 넣으라는 창이 뜨면 설치시 입력한 root 암호를 입력하면 서버에 연결이 된다.

 

이제 시스템에 로그인했으니 yum 명령어로 시스템을 업데이트 할 수 있지만 RHEL 은 상용이므로 서브 스크립션을 구매하고 이를 등록해야 yum 명령어를 제대로 사용할 수 있다. 

RHEL 서브 스크립션 등록

서브 스크립션 등록은 RHEL 을 설치했을 경우에만 해당하며 CentOS 사용자는 건너뛰면 된다.

내부 네크워크에 전 절에서 설명한 Red Hat Network Satellite 서버가 있다면 이를 등록하고 아니면 RHN(Red Hat Network) 에 연결한다. RHN 에 연결하려면 서버가 외부로 연결 가능해야 한다.

서브 스크립션을 등록하는 명령어는 rhn_register 이다. 

  1. root 로 rhn_register 명령을 실행한다. 
  2. 초기 안내 화면이 표시되면 탭 키를  눌러서 다음 이 선택되게 한 후에 엔터를 눌러 진행한다. 

  3. rhn.redhat.com 의 계정을 입력하고 다음을 눌러서 등록을 진행하면 된다.

성공적으로 등록이 되었다면 RHEL 에서도 yum 을 사용할 수 있다. 

 

패키지 업데이트

소프트웨어의 버그 수정 및 보안 문제점을 해결하고 안정적으로 리눅스 시스템을 운영하기 위해서는 패키지 업데이트 작업이 필수이다.

특히 최초로 설치했을 경우 네트워크 설정이 되었다면 제일 먼저 패키지 업데이트를 수행하고 재부팅 해주는게 좋다.

패키지 업데이트는 yum 이라는 패키지 관리 명령을 통해 수행 가능하다.  yum 명령어는 뒤에서 자세히 다룰 예정이니 업데이트를 위한 사용법만 알아보자.

yum update   

 

위 명령어를 수행하면 yum 저장소 서버에 연결하여 현재 설치된 패키지중 버그나 보안 패치가 있는지 확인후에 업데이트를 진행한다. CentOS 는 호스팅 업체등에서 자유롭게 연결할 수 있는 yum 저장소 서버를 제공하며 가까운 yum 저장소 서버를 찾는 fast-mirror 라는 플러그인이 기본적으로 내장되어 있으므로 별도로 설정할 부분은 없다.

yum update 를 실행하면 아래와 같이 업데이트 되는 패키지의 정보가 출력되고 설치할 지 묻는 창이 표시된다. Y 를 눌러서 다음으로 진행하자.

패키지를 다운로드후 설치하는 과정을 표시해 준다. 처음 업데이트하면 보통 꽤 많은 패키지를 업데이트 하므로 시간이 꽤 소요된다. 커피를 한 잔 타와서 작업이 완료되기를 기다려 보자.

업데이트가 완료되면 Complete 라는 메시지가 표시되며 다시 프롬프트로 떨어진다. shutdown -r now 를 입력하여 시스템을 재시작하자.

일반적으로는 패키지를 업데이트했다고 시스템을 재시작할 필요는 없다.

꼭 리부팅 해야 할 경우는 kernel 업데이트 때인데 설치후 첫 업데이트시 보통 kernel 이 업데이트 되므로 재시작 한 것이다.