본문 바로가기

자격증/리눅스 마스터 1급

Part1) 리눅스의 실무의 이해 - 리눅스의 개요(2) | 리눅스 기초

리눅스의 철학

  • 1991년 리누스 토발즈에 의해 첫 공식 버전인 0.02를 처음으로 발표
  • 리눅스는 운영체제 소프트웨어로 유닉스 시스템의 표준 인터페이스로 잡고 있는 POSIX 표준을 따르고 있으나, 진정한 자유 소프트웨어를 구현하기 위해 유닉스 소스코드 사용을 배제하고, 모든 소스를 새로 작성
  • Macintosh, SPARC, MIPS, Alpha f 머신 등에서 동작하는 최고의 이식성을 자랑하는 운영체제
  • GNU GPL(General Public License)가 적용된 리눅스 소스코드는, 자유롭게 어느 누구나 사용, 변경, 배포가 가능


    GNU GPL(General Public License) - (14년도 전반기)


    GPL은 FSF(Free Software Foundation)에 의해서 만들어진 특별한 라이선스: GNU정신에 입각하여 모든 프로그램의 소스코드를 공개하는 것이 주된 목적

    (vi 편집기를 어떤 사용자가 수정했을때, 그 사용자는 라이선스가 아닌 GPL만을 가질 수 있음)


    1)Copyleft제작과정의 공개를 중심으로한 운동이고 소유권의 자체는 거부하지 않아서, Copyright의 반대말은 아님


    2)자유 소프트웨어 조건

    1. 프로그램을 어떠한 목적을 위해서라도 실행할 수 있는 자유

    2. 프로그램의 작동 원리를 연구하고, 이를 자신의 필요에 맞게 변경시킬 수 있는 자유

    3. 이웃을 돕기 위해서 프로그램을 복제하고 배포할 수 있는 자유

    4. 프로그램을 향상시키고 이를 공동체 전체의 이익을 위해서 다시 환원시킬 수 있는 자유

    3)자유 소프트웨어의 범주

    1. GPL 소프트웨어(GPL'ed software): GPL을 사용권 허가 방법으로 사용하며, GNU/FSF가 배포하고 있는 대부분의 소프트웨어

    2. Copyleft 소프트웨어(Copylefted software): 자유소프트웨어 4가지 조건을 충족시키는 소프트웨어 중에서 카피레프트 방식의 배포가 이루어지는 소프트웨어

    3. 공용 소프트웨어(Public domain software): 저작권자가 저작권을 명시적으로 포기했거나 저작권자를 알수 없는 공개된 소프트웨어

    4. XFree86 형태의 소프트웨어(XFree86 style software): 그래픽 유저 인터페이스인 X 윈도우 시스템에 적용되는 사용권 허가 방식이 여기에 해당되며, 이 방식에선 개작과 재배포가 허용되지만, 카피레프트에는 허용되지 않는 추가적인 제약의 설정이 가능. 즉, 독점 소프트웨어 만드는 것이 가능

    5. 오픈소스 소프트웨어(Open Source software): 오픈소스에 대한 정의를 충족시키는 소프트웨어

    6. 셰어웨어(Shareware): 일정한 기간동안 무료로 사용할 수 있게 하는 등의 부분적인 제한을 설정해서 배포. 계속 사용을 위해선 비용 지불

    7. 프리웨어(Freeware): 셰어웨어와 유사한 형태로, 일반적 배포는 허용하지만 개작은 허용되지 않음. (자유소프트웨어가 아니므로 혼동 주의)

    8. 비공개 소프트웨어(Closed software): 원시코드가 공개되지 않는 소프트웨어를 지칭하므로 독점 소프트웨어에 속함. 자유소프트웨어에 대한 조건 2,4 불충족

    9. 독점 소프트웨어(Proprietary software): 원시 코드가 공개되지 않거나 프로그램에 대한 복제 및 배포가 금지되는 등의 자유소프트웨어에 대한 4가지 조건이 충족되지 않는 소프트웨어를 지칭

    10. 상용소프트웨어(Commercial software): 판매 수익을 통해 돈을 벌기 위한 목적으로 만들어진 소프트웨어


    자유 소프트웨어 재단(FSF, Free Software Foundation)


    GNU 운영체제의 주요한 기관 스폰서로서, 컴퓨터 소프트웨어를 사용하고 학습하며, 복제, 개작, 재배포할 자유를 유지, 보호, 증진하는 것을 목표로함

    • 1985년에 자유 소프트웨어의 개발을 위해서 면세 해택이 주어지는 재단을 설립
    • GNU C라이브러리는 GNU/Linux 시스템에서 실행되는 모든 프로그램이 리눅스와 연동하기 위해선 반드시 필요
    • C라이브러리는 자유 소프트웨어 재단 스탭 중 한사람인 롤랜드 맥그리스가 개발, 그리고 쉘 프로그램인 BASH는 브라이언 폭스가 개발


    오픈소스 소프트웨어

      오픈소스의 조건

      1. 자유로운 재배포(Free Redistribution): 재배포 못하도록 배포나, 별도 라이선스 비용 징수 불가

      2. 원시코드(Source Code): 원시코드의 배포와 자유로운 재배포

      3. 2차적 저작물(Derived Works): 2차적 저작물 작성. 배포의 허락

      4. 저작자의 원시코드의 완전성: 원시코드 수정 제한. 원래 프로그램과 구별을 위해 별도의 이름과 버전을 사용할 것을 요구하는 항목 추가 가능

      5. 개인이나 단체에 대한 차별 금지

      6. 사용 분야에 대한 제한 금지

      7. 라이선스의 배포

      8. 특정제품에 의존하지 않을 것: 라이선스 적용상의 동일성 유지

      9. 다른소프트웨어 라이선스에 제한하지 않을 것: 다른 라이선스의 포괄적 수용

      10. 라이선스의 기술적 중립성: 라이선스의 어떠한 규정도 개별 기술 또는 인터페이스 형태에 기초하여 규정되어서는 안됨


        커널 버전 및 기능 추가 사항 - (07년도 전반기, 13년도 전반기, 14년도 전반기)


        커널의 주역할은 프로세스와 하드웨어 장치관리 및 각 프로세스들이 사용하는 장치들을 통제하는 제어관리 및 입출력 제어관리라고 할 수 있음


          리눅스 커널 표기

         linux-3.11.3.tar.xz

         (왼쪽부터 설명)

         -linux: 패키지명

         -3: 커널의 주버전

         -11: 커널의 부버전

         -3: 커널의 패치레벨 


        1) 커널 주 버전: 커널의 주된 버전을 의미하며 커널의 기능상 획기적이나 커다란 변화가 있는 경우에 증가함

        2) 부버전: 리눅스 커널의 중요한 변화이지만 비교적 작은 변화가 있음을 뜻함

        3) 패치레벨: 커널에 아주 작은 변화가 있음을 뜻함(보안패치, 버그수정, 드라이버 및 기능 추가)

        4) 메인라인(개발 버전): 리눅스 커널은 3.0 부터 메인라인과 안정 버전으로 나누어 졌는데, 메인라인은 리누스 토발즈에 의해 관리되며, 새로운 기능들이 도입되고 새로운 개발이 시행된다. 메인라인 버전 번호는 최신 안정 버전의 다음 번호가 붙음

        5) stable/EOL 및 longterm: 개발 버전인 메인라인은 안정 버전으로 이동한 이후에 EOL과 longterm의 표시가 붙게 된다.

        (EOL[End of Life]: 더이상 이 커널 버전에 대한 버그수정 발표 X ▶ 다음 버전 커널 사용 고려 / longterm: 커널 관리자들이 더욱 오랜 기간동안 버그 수정을 제공)



        리눅스 배포판의 종류 - (매년도 출제)


        1) SULinux: 한국의 대포적인 리눅스 배포판 중의 하나로, 보안에 최적화된 서버 전용 리눅스이고, 시스템 관리 및 모니터링 유틸리티인 SSU, ARM 자동 버전 선택 및 자동 인스톨 유틸리티인 apm_tools등을 갖추고 있음

        2) 아시아눅스: 각국의 리눅스 배포판 기업이 개발에 참여해서 그 결과물을 공유하는 형태로 개발이 진행되고 있음. 아시아 오픈소스 소프트웨어 시장에서 서버와 모바일을 포괄하는 리눅스 운영체제를 개발, 제작 및 배포함 [참여기업: 홍기리눅스(중국), 미라클 리눅스(일본), 한글과컴퓨터(한국), 비에트 소프트웨어(베트남), 엔터프라이즈 테크놀로지(스리랑카)]

        3) 안녕 리눅스: OPPS.org의 이름으로 배포하는 한국의 리눅스 배포판. RHEL 6이나 CentOS 6.x와 호환성을 유지함

        4) 슬랙웨어(Slackware): 가장 먼저 대중화 되었고, 가장 오래된 리눅스 배포판으로 1992년 패트릭 볼거딩에 의해 시작됨. 설치과정의 어려움과 레드햇의 등장으로 관심에서 사라졌고, 개발시스템으로 적합하며, GUI 환경 데스크탑 OS로는 적합하지 않음

        5) 레드햇 리눅스(RedHat Linux): 1994년 마크 유잉은 자신이 개발한 배포판의 이름을 레드햇 리눅스로 정하고 출판하였으며, RPM이라는 새로운 패키지 관리자를 포함한 버전을 발표함 - 엔터프라이즈 버전 및 공개 프로젝트[Fedora], 상용 엔터프라이즈 버전의 소스코드 공개[CentOS]

        6) 데비안 리눅스(Debian GNU/Linux): 1993년 8월에 이안 머독에 의해 출판되었고, GNU와 리눅스 정신으로 공개적으로 만들어진 배포판, FSF의 공식적인 후원을 받음 - 데비안을 기반으로하는 리눅스 배포판[Ubuntu]

        7) 수세 리눅스(SuSE Linux): 1994년 독일 4명의 개발자에 의해 개발되었고, Jurix배포판을 기본으로 삼고, YaST개발을 시작함