RHEL 10 채택 시 고려사항 검토
Preface
이 문서는 Red Hat 공식문서 “Considerations in adopting RHEL 10” 를 기반으로 합니다.
이 문서는 위 공식문서의 모든 것을 기술하지는 않으며 체감될만한 변경사항에 대해서만 기술할 예정입니다. 상세내용은 위 Red Hat 링크를 참고하시기 바랍니다.
이 문서에서는 Red Hat Enterprise Linux 두 가지 Main버전에 (RHEL 9, 10) 간의 차이점에 대해 설명합니다.
모든 변경 사항의 전체 목록이 아니라 RHEL 10 으로의 업그레이드를 평가하는 것과 관련된 변경 목록을 제공합니다.
[참고]
RHEL 10 사용법에 대한 자세한 내용은 “RHEL 10 product documentation” 참조하세요.
https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/10
RHEL 9에서 RHEL 10 으로 인플레이스 업그레이드에 대한 지침은
“Upgrade from RHEL 9 to RHEL 10” 문서를 참조하세요.
[문서 사용 단어]
– deprecated : 특정 번역기에서 더 이상 사용하지 않음으로 번역되기도 하지만 그것보다는 “가치하락된” 으로 생각하시는 것이 좋습니다. 특정 기술/프로토콜이 deprecated 되었다는 것은 “더 이상 권장되지 않으며 향후 버전에서 제거될 수 있음” 을 의미합니다.
-
Application Streams
이전 RHEL Major 버전에서는 일부 Application Stream이 RPM의 확장 개념인 모듈 형태로 제공했습니다. 하지만 RHEL 10 에서는 Red Hat이 모듈 방식을 사용하는 Application Stream을 더 이상 제공하지 않을 계획이며, 따라서 RHEL 10 에는 모듈 기반 콘텐츠가 포함되지 않습니다.
즉, RHEL 10 부터는 모듈에 대한 고민할 필요가 없으며 전통적인 예전 RPM형식을 사용합니다.
이는 다소 복잡하게 느꼈던 module 형식에서 다시 순수한 RPM패키지 형식으로 배포됩니다.
따라서, 이전 메이저 버전에서 모듈로 설치했던 패키지는 RHEL 10 에서 일반 패키지로 교체해야 합니다.
-
컨테이너
- conf 파일에 저장된 시스템 connection 및 farm 정보는 이제 읽기 전용입니다.
시스템 연결 및 팜 정보는 이제 podman에서만 관리되는 podman.connections.json 파일에 저장됩니다.
podman은 [engine.service_destinations] 및 [farms] 섹션과 같은 이전 구성 옵션을 계속 지원합니다.
필요한 경우 connections 또는 farms를 수동으로 추가할 수 있지만, “podman system connection rm” 령을 사용하여 containers.conf 파일에서 연결을 삭제할 수는 없습니다.
- slirp4netns 네트워크 모드가 deprecated 되었습니다.
slirp4netns 네트워크 모드는 더 이상 권장되지 않으며 향후 RHEL 주요 릴리스에서 제거될 예정입니다. pasta 네트워크 모드는 rootless 컨테이너의 기본 네트워크 모드입니다.
- rootless 컨테이너용 cgroups v1 은 deprecated 되었습니다.
rootless 컨테이너용 cgroups v1은 더 이상 권장되지 않으며 향후 RHEL 주요 릴리스에서 제거될 예정입니다.
cgroups v1 대신 cgroups v2가 기본적으로 사용됩니다.
- containernetworking-plugins 패키지와 CNI 네트워크 스택은 더 이상 지원되지 않습니다.
- runc 컨테이너 런타임이 제거되었습니다. 기본 컨테이너 런타임은 crun입니다. 이전 RHEL 버전에서 RHEL 10.0 으로 업그레이드하는 경우 “podman system migrate –new-runtime=crun” 명령을 실행하여 모든 컨테이너에 새 OCI 런타임을 설정해야 합니다.
- tzdata 패키지는 더 이상 최소 컨테이너 이미지에 기본적으로 설치되지 않습니다. registry.access.redhat.com/ubi10-minimal 컨테이너 이미지에 설치되지 않습니다. 따라서 최소 컨테이너 빌드를 이전 RHEL 릴리스에서 RHEL 10.0 으로 마이그레이션하고 “microdnf reinstall tzdata” 명령을 입력하여 tzdata 패키지를 다시 설치하면 tzdata 패키지가 더 이상 기본적으로 설치되지 않으므로 오류 메시지가 표시됩니다. 이 경우 “microdnf install tzdata” 명령을 입력하여 tzdata를 설치하세요. tzdata 패키지가 없으면 UTC 시간대만 사용할 수 있습니다.
- RHEL 10 호스트에서 RHEL 7 컨테이너를 실행하는 것은 지원되지 않습니다.
자세한 내용은 Red Hat Enterprise Linux 컨테이너 호환성 매트릭스를 참조하세요.
https://access.redhat.com/support/policy/rhel-container-compatibility
- storage.conf 파일의 위치 변경
RHEL 10.0 부터 storage.conf 설정 파일은 /etc/containers 대신 /usr/share/containers 디렉터리에 있습니다.
-
개발도구
RHEL 10.0 에서 사용 가능한 초기 버전
- RHEL 10.0 에서는 다음 시스템 툴/구성요소를 사용할 수 있습니다.
- GCC 14.2
- glibc 2.39
- Annobin 12.92
- Binutils 2.41
- RHEL 10.0 에서는 다음 성능 툴과 디버거를 사용할 수 있습니다.
- GDB 14.2
- Valgrind 3.24.0
- SystemTap 5.2
- Dyninst 12.3.0
- elfutils 0.192
- libabigail 2.6
- RHEL 10.0 에서는 다음 성능 모니터링 툴을 사용할 수 있습니다.
- PCP 6.3.7
- Grafana 10.2.6
- RHEL 10.0 에서는 다음 컴파일러 툴세트를 사용할 수 있습니다.
- LLVM Toolset 19.1.7
- Rust Toolset 1.84.1
- Go Toolset 1.23.2
- RHEL 10 은 버전30.5 버전의 cmake를 제공합니다.
- systemd-resolved 및 sssd로 nscd 교체
nscd 캐싱 데몬이 RHEL 10에서 제거되었습니다.
GNU C라이브러리는(glibc) 사용가능한 교체와 함께 계속 작동합니다.
- DNS캐싱이 필요한 경우 systemd-resolved 서비스를 설치하고 활성화합니다.
- 다른 name 서비스 캐싱이 필요한 경우 sssd 서비스를 설치하고 구성합니다.
nscd 는 오랫동안 사용된 캐시 데몬이었으나 현대적인 리눅스 환경에서는 그 역할이 systemd-resolved와 sssd로 분산되고 전문화되었습니다. 이는 nscd 기능을 두가지 다른 서비스로 나누어 대체해야 한다는 변경사항 입니다.
- Grafana, PCP, Grafana-pcp 는 이제 Valkey를 사용하여 데이터를 저장합니다.
RHEL 10 에서 Valkey key-value store가 Redis를 대체합니다. grafana-pcp 플러그인의 PCP Redis 데이터 소스는 이제 PCP Valkey로 이름이 변경되었습니다.
- OpenJDK 21의 Red Hat 빌드는 RHEL 10 기본 Java 구현입니다.
RHEL 10 기본 Java 구현은 OpenJDK 21입니다.
OpenJDK 21 Java Runtime Environment와 OpenJDK 21 Java Software Development Kit를 제공하는 java-21-openjdk 패키지를 사용하세요.
자세한 내용은 OpenJDK 문서를 참조하세요.
-
동적 프로그래밍 언어, 웹서버, 데이터베이스 서버
RHEL 10.0 에서 사용 가능한 초기 버전
- RHEL 10.0 에서 다음 동적 프로그래밍 언어를 제공합니다.
- Python 3.12
- Ruby 3.3
- js 22
- perl 5.40
- PHP 8.3
- RHEL 10.0 에서 다음 버전 관리 시스템이 포함되어 있습니다.
- Git 2.47
- Subversion 1.14
- RHEL 10.0 은 다음 웹 서버와 함께 배포됩니다.
- Apache HTTP Server 2.4.63
- Nginx 1.26
- 다음 프록시 캐싱 서버를 사용할 수 있습니다.
- Varnish Cache 7.6
- Squid 6.10
- RHEL 10.0 은 다음과 같은 데이터베이스 서버를 제공합니다.
- MariaDB 10.11
- MySQL 8.4
- PostgreSQL 16
- Valkey 8.0
- RHEL 10 은 MariaDB, MySQL, PostgreSQL를 모듈 대신 RPM 패키지로 제공합니다.
이전 RHEL 버전에서 Red Hat은 모듈 스트림을 사용하여 여러 버전의 MariaDB, MySQL 및 PostgreSQL을 병렬로 제공했습니다. RHEL 10에서는 MariaDB, MySQL 및 PostgreSQL 서비스를 RPM으로 제공하며, 대체 스트림도 모듈 대신 RPM 패키지로 제공됩니다.
새로운 개념은 스트림 버전을 패키지 이름에(예: postgresql16) 통합합니다.
Red Hat이 향후 RHEL 버전에 MariaDB, MySQL 또는 PostgreSQL의 새로운 스트림을 추가하면 패키지 이름을 사용하여 설치할 수도 있습니다.
- libdb가 제거되었습니다.
RHEL 8 및 RHEL 9는 LGPLv2 라이선스에 따라 배포되는 Berkeley DB(libdb) 버전 5.3.28을 제공합니다. 업스트림 Berkeley DB 버전 6은 더 제한적인 AGPLv3 라이선스에 따라 제공됩니다. 따라서 RHEL 10에서는 libdb 패키지를 사용할 수 없습니다.
libdb 사용자는 다른 키-값 데이터베이스로 마이그레이션하는 것이 좋습니다.
-
파일 시스템 및 스토리지
- GFS2 파일 시스템 지원이 중단되었습니다.
Red Hat Enterprise Linux(RHEL) Resilient Storage Add-On 은 Red Hat Enterprise Linux 10부터 더 이상 지원되지 않습니다. 여기에 GFS2 파일 시스템도 포함됩니다. RHEL Resilient Storage Add-on 은 이전 버전의 RHEL(7, 8, 9)과 해당 유지 관리 지원 수명 주기 동안 계속 지원됩니다.
-
고가용성 및 클러스터
- RHEL Resilient Storage Add-on 에 대한 지원이 제거되었습니다.
- pcsd 웹 UI가 더 이상 독립형 사용자 인터페이스로 제공되지 않습니다.
pcsd 웹 UI는 이제 cockpit-ha-cluster 패키지가 설치되면 HA클러스터 관리 RHEL 웹콘솔 add-on 으로 제공됩니다. 더 이상 독립형 인터페이스로 작동하지 않습니다.
이제 pcsd는 독립된 WEB UI를 제공하지 않으며 Cockpit (Red Hat Web Console) 에 플러그인(Add-on) 형태로 작동하는 것으로 추측됩니다.
[참고] WEB UI Difference
| 구분 | 기존 (Standalone Interface) | 변경 (Cockpit Add-on) |
| 접속 방식 | 별도의 전용 URL과 포트로 접속 | RHEL 웹 콘솔(Cockpit)로 접속 |
| 포트 | TCP 2224 (https://서버IP:2224) | TCP 9090 (https://서버IP:9090) |
| 로그인 | hacluster 계정 | 시스템 관리자 계정 |
| 화면 구성 | 화면 전체가 클러스터 관리 전용 UI | Cockpit 메뉴 중
High Availability 관련 탭 |
| 실행 데몬 | pcsd가 자체적으로 웹 서버 역할 수행 | Cockpit 웹 서버 위에서 플러그인으로 돌아감 |
- Red Hat High Availability Add-on (고가용성) 기능 삭제:
RHEL 10 에서 다음 Red Hat 고가용성 Add-on 기능은 더 이상 지원되지 않습니다.
- 번들의 RKT 컨테이너. Docker 및 Podman 컨테이너는 계속 지원됩니다.
- upstart 및 nagios 리소스 클래스
- 여러 최상위 규칙이 있는 위치 제약 조건
제약 조건당 하나의 규칙만 허용됩니다.pcs constraint rule add, pcs constraint rule delete 및 pcs constraint rule remove 명령이 제거되었습니다.여러 규칙으로 제약 조건을 구성한 경우 pcs cluster cib-upgrade 명령을 실행하여 최신 CIB 스키마로 업데이트하세요. 업데이트 중에 Pacemaker는 각 규칙에 대한 제약 조건을 생성하므로 각 제약 조건당 규칙이 하나만 존재하게 됩니다.
- Pacemaker 규칙의 monthdays, moon, weekdays, weekyears 및 yearsdays 기간 옵션
- 위치 제약 조건 규칙에서 날짜에 공백 사용
- pcs stonith level add | clear | delete | remove 명령에서 stonith 장치를 쉼표로 구분
- pcs stonith level clear | delete | remove 명령의 구문이 모호했습니다. 이제 대상과 stonith 장치를 명확하게 구분할 수 있도록 명령어 구문을 수정했습니다.
- pcs 명령줄 인터페이스에서 master 및 slave 와 같은 기존 role 이름을 사용할 수 없습니다. 대신 Promoted, Unpromoted, –promoted, promotable, promoted-max 를 사용합니다.
[참고]
Role 이름이란 DB 리소스에서 노드의 Role 에 따라 Master, Slave 라고 표현되는 것 입니다. 해당 내용은 오픈소스에서 Role 이름에 Master, Slave 와 같은 단어를 사용하지 않겠다는 것을 반영한 것입니다. Master, Slave 단어는 차별, 노예제 연상하게 하여 불편한 사회적 이유와 기술적으로도 부정확한 표현이므로 오픈소스에서는 더 이상 해당 단어를 사용하지 않습니다.
- pcs resource 명령에서 stonith 리소스 사용 및 pcs stonith 명령에서 resources 사용, pcs stonith disable 명령 –brief, –no-strict, –safe, –simulate 플래그 사용
- pcs stonith create 명령으로 그룹에서 stonith 리소스를 생성하는 기능
- API v1 및 v2의create_in_group 명령
- pcs cluster pcsd-status 명령
pcs status pcsd 또는 pcs pcsd status 명령을 사용하세요.
- pcs cluster certkey 명령
pcs pcsd certkey 명령을 사용하세요.
- pcs resource | stonith [op] defaults <name>=<value>… 명령
pcs resource | stonith [op] defaults update 명령을 사용하세요.
- pcs acl show 명령
pcs acl config 명령을 사용하세요.
- pcs alert show 명령
pcs alert config 명령을 사용하세요.
- pcs constraint [location | colocation | order | ticket] show | list 명령
pcs constraint [location | colocation | order | ticket] config 명령을 사용하세요.
- pcs property show 및 pcs property list 명령
pcs property config 명령을 사용하세요.
- pcs tag list 명령
pcs tag config 명령을 사용하세요.
- pcs 리소스 move 명령의 –autodelete 플래그.
- Pacemaker CIB 요소 제거 및 업데이트
RHEL 10에서 Pacemaker CIB의 다음 구성 요소가 제거되거나 수정되었습니다.
RHEL 10으로 업그레이드하면 이러한 구성 요소는 설명된 대로 자동으로 제거, 수정 또는 교체됩니다.
업그레이드하기 전에 Pacemaker CIB의 validate-with 속성에 지원되는 값이 있는지 확인하세요.
클러스터 구성 파일을 직접 편집해서는 안 되지만, pcs cluster cib 명령을 사용하여 원시 클러스터 구성을 볼 수 있습니다.
업그레이드는 다음 CIB 구성 요소를 수정합니다.
- cib 요소의 validate-with 속성(attribute), pacemaker-4.0 으로 설정됨
- stonith-action 클러스터 속성(propertry), 이전에 poweroff로 설정되었다면 off로 설정됨
- 기존 promotable clone (master) 리소스는 master xml 요소를 clone xml 요소로 변경하고 promotable meta attribute를 설정하여 standard promotable 으로 변경됨
[참고]
클러스터 설정파일 xml 에서 내부 구성 변경에 대한 부분으로
마스터 타입을 사용하지 않고 clone 리소스에 promotable 속성을 주는 방식
| 개념 | 기존 | 변경 |
| 주 노드 | Master | Promoted |
| 보조
노드 |
Slave | Unpromoted |
| 리소스 타입 | master | clone + promotable |
- 최상위 규칙이 두 개 이상인 위치 제약 조건은 각 최상위 규칙에 대해 별도의 위치 제약 조건으로 분류됩니다
[참고]
여러 개의 top-level rule을 포함하는 위치 제약조건(location constraint는 각 top-level rule 별로 개별적인 location constraint로 분리된다는 내용
업그레이드를 통해 다음 구성 요소의 이름이 변경됩니다.
- crmd-finalization-timeout 클러스터 속성(property) 이름이 join-finalization-timeout 로 변경되었습니다.
- crmd-integration-timeout 클러스터 속성(property) 이름이 join-integration-timeout 로 변경되었습니다.
- crmd-transition-delay 클러스터 속성(property) 이름이 transition-delay 로 변경되었습니다.
업그레이드하면 CIB에서 다음 구성 요소가 제거됩니다.
- nagios-class 및 upstart-class 리소스
- rkt 컨테이너를 기반으로 하는 번들 리소스
- restart-type 리소스 메타속성(meta-attribute)
- can_fail operation 메타속성(meta-attribute)
- role_after_failure 작업 메타속성(meta-attribute)
- 규칙의 date_spec 요소에 있는 moon 속성(attribute)
- remove-after-stop 클러스터 속성(property)
- 모든 리소스가 금지되고 프로브가 비활성화된 클러스터 멤버 노드로 변경된 Ping 노드
- value 속성이(attribute) 없는 NVpair
- NVset 내에서 지정된 이름을 가진 중복 NVpair, 첫 번째 NVpair만 유지됨
업그레이드하면 다음 기본값이 변경됩니다.
- fence device parameter 로 구성된 action은 이제 기본 펜싱 action으로 처리되지 않고 무시됩니다.
[참고]
fence device parameter 로 구성된 action 개별 인자보다는 클러스터 전역속성 등 에 의존하겠다는 느낌입니다. (cluster property 의 stonith-action 같은)
- concurrent-fencing 클러스터 옵션은 이제 기본적으로 true로 설정되며 더 이상 지원되지 않습니다.
[참고]
Concurrent-fencing은 여러 노드를 동시에 fencing 해도 되는지에 대한 설정
동시 펜싱인 true 기본값이며 이제는 옵션 자체가 없어진다는 내용입니다.
- globally-unique clone 옵션은 이제 clone-node-max가 1보다 큰 경우 기본적으로 true로 설정됩니다.
[참고] globally-unique 란
각 clone인스턴스가 클러스터 전체에서 구분되는 ID를 가져야 하는지에 대한 설정입니다. clone-node-max 는 한 서버에서 clone 리소스를 몇 개까지 실행할 수 있는지에 대한 설정입니다.
clone-node-max > 1 인 경우는 예를 들어 한 서버에 똑 같은 서비스를 두개 이상 띄울 때 클러스터가 자동으로 번호표(이름포)를 붙여서 관리하겠다는 뜻입니다. 예로 websvc 라는 리소스를 clone-node-max=2 로 실행할 때 내부적으로 websvc:0, websvc:1 처럼 번호가 붙고 클러스터는 별개의 존재로 인식/관리합니다.
-
인프라 서비스
-
인프라 서비스에 대한 패키지 세트 변경
다음 패키지는 더 이상 Red Hat Enterprise Linux에 포함되지 않습니다.
- sendmail : Red Hat은 postfix 메일 데몬으로 마이그레이션할 것을 권장합니다.
- redis : Red Hat은 valkey 패키지로 마이그레이션하는 것을 권장합니다.
- dhcp : Red Hat은 dhcpcd 및 ISC Kea와 같은 사용 가능한 대안으로 마이그레이션할 것을 권장합니다.
- mod_security : mod_security 지시문이 이제 EPEL 저장소에서 사용 가능합니다.
- spamassassin: Spamassassin 메일 필터는 라이선스 문제로 인해 사용할 수 없는 libdb(Berkeley DB) 라이브러리에 의존하기 때문에 이제 표준 RHEL 저장소 대신 EPEL 저장소에서 사용할 수 있습니다.
- xsane: API가 아직 Gtk3로 포팅되지 않았습니다.
다음 패키지의 이름이 변경되었습니다. * gpsd: 이전에는 gpsd-minimal로 포함되어 있었습니다.
- httpd 패키지 변경사항
RHEL 10.0 의 httpd 패키지에는 httpd데몬의 사용 및 배포에 영향을 미치는 다음과 같은 변경사항이 포함되어 있습니다.
- mod_authnz_fcgi 패키지가 이제 기본적으로 로드됩니다. 이 모듈을 FastCGI 기반 인증 애플리케이션과 함께 사용하여 인증할 수 있습니다. 자세한 내용은 https://httpd.apache.org/docs/2.4/mod/mod_authnz_fcgi.html [FastCGI 인증 애플리케이션]을 참조하십시오.
- 이제service 유닛 파일에는 여러 보안 강화 설정이 기본적으로 적용됩니다. 예를 들어, ProtectHome=read-only 설정이 기본적으로 적용됩니다. 이 설정은 httpd 서비스에 대해 /home 파일 시스템을 읽기 전용으로 마운트합니다. 전체 보안 강화 설정 목록은 /usr/lib/systemd/system/httpd.service 파일을 참조하십시오.
- OpenSSL ENGINE 지원이 제거되었습니다. 더 이상 SSLCryptoDevice 구성 지시문을 사용해서는 안 됩니다.
[참고] PKCS#11 URI는 OpenSSL pkcs11-provider 패키지를 통해 계속 지원됩니다.
- Red Hat Enterprise Linux 9부터 Berkeley DB 데이터베이스 지원이 제거되었습니다. mod_authz_dbm과 같은 모듈은 이제 기본적으로 LMDB 데이터베이스 유형을 사용합니다. 대안으로 SDBM 데이터베이스 유형을 사용할 수도 있습니다.
- nginx 패키지 이미지 모드 변경
기본적으로 /usr/share/nginx/html은 Nginx 데몬의 document root 디렉터리로 구성됩니다. RHEL 이미지 모드에서는 /usr/share/nginx/html에 쓰기 권한이 없습니다. 이미지 모드 컨테이너를 빌드할 때 /etc/nginx/default.d 디렉터리에 drop-in 설정 파일을 추가하여 다른 document root 디렉터리를 구성할 수 있습니다.
- Postfix에서 더 이상 BDB backend를 사용할 수 없습니다.
RHEL 10에서는 더 이상 Berkeley DB(BDB) 라이브러리를 제공하지 않으므로 Postfix의 새로운 기본 백엔드는 Lightning Memory-Mapped Database(LMDB)입니다.
RHEL 9에서 Postfix의 BDB를 사용하고 RHEL 10으로 업그레이드할 계획이라면 데이터베이스를 변환해야 합니다. 자세한 내용은 “RHEL 10으로 업그레이드 후 지원되지 않는 사전 유형: hash 오류로 Postfix가 실패함”을 참조하세요.
https://access.redhat.com/solutions/7131247
-
RHEL Lightspeed 기반 명령줄 도우미
- RHEL Lightspped 기반의 선택적 AI 도구인 명령줄 도우미가 이제 RHEL 에서 사용 가능합니다.
이 AI 도구를 사용하면 workflow와 상호작용하여 문제를 해결하고 다양한 Red Hat 리소스에서 지식을 얻고, 새로운 RHEL 기능을 구현하고, 정보를 검색하는 등 다양한 작업을 수행할 수 있습니다.
[참고] Lightspeed 설치
Lightspeed는 Red Hat Subscription 등록 (register) 후 command-line-assistant 패키지를 설치해서 사용합니다.
# subscription-manager register
# dnf install -y command-line-assistant
command-line-assistant 패키지에 대한 정보는 다음에서도 확인할 수 있습니다.
https://github.com/rhel-lightspeed/command-line-assistant
ISO 파일에도 있으나 Red Hat Subscription 등록이 되어있어야 명령어 정상 실행됩니다.
사용법 : c “문의사항”
예) c “How do I check which services failed during last boot?”
c “How do I increase the open files limit for a user?”
Lightspeed는 패키지명에서도 볼 수 있듯이 command line assistant 로 생각하고 사용하면 될 것 같습니다. 운영환경에서 명령어나 간단한 내용에 대해 문의하면 사용하면 좋을 것 같습니다.

-
네트워킹
- 네트워크 team 드라이버가 제거되었습니다.
Red Hat Enterprise Linux 10 에서 teamd 서비스와 libteam 라이브러리가 제거되었습니다. 대신 bond를 구성하세요. Red Hat은 유사한 기능을 가진 두가지 기능(bond,team)을 유지관리하는 것을 피하고 커널 기반 bonding 에 집중하고 있습니다. 본딩 코드는 고객 채택률이 높고 안정적이며 커뮤니티 개발이 활발하게 이루어지고 있어 지속적인 개선 및 업데이트가 이루어지고 있습니다.
RHEL 9에서 네트워크 team을 사용하고 RHEL 10 으로 업그레이드할 계획이라면 업그레이드 전에 team을 bonding으로 마이그레이션하세요.
- ifcfg 형식의 네트워크 구성파일 지원이 제거되었습니다.
RHEL 9.0부터 RHEL은 새로 생성된 네트워크 구성을 /etc/NetworkManager/system-connections/ 디렉터리에 키 파일 형식으로 저장했습니다. 이전에 /etc/sysconfig/network-scripts/ 디렉터리에 기존 ifcfg 형식으로 저장된 구성이 있는 연결은 중단 없이 계속 작동했습니다. 그러나 RHEL 10 릴리스부터 ifcfg 형식 기반 네트워크 구성 파일에 대한 지원이 제거되었습니다.
- dhclient 유틸리티가 제거되었습니다.
dhclient 유틸리티는 DHCP 서버에서 IP 주소, 네트워크 구성 및 기타 정보를 가져오는 데 사용되는 클라이언트 프로그램입니다. dhclient는 2022년 초부터 개발이 중단되어 Red Hat Enterprise Linux 10에서 제거되었습니다. 따라서 /etc/NetworkManager.conf 파일에서 dhcp=dhclient 를 더 이상 설정할 수 없습니다. 대신 NetworkManager 구성에서 dhcp=internal(기본값)를 사용하세요.
-
쉘 및 명령줄
cgroupsv1은 RHEL 10에서 제거된 기능입니다.
cgroups는 프로세스 추적, 시스템 리소스 할당 및 파티셔닝에 사용되는 커널 서브시스템입니다. 이전 버전에서 systemd 서비스 관리자는 cgroups v1 및 cgroups v2 모드로(RHEL 8에서는 v1이 기본값, RHEL 9에서는 v2가 기본값) 부팅을 지원했습니다. Red Hat Enterprise Linux 10에서는 systemd가 더 이상 cgroups v1 모드로 부팅하는 것을 지원하지 않으며, cgroups v2 모드만 사용할 수 있습니다.
-
소프트웨어 관리
- 모듈화 기능은 deprecated 되었습니다.
RHEL 10 에서 모듈화 기능이 deprecated 되었으며 주요 릴리스에서 제거될 예정입니다. 따라서 DNF 모듈 명령을 실행하면 deprecation 경고가 표시됩니다.
[참고]
이전 RHEL 주요 버전에서는 일부 Application Stream 이 RPM 형식의 확장 모듈로 제공되었습니다. 하지만 RHEL 10에서는 모듈형 컨텐츠가 배포되지 않습니다.
- filelist 메타데이터는 기본적으로 다운되지 않습니다.
이전에는 Repository 메타데이터를 다운로드할 때 파일목록(filelists) 메타데이터도 기본적으로 다운로드 되었습니다. 파일목록 메타데이터는 용량이 크고 일반적으로 필요하지 않습니다. 이번 업데이트로 응답성이 향상되고 디스크 공간이 절약됩니다. dnf 명령을 실행할 때 DNF트랜잭션에 로드되지 않습니다. dnf 명령에서 파일목록 메타데이터가 필요하거나 파일 관련 인수가 포함된 경우 메타데이터가 자동으로 로드됩니다.
[참고]
패키지에 파일목록 메타데이터를 확인해야 하는 파일경로(filepath) 종속성이 있는 경우, 트랜잭션은 종속성 해결 오류와 다음 힌트와 함께 실패합니다.
(try to add ‘–skip-broken’ to skip uninstallable packages or ‘–setopt=optional_metadata_types=filelists’ to load additional filelists metadata)
[참고]
기본적으로 파일목록 메타데이터 다운로드를 다시 활성화하려면 /etc/dnf/dnf.conf 구성 파일의 optional_metadata_types 옵션에 filelists 값을 추가하면 됩니다.
- DNF debug 플러그인이 제거되었습니다.
dnf debug-dump 및 dnf debug-restore 명령어를 포함했던 DNF 디버그 플러그인이 dnf-plugins-core 패키지에서 제거되었습니다. 사용 환경에 따라 다음 명령어를 대신 사용할 수 있습니다.
- 시스템에 설치된 패키지 목록을 보려면 “dnf list –installed” 또는 “dnf repoquery –installed” 명령어를 사용하세요.
- 시스템에서 활성화된 저장소 목록을 보려면 “dnf repolist -v” 명령을 사용하세요.
- 소스 시스템에 설치된 패키지를 대상 시스템에 복제하려면 “dnf install $(</tmp/list)” 명령어를 사용하십시오. 예를 들면 다음과 같습니다.
1. 소스 시스템에 설치된 패키지 목록을 /tmp/list 파일에 저장합니다.
# dnf repoquery –installed >/tmp/list
2. /tmp/list 파일을 대상 시스템으로 복사합니다.
3. 대상 시스템에 패키지를 복제합니다.
dnf install $(</tmp/list)
자유롭게 댓글을 달아주세요! 언제나 환영합니다.
기타 문의: info@neoclova.co.kr
네오클로바 기술블로그 홈 바로가기: https://neoclova.net
네오클로바 홈페이지: http://neoclova.co.kr
