Linux란?

Linux 정의

Linux는 오픈 소스 모델을 사용하여 개발된 컴퓨터 운영 체제입니다. 오픈 소스 소프트웨어의 개발 원칙은 다음과 같습니다.

  • 투명성
  • 협업
  • 빠르고 잦은 릴리스
  • 실력을 우선으로 하는 포용성
  • 커뮤니티

또한 오픈 소스 개발 모델에서는 다양한 기업과 개인의 기여에 의해 개선이 이루어지므로 소프트웨어 공급업체의 개발팀 하나가 아닌 사용자 커뮤니티가 제품의 방향을 크게 좌우하게 됩니다.

Linux 커널이란?

Linux 커널은 Linux 컴퓨터 운영 체제의 핵심입니다. 커널은 컴퓨터 하드웨어와 해당 프로세스 사이의 코어 인터페이스로, Linux 애플리케이션의 실행, 프로세서 최적화 및 애플리케이션 간 시스템 요구 사항 탐색을 위해 사용 가능한 메모리가 있는지 확인합니다.

Linux 커널은 하드웨어와 애플리케이션 사이에서 인터럽트(interrupt)를 이용해 통신합니다. 하드웨어가 더 넓은 시스템과 애플리케이션에 상호 작용하려는 경우 프로세서 및 커널에서 리소스를 효율적으로 관리하기 위해 인터럽트가 실행됩니다.

하드 OS 셸 내부에 있는 커널은 모바일, 태블릿, 데스크탑 또는 노트북, 서버 등의 장치와 별개로 해당 하드웨어의 모든 기본 기능을 제어합니다. Linux 커널은 다음과 같은 중요한 기능을 중점적으로 다룹니다.

  1. 메모리 관리: 사용할 메모리 양과 사용 방법을 추적합니다.
  2. 프로세스 관리: CPU(중앙 처리 장치) 자원을 사용할 프로세스와 방법을 결정합니다.
  3. 장치 드라이버: 애플리케이션/프로세스와 하드웨어 사이의 중개자로 작동합니다.
  4. 시스템 호출 및 보안: 애플리케이션 프로세스에서 서비스 요청을 수신합니다.

개발자를 위한 Linux

오랜 시간 계속되고 있는 Linux와 개발자 사이의 밀접한 관계에는 합당한 이유가 있습니다. Linux는 오랜 시간에 거쳐 검증되었으며 강력합니다. Oracle Linux를 이용하는 개발자들은 자신이 만든 것을 공유하거나 새롭게 발생한 문제의 해결법을 찾기 위해 언제라도 대규모 커뮤니티에서 혜택을 얻을 수 있습니다.

지금 개발자 포털을 방문하면 Oracle Linux가 여러 언어(Python, Node.js, Go)의 개발자를 위해 준비한 혜택과 애플리케이션 및 인프라 사용지침서, Oracle Linux를 사용하여 하드웨어 사용 사례까지 지원할 수 있는 방법을 소개합니다.

Linux는 누가 사용하나요?

Linux 운영 체제는 광범위한 시스템 및 환경에서 사용됩니다. 대규모 클라우드 인프라 환경, 온프레미스 통합 인프라 어플라이언스, 애플리케이션 서버, 데스크톱 컴퓨팅 환경, 임베디드 시스템을 강화합니다. 일부 Linux 소프트웨어 배포판에는 가상 머신을 호스팅하기 위한 하이퍼바이저도 포함되어 있습니다.


개발자와 Linux 비디오(17:03)

Linux의 소유자는 누구인가요?

Linux를 "소유"하는 개인이나 회사는 존재하지 않습니다. 많은 개인과 기업들이 Linux 업데이트에 기여하며 이러한 기여는 일반적으로 GPLv2와 같은 오픈 소스 소프트웨어 라이센스를 따릅니다. Linus Torvalds는 Linux라는 이름의 저작권을 소유하지만 누구나 다양한 오픈 소스 구성 요소를 결합하여 Linux 배포판을 만들 수 있습니다. 때때로 기업은 자신들의 배포판을 이용하는 것에 비용을 부과합니다. 대신 배포판의 지원에만 비용을 부과하거나 지원이 없는 대신 배포판을 무료로 사용할 수 있도록 하는 경우도 있습니다.


