어쩌다 하게 됬는가?

2월부터 준비하던 기사 시험이 2번인가? 미뤄지다가 그대로 4월 말이 되어 취소되서 공부한게 날라가버렸다.
그래서 뭐라도 해야겠다는 생각에 일단 리눅스 마스터가 떠올라서 기간을 봤더니 아쉽게도 2급 밖에 볼 수 없어서 이거라도 준비해야겠다란 생각에 준비하게 됬다.

Linux Master 요약

리눅스의 개요

리눅스의 특징 및 장단점

* 오픈 소스
* 멀티 유저 멀티테스킹 운영체제이다
* 다중 스레드를 지원하는 네트워크 운영체제
* 여러 종류의 파일 시스템을 지원하는 운영체제

장단점

* 리눅스는 유닉스와 완벽 호환 가능
* 리눅스는 pc용 운영체제보다 안정적
* 하드웨어 기능을 효과적으로 사용 가능
* 공개 운영체제이기 때문에 문제 발생시 기술지원 받기 어렵다

리눅스 디렉터리 종류와 특징

  • /
    • 최상위 디렉터리, 루트 디렉터리
    • 모든 디렉터리의 출발점, 다른 시스템과의 연결점
  • /boot
    • 부트 디렉터리로 부팅 시 커널 이미지의 부팅 정보 저장 파일
  • /proc
    • 시스템 정보 디렉터리
    • 커널 기능 제어
    • 현제 실행되는 프로세스 및 장치,하드웨어 정보 저장
  • /lib
    • 공유 라이브러리 디렉터리
    • 커널 모듈 파일들과 프로그램 시행을 지원해 주는 라이브러리 저장
  • /bin
    • 기본적인 명령어가 저장된 디렉터리
    • root 사용자와 일반 사용자가 함께 사용할 수 있는 명령어의 디렉터리
  • /dev
    • 시스템 디바이스 파일들을 저장하는 디렉터리
    • 하드디스크 장치 파일, C-ROM 장치 파일 같은 파일 저장
  • /etc
    • 시스템 환경 설정 파일 저장 디렉터리
  • /root
    • 시스템 관리자용 홈 디렉터리
  • /sbin
    • 관리자용 시스템 표준 명 및 시스템 관리와 관련된 실행 명령어 저장
  • /usr
    • 사용자 디렉터리
    • 사용자 데이터나 애플리케이션 저장
  • /home
    • 사용자 계정 디렉터리
    • 계정들의 홈 디렉터리 위치
  • /var
    • 가변 자료 저장 디렉터리
    • 로그 파일이나 메일 데이터 저장
  • /tmp
    • 임시 파일 저장
    • 모든 사용자에 대해서 읽기와 쓰기 허용
    • 시티키 비트 설정으로 파일의 소유자만이 자신의 소유 파일을 지울 수 있음
  • /mnt
    • 파일 시스템을 일시적으로 마운트 할 때 사용
  • /lost+found
    • 결함이 있는 파일에 대한 정보가 저장되는 디렉터리

리눅스 배포판

  • 슬렉웨어 리눅스
    • 배포판 가운데 가장 먼저 대중화된 배포판
  • 데비안
    • 데비안 프로젝트에서 만들어 배포하는 공개 운영체제
    • GNU의 공식적인 후원을 받고 있는 유일한 배포판
  • 우분투
    • 데비안 리눅스에 기초한 운영체제
  • 레드햇
    • 레드햇사가 개발하던 리눅스 배포판
  • 페도라
    • 리눅스 커널에 기반한 운영체제와 레드햇의 후원과 개발 공동체의 지원 아래 개발된 배포판
  • CentosOS
    • 업스트림 소스인 레드햇 엔터프라이즈 리눅스와 완벽하게 호환되는 무료 기업용 컴퓨팅 운영체제
  • 수세
    • 독일에서 출시된 배포판
    • 유럽에서 인기를 누리고 있다.

