종속성 손상 없이 Debian 12를 Testing으로 마이그레이션하는 방법
Debian 12 Bookworm 시스템을 Debian Testing으로 마이그레이션할 때 종속성 관련 문제를 최소화하세요. 지원되는 Bookworm-to-Trixie 마이그레이션 경로, APT 검사, 시뮬레이션 및 복구 방법을 알아보세요.
Secure Boot가 활성화된 SLES 15에서 사용자 지정 커널 모듈을 로드하려면, 실행할 커널 버전에 맞춰 모듈을 빌드하고, 완성된 .ko파일에 신뢰할 수 있는 서명 인증서로 서명한 다음, 해당 인증서를 MOK(Machine Owner Key)로 등록하고, 마지막으로 모듈을 로드해야 합니다 modprobe. MOK는 SUSE의 shim과 Linux 커널이 Secure Boot 모듈 검증을 위해 신뢰할 수 있는 로컬에서 관리되는 인증서입니다. 서명 거부 문제를 해결하기 위해 Secure Boot를 끄지 마십시오. 아래 절차는 시스템을 제어하고 재부팅 시 키 등록을 승인할 수 있는 관리자를 위한 것입니다.
이 가이드는 SUSE의 SLES 15 SP7 관리 문서 및 SUSE의 커널 모듈 패키징 지침(2026년 10월 6일 기준)을 따릅니다. 명령어에 사용된 acme_driver모듈 이름은 예시이며, .ko필요한 경우 접미사를 제외한 실제 모듈 이름으로 대체하십시오. 다음은 명령어 예시이며, 테스트된 호스트의 출력 결과가 아닙니다.

실행 중인 커널과 별도로 제공되는 사용자 정의 모듈(아웃오브트리 모듈)의 경우, 대상 SLES 커널용 빌드를 다시 빌드하거나 얻을 수 있고 서버에 인증서를 등록할 수 있다면 이 방법을 사용하십시오. 이 방법은 SUSE Secure Boot 및 shim 경로를 통해 부팅하는 시스템에 적용됩니다. 공급업체에서 공식 SLES 15 드라이버 패키지를 제공하는 경우, 해당 패키지에서 지원하는 설치 및 서명 지침을 먼저 따르십시오. 공급업체 패키지는 수동으로 복사한 것보다 커널 호환성 및 업데이트를 더 잘 처리할 수 있습니다.
보안 부팅(Secure Boot)은 부팅 체인을 검증하며, 커널은 해당 정책에 따라 로드 가능한 모듈의 서명도 확인합니다. 모듈이 서명되었더라도 다른 커널 ABI를 대상으로 하거나, 누락된 심볼에 의존하거나, 잘못된 아키텍처용으로 빌드된 경우 로드에 실패할 수 있습니다. 반대로, 커널과 일치한다고 해서 서명되지 않은 모듈이 신뢰할 수 있는 것은 아닙니다. 서명은 신뢰도를 확보하는 것이지, 호환성을 보장하거나 코드의 안전성을 인증하는 것은 아닙니다.
uname -r`knockdown` 및 `secure Boot` 명령어를 사용 하여 실행 중인 커널과 보안 부팅 상태를 확인하십시오 mokutil --sb-state. 해당 커널 버전에 맞는 커널 개발 파일과 툴체인을 사용하여 모듈을 빌드하십시오. 패키지 이름과 필요한 파일은 SLES 서비스 팩, 커널 버전 및 빌드 방법에 따라 다르므로 대상 시스템에서 활성화된 저장소를 확인하여 검증하십시오.보호된 서명 시스템에서 개인 키와 DER로 인코딩된 X.509 인증서를 생성합니다. SUSE의 커널 모듈 패키징 지침에서는 codeSigning현재 SLES 15 서비스 팩에서 확장 키 사용을 권장합니다. 이 예제에서는 OpenSSL과 설명적인 인증서 이름을 사용합니다.
openssl req -new -x509 -newkey rsa:2048 -sha256 \
-keyout module-signing.key \
-out module-signing.der -outform DER -nodes \
-days 4745 -addext "extendedKeyUsage=codeSigning" \
-subj "/CN=Custom Module Signing/"
chmod 600 module-signing.key
이 -nodes옵션을 선택하면 개인 키가 암호화되지 않은 상태로 저장되므로 파일 권한 및 저장 제어가 중요합니다. 해당 개인 키를 범용 서버에 복사하거나 패키지에 포함시키지 마십시오. 조직 정책에서 암호화된 키, 하드웨어 기반 서명, 키 순환 또는 다른 인증서 수명 주기를 요구하는 경우 해당 정책 및 서명 도구의 요구 사항을 준수하십시오. module-signing.der공개 키를 등록할 시스템으로만 전송하십시오.

