리눅스와 주요 라이선스
- 수정된 소스 코드에 대한 공개나 어떠한 표시도 안 한다 => BSD
- 수정 코드 공개 X, 아파치 소프트웨어 재단에서 개발된 SW 명시 => 아파치
- MPL 소스코드 수정시 반드시 공개, 다른 코드 결합한 부분은 공개 안 해도 돼 => MPL
- BSD 기반, 라이선스와 저작권 관련 명시만 지켜주면 된다. => MIT
- LGPL: LGPL이 적용된 라이브러리는 자유 소프트웨어 뿐만 아니라 독점 소프트웨어에서도 사용 가능하다. 즉, LGPL 라이브러리 이용하여 프로그램 개발시 소스를 공개하지 않아도 된다. 그러나 LGPL이 적용된 라이브러리를 수정하면 소스코드 제공해야한다. GPL로 변경 가능하다.(반대는 불가)
- 수정본 코드 반드시 공개 GPL, LGPL(독점 소프트웨어에서도 가능)
리눅스 배포판
- 배포판 순서: SLS(최초) => 슬랙웨어 => 수세 => 데비안, 레드햇
- 패키지 관리 기법에 따라: 슬랙웨어, 데비안, 레드햇
- 슬랙웨어: 내장된 패키지는 최상단에서 최대한 수정되어 배포 => 패키지 새로 적용 및 수정 힘듬
- 데비안: dpkg, apt 패키지 관리 도구 => 다른 패키지와 의존성 확인, 보안 관련 업데이트 자동으로
- 레드햇: rpm, yum 패키지 관리 도구
- 슬랙웨어
- SuSE, Vector Linux, Porteus, Salix OS
- SuSE: 슬랙웨어 그대로 + 언어만 수정, YaST 및 ZYpp 독자걱 패키지 관리도구 사용
- 데비안
- Ubuntu, Linux Mint, Elementary OS, Knoppix, Core
- Ubuntu: 데비안 GNU/Linux 기반의 OS, 그놈 데시크톱 환경 기반의 그래픽 셸인 유니티(Unity) 사용
- 정보보안 테스트 위한 해킹 관련 도구, 설명서 내장한 백트랙(BackTrack)과 칼리(Kali Linux)도 포함
- 전부 자유 SW로 구성, 대부분 GNU GPL 라이선스 기반, 이안 머독이 데비안 프로젝트 설립
- 레드햇
- 유료판 RHEL, 무료 배포판 fedora, CentOS
- 사용자 인터페이스로 쉬운 설치, 독자적 패키지 관리(rpm, yum)
- 미들웨어까지 확장
리눅스 기반 운영체제
p.17
- Tizen, webOS, GENIVI, androidOS
- 모바일 기반: 안드로이드, 바다, 마에모, 모블린,미고, 리모, 타이젠
- IVI: QNX, GENIVI, 미고, 타이젠
- Tizen: 리눅스 기반 무료 공개형 모바일 OS
- GENIVI: 리눅스 기반의 표준화된 IVI(in vehicle information) 플랫폼을 만들기 위한 조직
- 리눅스 기반 Maemo(마에모) + Moblin(모블린) => MeeGo(미고)
- QNX: 유닉스 기반이다.
리눅스 활용분야
- 리눅스 클러스터링
클러스터: 서버분야에서 클러스터란, 여러 대의 커뮤터를 연결하여 하나의 컴퓨터를 사용하는 거처럼 구성된 시스템
- 고계산용 클러스터(HPC) : 고성능 계산 능력, 슈퍼컴퓨터 구성, 베어울프라고도 부름, (사진 속에 node 여러개)
- 부하분산 클러스터(LVS: linux virtual sever): 대규모 서비스, 부하 분산하는 Load Balancer (사진 속에 로드밸랜서)
- 고가용성 클러스터(HA): 지속적 서비스 제공 목적, 부하분산과 연동하여 사용됨
로드밸랜서 망가져도 OK => Backup Node가 Primary Node보다가 이상하면 Backup Node가 서비스 이어받음
- 클라우드 컴퓨팅
IT 자원들은 어디엔가 존재하고 사용자는 필요할 때 활용하기만 하면 된다는 의미이다. 현재는 인터넷 기술을 기반으로 외부 사용자에게 IT로 구현된 'as a service'로 제공되는 컴퓨팅 환경을 의미한다.
- SaaS: 소프트웨어 빌려쓰기
- PaaS: SW 개발 환경(플랫폼)
- IaaS: IT 하드웨어 자원(Infrastructure)을 빌려쓴다.
- 임베디드 시스템: 마이크로컨트롤러(OS포함 X), 마이크로프로세서(OS포함 O) 등을 내장하여 특정한 기능을 반복적으로 수행하기 위해 HW와 SW를 결합하여 만든 전자 제어 시스템이다. 하나의 고성능 소형컴퓨터가 내장된 시스템이라 할 수 있다.
빅데이터: 데이터 집합, 이 데이터로부터 가치 추출하고 결과 분석, 이후 예측+맞춤형 정보 제공
대규모 데이터 처리하는 분석 인프라는 하둡이 있다. 또한 NoSQL 기술이 활용된다.
사물인터넷: 사물들을 유무선 네트워크로 연결해 정보를 공유하는 환경. 현재 다수 IoT 기기들은 linux 기반이다.
오픈소스 하드웨어 플랫폼인 아두이노, 라즈베리파이 역시 사물인터넷 플랫폼이다.
- 아두이노: 마이크로컨트롤러
- 라즈베리파이: 신용카드 크기의 싱글 보드 컴퓨터이다.데비안 기반의 Rasbian 등의 OS를 지원한다.
etc
- (p14) 유닉스 개발 인물: 켄톰슨(B언어)-> 데니스리치(C언어)
- (p123) 명령어 집합: ; || &&
- (p24) 리처드 스톨먼, GNU 프로젝트 주축