CNU_SW_모각코

11주차 모각코 학습결과 (22.09.16 금 09:00~12:00)

nayeonee__ 2022. 9. 18. 15:38

리눅스 특징

  1. 리눅스는 유닉스와 완벽하게 호환가능하다.
  2. 리눅스는 공개 운영체제이다. 오픈소스이므로 누구든지 자유롭게 수정이 가능하다.
  3. 리눅스는 PC용 OS보다 안정적이며 보안쪽으로도 PC용 OS보다 우수하다.
  4. 다양한 네트워킹 기술을 제공하며 서버용 OS도 적합하다.
  5. 배포판이 아닌 리눅스는 무료이다

리눅스 가계도

레드햇계열

  • 레드햇계열은 레드햇이라는 회사에서 배포한 리눅스이다.
  • 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)

 

리눅스 배포판 별로 다양한 패키징 방식이 존재.      대표적으로 두 가지 방식이 있다.

  1. Debian 계열(Debian, Ubuntu, Linux Mint 등)에서 사용하는 패키징 방식 : DEB
  2. 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://story.pxd.co.kr/732

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