Develop

[리눅스 마스터 2급] 리눅스 일반 (1차) 본문

자격증

[리눅스 마스터 2급] 리눅스 일반 (1차)

230801 2025. 6. 10. 04:16

 

리눅스의 디렉터리

1. /proc 디렉터리

시스템 및 시스템 자체에서 실행중인 프로세스에 대한 정보를 제공하는 가상 파일 시스템

2. /lib 디렉터리

라이브러리 파일들이 저장되는 디렉터리

3. /dev 디렉터리

장치 파일들이 저장되는 디렉터리로, 컴퓨터의 하드웨어와 연결된 장치들의 파일이 포함되어있다. (마우스나 키보드 등)

  • 시스템에서 사용되는 가상파일도 포함된다.
  • 일반 사용자는 /dev 디렉터리에 대한 접근권한이 없으며, 시스템관리자나 개발자 등의 특정 권한이 필요하다.

4. /etc 디렉터리

시스템 설정 파일이 저장되는 디렉터리이다.

  • 예를들어, 네트워크 설정, 사용자 계정정보, 패키지 관리자 설정, 서비스 설정등이 포함된다.
  • 일반적으로 /etc 파일들은 텍스트 파일 형식으로 작성되어있고, 대부분의 파일은 시스템관리자 권한으로 수정해야 한다.
  • 이 파일들은 시스템 구성에 중요한 역할을 하므로, 파일의 수정, 삭제, 이동 전에는 반드시 백업을 해야 한다.

5. /usr 디렉터리

사용자 프로그램과 관련된 파일들이 저장되는 디렉터리이다. usr 은 Unix System Resources 의 약어로, 시스템 자원들이 저장되는 디렉터리를 의미한다.

  • 예를들어 프로그램 바이너리, 라이브러리, 문서, 설정파일 등이 포함된다.

6. /var 디렉터리

변동성 데이터가 저장되는 디렉터리

  • 주로 시스템 로그, 메일, 프린트 서버 큐, 웹 서버 데이터, 데이터베이스 등과 같은 시스템 서비스에서 생성되는 데이터가 저장된다.

7. /lost + found 디렉터리

파일 시스템에서 데이터 손상이 발생했을 때 복구된 파일이 저장된다.

  • 파일 시스템의 루트 디렉터리에 위치한다.
  • 일반적으로 사용자나 프로세스는 이 딝터리의 파일에 직접 접근하지 않고, 대신 파일 시스템 검사 도구인 fsck 등을 사용하여 파일 시스템에서 손상된 파일을 찾고 복구한다.

 


리눅스의 배포판

배포판의 구성

  • 리눅스 커널
  • GNU 소프트웨어
  • GNU 라이브러리
  • 유틸리티
  • X윈도 시스템

