728x90
※ 사전 지식, 컴퓨터 운영체제(OS) 란?
컴퓨터의 하드웨어나 소프트웨어를 제어하며, 사용자가 컴퓨터를 쓸 수 있게 만들어주는 프로그램
1. 리눅스 환경
- 리눅스는 핀란드 헬싱키 대학의 학생이었던 리누스 토발즈의 취미 생활로 탄생
- 공개 OS 소프트웨어라서 그룹이나 회사 등에서 커널 기반(CLI) 의 운영체제
(Kernel : 하드웨어 자원을 효율적으로 관리하기 위한 요소)를 받아 OS를 직접 제작하여 사용
2. 그런데 왜 배워야 하는가?
- 서버, 클라우드, 웹서버, VM, 임베디드, 프로그래밍 등등 IT 프로가 되고자 한다면, 리눅스 공부가 필수
- 환경 성능이 높으며 첨단 반도체사가 리눅스 커널에 직접 참여하여 최신 디바이스 드라이버 제공
- 다양한 국가와 사람들의 삶의 방식이 있듯이, 컴퓨터에도 다양한 OS 운영체제가 존재하고 그들의 생태계가 존재함
- 유럽 각국에서는 공공기관에서 MS 윈도우를 퇴출 시키고 있는 국가가 많음 - 불법 소프트웨어가 설치된 컴퓨터를 리눅스 환경으로 교체하여 재활용 가능
- 기관, 기업 등에서 비용 절감이 가능
- 자체적으로 문제 해결이 가능하고 주로 제한된 업무만을 수행하는 많은 기관 및 환경에서 사용 가능
- 값 비싼 Windows 보다 Linux 를 사용하므로써 큰 비용 절감 효과
3. 리눅스의 종류
- 데비안(Debian)
- 데비안 프로젝트에서 만들어 배포하는 오픈소스 운영체제
- 37500여 꾸러미를 갖춘 저장소를 관리
- 패키지 설치 및 업그레이드가 단순하여 간편
- 안정성과 보안에 중점을 두고 있으며, 다른 리눅스 배포판의 기반으로 사용
- 데비안을 기반으로 하여 만들어진 대표적인 예 : 우분투
- 우분투는 리눅스를 처음사용하는 사람들에게 추천되는 종류 중 하나
- 윈도우 유저들도 쉽게 접할 수 있도록 만들어진 OS
2. 레드햇(red hat)
- 리눅스 배포판 제작회사로 레드햇을 제작
- 레드햇을 기업용으로 유료로 변경
- 일반 사용자를 위한 오픈소스 프로젝트인 페도라 제작
- 클라우드 인프라구축이 쉽고 간편 Windows보다 고성능
3. 안드로이드
- 가장 널리쓰이는 리눅스 (모바일)
- 구글에서 리눅스를 기반으로 개발한 운영체제
- C, C++, Python, java 등의 프로그래밍 언어를 지원
4. 그 외 기타
- 슬랙웨어, cent OS, 젠투, 민트 등 아주 많은 종류의 배포판을 가지고 있습니다.
4. 리눅스의 특징 및 기능
- Free
- OS 구입에 따른 비용을 지출하지 않아도 됨
- Unix Like
- 유닉스처럼 리눅스는 C 언어로 작성됨
- 유닉스처럼 리눅스는 멀티유저/멀티태스킹을 지원하는 네트워크 OS
- 유닉스처럼 리눅스는 프로그래밍 개발환경에 매우 적합
- 유닉스처럼 다양한 하드웨어 플랫폼을 지원
- Open Source
- 뛰어난 신뢰성, 동급 최고의 성능
- 다양한 업무 환경을 만족시키는 다양한 배포판의 존재
- 다중 사용자, 다중 처리 시스템
- 각각의 응용 프로그램은 다른 응용 프로그램에 보호적으로 동작
- 하나의 응용 프로그램 오작동이 전체 시스템을 다운시키는 것을 완벽하게 보호 - 풍부한 응용프로그램의 제공
- 누구나 자유롭게 사용할 수 있는 운영체제(오픈소스 기반)
- 강력하면서 안정적인 네트워크 지원
- 최다 프로토콜의 지원과 가장 많은 네트워킹 서비스와 기능을 제공 - GUI 방식의 X 윈도우 지원
- 뛰어난 안정성과 보안성
- 리눅스에서의 버그와 보안 결점은 단 몇 시간 안에 보고
5. Linux vs Windows 비교하자면,
1. 개발환경
- Linux 는 ASP 스크립트 언어 지원, MS SQL 데이터 베이스 사용
Windows 는 PHP 언어 지원, MySQL 데이터 베이스 사용 - 리눅스 서버는 HTML 중심의 홈페이지를 운영하거나 CGI, PHP를 주로 사용할 경우 권장
윈도우즈 기반의 서버는 ASP와 My SQL을 사용하여 프로그램을 개발하는 방식의 홈페이지를 운영할 경우 권장
2. 응용 프로그램의 환경 파일
- Linux는 운영체제 및 응용 프로그램의 환경을 설정하는 것으로 대부분 텍스트 파일을 이용
Windows에서는 많은 환경 설정을 레지스트리라는 특별한 데이터베이스를 이용
3. 다중 사용자 환경을 고려한 운영체제
- Linux는 여러 사용자가 동시에 서버에 접속하여 사용하도록 고안된 OS
Windows는 개발 당시부터 한 명의 사용자가 한 대의 컴퓨터를 사용하는 단일 사용자 환경 OS
4. 리눅스는 커널 기반의 운영체제
- Linux는 커널 기반의 운영체제 (리눅스의 커널은 사용자 환경과 커널을 분리)
Windows도 커널이 존재하지만 사용자 인터페이스와 커널이 결합 (GUI)
cf. 참고 자료
https://www.redhat.com/ko/topics/linux/what-is-linux
https://ko.wikipedia.org/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4
https://namu.wiki/w/%EB%A6%AC%EB%88%85%EC%8A%A4
https://t1.daumcdn.net/cfile/tistory/24748E35550B9A820C
https://t1.daumcdn.net/cfile/tistory/260B603B550B989839
728x90
'IT_Engineer > DevOps_Unix & Linux (Bash)' 카테고리의 다른 글
[Linux] 리눅스의 부팅 과정과 로그인 쉘 #1 (0) | 2020.11.19 |
---|---|
[Linux] 쉘과 명령어 기초 #4 (0) | 2020.11.18 |
[Linux] 쉘과 명령어 기초 #3 (0) | 2020.11.17 |
[Linux] 쉘과 명령어 기초 #2 (0) | 2020.11.16 |
[Linux] 쉘과 명령어 기초 #1 (0) | 2020.11.13 |