스크립트 업데이트 중 conffile 프롬프트

스크립트 업데이트 중 conffile 프롬프트

apt-get update && apt-get upgrade -y매주 여러 서버에서 실행되는 스크립트가 있습니다.

/etc/ssh/sshd_configDebian 9로 테스트할 때 아래 스크린샷과 같이 수정된 구성 파일을 유지할지 아니면 관리자 버전( )을 설치할지 묻는 메시지가 표시되는 것을 확인했습니다 .패키지 구성...구성 파일 수정

내 질문은: 메시지를 표시하지 않으려면 명령에 무엇을 포함해야 합니까? 원하는 동작은 로컬 구성 파일을 유지하고 업그레이드를 계속하는 것입니다.

나는 시도했다:

  • --force-yes에 추가 하다apt-get upgrade
  • 순서가 확실하지 않으므로 업그레이드 명령 전후에 옵션을 추가하세요.

    apt-get -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" upgrade
    
  • 콘텐츠를 사용하여 생성 /etc/apt/apt.conf.d/local:

    Dpkg::Options {
        "--force-confdef";
        "--force-confold";
    }
    
  • 편집하다 /etc/dpkg/dpkg.conf:

    force confdef,confold
    

내가 시도한 어떤 것도 프롬프트를 표시하지 않으며 다음에 무엇을 시도해야 할지 잘 모르겠습니다.

내 시도의 대부분은 이 StackExchange 게시물을 기반으로 합니다.구성 파일의 무인 업그레이드 및 수정, 이 패키지를 소개했습니다 unattended-upgrades. 우리는 현재 이것을 사용하지 않지만 이것이 데비안에서 매주 업데이트/업그레이드를 수행하는 올바른 방법이라면 조사해 보겠습니다.

감사해요!

답변1

DEBIAN_FRONTEND를 비대화형으로 설정해 보세요. 예를 들어

export DEBIAN_FRONTEND=noninteractive
apt-get update && apt-get upgrade -y

man 7 debconf자세한 내용은 다음을 참조하세요.

비대화형

이것이 안티 프론트엔드입니다. 그것은 당신과 전혀 상호 작용하지 않으며 모든 질문에 기본 답변을 남깁니다. 루트에 오류 메시지를 보낼 수도 있지만 그게 전부입니다. 그렇지 않으면 완전히 조용하고 눈에 거슬리지 않으므로 자동화된 설치를 위한 완벽한 프런트 엔드가 됩니다.

이 프런트엔드를 사용하고 질문에 대한 기본 답변이 아닌 답변이 필요한 경우 debconf 데이터베이스를 프로비저닝해야 합니다. 아래 섹션을 참조하세요.무인 패키지 설치자세한 내용은.

관련 정보