ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 리눅스 마스터 2급 시험 정리
    자격증/리눅스 마스터 2020. 5. 17. 17:04
    반응형

    두서없이 막 정리 후에 나중에 정리할 예정

     

    ** 2차 시험 출제 기준

    1. 리눅스 운영 및 관리

     - 파일 시스템, 관련 명령어 : 권한 및 그룹 설정, 파일 시스템 관리

     - Shell : 개념 및 종류, 환경 설정

     - 프로세스 관리 : 개념 및 유형, 프로세스, Utility

     - 에디터 : 에디터의 종류, 에디터 활용

     - 소프트웨어 설치 : 개념 및 사용법, 소프트웨어 설치 및 삭제

     - 장치 설정 : 주변장치 연결 및 설정, 주변장치 활용

    2. 리눅스 활용

     - X윈도우 : 개념 및 사용법, X 윈도우 활용

     - 인터넷 활용 : 네트워크의 개념, 인터넷 서비스의 종류, 설정

     - 응용 분야 : 기술동향, 활용기술

     

    1과목 : 리눅스 운영 및 관리

    1. 파일 시스템, 관련 명령어

     1) NFS : 네트워크 상호간 파일 시스템을 쉽게 공유

     2) EXT2 : 서버의 비정상적, 예기치 않은 사건으로 재부팅시 데이터 손실을 방지하기 위해 FSCK(복구) 명령어 추가

     3) EXT3 : 파일 내용 변경 시 파일 시스템과 바로 동기화 작업이 이루어진다.

     * 저널링 파일 시스템 : 시스템의 변경사항을 시간에 따라 기록하는 로그공간을 별도로 둔다. 시스템 재부팅시 로그의 내용을 보고 복구가 쉬워진다.

     4) EXT4 : EXT3와의 호환이 이루어지고, 큰 용량(16TB)까지 지원, 64bit의 공간 제한을 없앰, 삭제 파일 복구, 점검 속도가 빨라진 파일 시스템

     5) ReiserFS : 저널링 파일 시스템

     6) JFS : IBM 사에서 개발한 저널링 파일 시스템

     7) XFS : SGI 에서 개발한 저널링 파일 시스템t

     8) NTFS : 윈도우에서 사용하는 파일 시스템 // 안정성이 뛰어나고, 대용량  파일 저장

     9) ISO 9660 : CD-ROM 의 표준 파일 시스템

     10) UDF : Universal Disk Format 의 약자로 최신 파일 시스템, ISO 9660 파일 시스템을 대체하기 위한 것이다. DVD 사용

     

    * 리눅스는 각각의 하드웨어 장치를 파일로 마운트(mount)한다.

     1) 하드디스크를 각각의 구획으로 나눠주는 파티션(fdisk) 작업 : 파티션을 생성, 수정, 삭제

     : fdisk [옵션] [장치명] // -l : 현재 시스템의 파티션 목록 출력 // -v : 버전 정보 // -s : 입력된 장치와 크기 출력

    옵션

    -l : 현재 디스크의 파티션 테이블 정보를 출력

    -s partition : 특정 파티션의 크기를 출력

    -v : 버전

    -t : 유형(type)

    q : 변경된 파티션의 정보를 저장하지 않고 종료.

    p : 현재 디스크의 정보 출력

    d : 삭제

    n : 생성

    t : 파티션의 속성을 변경

     

     2) 나누어진 파티션을 포맷(mkfs) : 파티션 정보 변경 후 파일 시스템 구축

     : mkfs [옵션] [fs종류] [fs옵션] 장치이름 // -v : 자세한 정보 출력

     : mke2fs [옵션] 장치명 : ext2, 3, 4 파일 시스템 작성하는 명령 // -j : ext3 파일 시스템 작성

     

     3) 각각의 포맷된 장치를 마운팅(mount) : 파일시스템을 기술하고 장치명과 연결할 디렉토리명을 기술

     : mount [옵션] 장치명 디렉토리명 // -t : 파일 시스템의 유형을 지정 // -a : /etc/fstab 파일에 명시된 파일 시스템을 마운트

     * 마운트 해제하여 사용하지 않는 자원을 반납 : umount [옵션] 장치명 or 디렉토리명

     * 옵션

    -a : /etc/fstab에 명시된 파일 시스템을 마운트 할 때 쓰이는 옵션

    -t fs_type : 파일 시스템의 유형을 지정하는 옵션, 지정하지 않으면 /etc/fstab 파일을 참조

    -o 항목 : 마운트할 때 추가적인 설정을 적용할 때 사용하는 옵션

      (1) ro : 읽기 전용으로 마운트

      (2) rw : 읽기 쓰기 모드로 마운트(기본값)

      (3) remount : 해당 파티션을 다시 마운트, 

      (4) loop : loop 디바이스로 마운트 할 떄 사용

      (5) noatime : 파일의 내용을 읽게 되면 access time 이 변경되는 이 옵션을 사용하면 파일이 변경되기 전까지 Access time 이 변경되지 않는다. -> 시스템의 작업을 줄여 성능을 향상할 수 있다.

     

     * cat /etc/fstab : 파일 시스템에 대한 정보

    1. 장치명 파일명

    2. 파일 시스템에 연결할 마운트디렉토리

    3. 파일 시스템의 종류

    4. 파일 시스템의 옵션 지정

    5. 파일 시스템의 백업 사용 여부

    6. 검사

     * 디스크의 파티션을 생성, 삭제확인 : fdisk

     * 파일 시스템의 무결성 오류를 수정 : fsck

     * fsck : 리눅스 파일 시스템을 검사하고 수리 (e2fsck = fsck의 확장 명령어)

      - A 옵션을 사용하면 /etc/fstab의 모든 파일 시스템에 대해 수행

      - -a 옵션을 사용하면 오류 발견 시 자동으로 복구를 시도

      - -r 옵션을 사용하면 복구 시도 전에 확인 요청

    /lost+found : 디렉터리에서 작업을 수행하고 정상적인 복구가 되며 사라진다.

     * 파티션의 파일 시스템 생성 : mkfs

     * blkid : 파일 시스템 타입이 어떻게 구성되어있는지 볼 수 있다.

    2. 권한

     1) 소유권(ownership)

     - 개체에 대한 소유자와 소유 그룹

     - linux 시스템의 모든 개체는 소유자와 소속그룹이 지정되어 있다.

     - 파일 생성 시 파일을 생성한 계정이 파일 소유자가 된다

     - 파일 생성 시 파일을 생성한 계정의 기본 그룹이 파일의 소유 그룹이 된다

     - 명령어를 이용해 소유자와 소유 그룹 변경이 가능하다.

     

     2) chown : 파일의 소유권, 소속그룹 변경 // 계정명, 그룹명 대신 UID, GID 로 사용 가능

     3) chmod : 파일 허가권 변경

      - 멀티 유저 환경에서 개채에 접근할 수 있는 자격, 개체를 read, write, execute 행위를 user, group, other 단위로 권한 부여

      - 허가권 관리 명령어는 chmod와 umask가 있다.

     * umask : 파일이나 디렉터리 생성 시 기본 허가권을 설정하는 값 // 리눅스 시스템에서 자원을 생성할 때 설정되는 기본 권한을 통합 관리하기 위해 사용 (umask 값을 문자로 표기할 때 옵션 -S를 사용한다.)

      - 디렉토리 최대 허가권 : 777 - umask(022) = 기본 허가권 (755)

      - 파일 최대 허가권 : 666 - umask(022) = 기본 허가권(644)

      - Sticky-Bit : other 계층에 설정하도록 되어있으며, 설정하면 other 계층 권한 부분의 x자리에 t로 표기된다.

          : chmod o+t

          : 일반적으로 공용 디렉토리를 사용할 때 설정한다.

        * 시스템의 기본 폴더인 /tmp 디렉토리에 설정되어 있다.

     

      - set-UID : 파일이 실행되는 동안에는 실행시킨 사용자 권한이 아닌 해당 파일의 소유자 권한으로 실행

          : chmod u+s

      - set-GID :

          : chmod g+s

      * 숫자모드인 경우에는 천의 자리가 사용되고 Set-UID 는 4, Set-GID 는 2, Sticky-bit 는 1 의 값을 갖는다.


    *ls -l 입력 시 첫번째 문자열 확인

      - - : 일반 파일

      - d : 디렉토리 파일

      - b : 블록 디바이스 파일 ( ex : /dev/sha, /dev/hda, /dev/fd0 )

      - c : 문자 디바이스 파일 ( ex : 입출력 장치 )

      - l : 심볼릭 링크 

     

    3. 쉘의 개념 및 종류

     1) 쉘 : Command Interpreter 명령어 해석기

      - 로그인할 때 실행되어 사용자별로 사용 환경 설정을 가능하게 한다.

      - 입출력 방향 재지정과 파이프 기능을 제공한다.

      - 포그라운드 / 백그라운드 프로세스를 실행한다.

      - 본쉘, C쉘 계열로 나뉜다. 대부분은 본쉘 개념이다.

     * chsh -l : 로그인 직후 부여받은 쉘을 확인한다.

     * /etc/shells : 사용할 수 있는 쉘들을 확인할 수 있다.

     * echo $SHELL : 현재 로그인한 사용자가 사용하고 있는 쉘을 확인할 수 있다.

     * chsh, usermod : 쉘을 변경할 수 있다.

     * stty : 쉘 환경에서 터미널 설정을 변경하기 위한 명령어이다.

     

     2) 쉘의 종류

      (1) Bourne shell

      - /bin/sh

      - 최초의 대중화된 unix, 차후 개발된 shell 에 비해 기능이 부족

    2) Bourne-again shell

      - /bin/bash

      - 현재 linux의 기본 shell 이며 가장 범용적으로 사용됨

      - bourne shell의 기능을 추가 발전 시킴

      - csh, ksh 에서 제공하는 기능들도 상당수 지원됨

    3) C shell

      - /bin/csh

      - bourne shell 과 호환되지만 기본적인 구조가 다르며 c언어와 비슷함

      - 명령어 모드에서 다양한 기능을 제공하기 때문에 unix의 기본 shell로 사용함

    4) Korn shell

      - /bin/ksh

      - bourne shell 과 c shell 의 기능을 포함하며 더욱 강력한 기능을 제공하는 shell / unix 에서 많이 사용됨

    5) Tenex C shell

      - /bin/tcsh

      - C shell 의 기능을 확장하여 개발, csh 의 기본 기능을 제공하며 명령 행 편집 기능을 제공

     

    4. 환경 설정

     * 한경 변수(전역 변수) : 전체 쉘에서 사용가능하고, 서브쉘에 기능 상속 가능, env로 환경 변수 확인

     * 쉘 변수(지역 변수) : 현재 로그인 쉘에서만 사용 가능한 지역변수이고, 서브쉘에 상속 불가능

      - .bash_history 에 저장해두고 다시 불러서 사용할 수 있다. (약 1000개)

    * HISTORY

      - HISTSIZE : 히스토리 스택의 크기 지정

      - HISTFILE : 히스토리 파일 위치

      - HISTFILESIZE : 물리적인 히스토리 파일 크기

      - HISTTIMEORMAT : 히스토리 명령어 수행 시간 출력 형태 지정

      - HISTCONTROL : 중복 명령어에 대한 기록 유무 지정

    5. 프로세스 관리

     1) 프로세스 : CPU와 메모리 할당을 받아 실행중인 프로그램, 프로세스들 마다 고유의 PID(Process ID)를 할당 받는다.

      - 최초의 프로세스인 init은 PID번호가 1이다.

      (1) ps (process status) : 현재 실행중인 프로세스 상태를 보여준다.

      - CPU 사용도가 낮은 순서로 출력하고, NICE 값은 프로세스 실행 우선순위를 결정

      - jobs : 특정 사용자가 백그라운드로 실행중인 프로세스를 확인할 때 사용한다.

        * 백드라운드에서 프로세스를 포그라운드 프로세스로 전환할 때 : fg%작업번호

        * jobs 명령 실행 시 +가 추로 처리되는 프로세스로 + 기호가 붙은 작업의  다음 우선순위의 작업이다.

      - [ctrl] + [z] : 포그라운드 프로세스를 백그라운드 프로세스로 전환할 때 사용한다. : 시그널 번호 20 ([ctrl] + [c] : 시그널 번호 : 2)

      - fork : 프로세스 생성의 한 방법으로 새로운 프로세스를 원래의 프로세스의 자식 프로세스로 관리하는 방식

      - exec : 원래의 프로세스를 새로운 프로세스로 대체하는 형태로 호출한 프로세스의 메모리에 새로운 프로세스의 코드로 덮어씌운다.

      - inetd : 지속적인 서비스 요청을 처리하기 위해 관련 데몬이 메모리에 계속 상주하면서 처리하는 것이 아니라, 특정 데몬이 여러 데몬을 관리하면서 서비스 요청이 들어왔을 때 관련 프로세스를 메모리에 상주시키는 방식, standalone 방식보다 메모리 관리가 더 효율적이다.

      - top : 리눅스 시스템의 운영 상태를 실시간으로 모니터링하거나 프로세스 상태를 확인할 수 있다. 동작중인 프로세스를 종료, 우선순위 변경, 메모리 사용률을 확인할 수 있지만, 디스크 사용률을 확인할 수는 없다.

     ( top 실행상태에서 프로세스와 CPU 항목을 on/off 하는 명령은 t이다. ) 

      ex) top -d 1 -p 8080

      * d 옵션을 사용하여 1초 간격으로 상태 갱신, 프로세스 상태 뿐만 아니라 CPU, 메모리, 부하 상태 등을 확인할 수 있다.

      

      - nohup : 프로세스가 중단되지 않고 백그라운드로 작업을 수행할 수 있게 한다. 데이터 압축 해제같은 실행이 오래 걸리는 프로세스들에 대해 nohup으로 처리할 수 있다.

      * 실행한 명령을 자동으로 백그라운드로 보내지 않고, 사용자가 명령행 뒤에 &를 명시해야한다.

      * 실행중인 프로세스의 표준 출력과 에러는 'nohup.out' 라는 파일을 생성하여 기록한다.

     

      * cron을 이용해서 시스템 운영에 필요한 작업을 예약할 때는 /etc/crontab

      - nice : 프로세스가 실행될 때 실행 우선순위를 조정 (NI값 변경)

      * 큰 프로그램을 컴파일 할 때와 같이 CPU나 메모리를 많이 쓰게 될 경우, 시스템 속도를 저하시키기 때문에 다른 프로세스에게 우선순위 값을 줄 때 사용

      (1) 기본 nice 값은 보통 0으로 시작하며, -20 ~ 19 까지 순위 값을 조정할 수 있다.

      (2) renice : 실행중인 프로세스에 대한 nice 값을 변경, PID로 우선순위를 조정하고, 기존의 프로세스 우선순위값을 추가없이 수정한다.

     

     2) 데몬(Daemon) : 리눅스 시스템이 부팅 시 자동으로 실행되는 백그라운드 프로세스

      - 메모리에 상주하면서 사용자의 특정 요청이 오면 즉시 실행되는 대기 중인 서버 프로세스

      - 주기적이고 지속적인 서비스 요청을 처리하기 위해 실행된다.

      - 사용자들은 이 프로세스들을 볼 수 있는 권한은 없고, root 계정이 있다.

     

    * pstree : 프로세스의 상관관계를 트리 형태로 출력해주는 명령어

    옵션

      -a : 지정한 인수까지 출력

      -h : 현재 프로세스와 부모 프로세스를 하이라이트 형태로 출력

      -c : 중복된 프로세스도 모드 출력

      -H pid : 지정한 pid의 프로세스와 부모 프로세스를 하이라이트 형태로 출력

     

    * nice : 프로세스의 우선순위를 변경하는 명령으로 NI 값을 설정할 때 사용

      - NI 값이 적을수록 우선순위가 높고, 기본값은 0이며, -20 ~ 19까지이다.

      - nice 명령어 사용시 값을 지정하지 않으면 기본적으로 NI 값이 10이 지정된다.

      - 일반 사용자는 nice값을 증가시킬 수 밖에 없고, root 는 nice 값을 감소시켜 우선순위를 높일 수 있다.

     

    * SIG

      1) SIGHUP : 터미널과 연결이 끊어졌을 때 / 재시작

      2) SIGINT : 종료, Ctrl + C

      3) SIGKILL : 프로세스 강제 종료 시

      4) SIGTERM : kill 시스템 호출 시

      5) SIGTSTP : Ctrl + Z, 포그라운드로 실행 중이던 프로세스를 Suspend로 전환

     

    6. . 에디터의 종류

     - 리눅스에서는 vi, emacs, pico, gedit, xedit 등이 편집기가 있다.

     - 버퍼 기반 편집기의 방식이고, 이는 원본 파일을 보존할 수 있지만, 시스템이 다운된다면 버퍼 내용이 지워지게 된다.

     1) pico

      - 워싱턴 대학의 Aboil Kasar 가 개발한 유닉스 기반의 텍스트 에디터이다.

      - 윈도우의 메모장과 유사하고 간단하며, 자유 소프트웨어 라이센스가 아니기 때문에 수정이 불가능하다.

      - GNU 프로젝트에서는 pico의 복제 버전 에디터인 nano 를 개발하였다.

      - vi 편집기처럼 입력모드와 명령모드가 존재하지 않고, 바로 텍스트 입력이 가능하다.

      - 최신 버전의 리눅스 배포 판에서 설치가 원활하게 되지 않는다.

     

     2) emacs

      - 리차드 스톨만이 매크로 기능이 있는 텍스트 교정 및 편집기로 개발하였다.

      - 이후 제임스 고슬링이 LISP 언어를 기반으로 하여 emacs에 다양한 기능을 추가하였다.

      - LISP에 기반을 둔 환경 설정 언어를 가지고 있으며, C, LISP, FORTRAN, HTML 등의 소스 코드를 작성할 경우 각각 해당하는 모드에서 설정할 수 있다.

      - LISP 코드를 불러오는데 시간이 많이 걸리는 단점이 있지만, 많은 새발환경에서 편리하게 편집기 기능을 제공한다.

      - 단축키

      (1) Alt + d : 커서가 위치한 부분부터 단어를 삭제

      (2) Alt + k : 커서가 위치한 부분부터 문장 전체를 삭제

      (3) Ctrl + a : 현재 커서가 위치한 줄의 처음으로 커서를 이동

     

     3) vi

      - 1976년 빌조이가 초기 BSD 릴리즈에 포함될 편집기로 만들었다.

      - 리눅스 배포판과 유닉스에 기본적으로 포함되어 있고, 유닉스 호나경에서 가장 많이 쓰이는 편집기이다.

      - 다른 편집기들과 다르게 명령모드, 입력모드, 편집모드로 구성되어 있다.

      * vi -r : 손상된 파일을 복구한다.

      * vi -R : 파일을 읽기 전용으로 로 열 때 사용한다.

      * vi +[num] : 파일을 열면서 커서를 지정한 num번째 줄로 이동하고, num이 없으면, 마지막 줄로 이동한다.

      - 문자열 치환(* :1,10 : 1번째 줄부터 10번째 줄까지 의미)

    --> :s/문자열/새문자열 : 커서가 위치하고 있는 줄의 첫 번째 해당 문자열을 새문자열로 치환

    --> :s/문자열/새문자열/g : 커서가 위치하고 있는 줄의 문자열 모두를 새문자열로 치환

    --> :s/문자열/새문자열/gi : 커서가 위치하고 있는 줄의 문자열 모두를 새문자열로 치환(단, 대소문자 구분하지 않는다.)

    --> :s/문자열/새문자열gc : 커서가 위치하고 있는 줄의 문자열 모두를 할 때 하나씩 질의하며 새문자열로 치환

      - .exrc : vi 편집기의 환경 설정을 등록하여 실행시에 계속적으로 지정한 설정이 사용 가능하게 해주는 파일

     

     4) vim

      - 브람 무레나르가 만든 편집기이다.

      - vi 편집기와 호환되면서 독자적으로 추가하여 만든 편집기이다.

      - 편집 시 다양한 색상으로 가시성을 높일 수 있고, 패턴 검색 시 하이라이트 기능을 제공하여 빠른 검색을 가능하게 해준다.

      - 확장된 정규 표현식 문법과 강력한 문법 강조 기능을 갖는다.

     

     5) gedit

      - 그놈 데스크톱 환경용으로 개발된 자유 소프트웨어 텍스트 편집기이다.

      - ms, 윈도우, 맥 OS에서도 사용할 수 있다.

      - pico와 유사하게 메모장처럼 사용할 수 있어 일반 사용자들이 많이 사용한다.

      - GTK+와 그놈 라이브러리를 이용하여 개발되었고, 그놈 파일 관리자인 노틸러스와의 사이에서 드래그 앤 드롭이 가능하다.

      - 텔넷 접속 시나 테스트 기반 콘솔 창에서는 사용할 수 없다.

      - GUI기반 동작되는 에디터 : gvim, gedit, XEmacs

    7. 에디터의 활용

     

    8. 소프트웨어 설치

     1) RPM(RedHat Package Manager)

    * 파일 형식 : 패키지이름 - 버전 - 릴리즈 - 아키텍처.rpm (deb와 형식이 같다.)

      - 레드햇 사에서 만들어낸 패키지 관리 툴이다.

      - 새로운 패키지를 설치하거나 업그레이드, 삭제 시 사용한다.

      - Windows의 setup.exe와 유사하게 만든 프로그램이다.

      - 레드햇 계열의 패키지 파일 확장명은 *.rpm 이고, 형식은 rpm [옵션] 패키지명 이다. 

          - replacepkgs : 재설치

          - replacefiles : 덮어설치

          - oldpackage : 다운그레이드

     (1) 설치 및 갱신

      - i ( --install ) : 새로운 패키지를 설치할 때 사용, 기본적으로 이전 버전의 같은 패키지가 있을 경우 설치되지 않는다.

      - U ( --upgrade) : 기존의 패키지를 새로운 버전의 패키지로 업그레이드 할 때 사용, 설치된 패키지가 없을 경우에도 새로운 버전을 설치할 수 있다.

      - F ( --freshen) : 이전 버전이 설치되어 있는 경우에만 설치(update)

      - v : 메시지를 자세히 보여줌

      - h ( --has ) : 설치 상황을 # 기호로 표시

      --force : 기존 버전이 설치되어 있을 경우 처럼 강제로 설치할 때 사용

      --nodeps : 의존성 관계를 무시하고 설치, rpm 설치시에 의존성 관계에 있는 패키지가 존재하지 않을 경우에는 설치가 되지 않는다.

      --rebuilddb : 특정한 패키지 설치후에 rpm 패키지를 검색했으나 나타나지 않을 때 rpm 데이터 베이스를 업데이트할 때 사용한다.

      (2) 제거

      -e (--erase) : 설치된 패키지를 삭제, 의존성을 갖는 패키지가 있는 경우에는 삭제되지 않는다.

      --nodeps : 의존성을 갖는 패키지가 존재하는 경우에도 삭제

      -- test : 실제로 제거하지 않고, 테스트한다.

      --allmatches : 동일한 이름을 갖는 패키지가 중복 설치되어 있는 경우에 모두 제거

     

     2) YUM (Yellowdog Updater Modified)

      - 네트워크를 통해 기존 RPM 패키지 파일의 업데이트 자동 수행, 새로운 패키지 설치 및 제거를 수행한다.

      - RPM 의 의존성 문제를 해결하기 위한 유틸리티이고, 인터넷을 기반으로 설치하므로 네트워크가 정상적으로 연결된 상태여야만 한다.

      - YUM 은 페도라 22버전 이후부터 YUM의 문제점을 보완한 dnf로 전환되고 있다.

      - /etc/yum.conf : yum 의 환경 설정 파일

      (1) yum [option] [command] [패키지_파일명]

        [option]

        -y : 모든 질의에 'yes' 라고 답한다.

        -v : 자세한 정보를 출력

        [command] 

        - list : 전체 패키지에 대한 정보를 출력, 설치가 되어 있는 경우에는 isntalled, 업데이트가 가능한 항목은 updates로 표시한다.

        - info : 패키지에 대한 정보를 출력

        - check-update : 업데이트가 필요한 패키지를 출력

        - intall [패키지명] : 패키지를 설치할 때 사용한다.

        - update [패키지명] :패키지를 업데이트할 때 사용한다.

        - search : 문자열이 포함된 패키지를 찾아준다.

        - remove : 패키지를 삭제할 때 사용한다.

        - whatprovides : 특정한 파일이나 기능과 관련된 패키지 정보를 검색한다.

     3) dpkg

      - dpkg는 데비안의 저레벨 패키지 관리 툴이다.

      - deb 패키지의 설치, 삭제, 정보 제공을 위해 사용된다. 확장자 deb 파일은 데비안 패키지 파일이다.

      - dpkg -s 패키지는 지정된 패키지에 대한 자세한 정보를 나타낸다.

      (1) dpkg [option] [패키지명] [패키지파일]

        [option]

        - i : 패키지를 설치

        -R : 설치하는 옵션인 -i와 사용되어 지정한 디렉터리 안에 있는 패키지를 설치한다.

        -l :설치되어 있는 패키지를 출력

        - c : 패키지 파일에 포함된 파일 정보를 출력한다.

        - r : 패키지를 제거하는데 환경 설정 파일을 남긴다.

        - P : 환경 설정 파일까지 전부 제거한다.

     

     4) apt-get (advanced packaging tool get)

      - 데비안 리눅스에서 소프트웨어 설치와 제거를 위한 패키지 관리 유틸리티이다.

      - 패키지 관련 정보를 확인하거나 패키지 설치 시 발생할 수 있는 의존성과 충돌문제를 해결하기 위해 'etc/apt/source.list' 파일을 참조한다.

      - sources.list 파일에는 패키지 유형, 저장소 주소, 우분투 버전 정보, 카테고리로 구성되어 있다.

      - APT 패키지 관리 시스템으로 GTK+ 기반의 GUI 도구는 synaptic

     

    9. 소스파일 설치

     : 파일 아카이브와 압축

      1) 아카이브는 다수 개의 파일이나 디렉토리를  하나의 파일로 묶는 것이다.

      2) 아카이브 파일은 다른 시스템으로 다수 개의 파일을 한 번에 전송하거나 파일 백업용으 로 사용한다. 

      3) 대표적인 파일 압축 명은 compress, gzip, bzip2, xz가 있다. 

      4) 일반적으로 많이 사용되는 압축 명령어는 gzip과 bzip2이다. 

      5) 압축률이 가장 낮은 것은 명령어 compress이며, 압축률이 가장 높은 것은 명령어 xz이다. 

     

    tar [option] [file name] [묶을 파일 이름]

     [option]

      -c : tar 파일을 만들 때 사용

      -x : 묶여진 tar 파일을 해체할 때 사용

      -v : 파일들을 묶거나 해체할 때 파일들의 이름과 크기를 표시

      -f : 사용할 tar 파일을 지정

      -r : 기존의 tar 파일 뒤에 파일을 추가

      -t : 묶여진 tar 파일의 내용물을 출력

      -p : 모든 퍼미션 정보를 유지

      -m : 파일의 변경 시간 정보를 유지하지 않는다.

      - J : xz 관련 옵션으로  압축파일인 tar.xz 에 사용한다.

      - z : gzip 관련 옵션으로 압축 파일인 tar.gz 에 사용한다.

     

    * gzip [option] [file name] <-> gunzip or gzip -d

    [option]

      - v : 압축 혹은 해제 시 정보를 출력한다.

      - l : 압축 파일 정보 출력

      - 1 : 빠른 압축, 낮은 압축률 ( 9는 반대 )

     

    10. 주변 장치 연결 및 설정

     1) 리눅스 프린터 관련 명령어

      - 리눅스 프린터 관련 명령어는 BSD 계열과 System V 계열로 나뉜다.

      (!) BSD 계열 : lpr, lpq, lprm, lpc

        - lpd : 프린터 데몬

        - lpc : 프린터를 제어하는 명령어이다. 프린터의 상태를 확인, 큐를 활성화 또는 비활성화 큐의 작업 순서를 변경할 수 있다.

        - lpq : 현재 프린트 대기 중인 내용을 보는 명령어 이다.

        - lpr : 파일 내용을 프린트 하는 명령어이다.

        - lprm : 프린터 큐의 작업을 삭제한느 명령어이다.

      * ihd.txt 인 문서를 lp라는 이름을 가진 프린터로 3장 출력한다.

      -> lpr -# 3 -p lp ihd.txt

     

      (2) System V 계열

        - lp, lpstat, cancel

     

     1-1) 프린터 설정

      - X-window 상에서 설정 :redhat-config-printer >> system-config-printer

      - 네트워크 프린터로 설정하는 경우

      (1) HP의 JetDirect 처럼 프린터가 컴퓨터에 연결되어 있지 않고고, 직접 네트워크에 연결된 경우

      (2) IPP 프로토콜 기반의 프린터 설정 시 사용

      (3) HTTPS 프로토콜 기반의 프린터 설정 시 사용5)

      (4) LPRng 와 같은 LPD 호스트 또는 프린터는 IPP 프로토콜 기반의 프린터 설정 시 사용

     1) LPRng : 리눅스 초기 인쇄 시스템, 버클리 프린팅 시스템으로  BSD 계열 유닉스에서 사용하기 위해 개발되었다.

    * 설정한 정보는 /etc/printcap 파일에 저장되었고, 프린터 스풀링과 네트워크 프린터 서버를 지원한다.

     2) CUPS : 애플이 개발한 오픈 소스 프린팅 시스템, HTTP 기반의 IPP, 631를 사용한다. 관련 명령어도 BSD, System V 계열 모두 사용 가능하다. 리눅스 초기에도 LPRng를 기본으로 했으나 최근 배포판에선느 CUPS라는 시스템을 추가로 사용한다.

      * cupsd : 프린터 데몬

        /etc/cups/cupsd.conf : 프린터 데몬의 환경 설정 파일

        /etc/cups/classes.conf : 프린터 데몬의 클래스 설정 파일

      (5) 윈도우 시스템에 연결된 프린터 설정시 사용 : Windows Printer vis SAMBA

     

     2) 사운드 카드

      (1) 고급 리눅스 사운드 아키텍처 - ALSA (Advanced Linux Sound Architecture)

      - 사운드 카드용 장치 드라이버를 제공하기 위한 리눅스 커널 요소이다.

      - GPL 및 LGPS 라이센스 기반으로 배포한다.

      - OSS의 지원을 받아서 하드웨어 기반 미디 합성, 다중 채널 하드웨어 믹싱

      - 다중 프로세서와의 조화, 스레드 안전장치 드라이버 등의 기능을 지원한다.

      (2) 오픈 사운드 시스템 - OSS (Open Sound System.) 

      - 리눅스 및 유닉스 계열 운영체제에서 사운드를 만들고 캡처하는 인터페이스

      - 표준 유닉스 장치 시스템 콜(POSIX) 에 기반한다.

      - 초기에는 Free Software 였으나 현재는 사유화

     

    * 사운드 관련 명령어

    # alsactl [option] [command]

    [option]

      - d : 디버그 모드를 사용

      - f : 환경 설정 파일을 선택 (/etc/asound.state)

      - E : 환경 변수를 설정한다.

      - i : init을 위한 설정 파일을 지정한다.

     [command]

      - store : 사운드 카드에 대한 정보를 환경 설정 파일에 저장

      - restore : 환경 설정 파일로부터 선택된 사운드 카드 정보를 다시 읽어 드린다.

      - init : 사운드 장치를 초기화

      * alsamixer : 커서(ncurses) 라이브러리 기반의 ALSA 사운드카드 오디오 믹서 프로그램

      * cdparanoia : 오디오 CD에서 음악 파일을 추출할 때 사용한다.

     

     3) 스캐너

     (1) SANE (Scanner Access Now Easy)

      - 평판 스캐너, 핸드 스캐너, 비디오 캠 등 이미지 관련 하드웨어를 사용할 수 있도록 해주는 API, GPL 라이센스, 리눅스 및 유닉스 계열, OS/2/Windows 도 지원

      - 패키지는 sane-backends, sane-frontends 이다.

      (2) XSANE (X-based interface for the SANE)

      - SANE 스캐너 인터페이스를 이용하여 X-Window 기반으로 만든 프로그램 스캐너, 디지털 카메라, 디지털 캠 등 다양한 장치에서 사용 가능

      - GTK+ 라이브러리 스캔 작업뿐만 아니라 캡처한 이미지에 수정 작업을 할 수 있다.

      * 스캐너 관련 명령어

      - sane-find-scanner : USB 및 SCSL 스캐너와 관련 장치 파일을 찾아주는 명령

      - scanimage : 이미지를 스캔

      - scanadf : 자동 문서 공급장치(ADF)가 장착된 스캐너에서 여러 개의 사진을 스캔할 때 사용

     

    * 하드디스크 장치명

    1. IDE HDD : hd가 붙는다.

      - /dev/hda , /dev/hdb , /dev/hdc , /dev/hdd

    2. SCSI HDD : sd 가 붙는다.

      - /dev/sda , /dev/sdb , /dev/sdc , /dev/sdd

     

     

    2과목 : 리눅스 활용

     

    1. X 윈도우 개념 및 사용법

     1) X 윈도우 개념

      (1) 리눅스 환경의 각종 애플리케이션과 유틸리티에 대해 그래픽 사용자 인터페이스를 제공한다.

      (2) 플랫폼과 독립적으로 작동하는 그래픽 시스템이다.

      (3) X 윈도우는 X11, X, X Windows System 이라 한다.

      (4) X 윈도우는 네트워크 프로토콜 기반의 클라이언트 / 서버 시스템이며, 네트워크 기반의 그래픽 환경을 지원한다.

      (5) 이기종 시스템 사이에서도 사용 가능하다.

      (6) 스크롤바, 아이콘, 색상 등 그래픽 환경 자원들이 특정 형태로 정의되어 있지 않다.

      (7) 디스플레이 장치에 의존적이지 않으며, 원하는 인터페이스를 만들 수 있다.

      (8) 서버 프로그램과 클라이언트 프로그램으로 나누어 작동한다.

      (9) 서버는 클라이언트들의 디스플레이에 관한 접근 허용, 클라리언트 간의 자원 공유, 네트워크 메시지 전달, 클라이언트와 입출력 기기와의 중계를 담당한다.

      (10) 클라이언트는 애플리케이션으로 X 서버가 제공하는 기능들을 이용한다.

      (11) 오픈 데스크톱 환경으로 KDE, GNOME, Xfce, LxDE 등이 있다.

     * GNOME : GNU 프로젝트에 의해서 만들어졌다. 라이센스 정책은 데스크톱, 라이브러리-LGPL/응용프로그램 GPL

          - nautuilus : 파일 관리 프로그램

          - gedit : 문서 편집 프로그램

          - gnome-terminal : 터미널 프로그램

          - evince : pdf 파일의 내용 확인할 때 사용하는 프로그램

          - eog : 이미지 뷰어 프로그램

      (12) 구성요소

        - Xprotocol 

        - Xlib

        - XCB

        - Xtoolkit

        - XFree86

        - XF86Config

     

     2) X 윈도우의 사용, 설정과 실행

      (1) 파일 /etc/inittab

        - 리눅스 사용 환경을 초기화하고, init 프로세스가 읽는 파일로, init 프로세스의 할 일을 결정한다.

      (2) X 윈도우 실행

        - 그래픽 환경이 아닌 터미널 윈도우로 로그인한 경우에는 몇 개의 프로그램을 실행해야 한다.

        - startx는 X Window를 실행하는 스크립트로 시스템 환경을 초기화하고, xinit 을 호출한다.

        - startx 실행 시 인자값을 xinit 에 전달하는 옵션은 '-- 이다.

      (3) 환경 변수 DISPLAY

        - 환경 변수는 프로세스가 컴퓨터에서 동작하는 방식에 영향을 주는 동적인 값이다.

        - 셸에서 정의되고 실행하는 동안 프로그램에 필요한 변수이다.

        - 환경 변수 DISPLAY는 현재 X Window Display 위치를 지정할 수 있다.

        * export DISPLAY=IP주소 : 디스플레이번호.스크린번호

     3) 윈도우 매니저와 데스크톱 환경

      (1) 윈도우 매니저

        - 윈도우 매니저는 X Window상에서 창의 배치와 표현을 담당하는 시스템 프로그램이다.

        - 창 열기와 닫기, 창의 생성 위치, 창 크기 조정, 창의 외양과 테두리를 변화시킬 수 있다.

        - 라이브러리는 Xlib, XCB를 사용한다.

      * Xlib : X윈도에서 사용되는 클라이언트 라이브러리로 윈도우창 생성, 이벤츠 처리, 창 조회, 키보드 처리와 같은 라이브러리 제공, C언어로 구현되어 클라이언트와 서버 대화를 해주는 역할, X관련 라이브러리 중 가장 저수준의 라이브러리이며, Xorg 에서는 XCB로 대체해서 사용

        XCB : Xlib를 대체하기 위해 등장한 것으로 향상된 쓰레드 기능을 지원하고 확장성이 뛰어난 라이브러리

        - 윈도우 매니저의 대표적인 종류로는 fvwm, twm, mw, windowMaker, AfterStep 등이 있다.

      * fvwm2 는 virtual windows manager 버전 2.x 약어로 fvwm에 기능을 추가한 것이다.

      * BlackBox는 넥스트스텝의 인터페이스를 기반으로  한 윈도우 매니저이다.

      * kwm은 KDE 1.x의  기본 윈도우 매니저이다.

     

      (2) 데스크톱 환경

        - GUI 사용자에게 제공하는 인터페이스 스타일로 데스크톱 관리자라고도 한다.

        - 윈도우 매니저, 파일 관리자, 도움말, 제어판 등 다양한 도구를 제공하는 패키지 형태의 프로그램이다.

        - 아이콘, 창, 도구모음, 폴더, 배경화면, 데스크톱 위젯도 제공한다.

        - 드래그 앤 드롭과 프로세스 간의 통보 기능을 지원한다.

        - 대표적인 데스크톱 환경에는 KDE, GNOME, LXDE, Xfce 등이 있다.

     *  KDE : 데스크톱 환경의 일종이며, Qt 라이브러리 기반으로 만들어졌으며, GNOME 보다 먼저 개발되었다. 리눅스 뿐만 아니라 FreeBSD, Solaris, OS X등도 지원한다. (dolphin 파일 관리 프로그램)

        - 로컬 또는 리모트 컴퓨터의 X server의 접속과 세션 시작을 담당한다.

     

      (3) 디스플레이 매니저

        - X window system 상에서 작동하는 프로그램이다. 

        - 디스플레이 매니저 종류들로는 XDM, GDM, KDM 등이 있다. 

        - 로컬 또는 리모트 컴퓨터의 X server의 접속과 세션 시작을 담당한다.

        - 사용자에게 그래픽 로그인 화면을 띄워주고 아이디와 패스워드를 입력받아 인증을 진행 하고 인증이 정상적으로 완료되면 세션을 시작한다. 

     

    2. X 윈도우 활용

     1) X 윈도우의 활용

      (1) xhost

      - X서버에 접근할 수 있는 클라이언트를 지정하거나 해제하는 명령, 원격지에서 X윈도에 연결을 허락하거나 거부할 때 사용하는 명령

      - 환경변수 DISPLAY로 X서버 프로그램이 실행될 때 표시되는 클라이언트 주소를 지정한다.

      * xhost : 현재 설정된 접근 목록 출력

      * xhost + : 모든 클라이언트의 접속을 허용

      * xhost - : 모든 클라리언트의 접속을 차단

      * xhost + ip : 지정한 ip의  접속을 허가

      * xhost - ip : 접속이 허가된 ip를  접근 목록에서 제거

     

       (2) xauth

        - .Xauthority 파일의 쿠키 내용을 추가, 삭제, 리스트를 출력하는 유틸리티이다.

        - xhost가 호스트 기반 인증 방식을 사용하기 위해 필요한 유틸리티라면 xauth는 MMC 방식의 인증방식을 사용하기 위한 필수 유틸리티이다.

        - 원격지에서 접속하는 X클라이언트를 허가할 때 IP 주소나 호스트명이 아닌 X 윈도우 실행 시에 생성되는 키 값으로 인증할 때 사용한다.

        - 사용자 인증 기반을 지원하기 위해 각 사용자에게 네트워크화 된 홈 디렉토리에 파일 $HOME/.Xauthority에 대해 읽기 및 쓰기 권한이 있어야 한다.

     2) X 윈도우 응용 프로그램

      (1) 오피스

        - LibreOffice : 오피스 프로그램 패키지

        - gedit : 텍스트 편집 프로그램

        - kwrite : KDE 기반의 텍스트 편집기

        (2) 그래픽

        - GIMP : 이미지 편집 프로그램

        - ImageMagick : 이미지 생성 및 편집을 지원하는 프로그램

        - eog : GNOME의 이미지 뷰어 프로그램

        - kolourpaint : Ubuntu 이미지 편집 프로그램

        - gThumb : GNOME 데스크톱 이미지 뷰어 프로그램

        - gwenview : KDE의 기본 이미지 뷰어

      (3) 멀티미디어

        - totem : GNOME 기반의 사운드 및 비디오 재생 프로그램

        - RHYTHMBOX : 통합형 음악 관리 프로그램

        - CHEESE : GNOME 기반의 카메라 동영상 프로그램

      (4) 개발

        - ECLIPSE : 통합 개발 환경으로 자바를 비롯한 다양한 언어를 지원

      (5) 기타

        - Dolphine : KDE용 파일 관리자

        - KSnapshot : 스크린샷 프로그램

     

    3. 인터넷 활용의 네트워크의 개념

     1) 네트워크 분류

       (1) LAN (Local Area Network)

        - 근거리 통신망을 연결하는 네트워크이다.

        - 학교나 회사 등 가까운 지역을 묶는 소규모 네트워크이다. 

       (2) MAN (Metropolice Area Network)

        - 도시권 통신망을 연결하는 네트워크이다.

        - LAN과 WAN의 중간크기이다.

      (3) WAN (Wide Area Network)

        - 국가, 대륙 등과 같이 넓은 지역을 연결하는 네트워크이다.

        - 거리의 제한은 없으나 다양한 경로를 경유해 도달하므로 속도가 느리고, 전송 에러율도 높다.

      (4) SAN (Storage Area Network)

        - 스토리지를 위해 고안된 스토리지 전용 고속 네트워크이다.

        - 파이버 채널을 이용하여 구성되는 저장장치 네트워크이다.

        - 호스트 컴퓨터의 종류에 구애받지 않고, 별도의 연결된 저장장치 사이에 대용량의 데이터를 전송시킬 수 있는 고속 네트워크이다.

     

     2) 네트워크 개요

      (1) LAN 토폴로지

        - 토폴로지는 호스트 및 장비들의 물리적인 배치 형태이다.

        - 토폴로지는 성형, 망형, 링형, 트리형 등이 있다.

      * 성형

        - 중앙 컴퓨터에 여러 대의 컴퓨터가 허브 또는 스위치 같은 장비로 연결한다.

        - 고속의 대규모 네트워크에 적합하고, 중앙 집중식 형태로 네트워크 확장에 용이하다.

      * 망형

        - 모든 노드가 서로 일대일로 연결된 형태이다.

        - 대량의 데이터를 송수신할 경우 적합하지만, 회선 구축 비용이 많이 든다.

        - 장애 발생 시 다른 시스템에 영향이 적고 우회할 수 있는 경로가 존재하여 가장 신뢰성이 높다.

      * 버스형

        - 하나의 통신회선에 여러 컴퓨터를 연결해서 전송한다.

        - 연결된 컴퓨터 수에 따라 네트워크 성능이 변동되고, 단말기 추가 및 제거가 용이하며, 설치 비용이 저렴하다.

        - 노드 수 증가 시 트래픽 증가로 병목현상이 발생하여 네트워크 성능을 저하시킬 수 있고, 문제의 노드를 파악하기가 어렵다.

      * 링형

        - 각 노드가 좌우의 인접한 노드와 연결되어 원형을 이룬 형태이다.

        - 토큰 패싱이라는 방법으로 데이터를 전송하며, 앞의 컴퓨터로부터 수신한 내용을 다음 컴퓨터로 재전송한다.

        - 분산제어와 검사 및 회복이 가능하고, 네트워크 전송상의 충돌이 없고, 노드 숫자가 증가하더라도 망 성능의 저하가 적다.

        - 논리적인 순환형 토폴로지로 하나의 노드장애가 전체 토폴로지에 영향을 주고, 노드의 추가 및 삭제가 쉽지 않다.

      * 트리형

        - 버스형과 성형 토폴로지의 확장 형태

        - 백본과 같은 공통 배선에 적절한 분기장치를 사용하여 링크를 덧붙여 나갈 수 있는 구조이다.

      * 매체 접근 제어 방식

        - CSMA/CD : 단말기가 전송로의 신호 유무를 조사하고 다른 단말기가 신호를 송출하는지 확인한다.

        - 토큰패싱 : 토큰의 흐름에 의해 전송 순서가 결정된다. 토큰 패싱은 free token과 busy token을 이용하여 매체 접근을 제어한다.

     3) 네트워크 장비

      (1) 케이블

        - 보호 외피나 외장 안에 두 개 이상의 전선이나 광섬유로 묶여 있는 것이다.

        - TP 케이블, 동축 케이블, 광섬유 케이블 등을 사용할 수 있다. 

      (2) 리피터 

        - 신호의 재생 및 증폭기능을 수행하여 물리적인 거리를 확장시킨다.

      (3) 허브

        - 신호를 노드에 전달해 주는 장비이다. 

        - 네트워크 확장, 다른 허브와의 상호 연결, 신호의 증폭 등의 기능을 제공한다. 

      (4) LAN카드

        - 네트워크에 접속할 수 있도록 컴퓨터 내에 설치되는 확장 카드이다. 

        - 전기신호로부터 데이터를 송신하고 변환하며, 데이터를 전기신호로 변환하여 송신한다. 

        - MAC 주소를 이용하여 데이터의 수신 여부를 판별한다. 

      (5) 브릿지

        - 모든 수신 프레임을 일단 버퍼에 저장하고, 주소에 따라 목적지 포트로 프레임을 전달하 는 장비이다.

        - 큰 네트워크를 단일 네트워크상의 트래픽 감소 등과 같은 작고 관리하기 쉬운 Segment 로 나눌 필요가 있을 때 사용한다.

        - 전기적으로 신호의 재생 및 패킷의 송수신 어드레스를 분석하여 패킷의 통과 여부를 판 정하는 필터링을 작용한다.

      (6) 스위치

        - 브릿지와 비슷한 기능을 갖고, 소프트웨어 기반인 처리 방식으로 브릿지보다 빠르게 데이터를 전송한다.

        - 스위칭 허브는 전용매체교환 기술을 이용하여 트래픽 병목 현상을 제거하고, 포트별로 속 도가 전용으로 보장된다. 

       (7) 라우터

        - OSI모델의 물리 계층, 데이터링크 계층, 네트워크 계층의 기능을 지원하는 장치이다. 

        - 서로 다른 통신망과 프로토콜을 사용하는 네트워크 간의 통신을 가능하게 한다. 

        - LAN을 연결시켜주는 망 연동 장치로서 통신망에서 정보를 전송하기 위해 경로를 설정하 는 역할을 제공하는 핵심적인 통신장비이다. 

      (8) 게이트웨이

        - 서로 다른 형태의 네트워크를 상호 접속하는 장치이며, 데이터 포맷 등 두 개의 시스템 사이에서 중개자 역할이다.

        - 서로 다른 통신망이나 프로토콜을 사용하는 네트워크 간의 통신을 가능하게 하는 장비를 통칭한다. 

     

     4) 프로토콜 개요와 기능

      *OSI 7계층

       (1) 물리계층 (프로토콜 ; RS-232, 10BASE-T, 100BASE-TX, DSL 등)

        - 물리적인 연결, 전기적, 기계적, 기능적 절차적인 수단 제공 

       (2) 데이터계층 (프로토콜 : 이더넷, 토큰 링, FDDI, ATM 등) (frame)

        - 데이터 전송을 위하여 Media 접근하는 방법을 제공 / 오류 검출 기능 제공

        * ATM : 셀(Cell)이라 부르는 고정 길이 패킷을 이용하여 순서대로 자료를 전송하는 방식이다.

       (3) 네트워크계층 (프로토콜 : IP, ICMP, ARP, RARP, IGMP, BGP, RIP, IPX 등) (packets)

        - 논리적인 주소를 사용하고, 경로 관리 및 최적 경로를 결정

        * ICMP : 메시지에 대한 오류 보고와 이에 대한 피드백을 원래 호스트에 보고하는 역할을 수행한다.

       (4) 전송계층 (프로토콜 : TCP, UDP, RTP 등)

        - 종단 간 연결, 응용 계층 사이에 논리적인 통로 제공 (segment)

       (5) 세션계층 (프로토콜 : SSL, TSL, NetBIOS 등)

        - 종단 간 애플리케이션들의 연결 설정 및 유지 해제

        - 데이터의 전송 순서 및 동기점의 위치를 제공하여 데이터 전송 중에 오류가 발생할 경우 재전송하거나 복구한다.

       (6) 표현계층 (프로토콜 : SMP, AFP, ASN.1 등)

          - 데이터의 암호화와 해독을 수행하고, 효율적인 전송을 위해 필요에 따라 압축과 해제를 수행

       (7) 응용계층 (프로토콜: HTTP, SMTP, POP3, IMAP, DNS, NFS, FTP, TELNET, SSH 등)

        - 사용자에게 다양한 네트워크 서비스를 제공하기 위해 User Interface를 제공, UI 데이터를 생성

     5) IP 주소와 도메인

        (1) IPv4

        - IPv4 주소는 4개의 옥탯으로 구성되어있고, 각 옥탯은 8비트이므로, 총 32비트이다.

    구분 IPv4 IPv6
    IP주소 비트수 32비트 64비트
    IP주소 방식 지정 주소 방식
    일반 주소
    브로드캐스트 주소
    자동 설정 주소 방식
    유니캐스트 주소
    멀티캐스트 주소
    애니캐스트 주소
    IP헤더 길이 20바이트 ~ 60바이트 40바이트와  확징필드 이용
    기능 IP헤더를  이용한 기본 기능 암호 및 인증 기능
    QoS 관련 기능
    보안 기능

     

    4. 인터넷 서비스의 종류 및 설정 

     1) WWW

      - 프로토콜 HTTP를 기반으로 한 멀티미디어와 하이퍼텍스트를 통합한 정보 검색 시스템이다.

      - 분산 클라이언트/서버 모델을 기반으로 한다.

      - HTTP, XML, SOAP, WSDL, UDDI 의 표준 웹 프로토콜을 기본으로 하여 서로 다른 개발 환경과 OS에서도 상호 통신이 가능하다.

     2) FTP

      - FTP(File Transafer Protocol) TCP/IP에 의해 제공되는 호스트 간의 파일 복사를 위한 프로토콜이다.

      - 20번(일반 데이터 전송)과 21번(제어 데이터 전송) 포트 번호를 사용한다.

      - FTP는 사용자 계정을 가진 사용자들의 접속과 익명의 로그인을 허용한다.

      * bi : 파일 전송 모드를 바이너리 모드로 변경한다.

        ls : 디렉토리의 리스트를 출력한다.

        mget : 로컬 시스템에 여러개의 파일을 가져온다.

     3) DNS

      - 호스트 이름을 기반으로 IP주소를 변환하거나 IP주소를 기반으로 호스트 이름을 변환시켜주는 프로토콜이다.

     4) Telnet // SSH

      - 네트워크상에 있는 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령 실행, 파일 복사등을 제공한다.

      -  Telnet과 SSH는 사용자가 서버에 접속하여 서버 관리, 파일 편집 등을 Text모드 환경에서 시스템 명령을 실행하고, 결과를 화면을 통해 볼 수 있다.

      - Telnet은 정보를 Byte 스트림 형식으로 전송, SSH는 DES, RSA 등의 암호화 기법을 사용하여 전송한다.

      * ssh -p 190 www.ihd.co.kr  >> www.ihd.co.kr  서버에서 190포르로 접속한다.

      * telent -l 계정명

     5) NFS

      - 1984년 썬 아니크로 시스템스에서 개발한 네트워크 기반에 다른 시스템과 파일 시스템을 공유하기 위한 클라이언트/서버 프로그램이다.

      - NFS는 portmap이 먼저 수행되어 있어야만 NFS 서비스가 실행된다. portmap은 NIS, NFS 등 RPC(Remote Procedure Call) 연결에 관여하는 데몬이다. 

      - nfsd, rpc.mounted, rpc, statd, rpc.rockd, rpc.rquotad 데몬들이 구동된다.

     6) RPC 

      - 동적으로 서비스와 포트를 연결할 때 사용하는 방법이다.

      - 기본적으로 포트와 서비스가 정적으로 구성될때 /etc/services 파일을 참조하지만 동적으로 포트를 할당받아 사용할 때는 RPC 인 rpcbind를 사용한다.

     

    5. 인터넷 서비스 설정

     1) 네트워크 설정 파일

      (1) /etc/sysconfig/network : 네트워크의 기본 정보가 설정되어 있는 파일이다.

      (2) /etc/sysconfig/network-scripts/ifcfg-ethX : 지정된 네트워크 인터페이스의 네트워크 환경 설정 정보가 저장된다.

      (3) /etc/resolv.conf : 기본적으로 사용할 도메인명네임서버를 설정한다.

      (5) /etc/hosts : IP 주소도메인 주소를 1:1로 등록하여 도메인에 대한 IP주소를 조회하도록 한다.

      (6) /etc/host.conf : DNS 서비스를 제공할 때 먼저 이 파일을 검사하여 파일의 설정에 따라 서비스한다.

      (7) /etc/ services : 각 응용프로그램 및 프로토콜에 할당될  포트를 관리한다.

     2) 네트워크 관련 명령어

      (1) TCP/IP주소 설정 정보 확인 : ifconfig, nslookup

      * ifconfig

        - 네트워크 인터페이스의  작동을 중지 및 IP, Netmask, Broadcast 값을 부여하고 활성화시킨다.

      (2) 네트워크 경로 상태 확인 : ping, traceroute

      (3) 네트워크 연결 상태 확인 : netstat

      * netstat

        - 라우팅 테이블 정보, 네트워크 인터페이스 상태, 멀티캐스트 멤버 정보를 확인할 수 있다.

      (4) 라우팅 테이블 확인 : route

      (5) NIC 상태 확인 : ethtool, mii-tool, arp

       

    5. 응용 분야에서의 기술동향 및 활용기술

     1) 클러스터링

     2) 임베디드 시스템

     3) 서버 가상화

     4) 클라우드 컴퓨팅

     5) 빅데이터

     

     

    *사설 IP

    A : 10.0.0.0 ~ 10.255.255.255.255

    B : 172.16.0.0 ~ 172.16.255.255

    C : 192.168.0.0 ~ 192.168.255.255

     

     

     

     

     

     

     

     

    반응형
Designed by Tistory.