|  Main  |  Profile  |  Work Sheet  |

| Work Sheet #4 | Work Sheet #5 | Work Sheet #6 | Work Sheet #7 |

| Work Sheet #8 | Work Sheet #9 | Work Sheet #10 | Final Work Sheet |


 

[ Work Sheet #4 ]


4-1. RHL9 의 설치 과정


   - RHL9을 GUI환경의 CD설치시를 기준으로 합니다.  

   ① 언어 선택

      - GUI환경 설치과정에서 사용할 언어를 선택합니다.

   ② 키보드 설정

   ③ 마우스 설정

   ④ 업그레이드 및 설치 여부 결정

      - 이미 리눅스가 설치되어 있을 경우 업그레이드 또는 설치를 선택할 수 있고, 그렇지 않으면 설치를 실행합         니다.

   ⑤ 설치 유형 선택

      - 개인용 데스크탑, 워크스테이션, 서버, 사용자 설치 중 선택합니다.   

   ⑥ 디스크 파티션 설정

      - 자동 파티션/수동 파티션 중 선택합니다.   

   ⑦ 파티션 분할

      - 자동 파티션을 선택하면 프로그램이 알아서 파티션을 하고, 수동 파티션을 선택하였으면 Disk Druid의 GUI         환경에서 파티션을 설정할 수 있습니다.

   ⑧ 부트로더 설정

      - 부트로더를 설치할 곳을 선택합니다.

   ⑨ 네트워크 설정

      - 네트워크 장치가 있다면, 부팅시 활성화 여부와 IP/DNS등을 설정할 수 있습니다.

   ⑩ 방화벽 설정

      - 방화벽 설정 여부와 수준을 선택할 수 있습니다.

   ⑪ 언어 선택

      - 리눅스에서 사용할 언어를 선택할 수 있습니다.   

   ⑫ 지역별 시간대 선택

      - 사용자가 속한 지역을 선택하여 시간을 설정할 수 있습니다.

   ⑬ 루트 암호 설정

      - 루트 계정의 암호를 설정합니다.

   ⑭ 인증 설정

      - 네트워크 암호를 설정합니다.

   ⑮ 패키지 그룹 선택

      - 사용자가 사용할 패키지를 수동/자동적으로 선택합니다.

   ⑯ 패키지 그룹 설치   

   ⑰ 부팅 디스켓 만들기

   ⑱ 비디오 카드 설정   

   ⑲ 모니터 설정  

   ⑳ 설치 완료

 

4-2. time & date 설정 과정


   - 바탕화면에서

      Main Menu Button -> System Setting -> Date & Time 선택

   -  터미널에서

      redhat-config-date 입력


4-3. cdrom의 mount & unmount 과정


   - mount : 쉘 프롬프트에서 mount /mnt/cdrom 입력

   - unmount : 쉘 프롬프트에서 unmount /mnt/cdrom 입력


4-4. RHL에서 이용한 Web Browser의 이름


   - Mozilla -> 선호 web browser

   - Galeon


4-5. RHL에서 이용한 email client


   - Evolution -> 선호 email client

   - Mozilla Mail

   -Text-based email clients(ex: Mutt)


4-6. OpenOffice.org 그룹의 프로그램 목록


   - Writer : 워드프로그램, MS-Word/한글 타입의 프로그램

   - Calc : MS-Excel 타입의 프로그램

   - Impress : 프리젠테이션 프로그램, MS-PowerPoint 타입의 프로그램.

   - Draw : 그래픽프로그램, 그림판 타입의 프로그램


4-7. Desktop 환경의 주요 메뉴

 

 

[ Work Sheet #5 ]


5-1. swap 공간의 필요성을 정리하고 설치 과정을 요약할 것

   - 물리메모리(RAM)의 공간을 모두 사용하고 있거나, 부족할 경우 하드 드라이브를 메모리로 대체하여 사용

   - 설치 과정

      : parted를 이용하여 swap공간을 만든다.

      : mkswap을 이용하여 swap파티션을 설치한다.

      : swapon을 이용하여 swap파티션을 실행

         -> 부팅시 실행시킬려면 /etc/fstab파일에 설정문을 추가한다.


5-2. RAID의 필요성과 각 level을 정리하고 설정 과정을 요약할 것

   - 시스템 관리자와 같이 대량의 데이터를 관리하는 사람에게 유용

   - 필요성

     : 빠른 입출력 속도

     : 하나의 가상 디스크를 사용함으로서 저장 공간을 확대

     :디스크가 고장날 경우 데이터가 손실될 가능성을 줄임

   - Level

    - Level 0

       빠른 입출력 속도가 요구되나 장애 복구 능력은 필요 없는 경우, 장애 발생에 대비한 여분의 저장공간을 갖        지 않는다.

       데이터는 빠른 입출력이 가능하도록 여러 드라이브에 분산되고, 여분의 정보를 기록하지 않기 때문에 성능        은 매우 뛰어나다.

    - Level 1

     : 빠른 기록 속도와 함께 장애 복구 능력이 요구되는 경우에 사용

     : 2대의 드라이브만으로 구성할 수 있기 때문에 작은 시스템에 적합하다.

     : 한 드라이브에 기록되는 모든 데이터를 다른 드라이브에 복사해 놓는 방법으로 복구능력을 제공한다.

     : 하나의 드라이브를 사용하는 것에 비해 약간 나은 정도의 성능을 제공한다. (읽을때 더 빠르며, 쓸 때는 약       간 느리다. 하지만 ECC를 계산하지 않기 때문에 RAID4나5보다는 빠르다.)

     : 단 두대의 드라이브만으로 시작할 수 있기 때문에 RAID 시스템을 처음 구축하는 사람에게 입문용으로 적합        하다.

     : 하지만, 전체 용량의 절반이 여분의 데이터를 기록하기 위해 사용되기 때문에 저장용량당 단가가 비싸다.

    - Level 4

     : 저렴한 가격으로 장애 복구 능력이 요구되거나 빠른 판독 속도가 필요한 경우에 사         용된다.

     : 한 드라이브에 패리티 정보를 저장하고 나머지 드라이브들 사이에 데이터를 블럭          단위로 분산한다.

     : 패리티 정보는 어느 한 드라이브에 장애가 발생했을때 데이터를 복구할 수 있게 해         준다.

     : Level 4 array는 데이터를 읽어들일 때 level 0에 필적하는 매우 우수한 성능을 보이나, 쓸때는 매번 패리티       정보를 갱신하기 때문에 추가적인 시간을 필요로 한다.

    - Level 5

     : 작고 랜덤한 입출력이 많은 경우 더 나은 성능을 제공한다.

     : 빠른 기록속도가 필수적이지 않는다면, 일반적인 다중사용자 환경을 위해 가장 좋은선택이다. 그러나 최소       한 3대, 일반적으로는 5대 이상의 드라이브가 필요하다.

     : 패리티 정보를 모든 드라이브에 나누어 기록한다.

     : 패리티를 담당하는 디스크가 병목현상을 일으키지 않기 때문에, level 5는 멀티프로세스 시스템에서와 같이       작고 잦은 데이터 기록이 있을 경우 더 빠르다.

     : 하지만, 읽어 들이기만 할 경우 각 드라이브에서 패리티 정보를 건너뛰어야 하기 때문에 level 4 array보다       상당히 느리다. 용량당 비용은 level 4와 같다.


5-3. disk quota의 필요성을 정리하고 설정 과정을 요약할 것

   - 사용자나 그룹이 가질 수 있는 inode의 수, 또는 사용자나 그룹에게 할당된 디스크 블럭의 수를 제한함으로      써, 디스크 저장 장치의 사용을 제한할 수 있게해준다.  

   - Quota의 기본 개념은 사용자가 그들에게 부여된 디스크의 제한 용량 이상으로 사용

     하지 못하게 하며, 시스템의 디스크 공간을 무제한적으로 사용하지 못하게 한다.

   - Quota는 사용자 별, 파일 시스템 별로 동작된다. 한 사용자에 파일을 만들 수 있는

     파일 시스템이 하나 이상이라면, 각각의 파일 시스템에 개별적으로 Quota를 설정해

     줘야 한다.

   - 설정 과정

     : fstab의 내용을 수정

        - User 별 quota 적용시 fstab 에 userquota 추가

        - Group 별 quota 적용시 fstab 에 grpqouta 추가

     : 시스템 재부팅 후 quota 파일 생성

     : 사용자(또는 그룹) 별 적용


5-4. network administration tool을 이용한 망 설정 과정을 요약할 것

   - GUI : 패널에서 주 메뉴 버튼 => 시스템 설정 => 네트워크

   - shell : redhat-config-network 명령을 입력

   - 설정 과정

     : 하드웨어 목록에 물리적 하드웨어 장치를 추가

     : 물리적 하드웨어 장치와 연관된 네트워크 장치를 추가

     : 호스트명과 DNS 셋팅을 설정

     : DNS를 통하여 검색할 수 없는 호스트를 설정


5-5. firewall 개념을 정리하고 iptables 설정 과정을 요약할 것

   - 컴퓨터 바이러스가 컴퓨터에 퍼지는 것을 방지하며 허가가 없는 사용자가 컴퓨터에침입하는 것을 방지하는      역할을 합니다.

   - 방화벽은 네트워크 상의 원격 사용자들이 여러분의 컴퓨터에서 접근할 수 있는 서비스의 종류를 결정합니      다.

   - iptables 설정 과정(GNOME Lokkit사용)

     : GUI : 주 메뉴 버튼 => 시스템 도구 => 추가 시스템 도구 => Lokkit

        Shell : gnome-lokkit

     : 기본 설정

        -시스템에 맞는 적절한 보안 수준을 선택

         (최상위 보안, 하위 보안 방화벽, 사용하지 않음 중 선택)

     : 로컬 호스트

        - 각 장치에 보내진 접속 요청에 방화벽 규칙을 적용할 것이지 여부를 설정

     : DHCP

        -  DHCP 사용여부 결정

     : 서비스 설정

        - 사용할 서비스(웹 서버, 수신 메일, 보안 쉘, 텔넷)를 선택

     : 방화벽 활성화

        - 방화벽 설정을 /etc/sysconfig/iptables 파일에 기록 후 iptables 서비스 시작

 

6. RHL에서 제공하는 네트워크 서비스를 정리하고 실행 과정을 요약할 것

 

7. SSH 필요성을 정리하고 openssh 설정과정을 요약할 것

   - OpenSSH 도구는 컴퓨터의 보안을 강화시킵니다. 그 이유는 OpenSSH 도구를 사용하는 모든 통신 (예, 암      호)은 암호화되기 때문입니다. Telnet과 ftp는 평문 암호를 사용하여 모든 정보를 암호화되지 않은 채로 전송      합니다. 따라서 누군가 중간에서 정보를 가로채어 암호를 복구할 가능성이 있습니다. 가로챈 패스워드를 사      용하여 접근 권한이 없는 사용자가 시스템에 로그인한 후 시스템을 손상시킬 수도 있습니다. 이와 같은 보안      문제가 발생하는 것을 방지하기 위해서는 가능한 항상 OpenSSH 유틸리티를 사용하셔야 합니다.

     OpenSSH를 사용하는 또 다른 이유는 OpenSSH는 클라이언트 컴퓨터로 DISPLAY 변수를 자동으로 전송한다      는 것입니다. 즉, 로컬 컴퓨터에서 X 윈도우 시스템을 실행 중에 ssh 명령을 사용하여 원격 컴퓨터로 로그인      한경우에, 원격 컴퓨터 상에서 X를 사용하는 프로그램을 실행하시면 그 프로그램은 로컬 컴퓨터 상에 나타날      것입니다. 그래픽 시스템 관리 도구를 자주 사용하신다면 이 방법이 편리하지만 항상 서버에 물리적으로 접      근하는 것은 아닙니다.

   - openssh 설정과정

     : ssh명령을 사용하여 원격 컴퓨터에 로그인

     : yes를 입력 계속 진행

     : 원격 컴퓨터에 접속하기 위한 암호를 입력


8. NFS의 필요성을 정리하고 NFS mounting과 exporting 과정을 요약할 것

   - NFS는 여러 명이 같이 사용되는 대용량 프로그램이나 데이터를 하나의 호스트에 넣어 두고 각 클라이언트들      은 이 호스트의 데이터가 들어있는 디렉토리를 마운트하여 사용한다. 따라서 디스크 공간 면에서도 많은 절      약을 가져올 수 있으며 각 각의 클라이언트마다 동일한 프로그램을 설치할 필요성도 없어지므로 관리면에서      매우 편리해진다.

   - NFS mounting

     mount 명령을 사용하여 다른 컴퓨터의 공유 NFS디렉토리를 로컬 컴퓨터 상에 마운트할 수 있습니다.

     /etc/fstab 를 사용 NFS파일 시스템 마운트하기 :  NFS 서버의 호스트명, 보내질 디렉토리명, NFS 공유가 마     운트될 로컬 컴퓨터 상의 디렉토리명이 언급되어야 합니다. /etc/fstab 파일을 수정하시려면, 루트로 로그인     하셔야 합니다.

    /etc/fstab에 첨가될 줄은 다음과 같은 형식으로 작성됩니다:

    server:/usr/local/pub    /pub   nfs    rsize=8192,wsize=8192,timeo=14,intr

    마운트 지점인 /pub 은 반드시 클라이언트 컴퓨터 상에 위치해야 합니다. 클라이언트 시스템에서 /etc/fstab     파일에 위의 줄을 첨가하신 후, 쉘 프롬프트에서 mount /pub 명령을 입력하시면, /pub 디렉토리가 마운트됩     니다.

    autofs를 사용하여 NFS 파일 시스템 마운트하기 : NFS 공유를 마운트하기 위한 세번째 옵션은 autofs를 사용     하는 것입니다. Autofs는 자동마운트 데몬을 사용하여 필요한 경우에만 마운트하는 동적 마운트 방식입니다.

    Autofs는 마스터 맵(map) 설정 파일인 /etc/auto.master를 참고하여 이미 정의된 마운트 지점을 알아냅니다.     그 후 각 마운트 지점에 사용되는 적절한 매개 변수를 가지고 자동 마운트 과정을 시작합니다. 마스터 맵 파일     은 한 줄마다 마운트 지점과 이 마운트 지점 아래에 마운트된 파일 시스템을 정의하는 별개의 맵 파일을 정의     합니다. 예를 들어, /etc/auto.misc 파일은 /misc 디렉토리 내의 마운트 지점들을 정의하는 맵 파일입니다; 이     러한 관계는 /etc/auto.master 파일에 정의되어 있습니다.

    auto.master 파일에 포함된 각 항목들은 3가지 부분으로 나뉘어 있습니다. 첫번재 부분은 마운트 지점이고,    두번째 부분은 맵 파일의 위치이며 세번째 부분은 있어도 되고 없어도 되는 선택 사항으로서 제한시간     (timeout) 값과 같은 정보가 포함됩니다.

   - NFS exporting

     패널에서 주 메뉴 버튼 => 시스템 설정 => 서버 설정 => NFS 서버를 선택하시거나, 쉘 프롬프트에서 redhat-      config-nfs 명령을 입력하시면 됩니다.

     NFS 공유를 추가하기 위해서 추가 버튼을 클릭

    기본 탭에서 다음과 같은 정보를 입력해 주십시오:

    디렉토리 — 공유할 디렉토리를 지정해 주십시오. 예, /tmp

    호스트(들) — 디렉토리를 공유할 호스트를 지정해 주십시오. 사용 가능한 호스트명 형식에 대한 설명을 원하     신다면, 16.3.2 절을 참조하시기 바랍니다.

    기본 허가 — 디렉토리에 적용될 읽기-전용 허가 또는 읽기/쓰기 허가를 지정해 주십시오.

    일반 옵션 탭에서는 다음과 같은 옵션을 설정 가능합니다:

    1024 이상 포트에서의 접속 허용 — 1024 이하 포트에서의 서비스는 루트 사용자만 시작할 수 있습니다. 루트     가 아닌 사용자가 시작한 NFS 서비스를 허용하시려면 이 옵션을 선택하십시오. 이 옵션은 insecure 명령에 해     당합니다.

    비보안 파일 잠금 허용 — 잠금 요청을 사용하지 않음. 이 옵션은 insecure_locks 명령에 해당합니다.

    하부구조 검사 사용않함 — 파일 시스템의 전체 디렉토리가 아닌 하부 디렉토리가 내보내진 경우, 서버는 내    보낸 하부 디렉토리에 요청된 파일이 존재하는지를 검사합니다. 이러한 검사 과정을 하부구조 검사라고 부릅    니다. 이 옵션을 선택하시면 하부구조 검사를 사용하지 않습니다. 전체 파일 시스템이 내보내진 경우에 이 옵    션을 선택하시면 하부구조 검사를 하지 않음으로서 전송률을 높일 수 있습니다. 이 옵션은 no_subtree_check    명령에 해당합니다.

    요청시 쓰기 작업을 동기화함 — 기본으로 선택되는 이 옵션은 변경 사항을 디스크에 기록하기 전에는 서버가    요청에 응답하는 것을 허용하지 않습니다. 이 옵션은 sync 명령에 해당합니다. 만일 이 옵션이 선택되지 않으    면, async 옵션이 사용됩니다.

    즉시 쓰기 작업 동기화를 강제함 — 즉시 디스크에 기록합니다. 이 옵션은 no_wdelay 명령에 해당합니다.

    다음 사용자 액세스 탭에서는 다음과 같은 옵션을 설정 가능합니다:

    원격 루트 사용자를 로컬 루트로 취급함 — 디폴트 값으로 루트 사용자의 사용자 ID와 그룹 ID는 모두 0 입니    다. 이 옵션을 사용하시면 익명 사용자의 사용자 ID와 그룹 ID에 사용자 ID 0와 그룹 ID 0를 부여하여 원격 루트    사용자를 로컬 루트로 취급합니다. 따라서 클라이언트 상의 루트 사용자는 디렉토리를 내보내기할 수 있는 권    한을 갖게 됩니다. 이 옵션을 선택하시면 시스템 보안이 매우 약해집니다. 절대로 필요한 상황이 아니면 이 옵    션을 선택하지 마십시오. 이 옵션은 no_root_squash 명령에 해당합니다.

   클라이언트 사용자를 익명(anonymous) 사용자로 취급함 — 이 옵션이 선택되면 모든 사용자 ID와 그룹 ID는    익명 사용자로 취급됩니다. 이 옵션은 all_squash에 해당합니다.

   익명 사용자를 위한 로컬 사용자 ID를 지정 — 만일 클라이언트 사용자를 익명(anonymous) 사용자로 취급함    옵션이 선택된 경우, 이 옵션을 선택하시면 익명 사용자를 위한 사용자 ID를 지정하실 수 있습니다. 이 옵션은    anonuid에 해당합니다.

   익명 사용자를 위한 로컬 그룹 ID를 지정 — 만일 클라이언트 사용자를 익명(anonymous) 사용자로 취급함 옵    션이 선택된 경우, 이 옵션을 선택하시면 익명 사용자를 위한 그룹 ID를 지정하실 수 있습니다. 이 옵션은    anongid에 해당합니다.

   기존 NFS 공유를 편집하시려면, 목록에서 편집할 공유를 선택하신 후 등록 정보 버튼을 클릭하십시오. 기존    NFS 공유를 삭헤하시려면, 목록에서 삭제할 공유를 선택하신 후 삭제 버튼을 클릭하시기 바랍니다.

   목록에서 NFS 공유를 추가, 편집, 또는 삭제하신 후 확인 버튼을 클릭하시면 변경 사항이 즉시 적용됩니다 —    즉, 서버 데몬이 재시작되고 이전 설정 파일은 /etc/exports.bak으로 저장됩니다. 그리고 새 설정은    /etc/exports 파일에 기록됩니다.

   NFS 서버 설정 도구는 /etc/exports 설정 파일을 직접 읽고 기록합니다. 따라서 이 도구를 사용 후 파일을 직   접 수정 가능하며, 파일이 올바른 구문을 사용하여 수정된 경우에는 수동으로 파일을 수정 후 다시 이 도구를   사용 가능합니다


[ Work Sheet #6 ]


6-1. Apache 2.0의 새로운 기능을 요약하시오.

   핵심 부분에서 나아진 점

   - 유닉스 쓰레드 : POSIX 쓰레드를 지원하는 유닉스 시스템에서 아파치를 여러 프로세스와 여러 쓰레드로 혼      합해서 실행할 수 있다. 전부는 아니지만 많은 경우 확장가능성을 높인다.

   - 새로운 컴파일 시스템 : 컴파일 시스템이 autoconf와 libtool을 사용하도록 재작성되었다.

   - 여러 프로토콜 지원 : 이제 아파치는 여러 프로토콜을 서비스할 수 있는 구조를 갖췄다.

   - 비유닉스 플래폼에 대한 더 나은 지원 : Apache 2.0는 BeOS, OS/2, 윈도우즈와 같은 비유닉스 플래폼에서      더 빠르고 안정화되었다.

   - 새로운 아파치 API : 모듈 API가 2.0에서 상당히 변했다. 1.3의 여러 모듈 순서와 우선순위 문제가 사라졌다.      2.0은 이를 대부분 자동으로 처리하며, 모듈 순서는 이제 더 유연한 훅(hook) 단위로 지정한다. 또, 아파치 서      버 핵심 부분을 수정하지 않고 새로운 모듈 기능을 제공하는 함수가 추가되었다.

   - IPv6 지원 : 하위 Apache Portable Runtine 라이브러리가 IPv6를 지원하는 시스템에서 아파치는 기본적으로      IPv6 소켓을 기다린다.

   - 필터링 : 아파치 모듈을 서버로 오고가는 흐름에 대한 필터로 사용할 수 있다.

   - 다국어 오류 응답 : 브라우저로 보내는 오류 응답이 이제 OSI 문서를 사용하여 다국어로 제공.

   - 간단해진 설정 : 혼란을 주던 많은 지시어들이 간단해졌다.

   - Windows NT 유니코드 자체 지원 : Windows NT에서 Apache 2.0은 이제 모든 파일명 인코딩에 utf-8을 사용      한다. 파일명은 하위 유니코드 파일시스템으로 직접 변역되어, Windows 2000과 Windows XP를 포함한 모든      Windows NT기반 시스템에 다국어 지원을 제공한다.

   - 정규표현식 라이브러리 Updated : Perl호환 정규표현식 라이브러리를 포함한다. 이제 모든 정규표현식에 더      강력한 Perl5 문법을 사용할 수 있다.

     모듈에서 나아진 점

   - mod_ssl : 이 모듈은 OpenSSL이 제공하는 SSL/TLS 암호화 프로토콜의 인테페이스다.

   - mod_dav : 이 모듈은 웹컨텐츠를 올리고 관리하기위한 HTTP Distributed Authoring and Versioning (DAV)      표준을 구현한다.

   - mod_deflate : 네트웍 사용량을 줄이기위해 브라우저에게 컨텐츠를 압축해서 보내라고 요청할 수 있다.

   - mod_auth_ldap : 이 모듈은 HTTP Basic Authentication에 사용하는 정보를 LDAP 데이터베이스에 저장한다.

   - mod_auth_digest : 공유메모리를 사용하여 프로세스간 세션 캐싱을 지원한다.

   - mod_charset_lite :  이 실험적인 모듈은 문자집합 변환과 문자집합 재작성 기능을 제공한다.

   - mod_file_cache : Apache 2.0에서 새로 추가되었다. 이 모듈은 Apache 1.3의 mod_mmap_static 기능에 더      나은 캐쉬 기능을 추가했다.

   - mod_headers : 이 모듈은 Apache 2.0에서 더 유연해졌다. 이제 mod_proxy가 사용하는 요청 헤더를 수정할      수 있고, 경우에 따라서 응답 헤더를 설정할 수도 있다.

   - mod_proxy : 이 프록시 모듈은 새로운 필터 구조를 이용하고 더 믿을만한 HTTP/1.1 프록시를 구현하기위해     완전히 재작성되었다. 추가로 새로운 설정 섹션은 프록시 설정을 더 쉽게 (그리고 내부적으로 더 빠르게) 만     든다. 과거 <Directory "proxy:..."> 설정은 이제 지원하지 않는다. 모듈은 proxy_connect, proxy_ftp,     proxy_http와 같이 지원하는 프로토콜 별로 나눠졌다.

   - mod_neqotiation : 새로운  지시어는 클라이언트가 NOT ACCEPTABLE이나 MULTIPLE CHOICES 응답 대신     모든 경우 한 문서를 받음을 보장한다. 추가로 협상 알고리즘과 MultiViews 알고리즘이 더 일관된 결과를 내도     록 수정되었고, 문서 내용을 포함할 수 있는 새로운 형식의 type map이 추가되었다.

   - mod_autoindex : 자동으로 생성된 디렉토리 목록이 이제 더 깔끔한 형식을 위해 HTML 표를 사용할 수 있게      되었고, 버전 정렬을 포함하여 정렬순서를 자세히 조절할 수 있으며, 디렉토리 목록을 와일드카드로 걸러낼      수 있다.

   - mod_include : 새로운 지시어를 사용하여 SSI 요소의 기본 시작 태그와 마침 태그를 변경할 수 있고, 오류와      시간형식을 SSI 문서외에 주 설정파일에서도 설정할 수 있게 되었다. mod_include에서 (이제 Perl 정규표현      식 문법으로) 정규표현식 파싱과 그룹의 결과를 mod_include의 $0 ... $9 변수로 얻을 수 있다.

     mod_auth_dbm : 이제 AuthDBMType 지시어를 사용하여 여러 DBM류 데이터베이스를 지원한다.


2. Apache HTTP Server 컴파일과 설치 과정을 정리하시오.

   - 우선 컴파일 하기위해 다음 사항이 요구된다.

      디스크 공간(최소 50MB이상), ANSI-C 컴파일러와 컴파일 시스템, 정확한 시간, Perl 5(선택사항)

   - 다운로드

      여러 미러 목록이 있는아파치 웹서버 다운로드 사이트에서 다운로드할 수 있다.

   - 압축풀기

     아파치 웹서버 타볼에서 소스를 푸는 작업은 단순히 압축과 tar를 푸는 것이다:

   - 아파치 환경설정 파일 실행

   - 컴파일

     make 명령을 통해 아파치를 컴파일한다.

   - 설치하기

      make install 명령을 이용하여 아파치를 설치한다.


3. Apache HTTP Server의 시작, 중단, 재시작 방법을 정리하시오.

   - 시작 : ./httpd start

     중단 : ./httpd stop

     재시작 : ./httpd restart

 

4. Apache HTTP Server의 모듈 목록을 살펴보시오.

   - 읽어봄


5. Apache HTTP Server의 다중 처리 모듈(MPM)을 설명하고, UNIX/LINUX에서 주로 선택하는 MPM값은 무엇인    지 정리하시오.

   - 다중처리모듈 :  서버는 시스템의 네트웍 포트에 연결하고, 요청을 받아들이며, 받아들인 요청을 처리하기      위해 자식들에게 분배

   -유닉스에서의 기본 MPM 값 : prefork


6. Apache HTTP Server의 필터의 기능과 기본적으로 제공하는 필터를 나열하시오.

   - 필터의 기능 : 필터(filter)는 서버가 보내거나 받는 자료에 적용되는 작업이다. 클라이언트가 서버에게 보내      는 자료는 입력필터(input filter)가 처리하고, 서버가 클라이언트에게 보내는 자료는 출력필터(output filter)가      처리한다.

   - 기본적으로 제공하는 필터 

      : INCLUDES

        mod_include가 처리하는 Server-Side Includes

      : DEFLATE

        mod_deflate를 사용하여 출력을 클라이언트로 보내기 전에 압축

      또, mod_ext_filter 모듈을 사용하여 외부 프로그램을 필터로 사용할 수도 있다.


7. Apache HTTP Server의 기본 핸들러를 정리하시오.

   - default-handler: 정적인 내용을 처리하기위해 기본적으로 사용하는 핸들러        default_handler()를 사용하      여 파일을 보낸다. (core)

   - send-as-is: HTTP 헤더가 있는 파일을 그대로 보낸다. (mod_asis)

   - cgi-script: 파일을 CGI로 처리한다. (mod_cgi)

   - imap-file: imagemap 규칙 파일로 처리한다. (mod_imagemap)

   - server-info: 서버의 설정 정보를 알려준다. (mod_info)

   - server-status: 서버의 상태를 보고한다. (mod_status)

   - type-map: 내용협상에 사용할 type map으로 처리한다. (mod_negotiation)


8. Apache HTTP Server의 지원프로그램들을 정리하시오.

   - httpd

     아파치 하이퍼텍스트 전송 프로토콜 서버

   - apachectl

     아파치 웹서버 조절 인터페이스

   - ab

     아파치 웹서버 성능검사 도구

   - apxs

     아파치 확장 도구 (APache eXtenSion tool)

   - configure

     소스 트리를 구성한다

   - dbmmanage

     basic authentication에 사용할 DBM 형식의 사용자 인증파일을 만들고 수정한다

     htcacheclean

     디스크 캐쉬를 청소한다

   - htdigest

     digest authentication에 사용할 사용자 인증파일을 만들고 수정한다

   - htpasswd

     basic authentication에 사용할 사용자 인증파일을 만들고 수정한다

   - logresolve

     아파치 로그파일의 IP-주소를 호스트명으로 변환한다

   - rotatelogs

     서버를 죽이지않고 아파치 로그를 순환한다

   - suexec

     실행을 위해 사용자를 변경한다 (Switch User For Exec)

  다른 프로그램들

   - manpage가 없는 지원 도구들.


9. Apache HTTP Server의 용어들을 살펴보시오.

   - 읽어봄

 

 

[ Work Sheet #7 ]


7-1. 부팅 과정을 요약하시오.

   ① 시스템의 BIOS 체크, 기본 하드디시크의 MBR에서 1차 부트로더를 실행

   ② 메모리에 1차 부트로더를 올리고, /boot/에서 2차 부트로더를 실행

   ③ 2차 부트로더는 메모리에 커널-필요한 모듈들과 root영역 마운트에 필요한-을 올린다.

   ④ 커널은 /sbin/init 프로그램에게 boot process의 설정을 전가한다.

   ⑤ /sbin/init 은 모든 서비스와 user-space tools을 읽어 들이고, /etc/fstab에 열거된 모든 파티션들을 마운트       시킨다.

   ⑥ 사용자는 로그인 프롬프트를 통해 로그인.


7-2. File System Hierarchy Standard를 요약하시오.

   -

   - 디렉토리 종류

     ① /dev/

       - 시스템에 첨부된 장치들의 파일 디렉토리

     ② /etc/

       - 특정 호스트 시스템의 구성파일 디렉토리

     ③ /lib/

       - 기본적인 공유 라이브러리와 커널 모듈 파일 디렉토리

     ④ /mnt/

       - 일시적인 파일시스템 마운트를 위한 디렉토리

     ⑤ /opt/

       - application software packages의 추가 파일 디렉토리

     ⑥ /proc/

       - 커널에서 정보를 받아오거나 전송할 파일 디렉토리

     ⑦ /sbin/

       - 오직 root만 사용 가능한 디렉토리

       - boot, /usr/ 마운트, 시스템 복구 기능들을 수행하는 디렉토리

     ⑧ /usr/

       - 전체적으로 공유할 수 있는 파일 디렉토리

       - /usr/디렉토리는 보통 고유의 파티션을 가지고 있다

     ⑨ /usr/local/

       -

     ⑩ /var/

       -


7-3. /etc/sysconfig 디렉토리에 있는 file들을 나열하고 요약하시오.

   - amd : 파일 시스템의 자동적인 마운팅과 언마운팅에 관여

   - apmd : APM 데몬

   - arpwatch :

   - authconfig : 호스트에 대한 권한 설정

   - autofs

   - clock : 시스템의 시간을 설정

   - desktop : 실행할 데스크탑 메니저를 지정

   - dhcpd : 부팅 시 dhcp 데몬의 사용 여부를 설정

   - firstboot

   - gpm : 부팅 시 gpm 데몬의 사용 여부를 설정

   - harddisks : hard drive를 동조한다.

   - hwconf : 시스템에서 kudzu가 발견되면 모든 하드웨어를 열거한다.

   - il8n : 시스템의 폰트 설정

   - identd : 부팅 시 ident 데몬의 사용 여부를 설정

   - init : 터미널의 특성과 환경값을 설정

   - ipchains

   - optables

   - irda

   - keyboard : 키보드 설정

   - kudzu : 부팅 시 시스템 하드웨어를 안전모드로 실행

   - mouse : 마우스 설정

   - named : 부팅 시 name 데몬의 사용 여부를 설정

   - netdump : /etc/init.d/netdump 서비스의 설정 파일

   - network : 네트워크 옵션 설정

   - ntpd : 부팅 시 ntpd 데몬의 사용 여부를 설정

   - pcmcia : PCMCIA 설정 정보 파일

   - radvd : 부팅 시 radvd 데몬의 사용 여부를 설정


7-4. proc file system의 용도와 활용을 요약하시오.

   - 작은 데이터를 주고 받을 수 있는 간단한 파일 시스템

   - 시스템 호출과 디바이스 드라이버를 이용하여, 사용자 영역에서 커널 영역의 데이터를       얻게 해준다.


7-5. 표준 사용자와 그룹을 정리하시오.

   -


7-6. 네트워크 설정 파일들을 정리하시오.

  ① /etc/hosts

    - 이 파일의 주된 용도는 달리 결정할 수 없는 호스트네임을 결정한다.

    - DNS서버가 없는 소규모 네트워크 호스트네임을 결정하는데도 쓰인다.

    - 컴퓨터에게 있어 관심이 없는 네트워크 타입의 경우 이 파일은 로컬호스트와 로컬도 메인에 IP주소의       loopback 방식을 열거하여 포함시킨다.

  ② /etc/resolv.conf

    - 이 파일은 DNS 서버의 IP 주소를 일일이 열거하고 도메인을 탐색한다.

    - 다르게 설정하지 않는 한, 네트워크 초기화 스크립트는 이 파일에 상주한다.

  ③ /etc/sysconfig/network

    - 라우팅과 호스트 정보의 모든 네트워크 인터페이스를 열거

  ④ /etc/sysconfig/network-scripts/ifcfg-<interface-name>

    - 레드햇 리눅스 시스템의 네트워크 인터페이스마다 인터페이스 구성 스크립트를 일치        시킨다.

    - 각 파일들은 특별한 네트워크 인터페이스의 명확한 정보를 제공한다.


[ Work Sheet #8 ]


8-1. e-mail protocol 중 MTP와 MAP를 비교 설명하시오.

   ① MTP(Mail Transport Protocol)

     - SMTP(Simple Mail Transport Protocol)가 담당

     - SMTP는 mail을 보내고 받는데 사용되는 TCP/IP 프로토콜이다. 그러나, 수신 측에서의 큐 메시지능력의 제        한으로 인해, 대개 수신을 위해서는 POP3나 IMAP 중의 하나의 프로토콜을 쓰는 것이 보통이다.

   ② MAP(Mail Access Protocol)

     - POP(Post Office Protocol), IMAP(Internet Message Access Protocol)이 담당

     - 서버에 각자의 우편함을 두고 사용자 메시지를 저장한 다음, 주기적으로 서버에 접속하여 편지를 다운로드        하는 식으로 운영된다.

   ③ SMTP는 메일을 보내는데 주로 사용하며, POP3나 IMAP 프로토콜은 자신의 서버에 수신되어 있는 메시지를        받아보는데 사용한다.

 

8-2. e-mail 프로그램들을 분류하시오.

   ① MTA(Mail Transfer Agent)

     - SMTP를 사용하는 사용자 사이에서 mail전송

     - 수신되는 전자우편을 받아주고 송신되는 전자우편을 배달하기 위해 전달해주는 역할을 하는 일종의 응용        프로그램(=메일서버 프로그램)을 가리킨다.

     - RHL에는 Sendmail, Postfix, Fetchmail이 있다.

   ② MDA(Mail Delivery Agent)

     - MTA에 의해, 사용자 mailbox에 수신된 mail 파일을 불러오는데 이용

   ③ MUA(Mail User Agent)

     - 이메일 메시지를 보내고 받을 수 있게 해주는 프로그램으로서, 대개는 그저 이메일 프로그램이라고 불린        다.


8-3. DNS에 대해 설명하시오.

   - 인터넷상의 각 컴퓨터를 지칭하는 원래 이름인 IP 어드레스를 사용자가 알기 쉬운 문자로 대치 될 수 있도록      하는 서비스

   - 리눅스에서는 BIND(Berkeley Internet Name Daemon)가 서비스 제공

   

8-4. /etc/named.conf 파일안의 내용을 정리하고 특히 zone 문장과 파일의 내용을 요약하시오.

   ① options {

        directory "/var/named";                 //각종 zone 파일의 위치를 지정한다. 

        dump-file "/var/tmp/named_dump.db";   //dump 파일의 생성 위치

        statistics-file "/var/tmp/named.stats";   //통계화일의 생성위치

        pid-file "/var/run/named.pid";           //네임서버의 프로세스 아이디가 생기는 위치

      }

   ② logging {         //불필요한 파일들을 로그에 남기지 않게 하기 위한 옵션

        category lame-servers { null; };

        category cname { null; };

        category response-checks { null; };

        category notify { null; };

      }

   ③ zone "0.0.127.IN-ADDR.ARPA" IN {      //local 호스트를 위한 도메인 설정

        type master;

        file "zone-0.0.127.in-addr.arpa";

      }

      - 로컬도메인(127.0.0.1)의 loopback zone 레코드를 담은 파일(/var/named)   

   ④ zone "101.124.164.IN-ADDR.ARPA" IN { //Reverse Zone을 위한 설정화일

        type master;

        file "zone-101.124.164.in-addr.arpa";

      }

      -  Reverse zone 파일은 ip address로 DNS 이름을 찾을 때 쓰이는 파일

   ⑤ zone "dacom.co.kr" IN {          //Forward Zone을 위한 설정화일

        type master;

        file "dacom.co.kr";

      }

      - Forward Zone 파일은 DNS 정보를 바탕으로 ip address를 찾는데 쓰이는 파일

   ⑥ zone "." IN {                     //Cache 파일을 위한 설정

        type hint;

        file "named.root";

      }


8-5. dig 사용법을 요약하고, 이를 이용하여 5개 이상의 호스트 이름으로 IP주소를 찾아보시오.

 

 

[ Work Sheet #9 ]


9-1. 콘솔 접근 제어 방법을 실습하고 요약하시오.

  - 다른 유저의 콘솔 프로그램 사용을 제어하기 위해서는 root 상에서 다음 커맨드 입력

     ->rm -f /etc/security/console.apps/*


  - 콘솔이 보안된 환경에서 다른 사용자가 콘솔에서 poweroff, halt, reboot 명령을 실행하는 것을 원하지 않을     때 이러한 권한을 제거하기 위해 root에서 다음 커맨드 입력


    예) BIOS 암호와 부트로더 암호를 설정하고, [Ctrl] +[Alt] +[Delete] 키조합을사용하는 것이 금지되면, 전원과          복구 스위치가 비활성화된 안전한 환경


        ->rm -f /etc/security/console.apps/poweroff

        ->rm -f /etc/security/console.apps/halt

        ->rm -f /etc/security/console.apps/reboot



9-2. 암호 에이징을 실습하고 요약하시오.

  - 보안상의 이유로, 사용자가 주기적으로 암호를 변경하도록 하는 것이 좋은데 이는 사용자 관리 도구의 암호      정보 탭에서 사용자를 추가하거나 편집함으로서 가능


  - 쉘 프롬프트에서 사용자에 대한 암호 만료 기한을 설정하려면, chage 명령 다음에 다음의 옵션과 사용자명을     함께 입력

    ① -m days : 사용자가 암호를 변경해야할 최소 날짜수를 지정

    ② -M days : days 암호가 유효한 최대 날짜수를 지정

    ③ -d days : 1970년 1월 1일 이후로 암호가 마지막으로 변경된 날짜수를 지정

    ④ -I days : 암호가 만료된 후 계정을 잠글 때까지 걸리는 비활성화 기간을 날짜수를 지정

    ⑤ -E date : 계정이 잠길 날짜를 YYYY-MM-DD 형식으로 지정

    ⑥ -W days 암호가 만료되기 몇일 전에 사용자에게 경고할 것인지 지정

     -> chage 명령을 사용하기 위해서는 섀도우 암호가 활성화되어야함

     -> 만일 chage 명령 다음에 아무런 옵션 없이 사용자명이 바로 사용된다면, 현재 암호 만기값이 보여지며 변          경할 값을 요청


  - 사용자가 처음으로 콘솔에 로그인할 때 암호를 설정하도록 강제하는 경우

    (사용자가 SSH 프로토콜을 사용하여 로그인 하였을 경우에는 작용하지 않음)


    ① 사용자의 암호를 잠금

       - 만일 사용자가 존재하지 않는다면, useradd 명령을 사용하여 사용자 계정을 생성. 하지만 암호는 부여하          지 않아 그 계정이 잠긴 상태로 남아있게 됨

       - 만일 암호가 이미 활성화되었다면, 다음 명령을 사용하여 계정을 잠금

         -> usermod -L username


     ② 즉시 암호가 만료되도록 강제함

       - 다음 명령을 입력

         -> chage -d 0 username

       - 이 명령은 1970년 1월 1일 이후로 암호가 마지막으로 변경된 날짜에 대한 값을 지정한다.

       - 이 값은 암호 기한 만료에 어떠한 법칙이 적용되든지에 상관없이 암호가 즉시 만료되도록 강제한다.


     ③ 계정 잠금을 해제함

       - 관리자가 초기 암호를 부여하는 방법

         -> python명령을 사용하여 python해석기로 설정

       - 암호를 입력하지 않고 공백으로 남겨두는 방법

         -> usermod -p "" username


9-3. 사용자 추가시 일어나는 과정을 설명하시오.

   - 섀도우 암호가 활성화된 시스템 상에서 useradd juan 명령을 입력


     ① /etc/passwd 파일에 juan에 대한 새로운 라인이 생성. 이 라인에는 다음과 같은 문자가 포함된다.

       -> 이 라인은 사용자명으로 시작 예) juan.

       -> 암호란에 시스템이 새도우 암호를 사용한다는 것을 보여주는 x 기호가 온다.

       -> 500 이상의 UID (사용자 ID)가 생성

          (500 이하의 Red Hat Linux UID와 GID는 시스템 사용자와 그룹 용으로 보존)

       -> 500 이상의 GID (그룹 ID)가 생성

       -> 옵션인 GECOS 정보는 공백으로 남아 있음

       -> 홈디렉토리는 /home/juan/로 설정

       -> 기본 쉘은 /bin/bash으로 설정


     ② /etc/shadow 파일에 juan에 대한 새 라인이 생성. 이 라인에는 다음과 같은 기호가 포함된다.

       -> 이 라인은 사용자명으로 시작 예) juan.

       -> 계정을 잠그는 두 개의 느낌표 (!!)가 /etc/shadow 파일의 암호란에 나타난다.

       -> 암호가 만료되지 않도록 설정


     ③ /etc/group 파일에는 juan 그룹에 대한 새로운 라인이 생성.

       - 사용자와 같은 이름을 가진 그룹은 사용자 개인 그룹 (user private group)이라고 부른다.

       - /etc/group에 생성된 라인에는 다음과 같은 문자가 포함된다.

       -> 이 라인은 그룹명으로 시작합니다. 예) juan.

       -> 암호란에 시스템이 새도우 그룹 암호를 사용한다는 것을 보여주는 x 기호가 옴

       -> GID가 /etc/passwd 파일에서 juan 사용자에 대한 그룹 ID와 일치


     ④ /etc/gshadow 파일에 juan라는 그룹에 대한 새로운 라인이 생성. 이 라인에는 다음과 같은 문자가 포함된          다.

       -> 이 라인은 그룹명으로 시작됩니다. 예) juan.

       -> 그룹을 잠그는 한 개의 느낌표 (!)가 /etc/gshadow 파일의 암호란에 나타난다.

       -> 그 외 모든 다른 영역은 빈 공간으로 남아 있음


     ⑤ /home/ 디렉토리에는 사용자 juan에 대한 디렉토리가 생성.

       - 이 디렉토리는 사용자 juan과 그룹 juan이 소유

       - 그러나 오직 사용자 juan에 대한 읽기, 쓰기와 실행 권한을 갖음.

       - 그 외 다른 허가는 주지 않는다.


     ⑥ 디폴트 사용자 설정을 포함한 /etc/skel/ 디렉토리내의 파일들은 새로운 /home/juan/ 디렉토리로 복사된          다.


9-4. 현재 수행 중인 프로세스들의 정보를 수집하고 각 항목들을 설명하시오.

  - ps ax 명령어를 사용하여 현재 시스템 프로세스의 목록을 확인

  - top 명령어를 사용하여 현재 실행되고 있는 프로세스와 메모리, CPU 사용량과 같은 중요한 정보를 표시

    -> top 명령어 옵션

       ① [Space] : 즉시 화면을 재생

       ② [h]     : 도움말 화면을 보여줌

       ③ [k]    : 프로세스를 강제 종료 (kill) 합니다. 종료할 프로세스 ID와 보낼 신호를 입력

       ④ [n]    : 보여줄 프로세스의 수를 변경합니다. 보시려는 프로세스의 수를 입력

       ⑤ [u]    : 사용자에 따라 목록 정렬

       ⑥ [M]   : 메모리 사용량에 따라 목록 정렬

       ⑦ [P]    : CPU 사용량에 따라 CPU 목록 정렬

       ⑧ [q]    : 나가기


9-5. 메모리 사용 정보와 파일 시스템에 관련된 정보를 수집하고 각 항목들을 설명하시오.

  - free 명령은 사용된 메모리 크기, 여유 메모리 크기, 공유 메모리 크기, 커널 버퍼의 메모리 크기와 캐시 메모     리 크기와 더불어 물리적 메모리 총량과 시스템 스왑 공간 총량에 대한 정보를 보여준다.

  - df 명령어는 시스템의 디스크 공간 사용량을 보고한다.


9-6. /proc에서 수집할 수 있는 정보들을 요약하시오.

  - 통계적 정보를 보는 것

  - 하드웨어 정보 알아내기

  - 런타임 파라메터 수정하기

  - 네트워크와 호스트 파라메터 보기 및 수정

  - 메모리와 수행능력에 관한 정보


9-7. 자동으로 수행하는 방법들을 나열하고 각각 설명하시오.

  - Cron : 정해진 시간, 일, 월, 주마다 반복적인 작업을 실행하도록 스케줄하는데 사용되는 데몬

  - Anacron : 작업 스케줄러로서 cron과 유사하지만 시스템이 계속적으로 켜져있지 않아도 작동하는 차이점이                    있음. anacron은 보통 cron에 의해 수행되는 매일, 매주와 매월 작업을 실행하기 위하여 사용

  - At or Batch : at 명령은 특정 시간에 한번 실행될 작업을 스케줄하기 위해 사용. batch 명령은 시스템 부하 평                        균이 0.8 이하로 떨어질 경우 한번 실행될 작업을 스케줄하는데 사용


9-8. 로그 파일들을 살펴보고 각 로그 파일들을 요약하시오.

  - 패널에서 주 메뉴 버튼 => 시스템 도구 => 시스템 로그를 선택하시거나, 쉘 프롬프트에서 redhat-logviewer     명령을 입력하여 로그 파일을 볼수 있음.

 

[ WorK Sheet #10 ]

1.RPM의 사용법을 정리하시오

(1). RPM 패키지 찾기

• 공식 Red Hat Linux CD-ROM

• Red Hat 에라타 페이지. 사이트 주소: http://www.redhat.com/apps/support/errata/

• Red Hat FTP 미러 사이트. 사이트 주소: http://www.redhat.com/download/mirror.html

• Red Hat Network — Red Hat Network에 대한 보다 자세한 사항은 34 장을 참조하시기 바랍니다.

(2). 설치하기

RPM 패키지는 일반적으로 foo-1.0-1.i386.rpm와 같은 파일명을 가지고 있습니다. 이 파일명에는 패키지명 (foo), 버전 (1.0), 배포판 (1)과 구조 (i386)가 포함됩니다. 패키지를 설치하시려면 루트로 로그인하신 후 쉘 프롬프트에서 다음과 같은 명령을 입력하시면 됩니다:

rpm -Uvh foo-1.0-1.i386.rpm

 

(3). 제거하기

패키지 제거하기는 설치하기 만큼이나 간단합니다. 쉘 프롬프트에서 다음 명령을 입력하십시오:

rpm -e foo

 

(4). 업그레이드하기

패키지 업그레이드는 설치하기와 유사합니다. 쉘 프롬프트에서 다음 명령을 입력하십시오:

rpm -Uvh foo-2.0-1.i386.rpm

 

(5). 다시 읽기

패키지를 다시 읽기는 패키지 업그레이드와 유사합니다. 쉘 프롬프트에서 다음 명령을 입력하십시오:

rpm -Fvh foo-1.2-1.i386.rpm

 

(6). 질의

rpm -q 명령을 사용하여 설치된 패키지의 데이터베이스에 대한 질의를 수행할 수 있습니다. rpm -q foo 명령을 입력하시면, 다음과 같이 패키지명, 버전과 설치된 패키지 foo의 배포 번호가 출력될 것입니다

foo-2.0-1

 

(7). 검증

패키지 검증은 패키지에 설치된 파일에 저장된 내용과 원래 패키지의 내용을 비교합니다. 검증 옵션을 사용하시면, 여러가지 정보들, 즉 개별 파일의 크기, MD5 sum, 권한, 유형, 소유권, 그룹 소유권 등을 빅하게 되며 어떠한 변화가 있을 경우 출력합니다.

rpm -V 명령은 패키지를 검증합니다. 패키지 검증에 사용할 수 있는 옵션은 패키지를 질의에 사용된 패키지 선택 옵션과 같습니다. 검증의 간단한 예로서 rpm -V foo는 foo 패키지에 저장된 모든 파일들과 원래 설치된 파일을 비교합니다. 예로 들면:



• 특정 파일을 포함하는 패키지를 검증할 경우:

rpm -Vf /bin/vi

 

• 설치된 모든 패키지를 검증할 경우:

rpm -Va

 

• 설치된 패키지와 RPM 패키지 파일을 검증할 경우:•

rpm -Vp foo-1.0-1.i386.rpm

 

2. RPM의 signature를 확인하는 이유와 절차를 정리하시오

사용자가 다운로드받은 패키지의 신뢰성 여부를 가려낼 수 있도록 RPM 패키지는 Gnu Privacy Guard (또는 GnuPG)를 사용하여 서명됩니다.

절차

(1). 키 가져오기

공식 Red Hat 패키지들을 검증하시려면, Red Hat GPG 키를 가져오셔야 합니다. 쉘 프롬프트에서 다음과 같은 명령을 실행하시기 바랍니다:

rpm --import /usr/share/rhn/RPM-GPG-KEY

RPM 검증을 위해 설치된 모든 키 목록을 보시려면, 다음 명령을 실행하십시오:

rpm -qa gpg-pubkey*

Red Hat 키 목록에는 다음과 같은 결과가 출력될 것입니다:

gpg-pubkey-db42a60e-37ea5438

특정 키에 대한 자세한 정보를 출력하시려면, 다음과 같이 rpm -qi 다음에 위의 명령 출력 결과를 함께 한줄로 입력하십시오:

rpm -qi gpg-pubkey-db42a60e-37ea5438

 


(2). 패키지의 서명 검증하기

개발자의 GnuPG 키를 가져온 후 RPM 파일의 GnuPG 서명을 확인하기 위해서는, 다음과 같은 명령을 사용하십시오. (아래 명령에서 <rpm-file>는 RPM 패키지의 파일명으로 교체합니다):

rpm -K

아무런 문제가 없다면 다음 메시지가 나타날 것입니다: md5 gpg OK. 이 메시지는 패키지가 손상되지 않았다는 것을 의미합니다.

3.RPM으로 할수있는 작업들을 정리하시오

(1) 실수로 일부 파일을 삭제했지만 어떤 파일을 삭제했는지 알 수 없는 경우 사라진 파일을 찾기 위해 전체 시스템을 검증할때

rpm -Va

• 어느 정도 시점에서  알지 못하는 파일이 나타났을때 어떤 패키지에 파일이 속하는지 알아볼때:

rpm -qf /usr/X11R6/bin/ghostview

 

•  해당 프로그램을 소유하는 패키지에 같이 들어있는 문서를 찾고싶을때 :

rpm -qdf /usr/bin/free

 


• 새로운 RPM을 찾았는데 그 기능을 알 수 없을때

rpm -qip crontabs-1.10-5.noarch.rpm

 


• crontabs RPM이 설치하는 파일들을 보고싶을때:

rpm -qlp crontabs-1.10-5.noarch.rpm

 

4.RHN에 대하여 정리하시오

Red Hat Network는 다수의 Red Hat Linux 시스템을 관리하기 위한 인터넷 솔루션 입니다.

업데이트된 패키지가 출시될 때마다 Red Hat Network는 여러분께 알림 이메일을 보내드리기 때문에 여러분의 시간이 절약됩니다. 여러분은 업데이트된 패키지나 보안 경고를 찾기 위해 인터넷을 직접 검색하실 필요가 없어 졌습니다. Red Hat Network는 디폴트로 업데이트된 패키지를 설치도 해드립니다. 따라서 여러분은 RPM 사용 방법이나 소프트웨어 패키지 간의 의존성 해결을 걱정하실 필요가 없습니다

각 Red Hat Network 계정은 다음과 같은 기능을 제공합니다:



• 에라타 통보 — 기본 인터페이스를 통하여 네트워크 상에 존재하는 모든 시스템에 대한 새로운 보안 경고, 버그 수정 통보와 소프트웨어 업데이트 통보가 발생될 때마다 여러분께 알려 드립니다.



• 자동 이메일 통지 — 여러분의 시스템에 에라타 통보가 발생될 때마다 이메일을 통해 알려 드립니다.

• 에라타 업데이트 스케줄 — 계획된 시기에 자동 설치를 실행하실 수 있도록 에라타 업데이트를 보내드립니다.

• 패키지 설치 — 버튼 클릭 한번으로 여러 개의 시스템에 대한 패키지 설치를 미리 계획하실 수 있습니다.

Red Hat 업데이트 에이전트Red Hat 업데이트 에이전트을 사용하여 최신 소프트웨어 패키지를 다운로드 받으실 수 있습니다. (패키지 설치는 옵션입니다)

• Red Hat Network 웹사이트 — 이 웹사이트에 접속하셔서 다중 시스템과 다운로드 받은 개별 패키지들, 그리고 에라타 업데이트와 같은 스케줄 작업을 관리하실 수 있습니다.


Red Hat Network를 사용하시기 전에 다음과 같은 세가지 기본적인 절차를 따르십시오:

다음 중 한가지 방법을 사용하여 시스템 프로파일을 생성하시기 바랍니다:

• 설치 후 처음으로 시스템을 부팅시 설정 에이전트을 통하여 RHN에 시스템을 등록하는 방법.

• 데스크탑에서 주 메뉴 버튼 => 시스템 도구 => Red Hat Network를 선택하는 방법.

• 쉘 프롬프트에서 up2date 명령을 실행하는 방법.


5.kernel upgrade 절차를 정리하시오

(1). 업그레이드 준비

문제가 발생할 시에 대비하여 시스템을 부팅할 부팅 디스켓 만들기

부팅 디스켓을 만드시려면, 쉘 프롬프트에서 루트로 로그인 하신 후 다음 명령을 입력하시기 바랍니다:

/sbin/mkbootdisk `uname -r`

 

(2). 업그레이드된 커널 다운로드 받기

다음과 같은 몇가지 방법을 사용하여 여러분의 시스템에 사용가능한 업데이트된 커널이 있는지 알아낼 수 있습니다.

• http://www.redhat.com/apps/support/errata/ 사이트로 가셔서, 사용하시는 Red Hat Linux 버전을 선택하시고 그 버전에 대한 에라타를 살펴보십시오.

• Red Hat Network를 사용하여 커널 RPM 패키지를 다운로드 받으신 후 설치하십시오.

(3). 업그레이드 수행하기

이전 커널을 보존하시려면 rpm 명령과 함께 -i 옵션 인수를 사용하십시오. kernel 패키지를 업그레이드하실 때 -U 옵션을 사용하시면, 기존의 커널을 덮어쓰게 됩니다.

rpm -ivh kernel-2.4.20-2.47.1.i386.rpm

 

rpm -ivh kernel-smp-2.4.20-2.47.1.i386.rpm

 

rpm -ivh kernel-bigmem-2.4.20-2.47.1.i686.rpm

 

rpm -Uvh kernel-source-2.4.20-2.47.1.i386.rpm rpm -Uvh kernel-docs-2.4.20-2.47.1.i386.rpm rpm -Uvh kernel-utils-2.4.20-2.47.1.i386.rpm

 

rpm -ivh --force kernel-pcmcia-cs-3.1.24-2.i386.rpm

 


(4). 초기 RAM 디스크 이미지 확인하기

mkinitrd 명령을 사용하여 초기 RAM 디스크를 생성

(5). 부트로더 확인하기

kernel RPM 패키지는 GRUB 이나 LILO가 설치되어 있다면 둘 중의 하나가 새로 설치된 커널을 부팅하도록 설정

6.LINUX kernel module 개념을 정리하시오

리눅스 커널은 모듈러 방식으로 설계되었습니다. 시스템 부팅시 오직 최소량의 상주 커널만이 메모리에 로드됩니다. 따라서 사용자가 상주 커널 외부의 기능을 요청할 때마다, 가끔씩 드라이버라고도 불리우는 커널 모듈이 동적으로 메모리에 로드됩니다.

설치 과정에서 시스템 상의 하드웨어가 자동 검색됩니다. 이러한 검색 결과와 사용자가 제공한 정보에 기초하여, 설치 프로그램은 부팅시 어떠한 모듈을 로딩할 것인지 결정합니다. 설치 프로그램은 동적 로딩 메커니즘이 '투명하게' (transparently - 사용자가 시스템이나 장치를 사용할 때, 그 존재와 메커니즘을 의식하지 않고도 사용할 수 있는 성격을 가리킵니다) 작동하도록 설정합니다.

설치를 마친 후 새로운 하드웨어가 추가된 경우, 만일 그 하드웨어가 커널 모듈을 필요로 한다면, 새로운 하드웨어에 사용될 적절한 커널 모듈을 로드하도록 시스템을 설정하셔야 합니다. 새로운 하드웨어가 추가된 시스템이 부팅되면, Kudzu 프로그램이 실행됩니다. 이 프로그램은 검색된 지원 가능한 하드웨어에 맞는 모듈을 설정합니다. 또는 여러분이 직접 모듈 설정 파일인 /etc/modules.conf을 편집하여 새로운 드라이버를 지정하시는 방법도 있습니다.

예를 들어, SMC EtherPower 10 PCI 네트워크 어댑터를 포함한 시스템의 경우, 모듈 설정 파일에는 다음과 같은 줄이 포함됩니다

alias eth0 tulip

첫번째 카드와 동일한 두번째 네트워크 카드를 시스템에 추가하시면, 다음과 같은 줄을 /etc/modules.conf 파일에 추가하십시오:

alias eth1 tulip


7.kernel module을 관리하기 위한 명령들을 정리하시오


/sbin/lsmod 명령은 현재 로드된 모듈의 목록을 보여줌


/sbin/insmod /lib/modules/2.4.20-2.47.1/kernel/drivers/usb/hid.o Using /lib/modules/2.4.20-2.47.1/kernel/drivers/usb/hid.o Symbol version prefix 'smp_'

ڟŸ<SPAN STYLE='font-family:"굴림";'>/sbin/insmod /lib/modules/2.4.20-2.47.1/kernel/drivers/usb/hid.o Using /lib/mod

커널 모듈을 언로드하시려면, /sbin/rmmod 명령 다음에 모듈 이름을 입력하시면 됩니다. rmmod 유틸리티는 사용되지 않으며 다른 사용중인 모듈이 의존성을 갖지 않는 모듈들만 언로드합니다.

/sbin/rmmod hid

명령은 hid 커널 모듈을 언로드합니다.

커널 모듈에 대한 정보를 보시려면, /sbin/modinfo 명령을 사용하시기 바랍니다.

/sbin/modinfo [options]

옵션에는 모듈에 대한 간략한 설명을 보여주는 -d 옵션과 모듈이 지원하는 매개 변수의 목록을 보여주는 -p 옵션이 있습니다. 전체 옵션 목록을 보시려면, modinfo 메뉴얼 페이지를 참조하시기 바랍니다 (man modinfo).


[ Final Work Sheet ]


f-1. 현재 실습 중인 시스템의 사용자 디렉토리 및 시스템 파일 backup

   - 완료

f-2. Red Hat Site 접속하여 Fedora 6 download

   - 완료

f-3. Fedora 6 설치

   - 완료

f-4. network 설정 (firewall 등)

   - 완료

f-5. telnet, ftp, echo 서비스 설치

   - ftp 실패, telnet,echo 완료

f-6. backup 했던 사용자 디렉토리 복구

   - 완료

f-7. 신규 그룹(develop, student) 및 신규 가입자 추가(dev1~5)

   - 완료

f-8. 기존 사용자는 student 그룹으로 등록

   - 완료

f-9. develop 그룹과 student 그룹으로 등록

   - 완료

f-10. 최신 RPM으로 kernel upgrade

   - 완료

f-11. 최신 RPM으로 APM upgrade

   - 완료

f-12. 현재 설치된 kernel module 정보 수집 및 각 모듈 설명

   -

f-13. 현재 수행 중인 process 정보 수집 및 각 프로세스 기능 설명

   -

f-14. 시스템 정보 수집 (메모리, 디스크 등)

   -

f-15. 2일 이상 시스템 운영

   -

f-16. 다른 학생이 관리하는 시스템 접속 및 이용

   -

f-17. 주요 로그 파일 정보 설명

   -

f-18. develop 그룹과 student 그룹 disk quota 차등 적용

   - 실패

f-18. test용 home page 작성

   - 자기소개

   - 시스템 소개

   - 기존 수행 과제

   - final 과제 수행 결과