무인 - 사용자 정의 저장소의 구성만 업그레이드합니다.

무인 - 사용자 정의 저장소의 구성만 업그레이드합니다.

운영 체제: LMDE 5(Debian 11 Bullseye 기반)

시스템을 깨끗하게 유지하기 위해 가능할 때마다 원본 배포/개발자 구성 파일을 별도의 파일로 덮어씁니다. 이는 또한 개발자가 원래 구성을 변경할 때 발생하는 문제를 방지하고 설정을 안전하게 유지합니다. 등...

무인 업그레이드의 경우 원래 구성은 다음과 같습니다 /etc/apt/apt.conf.d/50unattended-upgrades.

Unattended-Upgrade::Origins-Pattern {
//      "origin=Debian,codename=${distro_codename}-updates";
//      "origin=Debian,codename=${distro_codename}-proposed-updates";
        "origin=Debian,codename=${distro_codename},label=Debian";
        "origin=Debian,codename=${distro_codename},label=Debian-Security";
        "origin=Debian,codename=${distro_codename}-security,label=Debian-Security";

파일로 대체했어요51무인 업그레이드:

Unattended-Upgrade::Origins-Pattern {
        "site=myrepo.example.com"
//      "origin=Debian,codename=${distro_codename}-updates";
//      "origin=Debian,codename=${distro_codename}-proposed-updates";
//      "origin=Debian,codename=${distro_codename},label=Debian";
//      "origin=Debian,codename=${distro_codename},label=Debian-Security";
//      "origin=Debian,codename=${distro_codename}-security,label=Debian-Security";

원래 부품 전체가 내 부품으로 교체되고 UU가 그렇게 될 것이라고 생각했습니다.오직갱신하다 myrepo.example.com. 그러나 4개의 저장소가 모두 활성화된 것으로 나타났습니다.

"site=myrepo.example.com"
"origin=Debian,codename=${distro_codename},label=Debian"
"origin=Debian,codename=${distro_codename},label=Debian-Security"
"origin=Debian,codename=${distro_codename}-security,label=Debian-Security"

다른 모든 저장소를 비활성화하고 myrepo만 활성화하는 방법바뀌지 않는다원래의 50unattended-upgrades?

답변1

구성 파일은 /etc/apt/apt.conf.d/50unattended-upgrades패키지의 직접적인 일부가 아닙니다 unattended-upgrades. 이 파일은 도움말 도구( dpkg-maintscript-helper주로) 를 통해 설치 스크립트에 의해 업그레이드됩니다.ucf --three-way --debconf-ok예를 들어 postinst파일을 참조하십시오.): 무엇보다도 파일을 새 관리자 버전으로 교체하기 전에 파일이 변경되었는지 확인합니다(일반적으로 기본적으로 변경된 버전을 유지하라는 메시지가 표시됩니다). 원본 참조는 에 안전하게 저장됩니다 /usr/share/unattended-upgrades/50unattended-upgrades.

모든 것을 말하면 옵션은 다음과 같습니다.

  1. 직접 변경 50unattended-upgrades: 데비안은 변경 사항을 존중하고 필요한 경우 무엇을 해야 하는지 알려줍니다(초기 기본값은 "변경된 버전 유지"입니다).

  2. 다른 파일( )에 복사하고 51unattended-upgrades파일을 비우십시오(그러나 보관하십시오). 위에서 언급했듯이 데비안은 변경 사항 등을 존중합니다.

또는 APT를 구성하는 특정 APT 관련 방법이 있습니다.

  1. 특정 사용apt.conf(5)구문은 이전 트리를 잊어버리고 새 값으로 대체합니다.

    이 내용은 다음과 같이 기록됩니다.apt.conf(5)(강조):

    [...]는 #clear구성 트리의 일부를 삭제하는 데 사용됩니다. 이것지정된 요소와 해당 요소의 모든 하위 요소가 삭제됩니다.(이 줄은 세미콜론으로 끝나야 합니다.)

    #clear명령은 목록이나 전체 범위를 삭제하는 유일한 방법입니다. 범위를 다시 열거나(또는 아래에 설명된 구문에 :: 를 추가하여 사용) 이전에 작성된 항목을 덮어쓰지 않습니다.옵션은 새 값을 할당해야만 무시할 수 있습니다.목록과 범위는 다음과 같습니다.'티덮여, 단지분명한.

    문서가 약간 부족합니다. 시행착오 테스트를 통해( needrestart패키지 구성에서 수행하기 더 쉬움) #clear Some::Tree;"지시문은 최상위 수준에서만 수행할 수 있습니다." 즉, 범위 내가 아닌 모든 범위 외부의 정규화된 범위에서 호출해야 합니다. one 하위 범위에 적용됩니다.

따라서 51unattended-upgrades파일은 다음과 같이 시작할 수 있습니다.

#clear Unattended-Upgrade::Origins-Pattern;

이 파일의 후속 콘텐츠로 목록을 다시 채우기 전에 목록을 빈 목록으로 재설정합니다. 그러면 50unattended-upgrades전혀 변경할 필요가 없으며 다른 기본 설정(있는 경우)을 계속 사용할 수 있습니다.

방법 1, 2, 3을 사용하더라도 관리자는 두 데비안 릴리스의 (주요) 업그레이드 사이에 어떤 변경 사항이 발생했는지 확인해야 합니다. 예를 들어:Debian 10과 Debian 11 사이에 보안 저장소 URL 스키마가 변경되었습니다.: Debian 10에서 Debian 11로 업그레이드한 후 (재)정의할 때 수동으로 조정해야 합니다 Unattended-Upgrade::Origins-Pattern(OP의 특정 경우에는 적용되지 않으며 안전한 업그레이드를 비활성화하려는 의도도 있음).

관련 정보