리눅스 라이센스

  • GNU
    • GNU는 유닉스가 아니다
    • GNU GPL
      • GPL은 자유 소프트웨어 재단에서 만든 FREE 소프트웨어 라이센스
    • GNU LGP
      • LGPL은 GPL 보다 훨씬 완화된 조건의 공개 소프트웨어 라이센스
      • LGPL 라이센스 프로그램의 경우 프로그램 소스코드를 공개하지 않아도 된다
  • BSD 라이센스
    • 버클리 대학 자유 소프트웨어 저작권의 한 가지이다.
  • 아파치 라이센스
    • 아파치 소프트웨어 재단에서 자체적으로 만든 소프트웨어 라이센스 규정
  • MIT 라이센스
    • BSD 라이센스를 기초로 작성된 BSD 계열 라이센스 중의 하나
  • MPL
    • 소스코드와 실행파일의 저작권을 분리했다.
  • 자유 소프트웨어 재단(FSF)
  • 오픈 소스 소프트웨어
    • FSF 대신 1998년 부터 오픈 소스 소프트웨어라는 단어 사용

기본 설치 및 유형

리눅스 설치 개요

  • 리눅스 배포판마다 설치환경과 설치 과정이 다르다
    • 패키지에 따라 데스크탑형, 서버형, 사용자 정의형으로 구분
  • 멀티 부팅 시스템을 만든다면, 현재 운영체제의 배포 미디어를 가지고 있어야한다.
  • 부팅 드라이브를 다시 파티션하는 경우
    • 운영체제의 부트로드 재설치 가능성 존재
    • 운영체제 전체를 해당 파티션에 다시 설치해야 할 수 도 있음

리눅스 설치를 위한 하드웨어 정보 파악

  • 하드웨어 정보
  • 하드웨어 호환성
  • 네트워크 설정

파티션

파티션이란?

  • 파티션이란, 하나의 물리적 디스크를 여러 개의 논리적인 디스크로 분할하는 것
  • 파티션은 주 파티션, 확장 파티션, 논리 파티션, 스왑 파티션(?)으로 구분한다

파티션의 종류

  1. 주 파티션
    • 부팅 가능한 기본 파티션
    • 하나의 하드 디스크에 최대 4개의 주 파티션 분할 가능
    • 4개 이상으로 파티션을 사용해야 할 때
      • 하나의 확장 파티션을 설정하여 확장 파티션 안에 여러 개의 논리 파티션을 분할
  2. 확장 파티션
    • 주 파티션 내에 생성, 하나의 물리적 디스크에 1개만 생성
    • 파티션 번호는 1~4번이 할당
    • 데이터 저장 영역을 위한 것이 아니라 논리 파티션 생성
  3. 논리 파티션
    • 확장 파티션 안에 생성되는 파티션
    • 논리 파티션은 12개 이상 생성하지 않는 것을 권고
    • 5번 이후의 번호가 붙여짐
  4. 스왑 파티션
    • 하드 디스크의 일부를 메모리처럼 사용하는 영역
    • 주 파티션 또는 노리 파티션에 생성
    • 프로그램 실행시 부족한 메모리 용량을 하드디스크로 대신 하는것
    • 리눅스 설치시 반드시 설치되어야 하는 영역
    • 스왑 영역의 크기는 메모리의 2배를 설정하도록 권고

디스크와 장치명

  • 분할된 파티션은 디스크의 장치 파일명 뒤에 숫자를 붙인다
  • 리눅스에서 파티션을 만들고 마운트할 때 지정된 디바이스명을 사용한다

파일 시스템

  • 운영체제가 파일을 시스템의 디스크 파티션사아에 구현하는 방식
  • 일정한 규칙을 가지고 파일을 저장하도록 규칙 방식을 제시
  • 파티션에 파일 시스템이 없으면, 파일 시스템 생성을 거쳐야 사용 가능
  • 리눅스는 고유 파일 시스템 외에 다양한 파일 시스템을 지원하고 있다.

LVM(Logical Volumn Manager)

  • 여러 개의 하드 디스크를 합쳐서 사용하는 기술로 한 개의 파일 시스템을 사용한다.
  • 작은 용량의 하드디스크 여러 개를 큰 용량의 하나의 하드 디스크 처럼 사용
  • 서버를 운영하며 대용량의 별도 저장 공간이 필요할 때 활용
  • 다수의 디스크를 묶어 사용함으로써 파티션의 크기를 줄이거나 늘릴 수 있다.

