Programing🤖/Linux

[Linux] 개요

nayeo2 2024. 8. 23. 11:31

1. 리눅스 개요

유닉스로부터 시작된 리눅스의 역사

  1. 유닉스 (Unix):
    • 1960년 대 후반, 벨 연구소, 켄 톰슨과 데니스 리치에 의해 개발
    • 초기 유닉스는 C언어로 작성 → 많은 OS 개발에 영향을 끼침
    • 초기에는 비상업적인 목적으로 사용 → 학계와 연구소에서 활용
  2. 리눅스 (Linux):
    • 1991년, 핀란드, 리누스 토르발스에 의해 개발
    • 유닉스와 유사한 OS를 개발하고자
    • 토르발스의 개발을 거쳐 커뮤니티 기반으로 성장 → 개방성, 유연성, 안전성 多
  3. 유닉스와 리눅스의 관련성:
    • 리눅스는 POSIX 호환성 유지 → 유닉스와 유사한 명령어, 파일 시스템, 네트워킹
    • 기존 유닉스 시스템 → 리눅스로의 쉬운 이식성과 호환성 제공
  4. 개발 과정:
    • 리눅스는 오픈 소스 프로젝트로 시작되었기 때문에, 커뮤니티의 참여와 기여 多
    • 수많은 프로그래머, 개발자, 기업들이 발전시키고 지원하여 현재의 안정성과 기능을 갖추게 됨
  5. 현재의 상태:
    • 서버, 임베디드 시스템, 개인 컴퓨터, 스마트폰, IoT 디바이스 등 다양한 플랫폼에서 사용
    • 많은 기업들이 리눅스를 기반으로한 서비스와 제품 개발

⇒ 유닉스의 영향과 리눅스의 오픈 소스 및 커뮤니티 기반의 개발 방식은 현재의 리눅스 생태계를 형성하는 데 큰 역할을 했다.

현재 리눅스 서버의 양대산맥

Red Hat 계열:

  1. 패키지 관리 시스템: Red Hat 계열은 RPM(Red Hat Package Manager)을 사용

    .rpm 확장자를 갖는 바이너리 패키지 사용 → 소프트웨어 설치, 업데이트 및 삭제

  2. 패키지 관리 도구: yum 또는 dnf를 사용 → 의존성 문제를 자동으로 처리, 다른 패키지들을 함께 설치

  3. 설정: Red Hat 계열은 주로 /etc/sysconfig 디렉터리로 시스템 설정 저장 → 대표적으로 systemd 로 시스템 초기화 및 서비스 관리

  4. 배포판: Red Hat Enterprise Linux (RHEL), CentOS, Fedora

Debian 계열:

  1. 패키지 관리 시스템: Debian 계열은 APT(Advanced Package Tool)을 사용

    .deb 확장자를 갖는 바이너리 패키지 사용 → 소프트웨어 설치, 업데이트 및 삭제

  2. 패키지 관리 도구: apt-get, aptitude, dpkg 등을 사용 → 의존성 문제 해결, 더 간편한 패키지 관리를 제공

  3. 설정: Debian 계열은 주로 /etc 디렉터리로 시스템 설정 저장→ systemd 또는 sysvinit 로 시스템 초기화 및 서비스 관리

  4. 배포판: Debian, Ubuntu, Linux Mint

⇒ 각각의 OS가 서로 다른 방식으로 패키지 관리, 시스템 설정, 초기화 및 서비스 관리 수행한다. 유저들이 어떤 OS를 선택할 지, OS를 효과적으로 관리하는 방법을 결정하는 데에 중요한 요소가 된다.