코딩 기록 저장소

[PART1] 리눅스 일반 - Ch.01 리눅스의 이해 본문

개인 공부/[자격증] 리눅스 마스터 2급

[PART1] 리눅스 일반 - Ch.01 리눅스의 이해

KimNang 2024. 11. 7. 23:58

01. 개요

배포판

- 리눅스 커널, GNU 소프트웨어, GNU 라이브러리, 유틸리티, X 윈도 시스템 등 여러 가지 애플리케이션을 포함하여 전 세계에 300여 개의 배포판이 존재함

 

종류 및 특징
슬랙웨어
(Slackware)
- 1993년 7월에 패트릭 볼커딩에 의해 만들어짐
- 가장 오래된 배포판
- 대표적인 배포판 : SUSE, Vector Linux, Salix OS, Porteus 등
데비안
(Debian)
- 1933년 9월 이안 머독(Ian Murdock)에 의해 데비안 프로젝트 설립하여 개발, 배포
- 패키지 설치 및 업그레이드가 편리
- 대표적인 배포판 : Ubuntu, Linux Mint, Kali Linux, Knoppix, Lindows, Corel, Elementary OS 등)
우분투
(Ubuntu)
- 영국 캐노니컬사의 지원을 받아 개발, 배포
- 데비안 GNU/Linux에 기반한 배포판
- 고유한 데스크톱 환경인 유니티(Unity)사용
- 편리한 사용자 인터페이스 제공
- 6개월마다 새로운 버전 배포
레드햇
(RedHat)
- 미국 레드햇사가 개발, 배포
- 유료인 레드햇 엔터프라이즈 리눅스(RHEL)와 무료 페도라(Fedora)로 나누어 배포
- 대표적인 배포판 : CentOS, Fedora, RHEL, Oracle Linux, Scientific Linux, Asianux, Mandrake, Mandriva Linux 등
RHEL
(Red Hat Enterprise Linux)
- 레드햇사가 개발, 배포하는 상용 리눅스 배포판
- 상용 패키지는 유료이지만, 소스 코드는 무료 공개
- 계약기간 동안에는 기술지원 및 추가 비용 없이 업그레이드가 자유로움
- 18~24개월마다 새로운 버전이 공개되며, 라이선스는 별도로 판매하지 않음
페도라
(Fedora)
- 레드햇의 후원으로 개발, 배포
- RPM 기반의 소프트웨어 포함
- 6개월마다 새로운 버전 배포
CentOS - 레드햇 엔터프라이즈 리눅스와 완벽하게 호환되는 기업용 무료 배포판
- 플랫폼을 제공할 목적으로 개발, 자체 커뮤니티에 의해 관리
- 레드햇의 기술지원은 받지 않음
수세 (SUSE) - 독일에서 개발, 배포
- 유럽에서 많이 사용
- 풍부한 기능, 안전성과 보안 기능 포함
칼리 (Kali) - Offensive Security가 개발한 오픈 소스 리눅스 배포판
- 백트랙처럼 수많은 해킹 도구와 설명서를 포함
- 백트랙은 우분투, 칼리 리눅스는 데비안 기반 배포판
  •  
라이선스(License)
GNU
(GNU is Not Unix)
- 'GNU는 유닉스가 아니다'라는 재귀적 약어
- 리차드 스톨만이 설립한 자유 소프트웨어 재단(FSF)에서 진행하는 프로젝트
GNU GPL
(GNU General Public License)
-  FSF에서 만든 자유 소프트웨어 라이선스
-  1989년 1차 버전에 이어, 2007년 3차 버전까지 발표
-  GPL 코드를 사용한 소프트웨어를 내부적인 목적으로만 사용할 때는 소스코드를 공개할 필요 없음
-  어떤 형태로 외부에 공표, 배포한다면 전체 소스 코드 공개해야함
GNU LGPL
(GNU Lesser General Public License)
-  GPL보다는 훨씬 완화된(Lesser) 조건의 오픈 소스 소프트웨어 라이센스
-  LGPL이 적용된 라이브러리로 프로그램 개발시, 프로그램 소스 코드를 공개할 필요는 없지만 사용했음을 명시
-  LGPL 코드 수정이나 파생된 라이브러리 개발시, 전체 소스 코드 공개해야함
BSD
(Berkeley Software Distribution)
-  버클리 대학의 오픈 소스 소프트웨어 라이선스
-  소프트웨어 개작, 수정, 배포에 제한 없음
-  소스 코드 공개 의무 없음
-  상용 소프트웨어에서도 자유롭게 사용 가능
아파치 라이선스
(Apache License)
-  아파치 소프트웨어 재단에서 개발한 소프트웨어 라이선스
아파치 2.0 라이선스는 누구나 해당 소프트웨어에서 파생된 소프트웨어 개발 가능
저작권 양도 및 배포 가능
아파치 소프트웨어를 개인적 혹은 상업적 목적 사용 가능
재배포 시 아파치 소프트웨어 재단에서 개발된 소프트웨어임을 명시
MIT 라이선스
(Massachusetts Institute of Technology License)
-  미국 MIT 대학에서 개발한 라이선스
BSD 라이선스 기초로 작성된 BSD 계열 라이선스
누구나 개작 가능, 수정본 재배포시 소스 코드 비공개 가능
대표적인 소프트웨어로 X Window System(X11)이 있음
MPL
(Mozilla Public License)
오픈 소스이며 자유 소프트웨어 라이선스
1.0 버전은 넷스케이프 커뮤니케이션즈 코퍼레이션사의 미첼 베이커에 의해 개발됨
1.1 버전은 모질라 재단이 개발
변형 BSD 라이선스와 GNU GPL 라이선스의 혼합적 성격
소스 코드와 실행 파일의 라이선스 분리
사용한 MPL과 수정한 MPL 소프트웨어에 대한 공개 의무만 가짐
별도의 소스 코드와 실행 파일은 독점적인 라이선스 지님
대표적인 소프트웨어 : 모질라 애플리케이션 스위트, 모질라 파이어폭스, 모질라 선더버드

 