`build` 명령어 로 표시된 정확한 커널 릴리스 버전을 기준으로 모듈을 빌드하십시오 uname -r. 소스 프로젝트의 빌드 지침에 따라 필요한 컴파일러, 헤더 및 구성이 결정됩니다. 모든 사용자 정의 모듈에 맞는 단일 빌드 명령은 없습니다. 커널 불일치를 진단해야 하는 경우 ` build` 명령어 vermagic로 결과를 확인하십시오.modinfo
컴파일 및 패키징 또는 스트리핑 단계를 거친 후 최종 모듈 파일에 서명하십시오. SUSE는 서명 도우미에 대한 문서를 다음 링크에서 제공합니다 /usr/lib/rpm/pesign/kernel-sign-file. 다음 예에서는 PKCS#7 형식과 SHA-256 다이제스트를 사용합니다.
/usr/lib/rpm/pesign/kernel-sign-file -i pkcs7 sha256 \
module-signing.key module-signing.der acme_driver.ko
해당 헬퍼는 시스템의 SUSE 서명 통합에서 사용 가능해야 합니다. 헬퍼가 없는 경우, 임의의 서명 명령을 사용하는 대신 공식 SLES/KMP 문서와 지원되는 서명 설정이 활성화된 저장소를 확인하십시오. 모듈 서명은 파일에 추가됩니다. 서명 후에는 모듈을 삭제, 편집, 재압축하거나 다른 방식으로 변경하지 마십시오. 이러한 변경은 서명을 무효화할 수 있습니다. 최종 서명 단계를 다시 수행할 수 있도록 원본 빌드 아티팩트를 보관하십시오.

SLES 서버에서 module-signing.der루트 사용자가 읽을 수 있는 위치에 공개 인증서를 배치한 다음 등록 대기열에 추가합니다.
mokutil --root-pw --import module-signing.der
mokutil --list-new
SUSE 문서 --root-pw에서는 루트 암호를 사용하여 보류 중인 등록을 승인하는 방법을 설명합니다. 가져오기 명령은 인증서를 대기열에 추가하며 즉시 등록하지 않습니다. 서버를 재부팅하십시오. MokManager에서 " 디스크에서 키 등록"을 선택 하고 인증서를 선택한 다음 등록을 확인하고 요청된 승인을 완료하십시오. 메뉴 문구는 shim/MokManager 버전에 따라 약간씩 다를 수 있습니다. 등록 화면에 액세스할 수 없는 경우 부팅 경로를 확인하고 콘솔 액세스를 준비하십시오. 가져오기 명령이 성공했다고 해서 인증서가 등록되었다고 가정하지 마십시오.
서버가 부팅된 후 등록된 목록에 키가 나타나는지 확인하십시오.
mokutil --list-enrolled

mokutil --list-new보류 중인 등록 요청을 표시합니다.
서명된 파일을 실행 중인 커널의 extra-modules 디렉터리에 복사하고, 종속성 맵을 새로 고친 다음, 이름으로 모듈을 요청하십시오. 부팅된 커널이 다른 경우 실제 커널 릴리스 버전으로 바꿔야 합니다.
release=$(uname -r)
install -D -m 0644 acme_driver.ko \
"/lib/modules/$release/extra/acme_driver.ko"
depmod -a "$release"
modprobe acme_driver
modprobe일반적으로 모듈 종속성을 해결해 주기 때문에 보다 선호됩니다 insmod. 드라이버가 제공하는 실제 장치 또는 기능을 테스트하십시오. 명령 실행이 성공했다고 해서 하드웨어가 제대로 작동하는 것은 아닙니다. 모듈을 부팅 시 로드하려면 `.config.js`와 같은 파일에 모듈 이름을 별도의 줄에 추가하십시오 /etc/modules-load.d/acme_driver.conf. SLES는 이러한 구성 파일에 systemd의 모듈 로딩 메커니즘을 사용합니다.

