-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

おすすめ記事