리눅스 특징
- 리눅스는 유닉스와 완벽하게 호환가능하다.
- 리눅스는 공개 운영체제이다. 오픈소스이므로 누구든지 자유롭게 수정이 가능하다.
- 리눅스는 PC용 OS보다 안정적이며 보안쪽으로도 PC용 OS보다 우수하다.
- 다양한 네트워킹 기술을 제공하며 서버용 OS도 적합하다.
- 배포판이 아닌 리눅스는 무료이다
리눅스 가계도
레드햇계열
- 레드햇계열은 레드햇이라는 회사에서 배포한 리눅스이다.
- 2003년까지는 오픈소스 라이선스로 진행하다가 이후에 상용화되었다.
- 레드헷 리눅스는 배포판 중에서 가장 인기가 많다.
- 커뮤니티가 아닌 회사에서 관리하는 레드햇 계열의 리눅스는 다른 리눅스 배포판에 비해 패치가 빠르며 내장되어있는 유틸리티의 양도 많고 관리툴의 성능도 우수하다
- 호환성면에서도 여러가지 장점이 많다.
- 레드햇 계열의 리눅스에는 Fedora와 CentOS가 있는데 CentOS를 더 많이 사용하는 추세이다.
CentOS
- CentOS는 Community EnterPrise Operating System의 약자
- RedHat이 공개한 RHEL을 그대로 가져와서 Red Hat의 브랜드와 로고만 제거하고 배포한 배포본
- 사실상 RHEL 소스를 그대로 사용하고 있기에 RHEL과 OS버전, Kernel버전, 패키지 구성이 똑같고 바이너리가 100% 호환된다.
- 무료로 사용 가능하지만 문제 발생시 레드햇이라는 회사가 아닌 커뮤니티를 통해 지원이 되므로 패치가 다소 느림감이 있다.
- 특히 서버용 운영체제로 인기가 매우 높고, 서버용으로 리눅스를 운영할 목적이라면 아마 대부분 CentOS를 사용하는 것이 대부분
- 주로 Yum을 통해 소프트웨어 업데이트를 할 수 있다.
데비안 계열
- 온라인 커뮤니티에서 제작하여 레드햇보다 더 먼저 배포되어 시장을 선점했다.
- 이 데비안에서 파생되어진 OS를 데비안 계열이라고 부른다.
- 데비안은 자발적인 커뮤니티에서 만드는 배포판이라 전문적인 회사에서 서비스를 했던 레드햇 계열에 비해서 사후지원과 배포가 늦고 내장 유틸들의 성능이 레드햇 계열에 비해 부족한 감이 있어 오랫동안 레드햇에 밀렸었다.
- 하지만 현재는 무료 개인 사용자 서버용으로 인기가 매우 높으며 최근에는 지속적인 업데이트를 거친 결과 레드헷계열에 비해 결코 성능이 뒤쳐지지 않는다.
- 데비안 계열은 넓은 유저층을 가지고 있는데 그 사용법이 온라인 웹사이트나 커뮤니티에 자세히 기술되어 있다는 점이 진입장벽을 낮추어 초보 리눅스유저들이 접근하기 쉬운 OS라고 할 수 있다.
- 주로 apt와 apt-get을 버전 업그레이드를 할 수 있다.
Ubuntu
- 데비안(Debian) GNU/리눅스를 기반으로 만들어졌으며 고유한 데스크탑 환경을 사용하는 리눅스 배포판
- 진입장벽이 낮아 초보자들이 쉽게 접근할 수 있으며 데스크탑용 리눅스 배포판 가운데서 가장 많이 사용되어 지고 있는 배포판
개인용, 데스크탑 환경에 최적화
- 대부분의 리눅스 배포판들이 서버용으로 사용되고 있는것에 반하여, 우분투는 개인 사용자와 데스크탑 환경에 최적화 되도록 사용자 편의를 중점으로 개발되고 있다.
- 서버용으로도 기능이 부족하거나 성능이 떨어지지는 않지만 서버용 리눅스 점유율로 볼때 CentOS에 많이 밀린다.
- 자유 소프트웨어에 기반
- 리눅스의 특징을 그대로 물려 받으며 자유 소프트웨어에 기반하기 때문에 누구나 무료로 다운 받아서 사용할 수 있다.
CentOS 와 Ubuntu 주요 차이점
특징 | CentOS | Ubuntu |
시스템 코어 | Red Hat 기반 | Debian 기반 |
업데이트 주기 | 비교적 적음 | 정기적 |
보안 | 강함 - SELinux 사전 설치 | 양호 - AppArmor 사용 |
지원 | 작지만 활동적인 커뮤니티가 있는 견고한 문서 | 우수한 문서 및 크고 안정적인 지원 커뮤니티 |
가상화 | 클라우드 스택, 오픈스택, 오픈네뷸라 | 오픈스택 |
패키지 관리 | Yam | apt, apt-get(이전 시스템 용) |
특징 | CentOS | Ubuntu |
안정 | 강한 | 좋은 |
호스팅 시장 점유율 | Linux 사용자의 17.5% | Linux 사용자의 38.2% |
관리 용이성 | 전문가 수준 | 사용자 친화적 |
사용의 용이성 | 전문가 수준 | 사용자 친화적 |
플랫폼 초점 | 서버 시장을 겨냥하고 대기업이 선호 | 데스크톱 사용자에게 더 적합 |
기본 어플리케이션 | 필요에 따라 업데이트 | 정기적으로 업데이트 |
사용자 인터페이스 - GUI와 CLI
사용자 인터페이스
- 인터페이스(interface)는 서로다른 두 개의 시스템, 장치 사이에서 정보나 신호를 주고받는 경우의 접점이나 경계면을 뜻함
- 즉, 사용자가 기기를 쉽게 동작시키는 데 도움을 주는 시스템을 의미
GUI(Graphical user interface) 시스템
👉 GUI는 Graphical user interface의 약자이다.
👉 이미지, 아이콘, 텍스트 상자와 같은 시각 보조 도구(그래픽)를 이용
👉 명령을 기억할 필요가 없으므로 사용자가 GUI를 사용하여 작업을 수행하기 쉽다.
👉 아이콘을 클릭하고 마우스를 사용하여 객체를 끌어다 놓기 등 전문 지식 없이 작업을 수행할 수 있다.
👉 Windows 와 같은 운영 체제에서 보이는 화면 또한 GUI 이다.
CLI(Command line interface) 시스템
👉 CLI는 Command Line Interface 의 약자이다.
👉 CLI가 GUI 이전에 개발되었으며, 1980년대에 광범위하게 사용 된 전통적인 인터페이스이다.
👉 CLI 시스템은 명령줄(Command line)을 이용하여 컴퓨터와 상호 작용할 수 있다.
👉 GUI가 할 수 있는 모든 작업은 CLI로 할 수 있다.
👉 GUI가 PC시장을 지배하게 되었지만 CLI는 여전히 사용된다.
주요 차이점
GUI | CLI | |
인터페이스 | 비주얼 자료 제공 | 수동 명령 입력 |
작업 수행 용이 | 전문 지식 필요 | |
정밀도 | 비교적 낮음 | 비교적 높음 |
공간 차지 | 비교적 공간 많이 필요 | 비교적 공간 덜 필요 |
모양 조정 가능 | 모양 변경 불가 | |
속도 | 비교적 느리다 | 비교적 빠르다 |
CentOS의 minimal 버전과 GUI 버전
Ubuntu의 CLI 버전과 GUI 버전
리눅스 패키지
: 리눅스 패키지란, 리눅스 시스템에서 소프트웨어를 실행하는데 필요한 파일들(실행 파일, 설정파일, 라이브러리 등)이 담겨 있는 설치 파일 묶음
- 패키지 종류 - 소스 패키지(Source Package)와 바이너리 패키지(Binary Package)
소스 패키지(Source Package) VS 바이너리 패키지(Binary Package)
- 소스 패키지 : 소스 코드가 들어 있는 패키지로 컴파일 과정을 통해 바이너리 파일로 만들어야 실행 가능
- 바이너리 패키지 : 성공적으로 컴파일된 바이너리 파일이 들어있는 패키지
리눅스의 기본 설치 패키지들은 대부분 바이너리 패키지이다.
소스패키지를 사용하는 이유는?
사용자의 입맛에 맞게 원하는 대로 사용할 수 있다는 것
따라서 원한다면 소프트웨어를 마음대로 수정해서 사용할 수 있는데 이렇게 하려면 소스 패키지를 다운로드하여 소스 코드를 수정하거나 컴파일 옵션을 변경하여 사용해야 한다.
바이너리 패키지의 문제점
내 컴퓨터 환경과 바이너리 패키지가 컴파일된 환경이 달라서 문제가 발생
내가 설치한 바이너리 패키지를 실행하기 위해서는 특정 버전의 라이브러리들이 필요하다면 내가 그 라이브러리들을 가지고 있지 않을 경우 제대로 프로그램을 실행할 수 없다.
리눅스 패키징 방식(Linux Packaging System)
리눅스 배포판 별로 다양한 패키징 방식이 존재. 대표적으로 두 가지 방식이 있다.
- Debian 계열(Debian, Ubuntu, Linux Mint 등)에서 사용하는 패키징 방식 : DEB
- Red Hat 계열(Red hat, Fedora, CentOS 등)에서 사용하는 패키징 방식 : RPM
DEB 패키지 파일의 확장자는 *.deb 이고, RPM 패키지 파일의 확장자는 *rpm이다.
리눅스 패키지 관리 방식(Linux Package Management System)
패키지를 관리하기 위해 패키지 관리 도구(Package Management Tool)을 사용
패키지 관리도구는 **저수준 패키지 도구(Low Level Package Tool)**와
**고수준 패키지 도구(Hight Level Package Tool)**로 구성
패키지 종류 및 사용법
데비안 계열 패키지 툴
dpkg
: 보통 APT명령 만으로 충분하지만 시스템에 있는 특정 파일이 어떤 패키지에 포함되는지 등의 확인 작업을 수행하기위해 dpkg 명령이 필요
: 데비안 리눅스에서 소프트웨어 설치와 제거를 위한 패키지 관리 유틸리티
: dpkg의 의존성 문제를 해결하기 위해 /etc/apt/source.list 파일 참조
레드햇 계열 패키지 툴
: 레드햇 사에서 만들어낸 패키지 툴
: 새로운 패키지를 설치(옵션 i), 업그레이드(옵션 U)하거나, 삭제(옵션 e) 시 사용
: 네트워크를 통해 기존 rpm 패키지 파일의 업데이트 자동 수행
: 인터넷을 기반으로 설치하므로 네트워크가 정상적으로 연결된 상태여야 함
우분투의 apt(apt-get)와 레드헷 계열의 CentOS yum 명령어 비교표
rpm 과 dpkg 로 정보 보기
출처 :
https://choseongho93.tistory.com/195
https://compiler.tistory.com/18
https://coding-factory.tistory.com/318
https://wowgold-seller.com/ko/stories/2186-centos-vs-ubuntu-server--everything-you- need-to-know
https://bradbury.tistory.com/227
https://velog.io/@zndvnvksek0605/Ubuntu-Package
https://softwareji.tistory.com/36
https://hanamon.kr/컴퓨터의-io-인터페이스-gui-cli/
https://ko.gadget-info.com/difference-between-cli
https://thinking-developer.tistory.com/58?category=900113
https://velog.io/@broccoliindb/apt-get-와-dpkg의-차이점
http://www.songtory.com/post/001003/1/245
https://www.lesstif.com/lpt/ubuntu-apt-apt-get-redhat-centos-yum-89555903.html
'CNU_SW_모각코' 카테고리의 다른 글
12주차 모각코 학습 결과(22.09.20 13:15 ~ 16:15) (1) | 2022.09.24 |
---|---|
12주차 모각코 학습 목표(22.09.20 13:15 ~ 16:15) (1) | 2022.09.24 |
11주차 모각코 학습목표(22.09.16 금 09:00~12:00) (0) | 2022.09.16 |
10주차 모각코 학습결과 (22.09.05 월 09:00~12:00) (4) | 2022.09.05 |
10주차 모각코 학습목표(22.09.05 월 09:00~12:00) (0) | 2022.09.05 |