리눅스

[리눅스] Linux

노트북 산 김에 공부 2024. 3. 17. 19:16

운영체제(Operating System)

사용자의 하드웨어, 시스템 리소스를 제어하고 프로그램에 대한 일반적 서비스를 지원하는 시스템 소프트웨어

운영체제의 목표

  • 응용 프로그램 또는 사용자 프로그램을 실행하고 사용자의 문제를 쉽게 해결
  • 컴퓨터 시스템을 사용하기 편리해야 함
  • 컴퓨터 하드웨어와 시스템 시스템 리소스를 효율적으로 사용하고 관리

닉스(Unix)

  • 리눅스가 탄생하기 이전 운영체제로 지금도 많이 사용되지만 높은 비용 지불
  • 사용 사례
    • IBM의 AIX
    • HP의 HP/ UX
    • 오라클의 Solaris
    • DEC의 Digital Unix
    • SCO의 SCO Unix
  • 이러한 서버 또는 대형 시스템에서 주로 사용하는 운영체제이다

리눅스 (Linux)

  • 유닉스 호환 운영체제 - 무료 유닉스(어떤 면에서는 유닉스보다 뛰어남)
  • 유닉스의 POSIX 표준을 준수 
  • POSIX는 이식 가능 운영 체제 인터페이스(interface, portable operating system interface)의 약자로, 서로 다른 UNIX OS의 공통 API를 정리하여 이식성이 높은 유닉스 응용 프로그램을 개발하기 위한 목적으로 IEEE가 책정한 애플리케이션 인터페이스 규격

리눅스를 사용하는 이유

  1. 유닉스 계열의 os가 필요하다 (리눅스는 유닉스 계열이면서 무료로 사용 가능)
  2. 오픈 소스
    • 운영체제의 자유로운 수정이 가능
    • 보안 및 안정성
  3. 서버에 용이함
    • 무료 & 오픈소스 - 개발 및 변경이 자유로움
    • 보안과 안정성, 성능이 우수
    • CLI가 GUI보다 서버 관리 효율이 매우 좋음
    • 대부분의 서버용 프로그램들이 리눅스에서 동작함
  4. 모바일, 임베디드 기기에 용이함
    • 안드로이드 - 리눅스 기반
    • 임베디드 보드를 쓰는 각종 전자기기

GUN 프로젝트

토르발스가 리눅스 커널을 개발하기 전인 1984년 리처드 스톨먼(Richard Stallman)이 시작한 GNU 프로젝트는 모두가 공유할 수 있는 소프트웨어를 만드는 것을 목표로 함.

FSF

1985년 스톨먼은 GNU 프로젝트에서 제작한 소프트웨어를 지원함으로써 누구든 소프트웨어를 자유롭게 사용할 수 있도록
자유소프트웨어재단(Free Software Foundation, FSF)를 설립

GPL

  • FSF에서 제공하는 자유 소프트웨어(free software)를 자유롭게 수정 및 공유하는 것을 보장하는 가이드
  • 소프트웨어의 사용 / 수정 / 재배포 / 수익 창출 대한 자유의 개념 배포
  • 단, 수정된 소프트웨어로 수익 창출, 소스코드를 공개해야 함

커널(kernel)

  • 컴퓨터 운영 체제의 핵심이 되는 시스템의 모든 것을 통제하는 컴퓨터 프로그램
  • 하드웨어와 시스템 자원을 관리
  • 리누스 토르발스(Linus B. Torvalds)가 1991년에 리눅스 커널 0.01버전 작성
    • 1992년에 0.02 버전 오픈소스로 공개(리눅스 시초)
  • 통상적인 리눅스는 토르발스가 만든 커널에 컴파일러, 쉘, 기타 프로그램이 조합된 배포판이다
  • 배포판은 전 세계적으로 수백 가지가 넘지만 토르발스가 제작한 커널을 사용

 

 

커널의 구성

  • 안정 버전(stable version): 이미 검증된 개발 완료 코드로 구성
  • 메인라인 버전(mainline version): 토르발스가 개발 중인 버전, 안정 버전이 나오기 전에 추가된 기능을 미리 접하고 싶을 때 사용
  • 프리패치 버전(prepatch version): 안정 버전이 나오기 전에 추가된 기능을 미리 접하고 싶을 때 사용

커널 버전 업그레이드

  • 2019년 5월을 기준으로 안정화된 최신 커널은 5.1.15 버전
  • 2023년 3월 기준 최신 안정 버전 커널은 6.7.9
  • 파일 이름에 붙은 숫자 5.1.155는 주버전(major version), 1은 부버전(minor version), 15는 패치 버전(patch version)을 의미
  • 배포판에 포함된 기본 커널을 사용자가 직접 최신 커널로 업그레이드할 수 있으며, ‘커널 업그레이드’ 또는 ‘커널 컴파일’이라고 함

리눅스 배포판

일반 사용자는 리눅스 커널만 가지고 리눅스를 사용할 수 없다. 그래서 여러 회사와 단체가 리눅스 커널에 다양한 응용 프로그램을 추가하여 쉽게 설치할 수 있도록 만든 것이 바로 리눅스 배포판이다.
 

데비안 (Debian) 리눅스
 

  • 유명한 리눅스 배포판 중 하나이며 1993년에 이언 머독(Ian Murdock)이 창시한 데비안 프로젝트(Debian Project)에서 제작
  • 데비안 리눅스의 정식 버전은 1996년 1.1 버전(코드명 Buzz)으로 시작, 2019년 10 버전 발표
  • 패키지의 설치와 업그레이드가 상당히 단순하고 apt 프로그램을 이용하여 소프트웨어 설치나 업데이트가 자동으로 진행됨

우분투 (Ubuntu) 리눅스
 

  • 데비안 리눅스를 기초로 유니티(unity) 데스크톱 환경을 사용하는 리눅스 배포판
  • 첫 버전을 출시한 이후 계속 업그레이드됨, 인기 리눅스 배포판 중 하나
  • 기본적으로 우분투 데스크톱과 우분투 서버를 배포
  • 쿠분투(Kubuntu), 우분투 킬린(Ubuntu Kylin), 루분투(Lubuntu), 주분투(Xubuntu) 등 다양한 배포판 개발, 이를 통틀어 ‘우분투 플레이버스(Ubuntu flavours)’라고 부름

레드햇 (Red Hat) / 페도라 (Fedora)
 

  • 리눅스 초기에 만들어진 배포판
  • 배포는 무료, 기술지원은 유료로 시작
  • 현재는 유료 버전인 레드햇과 무료버전인 페도라로 분리
  • 레드햇 (현재는 IBM) 기업에서 꾸준히 배포판을 관리하며 보안 업데이트를 실시하여 보안이 뛰어나고 안정성이 높은 것이 특징

아마존 리눅스
 

  • 클라우드용 서버 인스턴스의 특징에 적합하게 AWS에서 직접 개발/관리하는 리눅스 버전
  • 일반 컴퓨터용 버전은 존재하지 않으며 AMI (Amazon Machine Image)로만 사용가능
  • 레드햇 배포판을 기반으로 수정한 배포판
  • 각종 AWS 서비스와의 상성이 좋음