Oracle Linux 9.7 Release note 요약 및 정리

 

Oracle Linux 9.7 Release 에서의 새로운 기능과 개선 사항, 더 이상 사용되지 않는 기술, known issues 등을 설명합니다. Oracle Linux 공식 document의 내용중 선별하여 작성하였습니다.

 

linux

 

  1. Oracle Linux 9 설치

 

Oracle Linux 9는 Intel 64bit(x86_64), AMD 64bit(x86_64), Arm 64bit(aarch64)에 설치할 수 있습니다. Oracle Linux와 다른 리눅스 배포판들 사이에 다른 점은 역시 UEK(Unbreakable Enterprise Kernel Release)라는 커널이 레드햇 호환 커널과 함께 존재한다는 것입니다. 위에서 얘기한 Oracle Linux를 설치할 수 있는 플랫폼에서 Arm 플랫폼은 UEK(Unbreakable Enterprise Kernel Release)에서만 실행됩니다. 이런 특별한 점이 있습니다.

 

 

  1. UEK(Unbreakable Enterprise Kernel Release)

 

“1. Oracle Linux 9 설치”에서 얘기했듯이 Oracle Linux는 UEK라는 커널이 존재합니다. 초기에 Oracle Linux 설치 시 기본 커널로 설정되어 있습니다. grub 설정 파일을 수정하거나, grubby 명령어를 사용하여 레드햇 호환 커널(RHCK)로 변경할 수도 있습니다. 이 점도 다른 리눅스 배포판들과 다른 Oracle Linux 만의 특징입니다.

 

 

 

  1. 새로운 기능

 

3-1. Operating system and Software Management

 

3-1-1. dnf4 로 DNF 명령어 실행 가능

 

Oralce Linux 9.7에서는 dnf에 대한 별칭으로 dnf4를 제공합니다. 이전 릴리스에서는 dnf3 별칭이 포함되어 있었습니다. DNF 명령어 사용할 때 dnf를 사용해도 되고, dnf4를 사용해도 됩니다.

 

 

3-1-2. createrepo_c, Zstandard 압축 지원

 

createrepo_c는 이제 메타데이터에 대한 Zstandard(zstd) 압축을 지원합니다. 이 개선 사항을 통해 레포지토리 생성 및 배포가 최적화됩니다.

 

 

3-1-3. RPMv6 서명의 DNF 검증

 

Quantum-safe cryptography는 미래의 위협으로부터 소프트웨어 무결성을 보장합니다. Oracle Linux 9.7에서 DNF는 멀티시그(multisig) 플러그인을 사용하여 표준 RPMv4와 함께 RPMv6 서명을 검증하며, ML-DSA와 같은 알고리즘을 지원합니다.

 

 

 

3-2. Security

 

3-2-1. Quantum-Resistant RPM 서명을 위한 rpm-sequoia 패키지

 

Oracle Linux 9.7에서는 rpm-sequoia 패키지를 사용하여 ML-DSA와 같은 post-quantum cryptographic 알고리즘으로 서명된 RPM 패키지를 검증함으로써 보안을 강화할 수 있습니다.

PQ 인증서를 사용한 RPM 서명은 별도의 pqrpm 패키지를 사용하여 검증할 수 있습니다. pqrpm rpmkeys 설정 유틸리티를 실행한 후에는 DNF 멀티시그 플러그인을 사용할 수 있습니다. 일반 서명과 추가 PQ 서명으로 서명된 RPM만 유효성 검증을 통과합니다.

 

 

3-2-2. SELinux에서 /dev/diag에 diagnostic_device_t 유형을 할당합니다

 

Oracle Linux 9.7부터는 SELinux 정책에 /dev/diag에 대한 diagnostic_device_t 유형이 포함되었습니다. 이 유형을 사용하면 진단용 장치에 대한 액세스를 제어할 수 있습니다.

이 변경 사항으로 인해 Oracle Linux 시스템에서 /dev/diag에 대한 액세스가 적절한 SELinux 컨텍스트로 제한되어 보안이 강화됩니다.

 

 

