리눅스 란

  • 학습 개요
    UNIX 운영체제와 리눅스의 발전 과정을 알아보고 리눅스의 특징을 알아보자.
    GNU 프로젝트와 오픈소스 소프트뤠어 라이센스의 의미를 알아보자.
    또 주요 리눅수 배포판의 특징을 정리해 보자.

  • 학습 목표

    1. 리눅스의 발전사와 특징을 알아본다.
    2. 오픈소스 소프트웨어 라이센스의 종류를 나열해 보자.
    3. 주요 리눅스 배포판의 특징을 설명해 보자.

유닉스와 리눅스

UNIX의 특징

다중 사용자(Multi User), 다중 작업(Multi Thread)을 지원하는 신뢰성 높은 시분할 방식의 운영체제.
운영체제가 C로 작성되었기 때문에 이식성이 좋음.
네트워크 기능에 강력함.
단순화 된 설계, 모듈화된 설계로 기능을 제공함.
파일 시스템 트리가 하나로 통합됨.
셸스크립트로 명령 행 기반의 인터페이스를 사용할 수 있음.

UNIX와 LINUX

  • 리눅스는 UNIX의 무료 공개 버전.
  • 초기의 리눅스는 PC용 운영체제로 개발 되었음. (UNIX는 고성능 혹은 중형 컴퓨터 용으로 제작됨)

UNIX 발전사

  • 최초의 UNIX
    • Multics
      • 1969년 assembly 언어로 작성된 최초의 시분할 운영체제.
    • Unicx -> UNIX
      • 작고 심플한 운영체제로 다시 작성됨.
      • 1973년 대부분이 C 언어로 다시 작성 됨.
  • 대표적인 UNIX 시스템
    • BSD 계열 (버클리) : Free BSD, SunOS
    • System V 계열 (직계) : HP-UX, IBM AIX, Solaris(SunOS가 System 계열로 넘어옴)
    • Linux : 리눅스 커널을 사용하는 운영체제

Linux의 등장

  • 1983년 GNU 프로젝트
    • 리처드 스톨만(MIT연구원)이 UNIX와 유사한 공개 운영체제를 개발하기 위해 GNU 프로젝트를 시작.
    • 소프트웨어 상업화에 반대하고 소스코드의 공유, 자유로운 사용과 배포를 주장.
    • 1985년 GNU 선언문 (Manifesto) 발표.
    • 1989년 GPL을 발표.
    • 현재 Free Software Foundation(FSF)라는 이름으로 활동.
    • GNU 프로젝트에서 만들어진 Util들이 Linux에서 사용 됨.
  • 1991년 Linux Kernel
    • 리누스 토발즈가 리눅스 커널을 작성하여 발표
      • 커널은 하드웨어를 제어하고 응용 프로그램과의 상호작용을 제공하는 운영체제의 핵심임.
    • 개발자인 Linus와 UNIX의 이름을 따서 Linux로 명명함.
  • 1992년
    • 최초의 리눅스 배포판인 MCC Interim 리눅스가 발표됨.
    • 보통 리눅스라 함은 리눅스 커널을 사용한 운영체제(리눅스 배포판)를 의미함.
  • 1998년
    • IBM과 Oracle이 리눅스 지원을 발표함.

리눅스 개요

리눅스 발전상

  • 전 세계 리눅스 사용자는 만명 정도로 추산됨.
  • 유수의 100만 도메인 중 95% 이상이 리눅스를 사용
  • Mac, 안드로이드 운영체제가 리눅스 기반.
  • 슈퍼 컴퓨터의 95%가 리눅스에서 운영됨.
  • 주요 증권 거래소에서 리눅스 서버 사용.
  • 대다수 전자장비에서 리눅스 사용.

리눅스의 특징

  • 다중 사용자와 다중 작업을 지원.
  • 뛰어난 이식성
  • 모듈화 되어 있어 업그레이드 또는 업데이트가 용이함.
  • CUI와 GUI를 지원.
    • Character UI : Shell을 통해 커맨드 입력.
    • Graphical UI : X Window, GNOME, KDE 등의 데스트 톱.
  • 소스코드가 공개죔.
    • 공개 소스로서 빠르게 발전하고 보완됨.
  • 여러 종류의 파일 시스템을 지원.
    • Minix, ext 계열, FAT, FAT32, NTFS, NFS, ISO-9660 등.
  • 효과적인 하드웨어의 활용.(저사양 하드웨어에서도 효율적으로 활용 가능하다)
  • 다양한 응용프로그램과 소프트웨어 개발 환경을 제공.

오픈소스와 라이센스

오픈소스

  • 개발자(저작권자)가 소스코드를 공개하여 누구나 사용, 수정, 공유할 수 있도록 허가람 소프트웨어.
  • 반대 개념은 "proprietary (closed) SW"

소프트웨어 라이센스

  • 컴퓨터 프로그램은 지식재산권으로 보호받는 저작물.
  • 원칙적으로 저작자가 공표, 복제, 배포, 개작할 권한을 가짐.
  • 타인에게 일정한 대가나 조건을 전제로 권한을 부여할 수 있음.(라이센스)
    opensource.org

오픈 소스의 장점

  • 누구나 잘못된 점을 발견하고, 알리거나, 고칠 수 있음.
  • 배울 수 있고, 효율적인 프로그램 개발에 적용할 수 있음.
  • 오픈 소스는 여러 사람에 의해 테스트되어 안전함.
  • 오픈소스 운동의 철학은 커뮤니티를 통한 협력, 공유, 개방이 발전을 위해 효율적이라는 것.