Linux가 다른 점은 무엇인가요? 비디오(2:43)

Linux 배포판이란 무엇입니까?

Linux 배포판(Linux distribution, "Linux distro"라고 줄여 쓰기도 함)은 하나의 완성된 운영 체제를 구성하기 위해 결합되는 주요 구성 요소와 선택적 구성 요소의 모음입니다. 일반적으로 Linux 배포는 부트 로더, Linux 커널, init 시스템, 데몬, 그래픽 서버, 응용 프로그램을 비롯한 핵심 구성 요소를 포함합니다. 일부 배포판에는 고성능 Linux 커널, 관리 도구, 하이퍼바이저, 클라우드 네이티브 환경을 위한 구성요소 등을 추가로 선택할 수 있습니다.

다양한 Linux 배포판을 구하고 사용하는 방법

다양한 Linux 배포판 사이의 중요한 차이점은 사용 목적, 지원 방법, 소프트웨어 업데이트를 관리하는 방법 및 추가 구성 요소나 선택적 구성 요소의 차이점입니다. 배포판의 목록만 본다면 대부분은 데스크탑 컴퓨터가 아닌 네트워크 기반 서버에 사용되지만 모든 유형의 서버 환경에서 쉽게 사용할 수 있는 것은 아닙니다.

예를 들어, Red Hat Enterprise Linux는 온프레미스 데이터 센터와 일부 클라우드에서 인기가 많지만 모든 클라우드를 지원하는 것은 아닙니다. Amazon Linux는 AWS(Amazon Web Services) 클라우드에서 사용할 수 있지만 다른 클라우드 또는 온프레미스에서 바로 사용할 수 있거나 지원 가능한 것은 아닙니다. CentOS는 공급업체의 지원 계약을 피해 자체적으로 지원 업무를 수행하고자 할 경우 이용됩니다. RHEL(Red Hat Enterprise Linux) 사용자는 대개 이와 반대로, 시스템을 위한 업데이트와 전화 지원을 받기 위해 상대적으로 높은 연간 지원 비용을 지불합니다. Fedora는 장기간의 안정적인 구성에 대한 관심이 적은 대신 실험적인 최신 기능을 자사의 시스템에 통합하고자 하는 사용자들을 주 대상으로 합니다. 2020년 후반에 CentOS는 안정적인 장기 지원 배포판에서 베타 버전의 RHEL에 가까운 형태로 방향을 바꾼다고 발표했습니다.

각 이용 사례에 적합한 최적의 Linux 운영 체제

Linux에는 이용 사례만큼이나 다양한 배포판이 있기에 모든 상황에 어울리는 Linux는 없을지 몰라도 개별 사례에 적합한 Linux를 찾는 것은 가능합니다. 아래에서는 특정 상황에 가장 적합한 Linux 운영 체제를 구분하는 데 도움이 되는 Linux 유형 간의 차이점에 대해 설명합니다.

Linux 버전 소개

사용 가능한 소스 코드에서 Linux 배포판을 생성할 수 있고 선택된 일부 구성 요소는 변경이 가능하므로 비슷한 Linux 배포판이 많습니다. 일부 배포판은 서로 다른 회사에서 제공하지만 사실상 서로 바꿔서 사용할 수 있습니다.

다양한 배포판이 다양한 목적에 맞게 최적화될 수 있습니다. 어떤 배포판은 크기를 최소화하는 것에, 어떤 배포판은 광범위한 데스크톱 하드웨어 지원에 중점을 둡니다. 또한 일부 배포판에는 자동 패치 적용이나 고성능 데이터베이스 같은 특수 기능이 포함됩니다.

주요 배포판은 다음과 같습니다.

  • IBM Red Hat/Red Hat Enterprise Linux(RHEL 또는 Red Hat Linux)
  • Amazon Linux
  • CentOS
  • Fedora
  • Oracle Linux
  • SUSE Linux
  • Ubuntu

