apt-get install -t appX 테스트 VS apt-get install appX/testing

apt-get install -t appX 테스트 VS apt-get install appX/testing

저는 이 두 명령의 차이점을 이해하려고 노력해 왔으며 결과가 서로 다르다는 것을 알았습니다.

apt-get install -t testing appX
apt-get install appX/testing

배경

소스 목록을 설정하고 다음과 같이 구성을 고정했습니다.https://serverfault.com/a/382101/132528

현재 결과

root@home:/etc/apt# apt-cache policy i3
i3:
Installed: (none)
Candidate: 4.2-2
Version table:
   4.8-1 0
    750 http://debian.mirror.ac.za/debian/ testing/main amd64 Packages
    750 http://ftp.us.debian.org/debian/ testing/main amd64 Packages
    50 http://debian.mirror.ac.za/debian/ unstable/main amd64 Packages
    50 http://ftp.us.debian.org/debian/ unstable/main amd64 Packages
   4.8-1~bpo70+1 0
    100 http://debian.mirror.ac.za/debian/ wheezy-backports/main amd64 Packages
   4.2-2 0
    995 http://debian.mirror.ac.za/debian/ wheezy/main amd64 Packages
    995 http://debian.mirror.ac.za/debian/ stable/main amd64 Packages
    995 http://ftp.us.debian.org/debian/ stable/main amd64 Packages

수행할 때 4.2-2를 선택합니다.

apt-get install -t testing appX

그리고 할 때 4.8을 선택합니다

apt-get install appX/testing

데비안 핸드북:

-t 타겟릴리스

업그레이드된 패키지를 검색할 때 apt-get에게 특정 배포판을 사용하도록 지시하려면 -t 또는 --target-release 옵션과 원하는 배포판 이름을 사용해야 합니다(예: apt-get -t stable 업그레이드).

패키지/배포

source.list 파일에 여러 배포판이 언급되어 있는 경우 설치할 패키지 버전을 제공할 수 있습니다. apt-get install package=version을 사용하여 특정 버전 번호를 요청할 수 있지만 apt-get install package/distribution을 사용하여 원본 배포(Stable, Testing 또는 Unstable)를 나타내는 것이 일반적으로 선호됩니다.

질문

두 경우 모두 원하는 분포를 지정했지만 현재 동작이 두 경우 간에 일관되지 않습니까?

답변1

저도 같은 문제를 겪고 있었는데 해결됐네요!!!

(원래 이 댓글을 달고 싶었는데원래의 대답왜냐하면 다른 사람들도 이 문제를 겪고 있는 것 같지만, 당시 나는 내 의견이 가치 있을 만큼 마법의 "평판" 포인트가 부족했기 때문에 이렇습니다.)

그가 적절한 고정을 위해 선택한 가치의 특이한 점이다. 를 실행하면 apt-get install my_packageapt는 고정 우선순위가 가장 높은 소스를 기준으로 해당 패키지를 설치할 소스를 선택합니다.

전체 시스템 설정(기본 릴리스)의 우선순위는 990입니다.

-t unstableapt-get 명령에 추가하면 일시적으로 해당 명령의 기본 릴리스가 "불안정"해집니다.

그는 고정 우선순위를 "안정적"으로 설정했습니다.995. 즉, 우선 순위가 기본 릴리스 우선 순위보다 훨씬 높기 때문에 패키지는 항상 stable에서 설치된다는 의미입니다.

그래서 수정은요? 쉽습니다. 핀 우선순위를 /etc/apt/preferences.d/security.pref995에서 900으로 변경하면 됩니다.

관련 정보