GNU 프로젝트와 자유 소프트웨어 운동

  • 목적에 상관없이 프로그램을 실행할 수 있는 자유
  • 프로그램을 복제하고 공유할 수 있는 자유
  • 소스코드를 개작할 수 있는 자유
  • 개작된 프로그램을 배포할 수 있는 자유
    • 소프트웨어 소스코드는 공개

리눅스의 라이센스

  • 리눅스는 독접되거나 배타되지 않는 자유 소프트웨어
    • 공개 라이센스에 따라 자유롭게 고치고 배포 가능
  • 주로 GPL (GNU General Public License)를 따름.
  • 일부는 LGPL(GNU Lesser General Public License)
  • X Window는 MIT 라이센스

GNU GPL

  • 자유롭게 사용, 복제, 배포
  • 필요에 따라 자유롭게 수정하고 배포 가능.
  • 수정하여 배포하는 경우 소스코드를 공개하여야 함.
  • 수정된 소프트웨어에 저작권을 표시하고 똑같이 GPL 조건으로 배포하여야 함.

다양한 오픈소스 소프트웨어 라이센스

  • GPL, LGPL, MPL
    • 소스코드를 공개해야 하는 카피레프트 라이센스
      • 기본적으로 코드를 공개하도록 함.
    • LGPL은 주로 오픈소스 라이브러리에 적용됨
    • MPL 코드와 결합하여 프로그램을 만들 때, MPL 코드를 포함하지 않은 파일은 공개 의무가 없음.
    • 소스코드의 공개 범위는 다르게 정의 됨.
      • 전체 / 파일 / 모듈 단위 등
  • BSD, Apache, MIT 라이센스
    • 배포 시 소스코드의 비공개가 허용됨.
    • Permissive 라이센스라고도 함.
    • 코드의 재사용을 높이려는 목적.

리눅스 배포판

리눅스 배포판의 역사

  • 리눅스 배포판은 리눅스 커널 외에 시스템 유틸리티, 응용프로그램, 설치 프로그램을 포함한 완전한 운영체제
  • 리눅스 커널은 1991년 처음 개발됨.
    • 1994년에 커널 1.0이 발표 되었고 최신 안정 버전은 4.12
  • 1992년 최초의 배포판 MCC Interim과 SLS(Softlanding Linux System) 배포판이 발표됨.
  • 1993년부터 주요 배포판이 나오기 시작함.

주요 리눅스 배포판의 종류

  • Debian 계열 : Debian, Ubuntu etc
  • Slackware : Slackware, SUSE etc
  • Red Hat : Redhat, Fedora, CentOS etc

Debian Linux

  • Debian Project
    • 자유 운영체제를 만들어가는 사람들의 독자적인 모임.
    • Ian Merdock에 의해 1994년에 비영리 조직으로 설림
  • GNU 정신에 가장 충실한 배포판
    • GNU의 공식 후원을 받는 유일한 배포판
  • 세 가지 릴리즈를 유지
    • stable, testing, unstable
    • 코드명을 가지며(toystory 케릭터 이름), unstable 버전은 항상 코드명이 sid

Red Hat

  • 배포판 가운데 가장 널리 알려진 리눅스
  • Red Hat Linux
    • 2003년 지원 중단. 마지막 버전은 9.
  • Red Hat Enterprise Linux (RHEL)
    • Red Hat 사에 의해 지원. 최신 버젼은 7
  • Fedora 라는 오픈소스 프로젝트를 지원. (Fedora는 RHEL의 테스트 버젼)
  • RPM(Redhat Package Manager)
    • 바이너리, 설정파일, 라이브러리, 문서 등을 일괄 관리 기능
    • 데이터베이스를 검색하여 패키비나 특정 파일의 검색 기능
    • 패키비에 필요한 파일, 의존성 유무 등을 조사하는 기능

CentOS

  • Red Hat Linux로 부터 파생
  • RHEL 기반의 무료 버전
    • RHEL의 소스코드 기반으로 만들어지는 무료 배포판
    • RHEL은 유료로 지원
  • 서버용으로 많이 사용됨.
  • 최신 버전 7.3

SuSE Linux

  • Slackware Linux 의 파생
  • 독일에서 만든 배포판, 유럽에서 많이 사용.
  • Software und System Entwicklung의 약자(Software 와 System의 발전).
  • 풍부한 기능, 안정성, 보안 기능을 포함.
  • Novell 사에 의해 지원.
  • 두가지 종류
    • SUSE Linux Enterprise(유료)
    • openSUSE (무료)

Slackware Linux

  • SLS linux에서 파생
  • 가장 먼저 대중화 된, 현존하는 가장 오래된 배포판.
  • 1992년 Patrick Volkerding에 의해 시작됨.
  • 간결한 설계 철학으로 함. (the KISS priciple)
    • 현재 GNOME desktop이 제외되어 있음.
  • 유닉스 자체 학습에 적합함.

Ubuntu

  • Debian Linux에서 파생
  • desktop Unity를 제공하여 Linux를 쉽게 사용할 수 있도록 함.
  • Debian Linux에 비하여 사용 편리성에 중점을 둠.
  • 인기 있는 리눅스 배포판 중 하나.
728x90
반응형

'OS > Linux' 카테고리의 다른 글

[Linux] 사용자 관리  (0) 2020.10.25
[Linux] 시작과 종료  (0) 2020.10.24
[Linux] 파일과 디렉토리  (0) 2020.10.24
[Linux] Shell 사용하기  (0) 2020.10.16
[Linux] 리눅스 설치준비 및 표준 디렉토리  (0) 2020.10.16

+ Recent posts