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

-
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)에서만 실행됩니다. 이런 특별한 점이 있습니다.
-
UEK(Unbreakable Enterprise Kernel Release)
“1. Oracle Linux 9 설치”에서 얘기했듯이 Oracle Linux는 UEK라는 커널이 존재합니다. 초기에 Oracle Linux 설치 시 기본 커널로 설정되어 있습니다. grub 설정 파일을 수정하거나, grubby 명령어를 사용하여 레드햇 호환 커널(RHCK)로 변경할 수도 있습니다. 이 점도 다른 리눅스 배포판들과 다른 Oracle Linux 만의 특징입니다.
-
새로운 기능
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로 설정하여 링크 모니터링 및 자동 페일오버를 비활성화할 수 있습니다.
-
더 이상 사용되지 않는 기능
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 모듈은 더 이상 사용되지 않습니다. 이 모듈은 물리적 콘솔이나 터미널에 로그인한 사용자에게 파일 권한 및 인증을 부여하며, 콘솔 로그인 상태와 사용자의 존재 여부에 따라 이러한 권한을 조정합니다.
-
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 파일 시스템에 대한 경고 메시지는 무시하셔도 됩니다.
-
의견
예전에 쓰던 복잡한 네트워크 설정 방식(Team, ifcfg)이나 보안이 취약해진 오래된 전송 방식(SCP)들을 최신 표준으로 교체하면서 시스템이 훨씬 깔끔하고 단단해졌다는 느낌을 받습니다.
이러한 변화들에 약간은 어색할 수 있겠지만, “기존에 쓰던 방식이 안 되면 최신 매뉴얼을 살짝 확인해 보자”는 마음가짐만 있다면 아주 안정적이고 든든한 서버 운영 환경이 될 것 같습니다.
자유롭게 댓글을 달아주세요! 언제나 환영합니다.
기타 문의: info@neoclova.co.kr
네오클로바 기술블로그 홈 바로가기: https://neoclova.net
네오클로바 홈페이지: http://neoclova.co.kr
