728x90
1. 유닉스와 리눅스
- Unix
- 다중 사용자(multi user), 다중 작업(multitasking)을 지원하는 신뢰성 높은 시분할 방식의 운영체제
- C언어로 작성되어서 이식성이 좋고 네트워크 기능이 강력함(UNIX 시스템의 발전이 인터넷, 네트워크 발전에 대단한 공헌을 했다고 알려짐)
- 매우 단순하고 모듈화된 설계가 특징인 운영체제이며 강력한 쉘 스크립트를 제공함
- 파일 시스템 트리가 하나로 통합되어 있음
- Linux: Unix의 무료 공개 버전으로 초기에는 PC용 운영체제로 개발되었음
🔸Unix 발전사
- Multics : 유닉스의 기원으로 1969년 assembly 언어로 작성된 최초의 시분할 운영체제
- Unics → Unix : 작고 심플한 운영체제로 다시 작성되었으며 1973년 대부분이 C언어로 다시 작성됨
🔸대표적인 Unix 시스템
- BSD 계열 : Free BSD, SunOS => 자유롭고 공개된 방식으로 운영체제 개발이 진행
- System V 계열 : HP-UX, IBM AIX, Solaris => 상업적인 목적으로 제공
- 리눅스
🔸리눅스 등장 과정
- 1983년 GNU 프로젝트
- 리처드 스톨만이 Unix와 유사한 공개 운영체제를 개발하기 위해 GNU 프로젝트를 시작 → 소프트웨어 상업화에 반대하고 소스코드의 공유, 자유로운 사용과 배포를 주장
- Linux 발전에 큰 영향을 줌
- 1989년 GPL(General Public License) 발표
- 공개 소프트웨어 라이센스의 대표적인 이름
- GNU 프로젝트의 가장 큰 산물
- GNU 프로젝트는 현재 Free Software Foundation(FSF) 이름으로 계속 진행 중
- 1991년 리눅스 커널(kernel)
- 리누스 토발즈는 리눅스 커널을 작성하여 발표 - 개발자인 Linus와 Unix의 이름을 따서 Linux
- 커널: 하드웨어를 제어하고(CPU 스케줄링, 메모리 관리..) 응용 프로그램과의 상호작용을 제공하는 운영체제의 핵심 구성 요소
- 1992년 최초 Linux 배포판(MCC Interim 리눅스) 발표
- 리눅스 배포판 = 리눅스 커널 + 다양한 시스템 유틸리티, 사용자 프로그램을 합쳐서 만들어진 완전한 운영체제
- 보통 일반적으로 말하는 리눅스란 리눅스 배포판을 의미하는데 정확히 따지면 리눅스라는 명칭은 리눅스 커널만을 의미함!
- 1998년 IBM과 Oracle과 같은 대기업들이 리눅스 지원을 발표
2. 리눅스 개요
🔸리눅스 발전상
- 전 세계 리눅스 사용자는 9160만명 정도로 추산되며 유수의 100만 도메인 중 95% 이상이 리눅스를 사용
- 스마트폰의 80% 이상이 리눅스 커널 기반의 안드로이드에서 동작
- 슈퍼 컴퓨터의 95%가 리눅스에서 운영됨
- 주요 증권거래소, Google, Twitter, Facebook, Amazon 등에서 리눅스 서버를 사용
- 대다수 전자장비(폰, TV 등)에서 리눅스를 사용
✅ 리눅스의 특징
- 다중 사용자와 다중 작업을 지원
- 뛰어난 이식성을 제공
- 모듈화되어 있어 업그레이드 또는 업데이트가 용이함
- CUI와 GUI를 지원
- Character UI(=CLI, Command Line Interface): 셸(Shell)을 통해 커맨드를 입력
- Graphical UI: X Window와 GNOME, KDE 등의 데스크톱
- 오픈 소스라서 빠르게 발전하고 보완됨
- 여러 종류의 파일 시스템을 지원: Minx, ext 계열, FAT, FAT32, NTFS, NFS, ISO-9660 등
- 효율적 하드웨어의 활용
- 다양한 응용 프로그램과 소프트웨어 개발 환경을 제공
3. 오픈소스와 라이선스
✅ 오픈소스
: 개발자(저작권자)가 소스코드를 공개하여 누구나 사용, 수정, 공유할 수 있도록 허가한 소프트웨어
open source software(OSS) <=> proprietary(closed) 소프트웨어소
🔸소프트웨어 라이선스
- 컴퓨터 프로그램은 지식재산권으로 보호받는 저작물로서 원칙적으로 저작자가 공표, 복제, 배포, 개작할 권한을 가짐
- 타인에게 일정한 대가나 조건을 전제로 권한을 부여할 수 있음 → 라이선스 예) GPL
🔸오픈 소스의 장점
- 누구나 잘못된 점을 발견하고, 알리거나 고칠 수 있음
- 배울 수 있고, 효율적 프로그램 개발에 적용할 수 있음
- 오픈 소스는 여러 사람에 의해 테스트되어 안전함
- 오픈소스 운동의 철학: 커뮤니티를 통한 협력, 공유, 개방이 발전을 위해 효율적이다
🔸GNU 프로젝트와 자유 소프트웨어 운동
- 목적에 상관없이 프로그램을 실행할 수 있는 자유
- 프로그램을 복제하고 공유할 수 있는 자유
- 소스코드를 개작(수정)할 수 있는 자유
- 개작된 프로그램을 배포할 수 있는 자유(소프트웨어의 소스코드는 공개)
🔸리눅스 라이선스
- 리눅스는 독점되거나 배타되지 않는 자유 소프트웨어 ∴ 공개 라이선스에 따라 자유롭게 고치고 배포 가능
- 주로 GPL(GNU General Public License)를 따르고 일부는 LGPL(Gnu Lesser General Public License)를 따름
- X Window는 MIT 라이선스
🔸GNU GPL
- 자유롭게 사용, 복제, 배포
- 필요에 따라 자유롭게 수정하고 배포 가능하고 이러한 경우 소스코드를 공개해야 함
- 수정된 소프트웨어에 저작권을 표시하고 똑같이 GPL 조건으로 배포해야 함
🔸다양한 오픈소스 소프트웨어 라이선스
- GPL, LGPL, MPL
- 소스코드를 공개해야 하는 카피레프트 라이선스(기본적으로 코드를 공개하도록 함→ GPL이 가장 강력하게 적용)
- LGPL
- 주로 오픈소스 라이브러리에 적용됨
- 프로그램 전체 코드를 공개하지 않아도 되고, 오픈소스 라이브러리 소스 코드만 수정해서 쓸 수가 있어서 해당 오픈 소스 라이브러리 코드만 공개하면 됨
- MPL: 코드와 결합하여 프로그램을 만들 때 MPL 코드를 포함하지 않은 파일은 공개 의무가 없음
- LGPL
- 소스코드의 공개 범위는 다르게 정의됨(전체/파일/모듈 단위 등)
- 소스코드를 공개해야 하는 카피레프트 라이선스(기본적으로 코드를 공개하도록 함→ GPL이 가장 강력하게 적용)
- BSD, Apache, MIT 라이선스(=Permissive 라이선스)
- 배포 시 소스코드의 비공개가 허용됨
- 코드의 재사용을 높이려는 목적
4. 리눅스 배포판
🔸리눅스 배포판의 역사
- 리눅스 배포판: 리눅스 커널 외에 시스템 유틸리티, 응용프로그램, 설치 프로그램을 포함한 완전한 운영체제
- 1991년 리눅스 커널이 처음 개발됨 (1994년 커널 1.0 발표, 최신 안정 버전은 4.12)
- 1992년 최초의 배포판 MCC Interim과 SLS(Softlanding Linux System) 배포판이 발표됨
- 1993년부터 주요 배포판이 나오기 시작함
✅ 주요 리눅스 배포판의 종류
- Debian 계열: Debian, Ubuntu 등
- Slackware 계열: Slackware, SUSE 등
- Red Hat 계열: Redhat, Fedora, CentOS 등
✅ Debian 리눅스
- Debian 프로젝트
- 자유 운영 체제를 만들어가는 사람들의 독자적인 모임
- Ian Murdock에 의해 1994년에 비영리 조직으로 설립
- GNU 정신에 가장 충실한 배포판 → GNU의 공식적인 후원을 받는 유일한 배포판
- 새로운 배포판이 나왔을 때 숫자 버전 외에 버전마다 코드명을 붙임
- 코드명은 크게 세가지(stable, testing, unstable)로 분류되고 unstable 버전은 항상 코드명이 sid (토이스토리에 나온 장난감 이름)
- 설치 시간이 굉장히 오래 걸리며 패키지 관리를 위해서 데비안 패키지(dpkg) 사용하고, 패키지 install은 apt advanced 패키지 툴을 사용
✅ Ubuntu 리눅스
- 인기 있는 리눅스 배포판 중 하나로 Debian 리눅스로부터 파생
- 데스크톱 Unity를 제공하여 초보자도 리눅스를 쉽게 사용할 수 있도록 함
- Debian 리눅스에 비하여 사용 편리성에 중점을 둠
✅ Slackware 리눅스
- SLS 리눅스로부터 파생되어 가장 먼저 대중화된, 현존하는 가장 오래된 배포판
- 1992년 Patrick Volkerding에 의해 시작됨
- 간결함을 설계 철학으로 함 (the KISS principle) → 현재 GNOME desktop이 제외되어 있음
- 유닉스를 공부하려는 목적이라면 슬랙웨어 리눅스를 사용하는 것이 적합
✅ SUSE 리눅스 (Software und System Entwicklug )
- Slackware 리눅스로부터 파생
- 독일에서 만든 배포판으로 유럽에서 많이 사용
- 풍부한 기능, 안정성, 보안 기능을 포함
- SUSE Linux Enterprise(유료) / openSUSE(무료)
✅ Red Hat 리눅스
- 1994년에 처음 배포된, 배포판 가운데 가장 널리 알려진 리눅스
- Red Hat Linux : 무료 배포판으로 2003년 지원 중단됨(마지막 버전은 9) → 무료 배포판 유지 개발을 위해 Fedora라는 오픈소스 프로젝트를 지원 (RHEL의 테스트 베드로 사용됨)
- Red Hat Enterprise Linux(RHEL) : 유료 배포판으로 최신 버전은 7
- 패키지 관리 : RPM(Red Hat Package Manager)
✅ CentOS 리눅스
- Red Hat 리눅스로부터 파생
- Red Hat Enterprise Linux(RHEL)의 소스코드를 기반으로 만들어지는 무료 배포판이며 상당히 안정된 버전
- 서버용으로 많이 사용되며 최신 버전은 7.3
728x90
'KNOU > UNIX시스템' 카테고리의 다른 글
[UNIX 시스템] 3. 셸 사용하기 (0) | 2022.09.15 |
---|---|
[UNIX 시스템] 2. 리눅스 설치 (1) | 2022.09.11 |