헤드리스 서버에서 Debian 12 보안 업데이트를 계속 실행하는 방법

헤드리스 Debian 12 서버의 경우, APT를 설치하고 unattended-upgrades, APT의 일일 패키지 목록 새로 고침 및 자동 업그레이드 설정을 활성화하고, 기본 보안 출처 허용 목록을 유지하십시오. 그런 다음 SSH를 통해 systemd 타이머와 로그를 확인하십시오. 이렇게 하면 적격 패키지 업데이트가 자동화되지만, 주요 Debian 릴리스 업그레이드를 수행하거나 모든 애플리케이션에 추가 업데이트가 필요하지 않다는 것을 보장하지는 않습니다.

SSH 터미널 화면에 apt update가 표시된 후 Debian에서 unattended-upgrades가 설치되는 모습입니다.
SSH 세션을 통해 APT 메타데이터를 새로 고치고 unattended-upgrades 패키지를 설치합니다.

1. 업데이트 프로그램을 설치하고 릴리스를 확인하세요.

사용 가능한 계정으로 로그인하세요 sudo. 설치하기 전에 서버 릴리스를 확인하고 패키지 인덱스를 업데이트하세요.

cat /etc/debian_version
sudo apt update
sudo apt install unattended-upgrades

이 절차는 일반 APT 저장소를 사용하는 Debian 12(Bookworm)를 대상으로 합니다. 패키지 설치 계획을 수락하기 전에 검토하십시오. APT에서 저장소, DNS, 디스크 공간 또는 종속성 오류가 보고되면 먼저 해당 오류를 해결하십시오. 자동 설치 작업은 손상된 패키지 소스 또는 불량 파일 시스템을 수정할 수 없습니다.

2. 일일 새로 고침 및 보안 업데이트를 활성화하세요.

APT의 주기적 옵션을 별도의 로컬 파일에 설정하십시오. 이렇게 하면 패키지 목록이 매일 새로 고쳐지고 무인 업그레이드가 실행됩니다.

sudo nano /etc/apt/apt.conf.d/20auto-upgrades
20auto-upgrades에서 두 가지 APT 주기 설정을 표시하는 나노 에디터
로컬 APT 구성을 통해 매일 패키지 목록을 업데이트하고 무인 업그레이드를 수행할 수 있습니다.

다음 두 줄을 입력하고 저장하세요.

APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Unattended-Upgrade "1";

Nano에서 Ctrl+OEnter 키를 누른 다음 를 누릅니다 Ctrl+X. 이 값은 1매일을 의미합니다. APT의 unattended-upgrades패키지 구성은 설치할 수 있는 아카이브 출처를 제어합니다. 표준 Debian 12 설정에서는 /etc/apt/apt.conf.d/50unattended-upgrades처음에는 변경하지 마십시오. 기본 허용 목록은 Debian 보안 업데이트 및 관련 구성된 Debian 업데이트를 선택하도록 설계되었습니다. 상태 출력을 더 많이 보이게 하기 위해 타사 저장소나 Bookworm 전체를 추가하지 마십시오. 의도적으로 허용 목록을 확장하는 경우 정확한 출처를 검토하고 테스트한 다음 다른 운영 환경 변경과 마찬가지로 서비스를 모니터링하십시오.

3. 자동 재부팅 기능을 관리자 권한으로 유지하십시오.

원격으로 관리되는 서버의 경우, 재부팅 정책은 다음 위치에서 확인하십시오 50unattended-upgrades.

grep -n 'Automatic-Reboot' /etc/apt/apt.conf.d/50unattended-upgrades

서비스 중단에 대비하고, 애플리케이션 복구를 확인하고, 안정적인 대역 외 복구 경로 또는 콘솔 복구 경로를 확보하지 않은 경우에는 자동 재부팅을 활성화하지 마십시오. 데비안 보안 업데이트는 변경 사항을 적용하기 위해 재부팅이 필요한 새로운 커널이나 라이브러리를 설치할 수 있지만, 자동 업그레이드는 재부팅 정책이나 비상 대응 계획을 대체할 수 없습니다. 자동 재부팅을 비활성화한 후에는 정기적인 유지 관리 기간을 정하고 업데이트 후 재부팅이 필요한지 확인하십시오.

