블로그 작성에 앞서 Linux 관련 내용은 fastcampus 의 온라인 강의 내용을 정리하고자 작성하게 되었음을 알려드립니다.
Linux 소개 요약
Linux | 리누스 토발즈(Linus Torvalds)에 의해 개발된 OS |
OS | 시스템 h/w를 관리할 뿐 아니라 응용 s/w를 실행하기 위하여 h/w 추상화 플랫폼과 공통 시스템 서비스를 제공하는 system s/w |
System s/w | 응용 s/w를 실행하기 위한 플랫폼을 제공하고, 컴퓨터 h/w를 동작, 접근할 수 있도록 설계된 컴퓨터 s/w |
Linux 의 시장 비율
- MicroSoft 사 cmd : 전 세계 OS 시장의 82.56% 가 Window OS, 2019년 4월 기준 Linux의 마켓 쉐어는 1.99% 밖에 되지 않음
2019년 기준 전 세계 슈퍼컴퓨너는 100% Linux OS사용
세계 Top25 웹사이트 중 Linux OS 사용하지 않는 곳은 단 두 곳 뿐
세계 Top 1 million 서버중 96.3% 는 Linux OS 사용
클라우드 인프라의 90% 이상이 Linux OS 사용
Linux User
기업(Companies)
- 아마존 웹 서비스 = 클라우드 인프라에서 대부분 Linux OS 사용
- Android 스마트폰은 모두 Linux 커널 위에서 구동
(2018년 기준 세계 스마트폰 시장의 75.16% 는 Android 스마트폰, 2019년 기준 85.9%)
- 소니 플레이스테이션은 Orbis OS를 사용하고, Linux 커널을 기반으로 개발됨
- IBM이 Red Hat Enterprise Linux 를 $34Billion(340억 달러 = 39조원) 에 인수
(IT업계 인수 합병 역사상 가장 큰 인수 금액으로 기록 (2018.10))
정부(Governments)
- 중국 정부 = Linux 기반의 Ubuntu Kylin 이라는 OS 개발
- 터기 정부 = Pardus 라는 Linux 기반의 OS 2005년부터 사용
- 러시아 정부 = Astra Linux 라는 OS 사용
- 미국 백악관 = 2001년부터 Red Hat 기반 OS 사용
- 그 외에도 오스트리아, 베네수엘라 등 다양한 국가 정부에서 윈도의 unreliable 과 spyware tool 로 인한 Linux로 이전
군(Military)
- 미 국방성(US Department of Defense) = 2007년 Linux 사용
- 미 해군 군함(US Navy's warship) = 2013년부터 Red Hat 기반 Linux 사용
- 프랑스 경찰 = 2013년 PC의 절반을 Linux 로 교체하고 그 이후 72.000대 모두 Linux로 교체 계획
- 독일 경찰 = 2003년부터 Linux 데스크탑 이용, 2013년 Ubuntu 이용
은행(Banks)
- 중국 은행(Industrial and Commercial Bank of China) = 2005년 OS의 불법복제 이슈로 Linux 로 전면 교체
- 미국 은행(Union Bank of California) = 비용절감을 위해 2007년 부터 Red Hat 기반 OS로 교체
- 브라질 은행(Bank of Brazil) = 데스크탑 서버, ATM 기기 모두를 Linux 로 교체
군, 경, 은행 등 많은 분야에서 Linux 의 안전성과 보안 등을 고려하여 활용도가 오래전부터 이미 꾸준히 증가하였음.
대한민국은 Linux 사용 측면에 있어 다소 느리고 더딘 편
- MicroSoft 기업에 너무나 종속적 -> 구 버전 Window 기술 지원 단종시 사회적 이슈 발생
Linux 의 수요 포지션
LINUX TMI...
1969년 핀란드 헬싱키에서 태어난 스웨덴계 핀란드인인 s/w 개발자 '리누스 토발즈'에 의해 개발된 OS
OS의 세계 적인 거장인 앤드를 탄앤버함 교수로부터 교육용 목적으로 개발한 Linux 배급판인 Minix OS 를 표방하여 학습적인 용도로 재미삼아 개발되어 유즈넷 뉴스그룹 comp.os.minux 에 초기 버전을 발표하며 1991년
세상에 드러남
처음에는 Intel CPU(80386) 을 장착한 PC에서 구동되는 OS로 개발되었으나, 추후 오픈소스 형태로 공개가 되며 많은 사람들이 함께 개발하게 되어, 후에 다양한 CPU와 워크스테이션에까지 이식하게 되어 범용적으로 사용하는 OS로 거듭남
(기존에 존재하는 s/w를 다른 h/w 시스템에 동작하도록 변경하는 작업 = 포팅(Porting))
현재는 다양한 임베디드 시스템인 라우터, 자동제어 시스템, TV, 셋톱박스, 게임 콘솔, 스마트워치 등에서 사용되고 있음
+ UNIX 설명
세계적인 통신회사 AT&T 에 의해 1960년대 개발되어 지금까지 사요오디고 있는 컴퓨터 OS
UNIX는 메인프레임, 중형, 소형 컴퓨터 시스템용 OS로 고전적으로 사용되었으며, PC용 OS로도 개발되었음
오랜 역사를 흘러오며 BSD 계열, SYS-V 계열, POSIX 계열로 구분됨
주로 SunOS, AIX, HP-UX, Solaris, IRIX, SCOUNIX 등과 같은 다양한 버전이 사용되고 있음
UNIX 계보
(학계 || 산업계) || (무료 || 사용) 버전으로 구분
BSD(Berkeley Software Distribution)
- 캘리포니아 버클리 대하에서 무료로 배포하기 시작한 UNIX 버전들
- TCP/IP 네트워킹 등에 큰 발전들 기여하였고, 1980년대 발표된 4.2 BSD이후 SYS-V 계열의 UNIX에 많은 영향을 미침
SYS-V(System Five)
- AT&T 에서 초기에 개발한 UNIX
- 시스템 III, 시스템 V 등올 발전하게 된 UNIX 버전들 통칭
POSIX(Portable Operating System Interface for Computer Environment)
- IEEE/ANSI 에서 제안한 개방형 OS에 대한 권고안을 토대로 작성된 개념적인 UNIX OS
+ 자유 소프트웨어 운동(Free Sofrware Movement) 및 재단 (Free Software Foundation)
하버드대 공대 출신 리처드 스톨먼(Richard Mattew Stallman, 1953) 이 1980년대 초 s/w 가 상업화 되어가는 시장에 맞서 s/w의 본래 생산 유통 방식인 정보 공유의 방식으로 복원하고자 한 운동
여러 사람의 손을 거쳐 더 완성도 높은 s/w를 생산하고, 모든 s/w 를 자유 s/w 로 만드는 것을 지향하는 단체로 자유 s/w 재단(FSF)를 설립
원칙 : 자유 s/w 운동은 담 몇 가지의 원칙을 기반으로 한다
1. s/w 의 작동 원리를 연구하고 이를 자신의 필요에 맞게 변경시킬 수 있는 자유이며,
2. s/w 를 이웃과 함게 공유하기를 위해서 이를 복제하고 배포할 수 있는 자유,
3. s/w 를 향상시키고 이를 공동체 전체의 이익을 위해서 다시 환원시킬 수 있는 자유이다.
즉 소스 코드 공개를 통해 누구나 s/w 를 수정할 수 있게 하며, 자유로운 복제와 배포를 허용하자는 원칙을 만들고, 상용 s/w 에 대항해 무료로 동일한 기능을 수행하는 유틸리티들을 만들어서 배포하고, 그것을 여러사람이 동참시키고자 GNU 선언문을 발표하게됨.
+ GNU 프로젝트
"누구나 자유롭게 <실행, 복사, 수정, 배포> 할 수 있고, 누구도 그런 권리를 제한하면 안된다" 는 s/w 라이선스
GNU = "GNU is Not Unix" 재귀 약자
GPL 라이선스 형태로 배포
- gcc
- glibc
- gnu-utils (make 등)
- gdb
- emacs
리처드 스톨먼과 FSF 단체에서도 GNU 프로젝트에 걸맞는 OS를 만들지 못하고 있는 찰나에 LINUX 가 등장하면서 리누스 토발즈가 리처드 스톨먼에 의해 GNU 프로젝트에 합류함으로써 GPL 라이선스로 포장을 시키고 대규모 포팅 포팅하는 작업과, 협업을 거쳐 지금의 LINUX OS가 탄생하게 됨
+ 오픈소스 프로젝트
기존의 "Free Software" 라는 용어에 암시된 정치적 선전과 도덕적 철학을 비난했던 자유 소프트웨어 운동에 참여한 사람들이 처음 제안한 것
- 누구나 자유롭게 실행하고 복사하고 배포할 수 있다는 이러한 권리가 상업적인 용도로 사용할 때는 그에 따르는 의무와 책임이 있어 그 이용자들의 기술 보호에 있어서 법적 분쟁 등이 지속적으로 발생하고, 이러한 구속력에서 좀 더 약한, 진정한 자유로움을 추구하자는 움직임을 통해 탄생
(이전 GPL라이선스 보다는 다소 약한 제약사항을 갖고 상업적인 용도로도 좀 더 자유롭게 제약없이 편하게 사용할 수 있는 아파치 재단 등이 탄생하게 된 배경)
리눅스 배포판 계보
초기 Linux OS가 시간의 흐름에 따라서 많은 개인과 단체의 후원을 받아서 새롭게 태어나게 됨
대표적인 분야론 데비안(Debian), 슬랙웨어(Slackware), 레드햇(RedHat)
- 이후 출시되는 다양한 배포판들은 위 세가기를 기반으로 파생된 OS라고 생각하면 됨
Debian 계열
- 대표 파생 유형 : Ubuntu, Konoppix, Lindows, Mnit, Kali Linux
- 패키지 관리자 : dpkg, apt
- 특징 : <데비안 선언문> = 상업적 시장에서 경쟁 가능한 비상업적 배포판을 만드는 것, FSF의 GNU프로젝트의 지원을 받아 만들어짐
- Ubuntu 특징 : "전 세계 사람 누구나 어렵지 않게 Linus를 사용하자" 라는 목적으로 탄생
Slackware 계열
- 대표 파행 유형 : SuSE 리눅스 (SLES, SLED, OpenSuSE) = 1964년 독일에서 탄생, 가장 오래된 상용 Linux 배포판
- 패키지 관리자 : rpm, zypper
- 특징 : "안정성"을 자랑함, 2003년 미국 노벨(Novell) 기업에 인수
- 기술 지원이 이뤄지는 서버용 엔터프라이즈 버전인 SLES 버전과, SLED라고 불리는 SuSE Linux 엔터프라이즈 서버, SuSE Linux 엔터프라이즈 데스크탑 버전들이 있으며 그 외에는 개인이 무료로 사용가능한 OpenSuSE 버전으로 구분되기도 함
- 독일에서 만들어지다보니 유럽과 미국권에서는 많이 사용되고 있으나 국내 사용자층은 다소 약한 편
RedHat 계열
- 대표 파생 유형 : RHEL, Fedora, CentOS, Mandrake
- 패키지 관리자 : rpm, yum
- 특징 : 서버 OS의 강자, 유료(RHEL) 및 무료(CentOS), 2018년 IBM에 인수 되어 기술지원 받음
- 고전적인 RedHat Linux 는 2003년도에 단종되었고, 기술지원을 하는 상영 프로젝트인 레드헷 엔터프라이즈 리눅스, 커뮤티니 기반의 무료로 사용할 수 있는 OS 인 페도라 프로젝트로 분리되었으며, 현재는 레드헷 엔터프라이즈 리눅스의 소스를 복제(포크를 따서) 레드엘이라는 상표권을 모두 제거하고, 싱크를 맞추고자 나온 프로젝트가 SentOS
배포판 구성 요소
Linux Kernel
Desktop UI
Utilities
사용자로써 배포판 선택 방법
- 상업적 vs 비상업적
- 기업용(엔터프라이트) vs 개인용(파워유저, 홈유저)
- h/w 지원 및 특정 h/w 벤더의 인증(Certification)
- 서버군, 데스크탑군, 임베디드군, 특수목적(방화벽, 라우터, 클러스터)
- 특정 산업군(교육적, 과학적, 음악적, 생물학적 등)
- 보안성, 안정성, 사용성, 이식성
- 지리적 위치(현지 국가 서포트)
데스크탑 GUI 환경
GNOME (GNU Network Object Model Environment)
- 커뮤니티 탄생 : 1997녕 8월
- 디자인 철학 : 손쉬운 사용
- GNU의 후원을 받아 Free and Open Source Sortware 철학을 담아 탄생
- 개발도구 : GTK+, Unity (https://www.gnome.org/gnome-3/)
LIKE... X-Window
KDE (K-Desktop Environment)
- 커뮤니티 탄생 : 1996년 10월
- 디자인 철학 : 기능성과 확장성
- 다중 플랫폼 호환성을 위해 탄생(Linux, FreeBSD, Microsoft Windows. Solaris, MAC 등)
LIKE... MicroSoft's Window
XFce (XForms Common Environment)
- 디자인 철학 : 2D lightweight (오래된 h/w도 지원하기 위해 저사양에서도 가능한)
LXDE(Lightweight X11 Desktop Environment)
- 디자인 철학 : Minimalistic Desktop Environment
OS에 따라 한 쪽으로 탑재가 되어서 나오는 경우도 있고 (Ubuntu 는 GNOME 을 기본적으로 탑재),
OpenSUSE나 RedHat 같은 경우는 설치를 하면서 선택을 할 수 있고, 설치 후에도 로그인 할 때마다 바꿔서 로그인 가능
OS(Operating System) - 운영체제
시스템 h/w 를 관리할 뿐 아니라 응용 s/w 를 실행하기 위하여 h/w 추상화 플랫폼과 공통 시스템 서비스를 제공하는 시스템 s/w
최근에는 가상화 기술의 발전에 힘입어 실제 h/w 가 아닌 하이퍼바이저 위에서 실행되기도 한다 - 위키백과
- 공통 시스템 소프트웨어 = 입출력, 메모리 관리, 프로세스 관리, 디스크 관리 등의 다양한 것들을 수행하는 부분이 있으며,
응용프로그램을 구동하고, 멀티태스킹을 수행하기 위해 필수적으로 필요한 공통 시스템이며,
이러한 것들을 대신 수행해 주는 것이 운영체제(OS) 이다.
Kernel - 커널
컴퓨터 과학에서 Kernel 은 컴퓨터의 OS의 핵심이 되는 컴퓨터 프로그램의 하나로, 시스템의 모든 것을 환전히 통제한다.
OS의 다른 부분 및 응용 프로그램 수행에 필요한 여러 가지 서비스를 제공, 핵심이라고도 함 - 위키백과
아키텍처적으로는 마이크로 Kernel 이라는 유형과 Monorithic(단일형) 이라는 것으로 구분
- Momorithic = 모든 컴포넌트들의 역할이 한 곳에서 모두 수행하는 구조 (LIKE... m/s Windows)
- Micro = 각 시스템 컴포넌트들이 잘게 쪼개져서 그 최소 역할만들 수행하는 구조 (LIKE... Linux)
프로젝트명(코드네임) : Trusty (14.XX) -> Xenial (16.XX) -> Bionic (18.XX) -> Eoan (19.XX)
버전 : {Major Version} . {Minor Version} . {Patch Version}
기능
- 홀수 버전 : 최신 기능 (플래그쉽)
- 짝수 버전 : 안정성
지원
- LTS (Long - Term Support) : 최초 Relaese로부터 최소 5년 서포트)
특징
- GA (General Availiability) : 5년 Security 서포트
- HWE (Hardware Enablement) : 6개월 Security + 그 다음 HWE 버전
'LINUX' 카테고리의 다른 글
Virtual Machine (0) | 2024.04.13 |
---|