-t release는 패키지를 다운그레이드하지 않지만 package/release는 왜 다운그레이드합니까?

-t release는 패키지를 다운그레이드하지 않지만 package/release는 왜 다운그레이드합니까?

패키지를 업그레이드할 때 마법 같은 일이 일어날 -t--default-release있습니다.

➜  ~  sudo apt-get install -t unstable libpam-gnome-keyring
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be upgraded:
  libpam-gnome-keyring
1 upgraded, 0 newly installed, 0 to remove and 376 not upgraded.
Need to get 284 kB of archives.
After this operation, 22.5 kB disk space will be freed.
(Reading database ... 268717 files and directories currently installed.)
Preparing to unpack .../libpam-gnome-keyring_3.12.0-2_i386.deb ...
Unpacking libpam-gnome-keyring (3.12.0-2) over (3.8.2-2+b1) ...
Setting up libpam-gnome-keyring (3.12.0-2) ...

하지만 이를 사용하여 다운그레이드하려고 하면 전혀 작동하지 않습니다.

➜  ~  sudo apt-get install -t testing libpam-gnome-keyring
Reading package lists... Done
Building dependency tree       
Reading state information... Done
libpam-gnome-keyring is already the newest version. ## Why???
libpam-gnome-keyring set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 25 not upgraded.

유일한 방법은 다음 package/target_release방법을 사용하는 것입니다.

➜  ~  sudo apt-get install libpam-gnome-keyring/testing
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Selected version '3.8.2-2+b1' (Debian:testing [i386]) for 'libpam-gnome-keyring'
The following packages will be DOWNGRADED:
  libpam-gnome-keyring
0 upgraded, 0 newly installed, 1 downgraded, 0 to remove and 0 not upgraded.
Need to get 272 kB of archives.
After this operation, 22.5 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
dpkg: warning: downgrading libpam-gnome-keyring from 3.12.0-2 to 3.8.2-2+b1
(Reading database ... 268716 files and directories currently installed.)
Preparing to unpack .../libpam-gnome-keyring_3.8.2-2+b1_i386.deb ...
Unpacking libpam-gnome-keyring (3.8.2-2+b1) over (3.12.0-2) ...
Setting up libpam-gnome-keyring (3.8.2-2+b1) ...

-t패키지를 다운그레이드 하지 않는 이유는 무엇입니까 ?

답변1

-t옵션은 단순히 apt의 고정 기본 설정을 제거하고 선택한 버전을 다음과 같은 우선순위 990으로 설정합니다.

Package: *
Pin: release a=testing # for testing
Pin-Priority: 900

이 우선순위는 패키지 다운그레이드를 강제할 만큼 높지 않습니다. 패키지를 강제로 다운그레이드하려면 다운그레이드하려는 버전에 대해 우선 순위를 1000 이상으로 설정하거나, 제거하려는 버전에서 패키지에 대해 -1 이하의 우선 순위를 설정해야 합니다.

package/release완전히 다른 일을 해보세요. 패키지가 여러 개인 경우 패키지 아카이브에서 최신 버전을 선택하고 해당 패키지만 설치합니다. 다음과 동일:

apt-get download package=version
dpkg -i --force-downgrade package.deb

요약하면 -t둘 다 package/release서로 다른 절차를 따르며 apt에서 패키지를 다운그레이드할 수 있는 유일한 명령은 명시적인 버전 선택기 package=version및 입니다 package/release.

관련 정보