3-2-3. SELinux 정책에 qgs 데몬용 규칙 추가

 

Oracle Linux 9.7은 SELinux 정책에 새로운 qgs_t 유형과 qgs 데몬용 액세스 규칙을 도입하여, 해당 데몬이 TDX 기밀 VM 환경에서 안전하게 작동할 수 있도록 합니다.

이러한 규칙을 통해 SELinux는 Oracle Linux에서 qgs에 대한 액세스를 제어할 수 있으며, 이를 통해 기밀 컴퓨팅 환경의 보안을 강화합니다.

 

 

3-2-4. SELinux permissive 모드에서 제거된 세 가지 서비스

 

Oracle Linux 9.7에서 powerprofiles_t, samba_bgqd_t 및 switcheroo_control_t에 대한 SELinux 도메인은 이제 enforcing 모드에서 실행되며, 더 이상 permissive 모드에서 작동하지 않습니다.

이번 업데이트를 통해 이전에는 임시 조치로 permissive 모드에서 실행되던 해당 서비스들에 대해 완전한 SELinux 강제 적용이 제공됩니다.

 

 

3-2-5. SELinux 정책 내에서 제한된 tuned-ppd

 

tuned-ppd SELinux 정책이 업데이트되어 tuned-ppd 서비스가 제한되도록 변경되었습니다. 이전에는 이 서비스가 unconfined_service_t SELinux 레이블로 실행되었습니다. 이번 업데이트로 인해 해당 서비스는 더 이상 제한되지 않은 상태가 아니며, SELinux enforcing 모드에서도 정상적으로 실행됩니다.

 

 

 

3-3. Filesystems and Storage

 

3-3-1. Multipathd, 컨테이너 통신을 위한 파일 기반 소켓 지원

 

Multipathd는 컨테이너에서 호스트 데몬으로의 통신에 파일 기반 소켓을 사용할 수 있습니다. multipathd 데몬은 /run/multipathd.socket에 있는 소켓 파일과 추상 네임스페이스 소켓을 수신 대기합니다. 이 소켓을 컨테이너에 바인드 마운트하면 호스트의 multipathd 데몬과 더 쉽게 상호 작용할 수 있습니다.

이 기능은 스토리지 관리를 위한 컨테이너 통합을 향상시켜, 별도의 네트워킹 설정 없이도 컨테이너 내부에서 멀티패스 장치를 모니터링하고 구성할 수 있게 해줍니다. 장치 경로는 컨테이너 경계를 넘어 일관되게 유지됩니다.

컨테이너에 /run/multipathd.socket을 마운트하고, multipath -ll과 같은 표준 멀티패스 도구를 사용하여 컨테이너 내부에서 장치를 조회하거나 관리합니다.

 

 

 

3-4. High availability and Clusters

 

3-4-1. 클러스터 이름 변경을 위한 pcs cluster rename 명령어

 

pcs cluster rename <새 이름> 명령어를 사용하여 클러스터 이름을 변경할 수 있으며, 이를 통해 수동 작업의 필요성을 줄일 수 있습니다. 이 명령어는 관련 클러스터 속성을 모두 업데이트하므로, 이름 변경 후에도 클러스터가 중단 없이 계속 작동합니다.

 

 

3-4-2. fence_sbd 에이전트가 SBD 장치를 자동으로 감지합니다

 

devices 매개변수를 사용할 때 SBD 장치 경로를 명시적으로 지정하지 않으면, fence_sbd 에이전트가 SBD 장치 구성을 자동으로 가져올 수 있습니다. 이 매개변수를 생략하면, 에이전트는 /etc/sysconfig/sbd에 있는 SBD_DEVICE 변수에서 구성을 가져옵니다.

이 개선 사항은 SBD를 사용하는 Pacemaker 클러스터에서 펜싱 설정을 간소화하고, 구성 오류를 줄이며, 표준 설정에 대한 배포 과정을 효율적으로 만듭니다.

 

 

3-4-3. IPaddr2 리소스 에이전트가 인터페이스 링크 장애 감지

 

