종속성 손상 없이 Debian 12를 Testing으로 마이그레이션하는 방법

예시 시나리오: 마야는 개발용으로 데비안 12 북웜 워크스테이션을 관리하고 있습니다. 그녀는 데비안 테스팅의 최신 패키지를 사용하고 싶지만, APT가 불완전한 패키지 상태로 남게 되는 것을 용납할 수 없습니다. 가장 안전한 방법은 현재 지원되는 안정 버전을 먼저 업그레이드한 다음, 깨끗한 안정 시스템을 최신 테스팅 버전(코드명)으로 전환하는 것입니다. 이 예시는 신중한 절차를 설명하는 것이며, 실제 업그레이드 사례나 모든 시스템에 동일한 패키지 계획이 적용된다는 보장은 아닙니다.

2026년 10월 6일 현재, 데비안은 데비안 13 "Trixie"를 안정 버전(Stable)으로, 데비안 14 "Forky"를 테스트 버전(Testing)으로 분류하고 있습니다. 데비안의 테스트 버전 안내에 따르면 현재 안정 버전에서 테스트 버전으로 이동할 것을 권장하며, 이전 안정 버전에서 테스트 버전으로 이동할 경우 예기치 않은 오류가 발생할 수 있다고 경고합니다. Bookworm 설치의 경우, Forky 저장소로 변경하기 전에 공식 Bookworm-to-Trixie 업그레이드 지침을 따라야 합니다. 데비안에서 새로운 안정 버전을 발표할 때 테스트 버전의 코드명이 변경되므로, 작업 당일에 다시 한번 릴리스 페이지를 확인하는 것이 좋습니다.

종속성을 단계적으로 변경하는 이유는 무엇인가요?

APT는 시스템에 구성된 패키지 인덱스와 릴리스 스위트를 사용하여 종속성을 해결합니다. 이전 설치 버전을 테스트 환경으로 직접 지정하는 경우, APT는 핵심 라이브러리, 커널, 데스크톱, 펌웨어 및 타사 패키지에 걸쳐 한 번의 작업으로 변경 사항을 제안할 수 있습니다. 시뮬레이션을 통해 문제가 있는 계획을 발견할 수는 있지만, 지원되지 않는 시작 지점을 안전하게 만들 수는 없습니다.

테스팅 환경은 끊임없이 변화합니다. 패키지는 아카이브 기준을 충족하면 불안정(Unstable) 버전에서 테스팅 버전으로 마이그레이션되지만, 일시적인 종속성 부족이나 회귀 오류가 발생할 수 있습니다. 또한 데비안은 안정(Stable) 버전에 제공하는 것과 같은 영구적인 보안 지원을 테스팅 버전에는 제공하지 않습니다. 이러한 방식은 불필요한 패키지 충돌을 줄여주지만, 테스팅 버전을 안정 버전만큼 안정적으로 만들거나 향후 발생할 수 있는 모든 문제를 예방할 수는 없습니다.

예시 시나리오: 마야의 책벌레 기계를 준비하세요

1. 시작 릴리스 및 패키지 상태를 확인합니다.

마야는 먼저 이것이 데비안 자체인지 확인하고 현재 시스템 상태를 기록합니다. 그녀는 무엇인가를 편집하기 전에 현재 릴리스 세부 정보와 저장소 파일을 읽습니다.

cat /etc/os-release
cat /etc/debian_version
apt-cache policy
dpkg --audit
apt-get check
apt-mark showhold

그녀는 /etc/apt/sources.list의 모든 파일 과 와 /etc/apt/sources.list.d/의 APT 환경설정을 검토합니다 . 목표는 업그레이드 중에 혼란이 발생하기 전에 벤더 저장소, 로컬 빌드 패키지, 고정된 릴리스 및 보류된 패키지를 식별하는 것입니다. 패키지 구성이 완료되지 않았거나 종속성이 손상되었다고 보고하는 경우, Maya는 배포판 변경을 적용하기 전에 Bookworm에서 먼저 해당 문제를 해결합니다./etc/apt/preferences/etc/apt/preferences.d/dpkg --auditapt-get check

