APT 무인 업그레이드, 사용자 상호 작용 필요 없음

APT 무인 업그레이드, 사용자 상호 작용 필요 없음

Debian 서버를 업데이트하기 위해 크론 작업을 설정하고 있는데 잠재적인 문제가 있습니다. Terminal을 사용하여 업그레이드하려고 하면 apt -y upgrade이 옵션이 있어도 -y일부 패키지는 APT가 구성할 때 ncurses 프롬프트(또는 Y/I/N/O/D/Z 프롬프트)를 표시하여 항상 Random 옵션이 남게 됩니다. 기본적으로. 내 컴퓨터 앞에 앉아 있는 내가 아니라 cron을 통해 명령을 실행하고 사용자 상호 작용을 위한 방법이 없는 경우 이러한 문제를 어떻게 방지할 수 있습니까?

답변1

나는 데스크탑/노트북/서버를 실행할 때 일반적인 상황에서 무인 업그레이드를 사용하라는 Stephen Kitt의 제안에 동의합니다.
무인 업그레이드를 기다리지 않고 사용자 지정 Amazon 머신 이미지(AMI)를 구축하는 스크립트에서 이를 처리하는 방법은 다음과 같습니다. 이것은 Ubuntu 16.x 및 20.x에서 낮은 수준의 명령을 사용하고 있지만 apt-getDebian에서도 작동할 것이라고 생각합니다.

예를 들어, grub 업데이트가 새 conf 파일을 수락하거나 이전 파일을 유지하라는 메시지를 트리거할 수 있는 "dist-upgrade" 명령은 다음과 같습니다.

DEBIAN_FRONTEND=noninteractive \
  apt-get -y \
    -o DPkg::Options::="--force-confold" \
    -o DPkg::Options::="--force-confdef" \
    dist-upgrade

읽기 쉽도록 명령을 여러 줄로 나누었습니다.
환경 변수 설정은 DEBIAN_FRONTEND=noninteractiveY/I/N/O/D/Z 답변을 묻는 메시지를 표시하지 않는 요소 중 하나입니다. 또 다른 요소는 dpkg원하는 옵션을 명확하게 명시하는 것입니다.
그리고 --force-confold--force-confdef옵션입니다 dpkg. --force-confdef패키지가 기본 작업을 정의하는 경우 기본 작업이 선택됩니다. 기본값이 정의되지 않은 경우 --force-confold이전 버전이 선택되거나 --force-confnew새 버전이 선택됩니다.
내 사용 사례에서는 이전 버전을 원합니다.

더 많은 논의와 세부사항은 다음을 참조하세요.이전 질문

관련 정보