무인 업그레이드 시뮬레이션 실행 디버그 출력 목록을 보여주는 터미널 그림.
사전 실행을 통해 패키지를 설치하지 않고도 구성된 출처와 후보 패키지를 확인할 수 있으며, 표시되는 출력은 예시입니다.

4. 설정을 사용하기 전에 테스트하십시오.

SSH를 통해 시뮬레이션을 실행합니다. 이 --dry-run플래그는 패키지를 설치하지 않으며, --debug자동 업그레이드 로그에 더 자세한 정보를 제공합니다.

sudo unattended-upgrade --dry-run --debug

허용된 출처와 제안된 패키지 작업에 대한 출력을 읽으십시오. 업그레이드할 패키지가 없다는 메시지는 대기 중인 패키지가 없는 경우 정상적인 결과일 수 있지만, 나중에 타이머가 실행될 것이라는 보장은 아닙니다. 허용된 출처가 비어 있거나 후보가 예기치 않게 누락된 경우, 50unattended-upgrades변경하기 전에 릴리스의 APT 소스와 패턴을 검사하십시오. Bookworm 설명서에서는 이 명령을 설치가 아닌 시뮬레이션으로 설명합니다.

5. 타이머, 서비스 및 로그를 확인하십시오.

APT는 일상적인 작업에 systemd 타이머 유닛을 사용합니다. 타이머와 업그레이드 서비스를 모두 확인하십시오.

systemctl status apt-daily.timer apt-daily-upgrade.timer
systemctl list-timers 'apt-daily*'
systemctl status apt-daily-upgrade.service

타이머가 로드되어 활성화되어 있어야 하며, 목록에 다음 실행 예정 시간이 표시되어야 합니다. 타이머가 설치되어 있지만 비활성화된 경우, 타이머를 시작하고 향후 부팅 시 작동하도록 설정하십시오.

sudo systemctl enable --now apt-daily.timer apt-daily-upgrade.timer

서비스는 일회성 작업이기 때문에 예약된 실행 시간 사이에 비활성 상태일 수 있습니다. 서비스가 계속 실행 중일 것이라고 기대하기보다는 마지막 결과를 확인하십시오. 예약된 실행 시간이 끝나면 패키지 로그와 systemd 저널을 검토하십시오.

터미널 화면에 apt-daily-upgrade 타이머의 활성 상태와 무인 업그레이드 로그 라인 예시가 표시됩니다.
타이머 상태 및 무인 업그레이드 로그를 사용하여 예약된 작업을 확인하십시오. 표시된 항목은 예시입니다.
sudo tail -n 50 /var/log/unattended-upgrades/unattended-upgrades.log
sudo tail -n 50 /var/log/unattended-upgrades/unattended-upgrades-dpkg.log
sudo journalctl -u apt-daily-upgrade.service --since "7 days ago"

완료된 실행, 허용된 출처, 패키지 설치 여부 또는 보류 중인 패키지가 없는지 확인하십시오. 반복적인 다운로드 실패, 보류된 패키지 또는 dpkg 오류를 조사하십시오. 매뉴얼에는 이러한 로그 경로가 나열되어 있으며 systemd 서비스가 무인 업그레이드 백엔드를 실행한다는 설명이 있습니다.

이 설정으로 확인할 수 있는 것과 확인할 수 없는 것은 무엇입니까?

정상 작동 구성이란 타이머가 활성화되어 있고, 주기적인 APT 설정이 활성화되어 있으며, 로그에 무인 실행이 성공적으로 기록된 상태를 의미합니다. 하지만 이는 모든 저장소의 모든 패키지가 업데이트되었거나, 재부팅이 필요한 수정 사항이 이미 적용되었거나, 패키지 변경 후 서비스가 정상적으로 작동했음을 보장하는 것은 아닙니다. 데비안 릴리스 업그레이드 프로세스는 별도로 계획된 작업이며, 무인 업그레이드는 구성된 소스 내의 패키지 업데이트에만 사용됩니다. 중요 서버의 경우, 실행 실패에 대한 모니터링을 추가하고, 백업을 유지 관리하며, 대표 환경에서 변경 사항을 테스트하고, 사람이 검토한 재부팅 기간을 정의해야 합니다.