modprobe.유용한 점검 사항은 다음과 같습니다.
mokutil --list-enrolled
modinfo -F signer /lib/modules/$(uname -r)/extra/acme_driver.ko
lsmod | grep acme_driver
journalctl -k -b | tail -n 80
modinfo -F signer이 명령은 모듈에 내장된 서명자 메타데이터를 표시합니다. 하지만 이것만으로는 인증서가 등록되었거나 실행 중인 커널이 서명을 수락했음을 증명할 수 없습니다. modprobe보안 부팅이 활성화된 상태에서 성공적으로 서명이 완료되었는지 확인하고, 커널 로그를 검사하고 장치가 정상적으로 작동하는지 확인하는 것이 더 유용한 증거입니다. 그림에 표시된 터미널 출력은 명령 및 예시 출력의 예시일 뿐이며, 이 글을 위해 수행된 테스트 보고서가 아닙니다.
| 징후 | 확인해야 할 사항 |
|---|---|
Key was rejected by service또는 서명 관련 로드 오류 | 이 모듈에 서명한 인증서가 등록되어 있는지 확인하십시오 mokutil --list-enrolled. 모듈이 마지막 수정 후에 서명되었는지 확인하십시오. 검토하십시오 journalctl -k -b. |
Invalid module format | 모듈의 를 vermagic와 비교하십시오 uname -r. 실행 중인 커널과 해당 커널 버전에 맞게 다시 빌드하십시오. |
Unknown symbol또는 해결되지 않은 종속성 | 일치하는 빌드 환경과 필요한 보조 모듈을 확인하고 depmod -a설치 후 다시 실행하십시오. |
Module not found | modprobe파일 이름, 모듈 이름, 커널별 대상 디렉터리 및 종속성 맵을 확인하십시오. 일반적 으로 전달되는 이름에는 가 생략됩니다 .ko. |
SUSE는 모듈 지원 여부도 추적하며, 지원되지 않는 모듈을 로드하면 커널의 지원 상태 또는 오염 상태에 영향을 미칠 수 있습니다. 이 정책은 서명 검증과는 별개입니다. 지원되지 않는 모듈 설정을 변경해도 서명 키가 등록되지 않으며 거부된 서명을 복구하지도 않습니다. 지원되는 운영 시스템에서 이 정책을 변경하기 전에 SUSE의 지원 지침을 검토하십시오.

한 커널 릴리스용으로 빌드된 모듈이 다음 릴리스와 자동으로 호환되는 것은 아닙니다. 커널 업데이트 후에는 해당 커널에 맞는 빌드 환경을 설치하고, 새 커널 ABI에 맞게 모듈을 다시 빌드하고, 최종 파일에 서명한 다음, 해당 커널의 모듈 트리에 설치하고, 종속성 정보를 새로 고쳐야 합니다. 서명 인증서가 신뢰할 수 있는 상태로 유지되는 경우 일반적으로 다시 등록할 필요가 없습니다. 교체 또는 갱신된 인증서는 별도의 등록 및 승인이 필요합니다. 자동 부팅 로딩을 사용하기 전에 새 커널과 모듈을 함께 테스트하십시오.
정기적인 업데이트를 거쳐야 하는 시스템이나 드라이버의 경우, 드라이버 및 지원 모델에 맞는 SUSE의 커널 모듈 패키지(KMP) 방식과 같은 반복 가능한 패키징 워크플로를 사용하십시오. 패키징을 통해 커널별 빌드 및 서명 단계를 체계화할 수 있지만, 올바른 키 보호, 모듈 호환성, MOK 신뢰 및 업데이트 테스트의 필요성을 없애는 것은 아닙니다. 정확한 SLES 15 서비스 팩 및 조직에서 지원하는 커널 수명 주기에 대한 자세한 내용은 설명서를 참조하십시오.

/etc/modules-load.d항목으로 모듈이 재구축되고 설치된 커널에 대해 서명된 후 부팅 시 로드되도록 요청할 수 있습니다.Debian 12 Bookworm 시스템을 Debian Testing으로 마이그레이션할 때 종속성 관련 문제를 최소화하세요. 지원되는 Bookworm-to-Trixie 마이그레이션 경로, APT 검사, 시뮬레이션 및 복구 방법을 알아보세요.
Register SLES 15 to SUSE Manager without Internet access using synchronized channels, a bootstrap repository, an activation key, and a verified Salt bootstrap workflow.
우분투 24.04에서 절전 모드 후 Wi-Fi 연결 끊김 문제 해결: 업데이트, 무선 차단 및 NetworkManager 확인, 절전 기능 테스트, 로그 검사 및 해결 방법 검증.
Ubuntu 24.04에서 발생하는 잡음, 윙윙거리는 소리, 왜곡된 소리를 해결하려면 ALSA 장치를 진단하고 WirePlumber 버퍼, 샘플 속도 및 ALSA 직접 설정값을 안전하게 조정하십시오.
SLES 15 커널 모듈에 사용자 지정 서명을 하고, MOK에 인증서를 등록하고, 보안 부팅에 로드하고, 결과를 확인하고, 커널 업데이트를 처리하는 방법을 알아보세요.
SLES 15에 KVM을 설정하고, libvirt 네트워킹 및 스토리지를 구성하고, 가상 머신을 생성하고, 자동 시작을 활성화하고, 호스트 재부팅 후 안정적인 시작을 확인합니다.
Configure a WireGuard point-to-site VPN on Debian 12 with wg-quick, IPv4 forwarding, nftables NAT, client profiles, systemd startup, and verification.
Audit SLES 15 against the current DISA STIG, review OpenSCAP findings, test remediations, and document exceptions before production rollout.
Learn how to set SAP HANA global and statement memory limits on SUSE Linux Enterprise Server, compare HANA limits with SUSE MemoryLow, and verify each change safely.
Gooroom OS 브라우저 격리 작동 방식, 신뢰 및 차단 URL 정책 준비, GPMS 구성 조정, 빌드 설정 검증에 대해 알아보세요.