- Univ._Study
- Java
- Python
- programmers
- 리눅스마스터2급
- Kubernetes
- app
- Database_Design
- Linux
- 오블완
- Artificial_Intelligence
- C
- Android
- Baekjoon
- SingleProject
- Operating_System
- codingTest
- c++
- datastructure
- cloud_computing
- Algorithm
- 자격증
- study
- tensorflow
- Image_classification
- 티스토리챌린지
- 2023_1st_Semester
- Personal_Study
- pytorch
- Unix_System
코딩 기록 저장소
[PART1] 리눅스 일반 - Ch.01 리눅스의 이해 본문
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이 적용된 리눅스 소스 코드는 누구나 자유롭게 개작, 수정, 배포 가능
- GNU GPL
- FSF (Free Software Foundation)에서 만든 라이선스
- GNU 정신에 입각해 모든 프로그램 소스 코드 공개하는 것이 목적
- GNU 정신
- 사람을 경쟁적으로 만들고 상업적으로 만들며, 폐쇄적으로 만드는 정책에 반대하는 정신
- 서로 협력하고, 우정을 나누는 관계 유지
- 지식을 공유하자는 정신
03. 리눅스의 특징 및 장점, 단점
특징
- 오픈 소스 (Open Source) 운영체제
- 다중 사용자 (Multi User), 다중 작업 (Multi Tasking)을 지원
- 강력한 네트워킹 지원 및 다양한 파일 시스템 지원
- 뛰어난 이식성, 유연성, 확장성 지님
- 안정성과 보안성이 강력함
- 가격 대비 성능 우수, 다양한 응용 프로그램 제공
- 다양한 배포판 존재
장점, 단점
- 장점
- 유닉스와 완벽한 호환
- 안정적인 운영체제
- POSIX (Portable Operating System Interface) 규격
- 하드웨어 효율적 운영
- 단점
- 공개용, 무료 운영체제로 기술지원 받기 어려움
- 처음 접하는 사용자 사용 다소 어려움
- 특정 하드웨어에 대한 지원 부족
- 한글 지원 미흡
'개인 공부 > [자격증] 리눅스 마스터 2급' 카테고리의 다른 글
[PART2] 리눅스 운영 및 관리 - Ch.02 셸(Shell) 관리 (2) | 2024.11.12 |
---|---|
[PART2] 리눅스 운영 및 관리 - Ch.01 파일 시스템 관리 (0) | 2024.11.11 |
[PART1] 리눅스 일반 - Ch.03 기본 명령어 (0) | 2024.11.09 |
[PART1] 리눅스 일반 - Ch.02 리눅스의 설치 (1) | 2024.11.08 |