Buster 및 SID에 대한 리포지토리가 있는 경우 적절한 업데이트 및 업그레이드를 통해 특정 버전의 패키지를 어떻게 설치합니까?

Buster 및 SID에 대한 리포지토리가 있는 경우 적절한 업데이트 및 업그레이드를 통해 특정 버전의 패키지를 어떻게 설치합니까?

주목! 학업과 관련된 업무에 대한 질문입니다. 선생님은 이 작업에 대한 해결책이 없을 수도 있지만 패키지 관리 방법을 배우려면 모든 노력을 기울여야 한다고 말씀하셨습니다. 즉, "해결책이 없습니다"라고 대답하지 마십시오. 해결 방법이 없다면 이유를 알려주시고, 절반 정도 해결 방법이 있으면 알려주시기 바랍니다.
읽어 주셔서 감사합니다

장면 설명

내 가상 머신은 Debian 10을 실행하고 있으며 그 안에 /etc/apt/sources.listBuster 및 SID 버전용 저장소가 있습니다.
여기 내 것이 있어요sources.list

# 

# deb cdrom:[Debian GNU/Linux 10.0.0 _Buster_ - Official amd64 NETINST 20190706-10:23]/ buster main

#deb cdrom:[Debian GNU/Linux 10.0.0 _Buster_ - Official amd64 NETINST 20190706-10:23]/ buster main

deb http://deb.debian.org/debian buster main
deb-src http://deb.debian.org/debian buster main

deb http://security.debian.org/debian-security buster/updates main
deb-src http://security.debian.org/debian-security buster/updates main

# This system was installed using small removable media
# (e.g. netinst, live or single CD). The matching "deb cdrom"
# entries were disabled at the end of the installation process.
# For information about how to configure apt package sources,
# see the sources.list(5) manual.

#SID repos
deb http://deb.debian.org/debian sid main
deb-src http://deb.debian.org/debian sid main

둘째, 내 /etc/apt/preferences.d디렉토리에는 이라는 디렉토리가 있습니다 sid_priority. 다음은 그 내용입니다.

Package: *
Pin: release a=sid
Pin-Priority: -1

이 파일에 대한 몇 가지 설명

이 파일은 모든 sid 패키지의 우선순위를 -1로 낮추기 위한 것입니다. 따라서 실행하면 sudo apt update결국 sudo apt upgradeBuster 패키지만 설치하고 업그레이드하게 됩니다. sid 저장소는 수동 설치 및 업그레이드(예: 실행)에만 사용됩니다. sudo apt install(또한 패키지 우선 순위가 어떻게 작동하는지 거의 모르고 인터넷을 조금 본 것 뿐이며 기본 사항의 기본만 이해할 수 있습니다. ).

나는 무엇을 성취하고 싶은가?

기본적으로 Buster 저장소를 통해서만 설치하고 업그레이드하고 싶습니다. 즉, sudo apt update' orsudo apt update , I'm not going to install any sid packages. I'll just install sid packages if I runsudo apt install을 실행하면 `

나에게 무슨 일이 일어났는가

우선 순위가 유효하다고 생각했지만 실행을 통해 sudo apt upgrade결국 sid 패킷을 받게 되었습니다. 다음 예를 볼 수 있습니다.

libc6:
  Installed: 2.29-2
  Candidate: 2.29-2
  Version table:
 *** 2.29-2 500
        500 http://deb.debian.org/debian sid/main amd64 Packages
        100 /var/lib/dpkg/status
     2.28-10 500
        500 http://deb.debian.org/debian buster/main amd64 Packages

그런데, 여러분이 원하는 것이 무엇이든 제안하는 것을 두려워하지 마십시오. 왜냐하면 저는 가상 머신으로 작업하고 있고 이 작업을 위해 특별히 가상 머신을 사용하고 있기 때문입니다. 삭제해야 한다면 삭제하겠습니다.
당신의 도움을 주셔서 감사합니다

답변1

매뉴얼 페이지의 첫 번째 예는 귀하의 질문에 대한 답변입니다.

추적이 안정적입니다.

다음 APT 환경 설정 파일은 APT가 안정적인 배포판에 속하는 모든 패키지 버전에 기본값(500)보다 높은 우선 순위를 할당하고 다른 Debian 배포판에 속하는 패키지 버전에는 매우 낮은 우선 순위를 할당하도록 합니다.

설명: 안정 릴리스 이외의 Debian 파생 패키지 버전을 제거하거나 설치하지 않습니다.

Package: *
Pin: release a=stable
Pin-Priority: 900
Package: *
Pin: release o=Debian
Pin-Priority: -10

당신은 sid_preference다음과 같아야합니다 :

Package: *
Pin: release a=stable
Pin-Priority: 900

Package: *
Pin: release o=Debian
Pin-Priority: -1

확인하다:

sudo apt update
apt policy libc6

예제 출력:

libc6:
  Installed: 2.28-10
  Candidate: 2.28-10
  Version table:
     2.29-2 -1
         -1 http://deb.debian.org/debian sid/main amd64 Packages
 *** 2.28-10 900
        900 http://deb.debian.org/debian buster/main amd64 Packages
        100 /var/lib/dpkg/status

man apt_preferences:

the Origin: line

names the originator of the packages in the directory tree of 
the Release file. Most commonly, this is Debian. Specifying this
origin in the APT preferences file would require the line:

    Pin: release o=Debian

답변2

버전 기반 핀 구성에서 (키트 일치) 또는 (코드 이름 일치)를 사용하십시오 a=unstable. 아무것도 일치하지 않습니다. 을 참조하십시오.n=sida=sidman apt_preferences

관련 정보