2. 릴리스를 변경하기 전에 복구가 가능하도록 하십시오.

마야는 패키지 소스를 건드리기 전에 개인 데이터와 중요한 구성(해당되는 경우 애플리케이션 데이터베이스 및 서비스 데이터 포함)의 백업을 생성하여 테스트를 거칩니다. 전체 디스크 이미지 또는 VM 스냅샷을 통해 운영 체제를 복구할 수 있지만, 홈 디렉터리 복사본만으로는 복구가 불가능합니다. 또한 로컬 콘솔 액세스, 부팅 가능한 복구 미디어, /, /var, 및 에 충분한 여유 공간 /boot, 그리고 작동하는 네트워크 연결이 있는지 확인합니다.

원격 시스템에 접속해야 하는 경우, 마야는 시스템 점검 시간을 예약하고 가능하면 대역 외 콘솔을 사용합니다. 네트워크를 재시작하거나 SSH 구성 요소를 교체하는 패키지 업그레이드는 원격 세션 연결을 끊을 수 있습니다. 중요한 서버의 경우, 마야는 먼저 복제본에서 전체 과정을 테스트합니다. 데비안 릴리스 노트에는 준비 및 복구 지침이 포함되어 있으므로 각 릴리스 업그레이드 전에 반드시 읽어봐야 합니다.

3. 지원되는 Bookworm-to-Trixie 업그레이드를 완료하세요.

Maya는 공식 Debian 13 릴리스 노트에 설명된 Bookworm에서 Trixie로의 업그레이드 절차를 따르며, 타사 아카이브, APT 설정, 패키지 상태 및 사용 가능한 디스크 공간 확인을 포함합니다. 그녀는 Bookworm에서 지원하는 업그레이드 단계인 모든 소스 코드를 Forky로 다시 작성하는 단계를 건너뛰지 않습니다. Debian은 Debian 12에서 Debian 13으로의 업그레이드 과정을 명시적으로 문서화하고 있으므로, 해당 릴리스별 문서를 참조하여 시스템에 적용되는 정확한 패키지 및 구성 지침을 확인하십시오.

시스템 업그레이드가 완료되면 그녀는 Trixie로 재부팅하여 정상적으로 시작되는지 확인합니다. 주요 서비스, 네트워크 액세스, 스토리지 마운트, 그래픽 또는 데스크톱 로그인, 펌웨어에 의존하는 하드웨어 등을 점검합니다. 이 점검 단계는 매우 중요합니다. 문제가 발생할 경우 테스트를 시작하기 전에 단일 릴리스 전환 과정에서 발생한 오류를 진단할 수 있기 때문입니다.

검증된 안정 시스템을 테스트 시스템으로 전환하세요.

4. 혼합되거나 더 이상 사용되지 않는 저장소 항목을 제거합니다.

Trixie에서 시스템이 정상적으로 작동하면 Maya는 APT 소스와 환경 설정 파일의 사본을 저장합니다. 그런 다음 타사 저장소와 Trixie 전용 백포트 또는 업데이트 항목을 일시적으로 비활성화합니다. 안정, 테스트 및 불안정 버전을 명확한 패키지 고정 정책 없이 혼합해서 사용하면 라이브러리 불일치 및 종속성 충돌이 발생할 수 있습니다. Debian 외 공급업체의 패키지는 Forky용으로 아직 존재하지 않을 수 있으므로, Maya는 Trixie 저장소가 적합하다고 가정하기보다는 각 공급업체의 호환성 정보를 확인합니다.

현재 설치된 시스템에서는 소스가 기존의 한 줄 형식 또는 deb822 형식을 사용할 수 있습니다 . 이미 사용 중인 형식을 편집하고, 테스트 업그레이드가 시작될 때 활성 Debian 항목이 해당 형식을 가리키 거나 .sources해당 형식을 가리키는지 확인하십시오 .bookwormtrixie