이 단계는 Debian Bookworm 무인 업그레이드 설명서 , Debian 주기적 업데이트 지침 및 Bookworm systemd.timer 설명서를 따릅니다 . Bookworm 설명서에서는 Debian 패키지 버전을 2.9.1+nmu3으로 명시하고 있으며, 패키지 버전은 Debian 업데이트에 따라 변경될 수 있습니다.

댓글 남기기

헤드리스 서버에서 Debian 12 보안 업데이트를 계속 실행하는 방법

헤드리스 서버에서 Debian 12 보안 업데이트를 계속 실행하는 방법

SSH를 통한 Debian의 무인 보안 업데이트를 활성화하고, 기본 패키지 소스를 유지하며, systemd 및 APT 로그를 통해 예약된 실행을 확인하십시오.

smartd를 사용하여 Ubuntu SMART 디스크 경고를 이메일로 받아보세요.

smartd를 사용하여 Ubuntu SMART 디스크 경고를 이메일로 받아보세요.

메일 전송 옵션을 비교하고, Ubuntu에서 smartd를 구성하고, 디스크 상태 경고가 받은 편지함에 제대로 도착하는지 확인하세요.

Debian 12 DNS 조회 실패: systemd-resolved 복구

Debian 12 DNS 조회 실패: systemd-resolved 복구

debian 12에서 DNS 조회를 복원하려면 systemd-resolved를 확인하고, 필요한 경우 resolv.conf를 복구하고, 상위 DNS 및 애플리케이션 이름 확인을 검증하십시오.

Ubuntu 24.04에서 HDMI 오디오가 출력되지 않나요? 출력 복원하기

Ubuntu 24.04에서 HDMI 오디오가 출력되지 않나요? 출력 복원하기

Ubuntu에서 모니터 또는 TV를 오디오 출력 장치로 인식하도록 하려면, 소리 설정에서 해당 장치를 선택하고, HDMI가 없는 경우 연결 또는 PipeWire 장치 목록을 확인하십시오.

저장소 키를 복구하여 APT 서명 오류를 해결하세요

저장소 키를 복구하여 APT 서명 오류를 해결하세요

보안을 비활성화하지 않고도 오류가 발생한 소스를 식별하고, 검증된 키를 갱신하고, 결과를 확인하여 Ubuntu APT 서명 경고를 안전하게 해결할 수 있습니다.

3상 전압, 전류, kW, kVA 및 역률 변환 방법

3상 전압, 전류, kW, kVA 및 역률 변환 방법

균형 잡힌 3상 공식을 배우고, 선간 전압, 전류, kW, kVA 및 역률을 단계별로 변환하는 방법을 예제와 함께 확인하고 점검 범위를 살펴보세요.

Ubuntu cgroups를 사용하여 명령의 CPU 및 메모리 사용량을 제한합니다.

Ubuntu cgroups를 사용하여 명령의 CPU 및 메모리 사용량을 제한합니다.

CPUQuota 및 MemoryMax를 사용하여 systemd 범위 내에서 워크로드를 실행한 다음 cgroup v2를 통해 제한 사항을 확인합니다.

Ubuntu Server 24.04에서 Pi-hole 업스트림 DNS를 암호화합니다.

Ubuntu Server 24.04에서 Pi-hole 업스트림 DNS를 암호화합니다.

Ubuntu 24.04에서 dnscrypt-proxy를 Pi-hole의 로컬 DoH 브리지로 설정하고, localhost 전용 리스너, 리졸버 선택, DNS 전환 전 검사 기능을 추가합니다.

Wayland 환경에서 Ubuntu 24.04 터치패드 제스처를 작동시키는 방법

Wayland 환경에서 Ubuntu 24.04 터치패드 제스처를 작동시키는 방법

앱이나 하드웨어 문제를 해결하기 전에 우분투의 터치패드 설정을 확인하고, 웨이랜드(Wayland)가 제대로 작동하는지 확인하고, GNOME에 내장된 스와이프 기능을 테스트해 보세요.

mdadm을 사용하여 Debian 12 RAID 1 미러 구축하기

mdadm을 사용하여 Debian 12 RAID 1 미러 구축하기

데비안 12에서 디스크 두 개를 사용하여 RAID 1 데이터 어레이를 생성 및 검증하고, 안전하게 포맷한 다음, 재부팅 후 자동으로 구성 및 마운트되도록 설정합니다.