다양한 Linux 운영 체제에서 업데이트와 패치를 관리하는 방법

다른 한 가지 차이는 운영 체제가 추가 소프트웨어 업데이트와 패치를 관리하는 방법입니다. 전부는 아니지만 위 목록에 있는 시스템의 대부분은 RPM(기존 Red Hat Package Manager)을 사용합니다. 일부 다른 Linux 배포판은 Debian 패키지(dpkg) 시스템을 사용합니다.

개별 패키지 관리자는 그 자체로는 매우 중요하지 않지만 이를 사용하는 각 시스템 사이에서 호환성 차이가 발생합니다. 예를 들어 사용 중인 기능에 따라 유사한 배포판 서버에서 매우 유사한 패키지를 다운로드할 수 있으므로 RPM 시스템(rpm Linux distros라고도 함)을 사용하는 시스템끼리 간편하게 교체하는 것이 가능합니다.

또한 패키지 관리자에서 업데이트 서버를 새롭게 변경하면 CentOS와 RHEL 설치를 Oracle 설치로 손쉽게 변경할 수 있습니다. 그 이유는 모두 RPM 시스템을 사용하기 때문입니다. (이는 기술적 사항입니다. 공급업체는 고객이 준수해야 하는 추가 라이선스 약관을 제시할 수 있으며 이는 본 문서에서 다루지 않습니다.) Debian 패키지 시스템을 사용하는 Ubuntu 같은 배포에서는 이와 같은 전환이 더 어려울 수 있습니다.

Linux 배포판 선택 시 고려할 사항들

하위 스택의 이점

많은 고객의 경우 운영 체제는 소프트웨어 플랫폼 스택의 가장 아래에 있으며 비즈니스 애플리케이션은 가장 위에 있습니다. 이는 운영 체제가 높은 층위의 스택보다 덜 중요하며 배포판 선택이 중요하지 않은 것처럼 보일 수 있습니다. 일부 경우에는 모든 배포판이 동일하다고 생각할 수도 있습니다.

그러나 Linux 운영 체제는 스택의 거의 최하단에 있기 때문에 위의 모든 항목에 영향을 줄 수 있습니다. 저수준에서의 보안, 성능, 안정성 및 문제 해결 기능이 향상되면 이러한 요소가 스택의 상부까지 개선하는 것이 가능합니다. 예를 들어, Ksplice라는 기술을 통해 관리자는 서버를 재시작하지 않고 보안 패치와 버그 수정을 적용할 수 있습니다. 이 자체로는 이점이 크지 않은 것처럼 보입니다. 그러나 비즈니스 애플리케이션 교체 비용을 고려해 본다면 시스템이 최신 보안 위협에 준비되지 않은 상황에서 비즈니스 애플리케이션의 운영을 방해하지 않고 패치를 적용할 수 있다는 점은 매우 큰 영향을 줍니다.

이러한 강점은 스택의 상층부로 이동할 수록 그 가치가 증가합니다. 운영 체제 레벨에서 시스템 재시작 시간을 절약할 때 관리자에게 돌아가는 이익은 몇 분에 지나지 않습니다. 그러나 대다수의 고객이 사용하는 애플리케이션을 일시 중지하는 데 따르는 기업의 부담과 수익에 미치는 영향을 방지하는 일은 관리자 연봉의 수천 배에 상응하는 가치를 가질 수 있습니다. 이로써 보안 업데이트를 무시해서 비즈니스에 발생하는 비용과 위협이 사라지게 됩니다.

성능 이점

비슷한 맥락에서 운영 체제의 성능을 개선하는 것 또한 중요하지 않은 것처럼 보일 수 있습니다. 일반적으로 관리자가 운영 체제에서 직접 작업하는 매우 드물며 사용자는 그보다 더 적은 시간을 소모하기 때문입니다. 그러나 비즈니스 애플리케이션 수준으로 치환하면, 작은 성능 향상의 효과가 수백만 건의 트랜잭션에 힘입어 확대될 수 있습니다. 이는 트랜잭션당 비용 절약으로, 심지어 분초를 다투는 트랜잭션을 경쟁자보다 신속하게 처리하여 비즈니스의 경쟁 우위로 이어질 수 있습니다.