IPaddr2 리소스 에이전트는 네트워크 인터페이스의 링크 상태를 확인하고, 네트워크 인터페이스가 다운된 경우 페일오버를 올바르게 처리하여 클러스터의 안정성을 높입니다. 이 기능은 기본적으로 활성화되어 있습니다.

관리자는 리소스 구성에서 check_link_status=false로 설정하여 링크 모니터링 및 자동 페일오버를 비활성화할 수 있습니다.

 

 

 

 

  1. 더 이상 사용되지 않는 기능

 

4-1. Installation

 

4-1-1. initial-setup 패키지

 

initial-setup 패키지 대신 gnome-initial-setup 패키지를 사용합니다.

 

 

 

4-2. Software Management

 

4-2-1. DNF debug 플러그인

 

dnf debug-dump 및 dnf debug-restore 명령어를 포함하는 DNF 디버그 플러그인은 더 이상 사용되지 않습니다.

 

 

 

4-3. Shell and Command line

 

4-3-1. dump 유틸리티

 

dump 패키지에 포함된 dump 유틸리티는 더 이상 권장되지 않습니다.

대신 tar 또는 dd를 사용하여 유사한 기능을 수행할 수 있습니다.

원래 dump 패키지에 포함되어 있던 restore 유틸리티는 Oracle Linux 9에서도 계속 사용할 수 있으며, restore 패키지를 사용하여 설치할 수 있습니다.

 

 

 

4-4. Secerity

 

4-4-1. SCP 프로토콜

 

scp 유틸리티에서는 기본적으로 보안 복사 프로토콜(SCP)이 SSH 파일 전송 프로토콜(SFTP)로 대체되었습니다. 마찬가지로, libssh 라이브러리에서도 SCP는 더 이상 권장되지 않습니다.

Oracle Linux 9는 OpenSSH 제품군에서 SCP를 사용하지 않습니다.

 

 

4-4-2. pam_ssh_agent_auth

 

pam_ssh_agent_auth는 더 이상 사용되지 않습니다.

 

4-4-3. 신뢰할 수 있는 루트 CA 파일을 사용하도록 STunnel 클라이언트 구성

 

STunnel 클라이언트의 CAFiles 지시어를 구성하여 BEGIN TRUSTED CERTIFICATE 형식의 신뢰할 수 있는 루트 인증서가 포함된 파일을 가리키도록 설정할 수 있습니다. CAfile = /etc/pki/tls/certs/ca-bundle.trust.crt를 사용하는 경우, 위치를 CAfile = /etc/pki/tls/certs/ca-bundle.crt로 변경합니다.

 

4-4-4. dmesg 출력에 대한 권한 없는 사용자 액세스

 

dmesg 출력에 대한 권한 없는 사용자 액세스는 더 이상 권장되지 않으며, 향후 UEK 8 릴리스에서 제거될 예정이며 Oracle Linux의 향후 릴리스에서도 제거될 수 있습니다. dmesg 명령을 실행할 때는 sudo 명령을 사용하여 관리자 권한으로 전환합니다.

 

 

 

4-5. Networking

 

4-5-1. Network Teams

 

teamd 서비스와 libteam 라이브러리, 그리고 네트워크 팀 구성 기능은 네트워크 본드(network bonds)로 대체됨에 따라 더 이상 권장되지 않습니다. 대신 네트워크 본드를 사용해야 합니다. 네트워크 본드는 팀과 유사한 기능을 제공하며, 앞으로도 기능 개선과 업데이트가 이루어질 예정입니다.

 

 

4-5-2. firewalld Lockdown

 

firewalld의 락다운 기능은 루트 권한으로 실행 중인 프로세스가 허용 목록에 스스로를 추가하는 것을 막을 수 없기 때문에 더 이상 권장되지 않습니다.

 

 

4-5-3. /etc/sysconfig/network-scripts 파일

 

네트워크 구성 프로필은 과거에 ifcfg 형식으로 작성되어 /etc/sysconfig/network-scripts 디렉터리에 저장되었습니다. 이 형식은 더 이상 권장되지 않습니다. Oracle Linux 9에서는 새로운 네트워크 구성이 keyfile 형식으로 /etc/NetworkManager/system-connections에 저장됩니다. 이 형식은 NetworkManager가 제공하는 모든 연결 설정과 호환됩니다.