RAID

  • RAID는 복수 배열 독립 디스크의 약자이다.
  • 여러 개의 물리적 디스크를 하나의 논리적 디스크로 인식하여 작동하게 하는 기술
  • 여러 개의 하드디스크에 일부 중복된 데이터를 나눠서 저장하는 기술
  • 하드웨어 RAID, 소프트웨어 RAID로 나뉜다.
  • 데이터를 저장하는 다양한 방법이 존재, 이 방법들을 레벨이라고 한다.
  • 각 레벨의 장점을 합친 RAID 구성으로 대표적으로 RAID 0+1과 RAID 1+0이 있다.

파티션 분할

  • fdisk
    • 파티션 테이블을 관리하는 명령
    • 디스크 파티션을 생성 수정 삭제 할 수 있는 일종의 유틸리티

부트 매니저

부트로드

  • 부트스크랩 로드의 준말
    • 디스크나 플래시에 저장된 운영체제를 읽어 주기억장치에 적재해 주는 프로그램
  • 운영체제 시작전 미리 실행
    • 커널의 정상 작동을 위한 모든 작업을 마무리하고 최종적으로 운영체제를 시동시키기 위한 프로그램
  • 임베디드 시스템 부트로더
    • pc의 bios와 os loader의 기능을 수행하는 프로그램
    • 시스템 부팅할 때 가장 먼저 수행된다.
  • 운영체제 실행에 필요한 환경 설정 및 운영체제 이미지를 메모리에 복사
  • 부트매니저라고 부르기도 함
    • 크기는 512바이트
    • 하드디스크의 첫번째 세거인 MBR에 위치
  • 주 파티션마다 부트섹터가 할당된다
  • 분할된 주 파티션들은 자신의 부트 레코드를 MBR에 기록하여 실행
  • 한 컴퓨터에 다수의 운영체제가 설치되어 있는 경우 작업 운영체제를 선택하여 부팅할 수 있게한다.

런레벨

  • 런레벨에 따라 작동하는 서비스를 조정 가능
  • 런레벨은 0 ~ 6까치 총 7가지
  • 리눅스 가동시 특정 모드의 레벨을 default로 하고 싶은 경우
    • /etc/inittab에서 설정
    • /etc/inittab 파일 형식은 ‘코드 런레벨:행동:명령어’
  • 현재 실행되는 런레벨을 확인하는 명령어는 runlevel

로그인과 로그아웃

로그인

  • 리눅스는 x윈도우상에서의 로그인/로그아웃과 콘솔상에서의 로그인/로그아웃이 있음
  • 로그인 과정
    1. 입력한 패스워드와 파일 /etc/passwd 필드 비교
    2. 셀 설정 파일 실행
    3. 로그인 쉘 실행

로그아웃

  • 로그아웃은 logout, exit 또는 조합키 Ctrl+D
  • 관리자는 일정시간 동안 작업을 수행하지 않는 모든 사용자들을 강제로 로그아웃할 수 있다.

디렉터리 및 파일

리다이렉션과 정규 표현식

리다이렉션

  • 표준 입력과 표준 출력의 방향을 재지정하는 것
  • 표준 입력/출력/에러가 화면이 아닌 파일로 대체
    • 모니터로 출력이 파일로 재지정
  • 표준 입력 장치는 키보드, 표준 출력 장치는 모니터,표준 에러 장치는 모니터

정규퓨현식

  • ^ : 라인의 첫 글자
  • $ : 라인의 끝 글자
  • . : 한 글자
  • * : * 기호 바로 이전의 글자는 정규 표현식이 0 회 이상 반복
  • [] : 대체 글자 목록을 []에 나열
  • 대체 못할 글자 목록을 [^]에 나열
  • + : + 기호 바로 이전 글자나 정규 표현식이 1회 이상 반복
  • ? : ? 기호 바로 이전 글자나 정규 표현식이 없거나 1회만 존재
  • () : 부분 정규 표현식의 시작과 끝을 표시
  • | : | 로 구분된 단어들 중 최소 하나 존재
  • {m,n} : {} 기호 바로 이전 글자나 정규 표현식이 m개 이상 n개 이하 반복

파이프

  • 둘 이상의 명령을 함께 묶어 출력 결과를 다른 프로그램이 입력으로 전환하는 기능

  • 현재 명령의 표준 출력을 다음 명령의 표준 입력으로 사용하는 것이다.

  • 명령어와 명령어의 연결 | 기호를 사용한다.

    • 명령어1의 출력결과는 명령어2의 입력으로 처리된다.
  • 더 이상 처리할 명령어가 없으면 표준 출력 장치인 화면으로 출력한다.