Linux를 선택해야 하는 이유

완전함과 개방성

Oracle Linux의 완전하고 개방적인 운영 환경은 운영 체제와 함께 가상화, 관리 및 클라우드 기본 컴퓨팅 도구를 하나의 지원 서비스에서 제공합니다. Oracle Linux의 애플리케이션 바이너리는 RHEL과 100% 호환됩니다. 이와 같은 호환성으로 인해 Oracle Linux는 다른 RPM 기반 배포판들의 좋은 대체제로도 사용 가능합니다.

무료

Oracle Linux는 자가 지원 환경(일례로 CentOS를 대체하기 위한)에서 무료로 사용하거나 운영 중인 워크로드를 위한 유료 Linux 지원 계약과 함께 사용할 수 있습니다.

지속적인 개선

Oracle 엔지니어들은 Oracle Database의 고성능을 지원하기 위해 Unbreakable Enterprise Kernel을 지속적으로 개선했습니다. 이러한 개선 사항은 Oracle Database를 위한 것이었지만 일반적인 계산 집약적 혹은 메모리 집약적 애플리케이션 모두에 유용합니다. 일부 사용자들은 이 변형된 Linux 커널에서 30% 이상의 성능 향상을 보고했습니다.

여기에는 제로 다운타임 패치를 적용하는 것도 포함됩니다.

Oracle Linux에서 추가 선택이 가능한 Ksplice라는 제로 다운타임 패치 기술은 서버를 재시작할 필요 없이 정기적으로 서버에 패치를 적용하며 결정적으로 비즈니스 애플리케이션을 재시작할 필요가 없어집니다. 이로 인해 시스템에 패치를 더 자주 적용하여 더욱 안전하게 규정을 준수할 수 있습니다. 또한 대규모 비즈니스 애플리케이션의 일반적인 관리 부담을 또한 줄여줍니다. 시스템 재기동은 실행에 앞서 일정을 조정하고 모든 이해당사자의 승인을 얻기 위해 상당량의 작업이 요구됩니다. Oracle Linux에는 오픈 소스, KVM 하이퍼바이저, 가상화 관리자(지원 계약에 포함)(PDF)도 포함되어 있습니다.

많은 클라우드 네이티브 툴 또한 포함하고 있습니다.

많은 워크로드가 호스팅 기반의 클라우드 환경으로 전환하고 있으며, 온프레미스를 유지하는 기업들은 클라우드 네이티브 패턴, 기술, Kubernetes, Kata 컨테이너, Istio을 사용할 수 있도록 설계합니다. Oracle Linux는 OCI(Oracle Cloud Infrastructure)의 토대가 되는 운영체제로서 이 아키텍처에 필요한 다양한 클라우드 네이티브 툴을 포함합니다. 이는 Oracle Linux가 가장 크고 까다로운 환경 모두에서 테스트되며 최신 애플리케이션의 디자인 패턴과 일치하는 환경을 테스트한다는 것을 의미합니다. 이 과정에서 얻은 지식과 경험은 운영 체제의 개선 사항으로 바로 전환됩니다. 그러나 독점적 시스템을 자체 클라우드의 토대로 사용하는 다른 클라우드 공급업체와 달리, Oracle Linux는 OCI, 다른 클라우드 또는 고객의 자체 데이터 센터 등 모든 곳에서 모든 사용자에게 동일한 구성으로 제공됩니다.

이는 Oracle Autonomous Linux의 기반이 됩니다.

또한 Oracle Linux는 세계에서 유일하게 자율적인 패치 적용으로 보안 위협과 관리 활동을 동시에 줄여주는 자율 운영 체제의 기반이기도 합니다.

2006년부터 Oracle Linux는 소스 코드, 바이너리 및 업데이트 등을 완벽히 자유롭게 다운로드하고 사용할 수 있게 되었습니다. 자유로운 재배포. 자유로운 프러덕션 활용.