그러나 /etc/sysconfig/network-scripts에 있는 정보는 여전히 유효하며, 기존 프로필을 수정하면 이전 파일도 계속 업데이트됩니다.

 

 

 

4-5-4. Network Manager nmcli 용어 변경

 

오라클은 다양성과 포용성을 적극 장려하고 있으므로, Network Manager의 connection.master, connection.slave-type 및 connection.autoconnect-slaves 연결 속성 이름은 더 이상 권장되지 않습니다. 이 이름들은 하위 호환성을 위해 유지되지만, 대신 다음 대체 용어를 사용하는 것을 고려해야 합니다.

  • master 대신 connection.controller를 사용합니다.
  • slave-type 대신 connection.port-type을 사용합니다.
  • autoconnect-slaves 대신 connection.autoconnect-ports를 사용합니다.

 

 

 

4-6. Kernel

 

4-6-1. crashkernel=auto 옵션

 

crashkernel=auto 옵션은 더 이상 사용되지 않으며, Oracle Linux 9에서는 지원되지 않고 UEK R7 및 이후 버전에서도 지원되지 않습니다. Raspberry Pi와 같은 일부 플랫폼은 crashkernel 메모리 할당량에 상한선이 있으므로 이를 명시적으로 지정해야 합니다. 이 옵션은 향후 UEK 릴리스에서 제거될 예정입니다.

 

 

4-6-2. kexec_tools의 kexec_load

 

kexec-tools의 kexec_load 시스템 호출은 더 이상 사용되지 않습니다.

kexec_load는 kexec_file_load 시스템 호출로 대체되었으며, kexec_file_load가 기본 시스템 호출입니다.

 

 

4-7. Filesystems and Storage

 

4-7-1. lsscsi NVMe

 

lsscsi를 사용하여 비휘발성 메모리 익스프레스(NVMe) 장치에 대한 정보를 열거하는 방법은 더 이상 권장되지 않습니다. 대신 nvme-cli, lsblk 및 blkid를 사용합니다.

 

 

 

4-8. Identity Management and Authentication

 

4-8-1. PAM 콘솔

 

pam_console 모듈은 더 이상 사용되지 않습니다. 이 모듈은 물리적 콘솔이나 터미널에 로그인한 사용자에게 파일 권한 및 인증을 부여하며, 콘솔 로그인 상태와 사용자의 존재 여부에 따라 이러한 권한을 조정합니다.

 

 

 

 

  1. Known Issues

 

5-1. Installation Issues

 

5-1-1. (aarch64) 설치 시 XFS 파일 시스템의 최소 크기는 300MB입니다

Arm 플랫폼용 Oracle Linux 9.7 ISO에 포함된 최신 버전의 xfsprogs 패키지는 XFS 파일 시스템의 최소 크기를 300MB로 설정합니다. 이 제한은 x86_64 플랫폼에 설치할 때는 적용되지 않습니다.

x86_64 ISO에는 RHCK가 포함되어 있어 호환성을 유지하기 위해 이전 버전의 xfsprogs를 사용할 수 있습니다. aarch64의 경우 UEK만 사용할 수 있으며, 최신 버전의 xfsprogs가 포함되어 있습니다. 300MB 제한은 UEK 8에 포함된 최신 버전의 xfsprogs에 의해 설정됩니다.

 

 

5-2. Virtualization Issues

 

5-2-1. Oracle Linux 9 호스트에서 KVM 가상 머신을 시작하면 패닉 발생

 

Oracle Linux 9에 포함된 glibc 버전은 시스템의 CPU와 새로 지원되는 아키텍처 간의 호환성을 확인합니다. 시스템이 호환성 검사를 통과할 수는 있습니다. 그러나 검사를 통과한 후 시스템에 설정된 CPU 플래그가 해당 시스템에서 호스팅되는 KVM 가상 머신에 알려지지 않은 경우일 수 있습니다. 그 결과, 가상 머신이 부팅될 때 패닉이 발생합니다.