배포판의 종류

  1. 슬랙웨어
    • 1993 패트릭 볼커딩 배포
    • 사용간단, 편안한 사용자 경험, 안정적인 구조 유지
    • 패키지 관리 시스템 단순 및 제한적
    • 고급사용자를 위해 제공, 소스코드와 같은 기술적 측면에서 깊은 이해와 경험 필요
  2. 레드햇
    • 1993 마크에윙 배포
    • 서버, 개발, 데스크탑 등 다양한 용도로 사용, 강력한 관리도구 및 안정적 시스템 구조
    • 안정적인 지원을 원하는 기업체에서 많이 구입
      • 레드햇 엔터프라이즈 리눅스 (RHEL) : 유료지원
      • 페도라 리눅스 : 무료
  3. 페도라
    • 레드햇사가 지원하는 페도라 프로젝트에서 개발 및 유지 관리
    • 최첨단 기술로 유명, 다양한 사용자, 오픈소스 커뮤니티의 매니아와 기술전문가 사이에서 인기가 높은 운영체제, 무료
    • 높은퀄리티의 디자인과 사용자 친화적 인터페이스, 강력한 보안기능
  4. RHEL
    • Red Hat Enterprise Linux는 엔터프라이즈급 안정성 및 보안 충족 설계
    • 실시간 모니터링과 같은 고급 관리도구 포함
    • 기업체를 위한 다양한 지원, 연중무휴, 보안업데이트 및 버그수정
    • 기업 고객들을 위한 서비스로 인프라가 다른 리눅스에 비해 좋은편
  5. 데비안
    • 1993 이안머덕 배포
    • 안정적, 패키지 관리시스템이 강력, 시스템/서버관리, 데스크탑 사용 등
    • 데비안을 기반으로 특수목적용 리눅스들이 만들어짐
    • 대표적으로 사물인터넷을 위한 초소형 컴퓨터(라즈베리 파이) 전용 운영체제인 라즈비안이 있음
  6. 센트OS
    • 서버 및 기타 엔터프라이즈급 애플리케이션을 위한 안정적, 신뢰 플랫폼으로 설계
    • 기업용 리눅스인 RHEL의 무료대안으로 자주사용됨(레드햇사 제휴에 의해서 개발됨)
    • 광범위한 엔터프라이즈급 애플리케이션과 호환, 웹서버 , 데이터베이스 및 기타 엔터프라이즈급 애플리케이션을 위한 플랫폼으로 사용 가능
  7. 수세 리눅스
    • SuSE에서 개발 및 유지관리, 상용 리눅스 기반 운영체제
    • 안정성, 신뢰성, 사용편의성에서 유명(중소~대기업 이용)
    • 다양한 시스템관리도구를 포함하며 다양한 하드웨어를 지원
  8. 칼리 리눅스
    • 침투 테스트 및 보안평가를 위해 특별히 설계된 데비안 계열 오픈 소스 운영체제
    • 오펜시브 시큐리티에서 유지관리하며, 보안전문가 , 윤리적 해커 및 침투 테스터가 널리 사용
    • 와이어 샤크와 같은 보안 도구와 최신 보안시스템 지원
  9. 라즈비안
    • 데비안 계열 배포판, 영국의 라즈베리파이 재단에서 버전과 서비스 관리 → 안정됨
    • 일반적인 리눅스보다 저전려고가 저사양에서도 작동이 되도록 설계됨
    • 파이썬, 스크래치, 자바 등 다양한 언어 지원, 관련 장비의 가격이 저렴하여 교육용으로도 널리 사용됨

 

 


리눅스의 역사

유닉스를 PC에서 사용하기 위해 리누스 토발즈가 리눅스 커널을 개발하면서 시작됨

  • 1960 년대
    • 유닉스는 대학 등 연구기관에서 사용(AT & T벨 연구소의 켄 톰슨 & 데니스 리치)
    • 유닉스는 리눅스의 조상이라고 할 수 있으며, 높은 이식성과 유연성을 가진 운영체제
  • 1970년대
    • 컴퓨터 역사에서 극적인 변화가 일어나는 시기
    • 대기업에 의해서 개발이 주도되던 컴퓨터는 주로 대형컴퓨터 였음
  • 1980년대
    • 유닉스가 상용 운영체제로 서 많은 기업들에게 사용되기 시작함
    • 1983 리처드 스톨만이 GNU 프로젝트를 시작 (유닉스와 유사한 운영체제를 개발하고 이를 무료로 배포하는것을 목표로함)
    • 1985 FreeBSD, NetBSD 등의 유닉스 버전도 개발됨
    • 1980 후반 리눅스 탄생에 큰 역할을 한 GNU 프로젝트 등의 오픈소스 운동이 활발하게 이루어짐
  • 1990년대
    • 리누스 토발즈가 리눅스 운영체제의 코어라고 할 수 있는 커널을 개발함
    • 1991 리누스토발즈는 PC에서 사용하기 적합한 유닉스와 유사한 운영체제를 개발하기 위한 프로젝트를 진행
    • 1990 후반, 다양한 오픈소스 소프트웨어들이 서버와 웹호스팅 등에서 큰역할을 함
    • 1990 다양한 리눅스 배포판들이 출시되는 시기 (레드햇, 우분투, 센토스, 데비안 등)
  • 2000년대
    • 오픈소스 소프트웨어의 대중화
    • 가상화기술, 클라우드 컴퓨팅, 빅데이터 분석 등
    • 스마트폰이 채택하는 안드로이드 운영체제도 리눅스 기반이다.

 