5. 데비안의 메인 아카이브를 Forky로 지정합니다.

이 특정 날짜 예시에서 Forky는 현재 테스트 코드명입니다. deb822 소스 파일은 /etc/apt/sources.list.d/debian.sources다음과 같은 구조를 사용할 수 있습니다. 설치 환경에 맞는 구성 요소를 유지하십시오. 이 예시에는 일반적인 펌웨어와 비자유 영역이 포함되어 있지만 모든 시스템에서 자동으로 활성화되지는 않습니다.

Types: deb
URIs: https://deb.debian.org/debian
Suites: forky
Components: main contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

기존 설정을 검토하지 않고 이 구문을 기존 설정 위에 복사하지 마십시오. 시스템에 필요한 미러 선택 및 구성 요소를 유지하고 중복되는 Debian 항목은 제거하거나 주석 처리하십시오. testingForky가 Stable 버전으로 전환된 후에도 Forky를 계속 사용할 계획이라면 이동 별칭을 사용하지 마십시오. 코드명은 Forky의 릴리스 전환 과정을 추적하며, 제품군 이름은 testing향후 Testing 버전으로 지정될 릴리스를 따릅니다.

trixie-security테스트 환경에서는 안정 버전의 보안 URL을 그대로 사용 하거나 추측한 테스트 스위트로 대체 하지 마십시오 forky-security. 데비안 FAQ에 따르면 테스트 버전은 안정 버전과 동일한 수준의 보안 업데이트를 받지 못하며, 수정 사항은 불안정 버전에서 가져와야 할 수도 있고, 그 시기는 상황에 따라 달라질 수 있습니다. 따라서 사용자는 현재 데비안 테스트 관련 지침 및 취약점 정보를 검토하여 해당 지원 모델이 적합한지 판단해야 합니다.

6. 인덱스를 새로 고치고 전체 종속성 변경을 시뮬레이션합니다.

소스 파일 편집이 완료되면 Maya는 패키지 메타데이터를 새로 고치고 APT에 전체 업그레이드를 시뮬레이션하도록 요청합니다.

sudo apt update
sudo apt -s full-upgrade

이 시뮬레이션은 검토 단계이지, 자동으로 승인되어야 하는 알림이 아닙니다. Maya는 설치, 업그레이드, 보류 및 제거할 패키지 목록을 읽습니다. 제안된 패키지가 데스크톱 메타패키지, SSH 서버, 부트로더, 네트워크 관리자, 데이터베이스 또는 Maya가 의존하는 다른 패키지를 제거하는 경우, 관련 없는 패키지가 대량으로 제거되는 경우, 또는 APT에서 해결되지 않은 종속성이 보고되는 경우 시뮬레이션을 중지합니다. Maya는 이러한 문제가 타사 소스 활성화, 보류, 고정, 디스크 공간 부족 또는 일시적인 테스트 전환 때문인지 확인합니다.

보류된 패키지가 자동으로 손상되는 것은 아닙니다. 해당 패키지는 보수적인 upgrade작업에서 적용되지 않는 종속성 변경이 필요할 수 있습니다. 패키지 개수를 0으로 맞추기 위해 라이브러리를 강제로 설치하거나 메타패키지를 제거하지 마십시오. 계획이 이해하기 어렵다면 아카이브 전환이 완료될 때까지 기다리거나, 관련 Debian 패키지 버그 보고서 또는 전환 정보를 참조하거나, Stable 버전을 유지하십시오.

업그레이드를 검토 가능한 단계별로 적용하세요.

7. 보수적인 업그레이드를 실행한 다음 전체 업그레이드를 다시 검토하십시오.

시뮬레이션이 적절하고 백업이 최신 상태인 경우, Maya는 먼저 설치된 패키지를 제거하지 않는 업그레이드를 수행합니다.

sudo apt upgrade --without-new-pkgs