문제를 해결하기 위해 다음 명령을 실행합니다.

# virsh edit vm-name

그런 다음 가상 머신의 XML 파일에 다음 구문을 추가합니다.

<cpu mode=‘host-model’ check=‘partial’/>

check 매개변수의 partial 설정은 도메인을 시작하기 전에 libvirt가 가상 머신의 CPU 사양을 확인하도록 설정합니다. 그러나 나머지 확인 작업은 하이퍼바이저에서 수행되므로, 하이퍼바이저가 여전히 다른 가상 CPU를 제공할 수 있습니다.

 

 

 

5-2-2. virbr0 인터페이스가 사용 불가능하여 부팅 시 가상 머신이 시작되지 않음

 

재부팅 후 virbr0 네트워크 인터페이스가 사라질 수 있으며, 이로 인해 부팅 후 가상 머신이 자동으로 시작되지 않을 수 있습니다.

Oracle Linux 9의 libvirt 데몬은 가상화 환경 내의 개별 기능을 처리하기 위해 모듈식으로 구성되어 있으며, 필요에 따라 시작 및 실행되고, 2분 동안 활동이 없으면 중지됩니다. libvirt의 네트워크 인터페이스 설정을 담당하는 데몬은 virtnetworkd입니다. 이 서비스는 가상 머신이 시작될 때 자동으로 시작되지 않습니다.

문제를 해결하기 위해 부팅 시 서비스가 시작되도록 virtnetworkd 서비스를 활성화합니다.

# sudo systemctl enable –now virtnetworkd

 

 

5-3. Kernel Issues

 

5-3-1. 일부 AMD 하드웨어에서 Kdump가 실패할 수 있음

 

현재 Oracle Linux 릴리스를 실행 중인 일부 AMD 하드웨어에서 Kdump가 실패할 수 있습니다. 이 문제의 영향을 받는 하드웨어에는 AMD EPYC CPU 서버가 포함됩니다.

문제를 해결하기 위해 /etc/sysconfig/kdump 구성 파일을 수정하고 KDUMP_COMMANDLINE_APPEND 변수에서 iommu=off 명령줄 옵션을 제거해야 합니다. 변경 사항을 적용하려면 kdump 서비스를 다시 시작합니다.

이 문제는 RHCK을 실행 중인 시스템에 영향을 미치는 것으로 보입니다.

 

 

 

5-4. /proc 파일 시스템이 마운트되지 않았다는 Leapp 업그레이드 메시지

 

Leapp preupgrade 및 Leapp upgrade 과정에서 패키지 설치 로그에 다음과 같은 경고 메시지가 표시됩니다:

“/proc/ is not mounted. This is not a supported mode of operation. Please fix

your invocation environment to mount /proc/ and /sys/ properly. Proceeding anyway.

Your mileage may vary.”

업그레이드 과정에서 /proc는 업그레이드 루트 파일 시스템(rootfs) 준비의 일환으로 임시 chroot 환경에 마운트됩니다. 이는 정상적인 과정이며, 경고 메시지는 실제 문제를 나타내는 것이 아닙니다. /proc 파일 시스템에 대한 경고 메시지는 무시하셔도 됩니다.

 

 

 

  1. 의견

 

예전에 쓰던 복잡한 네트워크 설정 방식(Team, ifcfg)이나 보안이 취약해진 오래된 전송 방식(SCP)들을 최신 표준으로 교체하면서 시스템이 훨씬 깔끔하고 단단해졌다는 느낌을 받습니다.
이러한 변화들에 약간은 어색할 수 있겠지만, “기존에 쓰던 방식이 안 되면 최신 매뉴얼을 살짝 확인해 보자”는 마음가짐만 있다면 아주 안정적이고 든든한 서버 운영 환경이 될 것 같습니다.

 

 

 

자유롭게 댓글을 달아주세요! 언제나 환영합니다.
기타 문의:  info@neoclova.co.kr
네오클로바 기술블로그 홈 바로가기: https://neoclova.net
네오클로바 홈페이지: http://neoclova.co.kr

 

 

Similar Posts

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다