source.list에 혼합 버전 항목이 포함되지 않도록 하는 방법이 있습니까?

source.list에 혼합 버전 항목이 포함되지 않도록 하는 방법이 있습니까?

나는 둘 다 사용했고 testing내 파일에는 과거의 buster이유로 데비안을sid/etc/apt/sources.list프랑켄 데비안. 온라인으로 검색해봐도 복원할 수 있는 방법이 없어서 데비안을 처음부터 다시 설치했습니다.

앞으로 이런 실수(!) 를 방지할 수 있는 검증된 방법이 있을까요? 예를 들어 sources.list업데이트 또는 설치 전에 혼합 버전 항목이 없는지 먼저 확인하는 트리거가 있습니까?

답변1

sources.list수동으로만 수정할 수 있습니다.

옛날 옛적에 buster이 키트의 코드명은 이었습니다 testing. 이 기간 동안 설치 했다면 /를 동등한 것으로 buster간주하여 임의로 둘 중 하나를 사용할 수도 있습니다. 그러나 되기 와 되기 에 관해서는 그들의 차이를 보게 될 것입니다.testingbusterbusterstabletestingbullseye

나는 사람들이 동일한 실수를 하고 stable키트와 stretch코드명을 혼동하는 것을 본 적이 있습니다. stretch이 기능은 있는 한 작동 stable하지만 변환이 발생하면 가 있는 모든 소스는 stable자동으로 으로 업그레이드되고 buster가 있는 모든 소스는 stretch여전히 동일한 버전으로 유지됩니다.

코드명과 키트를 언제 사용해야 하는지에 대한 몇 가지 제안 사항은 다음과 같습니다.

  • 대신 항상 코드명(예: buster) 을 사용하십시오 stable. 안정적인 배포판을 사용하는 이유는 apt upgrade위험이 없다는 것입니다. 사용하시면 stable2년 정도마다 깜짝 놀랄 일이 생길 것입니다.
  • 롤링 배포를 원할 경우 testing.there를 사용하세요.일부매번 위험을 감수 apt upgrade하지만 릴리스 주기의 영향을 받지 않습니다(일부 업데이트는 정지 중에 지연될 수 있음).
  • 다음 릴리스(예: Debian 11 Bullseye)를 미리 보는 경우 코드명을 사용하세요 bullseye. 해당 코드명이 공개될 때까지 테스트와 같은 순환 주기를 거치게 됩니다. 그러면 당신은 안정됩니다. 우리 조직에서는 안정적인 릴리스를 사용하지만 항상 다음 릴리스에 연결되는 몇 대의 시스템이 있으므로 업그레이드할 때 놀랄 일이 없습니다.

정말로 자신을 보호하고 싶다면(컴퓨터에 여러 개가 있을 수도 있음 sudoers) 몇 가지 옵션이 있습니다.

  1. apt.conf: /etc/apt.conf.d/00local추가:
APT::Default-Release "buster";

man apt.conf이를 다음과 같이 설명합니다.

여러 버전을 사용할 수 있는 경우 패키지의 기본 버전이 설치됩니다. 릴리스 이름, 코드명 또는 릴리스 버전을 포함합니다. 예: '안정', '테스트', '불안정', '브레이커', '과녁', '4.0', '5.0*'.

  1. 고정: 여기서는 자세히 설명하지 않겠지만 고정은 특정 패키지의 특정 버전을 강제 적용하는 매우 명확한 방법입니다. 정말 시스템을 망칠 수 있습니다. man apt_preferences자세히보다.

답변2

업데이트를 차단하는 설정은 없지만 에 따라 sources.list사용할 수 있습니다.고치기 쉽다특정 소스에서 패키지를 설치하지 않도록 강제하는 것을 포함하여 여러 소스에서 패키지가 선택되는 방식의 동작을 제어합니다.

적절한 고정을 사용하면 패키지 이름, 소스 패키지 이름, 버전 또는 패키지를 설치하려는 소스 저장소의 속성을 기반으로 패키지의 우선 순위를 설정할 수 있습니다. 현재 글로벌 우선순위 작업 상태를 봅니다 apt-cache policy.

예를 들어, 다음을 입력하면 /etc/apt/prefereneces/00default-releaseBuster, Buster-updates 및 Buster-security의 패키지가 선호되고, Buster-backports 및 비Debian 소스의 패키지가 정상적인 동작을 하게 됩니다. 마지막으로 데비안 소스의 다른 패키지는 설치되어 있고 다른 소스에서 사용할 수 없는 경우 제거 및 제거가 가능합니다.

Package: *
Pin: release n=buster,o=Debian
Pin-Priority: 990
Package: *
Pin: release n=buster-updates,o=Debian
Pin-Priority: 990
Package: *
Pin: release o=Debian
Pin-Priority: -10

Bullseye가 출시되면 소스코드를 편집한 후 업그레이드하기 전에 파일을 편집하여 변경하게 됩니다 buster.bullseye

저는 현재 Bullseye를 사용하고 있으며 다음과 같은 적절한 고정을 구성했습니다. Debian의 Bullseye 패키지에 우선 순위를 부여하고, 타사 소스의 Bullseye 패키지, 실험용 패키지를 제외한 Debian의 다른 패키지가 그 뒤를 따릅니다. 마지막으로 다른 모든 패키지의 기본 우선순위는 500이고, 실험적인 패키지의 기본 우선순위는 1입니다.

Package: *
Pin: release n=bullseye,o=Debian
Pin-Priority: 990
Package: *
Pin: release n=bullseye
Pin-Priority: 900
Package: *
Pin: release a=experimental
Pin-Priority: 1
Package: *
Pin: release o=Debian
Pin-Priority: 600

마지막으로, APT::Default-Release를 사용하지 않는 이유는 고정이 더 많은 제어를 제공하기 때문입니다. APT::Default-Release "buster";아래의 적절한 고정 항목에 대한 바로가기입니다.

Package: *
Pin: release n=buster
Pin-Priority: 990

관련 정보