그녀는 설정 파일 관련 질문들을 꼼꼼히 읽고 로컬에서 변경한 사항들을 기록해 둡니다. 그런 다음 패키지 계획이 변경되었을 수도 있으므로 다시 시뮬레이션을 실행합니다.

sudo apt -s full-upgrade

그녀는 제안된 삭제 및 추가 사항이 타당할 때에만 실제 작업을 진행합니다.

sudo apt full-upgrade

full-upgrade릴리스 전환을 완료하기 위해 새로운 종속성을 설치하고 패키지를 제거할 수 있습니다. 이것이 바로 시뮬레이션과 사람의 검토가 중요한 이유입니다. 설명할 수 없는 제거를 제안하거나 종속성 오류로 실패하는 경우 Maya는 작업을 중지하고 정확한 출력을 저장합니다. Maya는 임의 버전 apt --fix-broken install선택, 강제 버전 선택 또는 수동 라이브러리 제거를 연쇄적으로 수행하지 않습니다. 이러한 작업은 불일치를 심화시킬 수 있습니다. 먼저 APT의 오류, 소스 구성, 보류 상태 및 패키지 상태를 검사한 다음 원인을 파악한 후에만 다시 시도하십시오.

패키지 압축 해제 및 구성 작업이 진행되는 동안 기기의 전원을 켜둔 상태로 연결 상태를 유지하십시오. 동시에 다른 패키지 관리자를 실행하지 마십시오. 프로세스가 중단된 경우, 발생한 오류에 대한 복구 지침을 참조하고 패키지 데이터베이스 상태를 확인한 후에만 보류 중인 패키지 구성을 완료하십시오.

8. 시스템을 재부팅하고, 종속성을 확인한 후, 호환되는 저장소만 복원하십시오.

APT가 해결되지 않은 오류 없이 완료되면 Maya는 패키지 상태를 확인하고 필요한 경우 재부팅합니다.

sudo dpkg --audit
sudo apt-get check
sudo apt update
sudo reboot

재부팅 후, 그녀는 `application.config` 명령으로 설치된 릴리스를 확인하고 /etc/os-release, `application.config` 명령으로 예상되는 커널이 실행 중인지 점검하며 uname -r, `application.config` 파일을 검토 하고 필수 애플리케이션과 서비스를 테스트합니다. `application.config` 와 `application.config` systemctl --failed에서 최근 패키지 활동을 확인할 수 있습니다 . 시스템이 부팅되지 않거나, 네트워크에 연결할 수 없거나, 중요한 서비스에 오류가 발생한 경우 APT 실행이 성공했더라도 충분하지 않습니다./var/log/apt/history.log/var/log/dpkg.log

데비안 패키지가 안정적으로 작동한 후에야 그녀는 타사 저장소를 하나씩 다시 활성화하는 것을 고려하며, 이때에도 해당 공급업체가 Forky 지원을 문서화한 경우에만 활성화합니다. 그런 다음 apt update업그레이드를 실행하고 시뮬레이션한 후에야 승인합니다. 시스템이 정상적인 사용 환경에서 안정될 때까지 복구 백업을 보관합니다.

마이그레이션이 완료되었는지 여부를 판단하는 방법

마야는 시스템이 예상대로 Testing 코드명으로 부팅되고, 시스템이 dpkg --audit깨끗하며, apt-get check손상된 종속성이 없고, APT 업데이트가 의도한 저장소에서 서명이나 릴리스 오류 없이 이루어지고, 핵심 워크로드가 자체 검사를 통과하면 마이그레이션이 완료된 것으로 간주합니다. 또한 나중에 회귀 오류가 발생했을 때 추적할 수 있도록 날짜, 소스 변경 사항, 패키지 제거 및 모든 수동 구성 결정을 기록합니다.