02. 리눅스의 역사 및 철학

역사

- 1965년 MIT, AT&T 벨 연구소, General Electronic에서 'Multics'라는 운영체제 공동 개발

- 1969년 AT&T 벨 연구소의 연구원인 켄 톰슨이 최초 UNIX 운영체제를 개발

- 1971년 AT&T 벨 연구소의 연구원 데니스 리치가 C언어 개발함으로써 UNIX의 어셈블리언어를 C언어로 재코딩

- 1980년 MIT 연구소의 리차드 스톨만이 소프트웨어 상용화에 반대하여 GNU 프로젝트 시작

- 1985년 리차드 스톨만은 FSF(자유 소프트웨어 재단)라는 비영리단체를 설립 후 GNU 선언문 발표

- 1987년 앤드류 타넨바움이 미닉스(Minix) 개발

- 1991년 핀란드 헬싱키 대학의 리누스 토발츠가 미닉스의 커널 소스를 수정하여 GNU 시스템에 적합한 커널 개발

- 1991년 9월 버전 0.01의 리눅스 커널이 핀란드 대학교와 FUNET(리서치 네트워크)의 FTP 서버(ftp, funet.fi)에 공개

- 1991년 10월엔 버전 0.02의 리눅스 커널 출시

- 1994년 리눅스 커널 버전 1.0 공개

- 1996년 리눅스 커널 버전 2.0 공개

 

철학

- 1991년 리누스 토발츠에 의해 최초 공식 버전 0.02를 발표

- 유닉스 시스템의 표준 인터페이스인 'POSIX'를 기반으로 하고 있으나, 진정한 자유 소프트웨어를 구현하기 위해 유닉스 소스 코드 사용 배제하고, 모든 소스 재작성

- Intel, Macintosh, SPARC, MIPS, Alpha 시스템 등에서 동작하는 최고의 이식성을 가지는 운영체제

- GNU GPL이 적용된 리눅스 소스 코드는 누구나 자유롭게 개작, 수정, 배포 가능

  1. GNU GPL
    • FSF (Free Software Foundation)에서 만든 라이선스
    • GNU 정신에 입각해 모든 프로그램 소스 코드 공개하는 것이 목적
  2. GNU 정신
    • 사람을 경쟁적으로 만들고 상업적으로 만들며, 폐쇄적으로 만드는 정책에 반대하는 정신
    • 서로 협력하고, 우정을 나누는 관계 유지
    • 지식을 공유하자는 정신

 

03. 리눅스의 특징 및 장점, 단점

특징

- 오픈 소스 (Open Source) 운영체제

- 다중 사용자 (Multi User), 다중 작업 (Multi Tasking)을 지원

- 강력한 네트워킹 지원 및 다양한 파일 시스템 지원

- 뛰어난 이식성, 유연성, 확장성 지님

- 안정성과 보안성이 강력함

- 가격 대비 성능 우수, 다양한 응용 프로그램 제공

- 다양한 배포판 존재

 

장점, 단점
  • 장점
    • 유닉스와 완벽한 호환
    • 안정적인 운영체제
    • POSIX (Portable Operating System Interface) 규격
    • 하드웨어 효율적 운영
  • 단점
    • 공개용, 무료 운영체제로 기술지원 받기 어려움
    • 처음 접하는 사용자 사용 다소 어려움
    • 특정 하드웨어에 대한 지원 부족
    • 한글 지원 미흡