리눅스 라이선스

1. GNU

  • GNU(GNU’s Not Unix) 프로젝트
  • 1983 리처드 스톨만 시작(자유 소프트웨어 운동)
  • 유닉스 운영체제의 소스코드와 호환성을 갖춘 자유 소프트웨어 운영체제를 개발하는것이 목표였음
  • GCC와 같은 C 컴파일러를 비롯, Emacs와 같은 에디터, GDB와 같은 디버거, 배시셸 등 개발
  • 자유 소프트웨어 라이선스
    • GPL (GNU General Public License)
    • LGPL (GNU Lesser General Public License)
  • 서버, 스마트폰, 태블릿, IoT 기기 등에서 사용

2. FSF

  • 1985 리처드 스톨만이 FSF (자유소프트웨어 재단, Free Software Foundation) 설립
  • 자유소프트웨어를 보급하고 지원하는 활동을 주로함
  • 이를 위해 GNU 프로젝트 시작, GPL, LGPL 과 같은 자유 소프트웨어 라이선스를 만듦
  • 소프트웨어 개발자들과 사용자들이 소프트웨어의 자유와 통제권을 가질 수 있도록 교육, 저작권, 법적 지원, 기술 지원등 다양한 활동을 수행함
  • 매년 자유 소프트웨어 상을 시상함

3. GNU GPL

  • 자유 소프트웨어 라이선스의 일종
  • 소스코드에 대한 무료 공개를 요구한다. 라이선스를 받은 소프트웨어를 수정하거나 배포하는 경우 해당 소스코드를 함께 공개해야한다.
  • 수정된 소프트웨어도 공개
  • 상업적 이용 가능, 이용시에도 라이선스 조건을 준수해야한다.

4. GNU LGPL

  • 자유 소프트웨어 라이선스의 일종(GPL 보다 유연함)
  • 라이브러리와 같은 소프트웨어에 적용 (라이브러리, 모듈, 플러그인 등)
  • 수정한 코드만 공개
  • LGPL 라이브러리와 상용소프트웨어를 결합하는경우
    • 라이브러리의 소스코드를 공개해야함
    • 상용소프트웨어의 소스코드는 공개할 필요 없음

5. BSD

  • BSD 운영체제에서 사용되는 라이선스
  • OSI 에서 인증한 오픈소스 라이선스 중 하나
  • 소프트웨어의 배포와 수정, 상용 이용 등 비교적 자유로움
  • 미국 캘리포니아 대학교 버클리의 CSRG에서 개발한 리눅스에도 적용이 되어있음
  • 소스코드 공개 의무 x
    • 상용 소프트웨어나 프로프라이어트 소프트웨어 개발에도 적용가능
  • 저작권 및 판권 표시 필요

6. 아파치 라이선스

  • 자유 소프트웨어 라이선스의 일종
  • 오픈 소스 소프트웨어를 개발하고 배포하는데 사용됨
  • 아파치 소프트웨어 재단에서 개발한 HTTP 서버와 함께 사용되어서 이름이 붙여짐
  • 수정, 배포, 상용 이용 가능
  • 라이선스 표시 필요
  • 수정한 코드 공개의무 x

7. MIT

  • 오픈소스 소프트웨어 라이선스의 일종
  • MIT 에서 사용한 라이선스
  • 간결성과 유연성으로 인해 인기있음
  • 수정, 배포, 상용 이용 가능
  • 라이선스 표시 필요
  • 저작권 및 판권 표시 필요
  • 라이선스의 보증 부족(책임 안짐)

8. MPL

  • Mozilla Public License
  • 모질라 파이어폭스 웹 브라우저와 관련된 소프트웨어 프로젝트에 사용됨
  • 오픈 소스 소프트웨어를 공유하고 재배포할 수 있는 권한을 제공하지만, 라이선스를 준수하지 않는 소스 코드의 재배포를 금지한다.
  • 배포된 소프트웨어는 사용자가 수정할 수 있지만, 수정된 소프트웨어를 다시 배포할 경우 라이선스 준수해야함