뒤로
2025/03/13
1. 오라클 리눅스를 사용하시나요? (1부)
오라클 리눅스에 대해 아시나요? 오라클 리눅스는 오라클 코퍼레이션이 개발한 Red Hat Enterprise Linux(RHEL) 호환 배포판입니다. 첫 번째 버전은 2006년에 출시되었으며, 현재는 Exadata와 같은 엔지니어드 시스템, 오라클 클라우드 인프라, 그리고 오라클 리눅스 KVM에서 사용되고 있습니다.
과거에는 오라클이라는 기업 소프트웨어 회사가 개발했기 때문에 사용자가 제한적이었습니다. 그러나 2020년 12월 12일 CentOS 개발이 종료된다는 발표 이후 상황이 바뀌었습니다.
(CentOS 프로젝트의 공식 발표 “CentOS 프로젝트가 CentOS Stream으로 초점을 전환“). CentOS를 대체할 다른 RHEL 호환 배포판들이 많은 주목을 받았고, 그중 하나가 오라클 리눅스입니다.
이 기사에서는 오라클 리눅스의 특징과 RHEL 및 CentOS와의 차이점을 설명하겠습니다.
리눅스 배포판이란 무엇인가요?
본론에 들어가기 전에 리눅스 배포판에 대해 이야기해 보겠습니다. 리눅스는 원래 커널만을 지칭했습니다.
그러나 일반 사용자는 리눅스 커널만으로 리눅스를 사용할 수 없습니다. 따라서 glibc, coreutils, 장치 드라이버, 셸과 같은 필수 라이브러리와 도구 외에도 설치 프로그램, 컴파일러, 각 소프트웨어를 결합하여 모두가 쉽게 사용할 수 있는 “리눅스 배포판”을 만듭니다.
여기서 중요한 점은 요소를 단순히 결합하는 것이 아니라, 각 소프트웨어가 올바르게 작동하는지 사전에 검증하는 것입니다. 리눅스 배포판은 오픈 소스 소프트웨어를 포함합니다. 따라서 개발자도 다르고 개발 환경도 당연히 다릅니다. 소스가 컴파일되지 않을 수도 있고, 컴파일되더라도 제대로 작동하지 않을 수 있습니다. 리눅스 배포판 개발자들은 이러한 부분을 수정하여 올바르게 작동하도록 했습니다.
또 다른 중요한 점은 패키지 관리 시스템입니다. 리눅스 초창기에는 사용되는 소프트웨어를 매번 소스에서 빌드했습니다. 이 경우 설치가 번거로울 뿐만 아니라 업데이트나 삭제도 어렵습니다.
이로 인해 RPM과 deb와 같은 패키지가 등장했습니다.
아래 표를 확인해 주세요. 주요 배포판에는 RPM을 사용하는 “Red Hat 계열 배포판”과 deb를 사용하는 “Debian 계열 배포판”이 있습니다. 일본 비즈니스에서는 일반적으로 이 둘 중 하나가 사용됩니다. 유럽에서 흔히 사용되는 SUSE Linux도 있습니다.
패키지 형식 | 배포판 | 패키지 관리 도구 |
---|---|---|
RPM | Red Hat 계열(RHEL, Fedora, CentOS, CentOS Stream, Oracle Linux, Amazon Linux) | RPM, yum, dnf |
deb | Debian 계열(Debian, Ubuntu) | apt, dpkg |
RHEL 호환 배포판 만들기
이제 리눅스 배포판을 검토하고 RHEL 호환 배포판을 설명하겠습니다. 참고로, 리눅스 배포판은 오픈 소스 소프트웨어를 포함하므로 그대로 복사할 수 있다고 생각하시나요?
적어도 RHEL의 경우 이는 불가능합니다. 한 가지 이유는 로고와 같은 상표권과 같은 법적 관점 때문입니다. 다른 이유는 계약의 관점 때문입니다. 자세한 이유는 설명하지 않겠지만, RED HAT Enterprise 계약에서 금지하고 있습니다.
RHEL 호환 배포판은 RHEL 및 응용 프로그램 바이너리와 호환되는 리눅스 배포판입니다(응용 프로그램 바이너리 호환성은 나중에 논의됨). 기본적으로 리빌드가 주된 초점이며, 일반적으로 다음 순서로 생성됩니다.
RHEL 호환 배포판 만드는 방법
위 다이어그램에는 다양한 “배포판별 변경 사항”이 있습니다. CentOS는 /etc/redhat-release에서 /etc/centos-release로 변경하는 등 최소한의 변경에 그쳤습니다. 이에 비해 오라클 리눅스는 호환성을 유지하면서 주요 변경 사항을 추가합니다.
CentOS는 RHEL 호환 배포판 중 잘 알려져 있습니다. 그러나 CentOS가 중단되고 Fedora와 RHEL 사이의 중간 위치인 CentOS Stream으로 변경된다고 발표되었습니다.
현재 영향력 있는 RHEL 호환 배포판은 다음과 같습니다. AlmaLinux와 Rocky Linux는 모두 2021년에 출시되었으므로 향후 추세에 관심이 쏠리고 있습니다.
- 오라클 리눅스
- AlmaLinux
- Rocky Linux
- MIRACLE LINUX
또한 RHEL에 가까운 배포판인 Amazon Linux도 있습니다. Amazon Linux 2는 RHEL 7에 가깝지만 Fedora에서 소스를 가져오기 때문에 위의 RHEL 호환 배포판과는 약간 다릅니다. 또한 Amazon Linux 2022는 2년마다 출시되고 5년간 지원되므로 RHEL과는 다른 방향으로 나아가는 것으로 보입니다.
오라클 리눅스란 무엇인가요?
이제 본론으로 들어가겠습니다. 오라클 리눅스는 오라클 코퍼레이션이 개발한 RHEL 호환 배포판입니다. 주요 특징은 아래와 같습니다. 이 중 중요한 항목을 설명하겠습니다.
- RHEL과 100% 응용 프로그램 바이너리 호환
- Exadata와 같은 기업 분야에서 다년간 사용
- 프로덕션 환경에서도 무료
- RHEL과 동일한 10년 지원 기간. 유료로 연장 지원도 가능
- RED HAT Enterprise 계약에 비해 사용하기 쉬운 유료 지원 계약
- RHEL 호환 커널 외에 최신 커널 기반의 Unbreakable Enterprise Kernel 제공
- Ksplice의 재부팅 없는 패치 적용 가능성
RHEL과 100% 응용 프로그램 바이너리 호환
오라클은 오라클 리눅스가 RHEL 및 응용 프로그램 바이너리와 호환된다고 발표했습니다. 응용 프로그램 바이너리 호환성은 한 환경에서 생성된 일반적인 프로그램 바이너리가 다른 환경에서도 그대로 실행된다는 것을 의미합니다. 응용 프로그램 바이너리 호환성은 때때로 ABI 호환(Application Binary Interface Compatible)이라고도 불립니다.
여기서 중요한 것은 “일반적인 프로그램”이라는 점입니다. OS에서 실행되는 일부 프로그램은 커널, 장치 드라이버, 파일 시스템과 같은 “커널 공간”에서 실행되고, 다른 일부는 HTTP 서버나 데이터베이스 서버와 같은 “사용자 공간”에서 실행됩니다.
ABI 호환성은 “사용자 공간”에서 실행되는 프로그램에 적용됩니다. 따라서 리눅스 배포판에 포함되거나 리눅스용으로 제공되는 모든 프로그램에 적용되지는 않습니다.
응용 프로그램 바이너리 호환되지 않는 대표적인 프로그램에는 메모리 상주 안티바이러스 소프트웨어와 하드웨어 벤더의 장치 드라이버가 있습니다.
Unbreakable Enterprise Kernel 제공
오라클 리눅스에는 두 가지 유형의 커널이 있습니다. 기본적으로 둘 다 설치되며 UEK가 활성화됩니다. 둘 다 RHEL 및 응용 프로그램 바이너리와 호환됩니다.
- RHEL 커널을 리빌드한 RHEL 호환 커널(RHCK: Red Hat Compatible Kernel)
- 더 상위 스트림 커널을 기반으로 한 Unbreakable Enterprise Kernel(UEK)이 있음
다음 다이어그램은 RHCK와 UEK 간의 관계를 보여줍니다. 오라클 리눅스 8 RHCK는 리눅스 메인라인 커널 4.8을 기반으로 합니다.
반면 UEK는 5.4를 기반으로 합니다. 즉, UEK는 더 발전된 커널을 기반으로 오라클의 고유한 사용자 정의를 추가한 것입니다.
RHCK와 UEK의 관계
실제로 커널 패키지 이름을 보면 기반 커널을 알 수 있습니다.
패키지 이름 | |
---|---|
UEK | kernel-uek-5.4.17-2136.300.7 |
RHCK | kernel-4.18.0-348 |
다음 사이트는 오라클 리눅스 버전과 RHCK 및 UEK 간의 관계를 소개합니다.
오라클 리눅스와 Unbreakable Enterprise Kernel(UEK) 릴리스
위 웹페이지를 읽으면 다음을 알 수 있습니다:
- UEK는 Release 5 또는 Release 6과 같은 릴리스 번호를 가짐
- 동일한 릴리스 번호를 가진 UEK는 오라클 리눅스의 서로 다른 메이저 버전에서 사용 가능
다음 표는 간단한 요약입니다. UEK6은 오라클 리눅스 7 또는 8에서 사용할 수 있습니다. 그러나 빌드 환경이 다르기 때문에 바이너리가 다릅니다.
커널 유형 | RHCK | UEK |
---|---|---|
오라클 리눅스 7 | kernel-3.10 | UEK3〜UEK6 |
오라클 리눅스 8 | kernel-4.18 | UEK6 |
RHCK와 UEK 중 어느 것을 사용해야 하나요?
RHCK와 UEK 중 어느 것을 사용해야 할지 궁금할 수 있습니다. 둘 다 응용 프로그램 바이너리와 호환되므로 어느 것을 사용해도 됩니다. 그러나 오라클 데이터베이스나 오라클 리눅스 KVM을 사용할 때는 오라클 데이터베이스에 맞게 커스터마이징된 UEK를 사용하는 것이 좋습니다.
RHCK를 사용할 수 있는 경우는 다음과 같습니다:
- 상용 응용 프로그램을 사용 중이고 벤더가 RHCK만 지원할 때
- 물리 서버를 사용 중이고 벤더가 제공하는 장치 드라이버가 RHCK용일 때
- 특히 RHCK를 사용하고 싶을 때
* 후반부에서 계속됩니다.