단순히 최신 애플리케이션을 설치하는 것이 목표라면, 안정 버전을 유지하고 공식 백포트, 벤더 지원 패키지, 컨테이너 또는 격리된 테스트 환경을 사용하는 것이 시스템 중단을 최소화할 수 있습니다. 하지만 컴퓨터가 업무상 중요하거나 인터넷에 연결되어 있거나 신속하게 복구할 수 없는 경우에는 데비안 안정 버전이 일반적으로 더 적합합니다. 테스트 환경은 업데이트를 모니터링하고, 패키지 관리 계획을 읽고, 임시 아카이브 또는 종속성 문제를 해결할 준비가 된 사용자를 위한 것입니다.

공식 참고 자료

댓글 남기기

종속성 손상 없이 Debian 12를 Testing으로 마이그레이션하는 방법

종속성 손상 없이 Debian 12를 Testing으로 마이그레이션하는 방법

Debian 12 Bookworm 시스템을 Debian Testing으로 마이그레이션할 때 종속성 관련 문제를 최소화하세요. 지원되는 Bookworm-to-Trixie 마이그레이션 경로, APT 검사, 시뮬레이션 및 복구 방법을 알아보세요.

How to Register a SLES 15 Machine to SUSE Manager Offline

How to Register a SLES 15 Machine to SUSE Manager Offline

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 연결 끊김 문제를 해결하는 방법

우분투 24.04에서 절전 모드 후 Wi-Fi 연결 끊김 문제를 해결하는 방법

우분투 24.04에서 절전 모드 후 Wi-Fi 연결 끊김 문제 해결: 업데이트, 무선 차단 및 NetworkManager 확인, 절전 기능 테스트, 로그 검사 및 해결 방법 검증.

ALSA 설정 조정을 통해 Ubuntu 24.04의 소리 왜곡 문제를 해결하세요

ALSA 설정 조정을 통해 Ubuntu 24.04의 소리 왜곡 문제를 해결하세요

Ubuntu 24.04에서 발생하는 잡음, 윙윙거리는 소리, 왜곡된 소리를 해결하려면 ALSA 장치를 진단하고 WirePlumber 버퍼, 샘플 속도 및 ALSA 직접 설정값을 안전하게 조정하십시오.

SLES 15에 보안 부팅을 사용하여 사용자 지정 커널 모듈을 설치하는 방법

SLES 15에 보안 부팅을 사용하여 사용자 지정 커널 모듈을 설치하는 방법

SLES 15 커널 모듈에 사용자 지정 서명을 하고, MOK에 인증서를 등록하고, 보안 부팅에 로드하고, 결과를 확인하고, 커널 업데이트를 처리하는 방법을 알아보세요.

SLES 15 KVM 가상화 설정 및 VM 자동 시작 가이드

SLES 15 KVM 가상화 설정 및 VM 자동 시작 가이드

SLES 15에 KVM을 설정하고, libvirt 네트워킹 및 스토리지를 구성하고, 가상 머신을 생성하고, 자동 시작을 활성화하고, 호스트 재부팅 후 안정적인 시작을 확인합니다.

How to Configure a WireGuard Point-to-Site VPN Server on Debian 12

How to Configure a WireGuard Point-to-Site VPN Server on Debian 12

Configure a WireGuard point-to-site VPN on Debian 12 with wg-quick, IPv4 forwarding, nftables NAT, client profiles, systemd startup, and verification.

How to Harden SLES 15 for STIG Compliance: A Safe OpenSCAP Workflow

How to Harden SLES 15 for STIG Compliance: A Safe OpenSCAP Workflow

Audit SLES 15 against the current DISA STIG, review OpenSCAP findings, test remediations, and document exceptions before production rollout.

How to Configure SAP HANA Memory Limits on SUSE Linux Enterprise Server

How to Configure SAP HANA Memory Limits on SUSE Linux Enterprise Server

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 브라우저 격리 설정을 안전하게 구성하는 방법

Gooroom OS 브라우저 격리 설정을 안전하게 구성하는 방법

Gooroom OS 브라우저 격리 작동 방식, 신뢰 및 차단 URL 정책 준비, GPMS 구성 조정, 빌드 설정 검증에 대해 알아보세요.