Debian Sid:将单个软件包降级到“以前的版本”

Debian Sid:将单个软件包降级到“以前的版本”

我很高兴运行最先进的 Debian Sid 工作站。

不幸的是,我陷入了“上游回归”(network-manager-vpnc 破坏了 1.2.7 -> 1.2.8)

因此我需要“降级”到以前的版本。

我知道我应该能够通过以下方式做到这一点:

sudo apt install network-manager-vpnc=1.2.7

但这似乎对 Sid 不起作用,因为我得到:

sudo apt policy network-manager-vpnc
network-manager-vpnc:
  Installed: 1.2.8-3
  Candidate: 1.2.8-3
  Version table:
 *** 1.2.8-3 500
        500 http://deb.debian.org/debian sid/main amd64 Packages
        100 /var/lib/dpkg/status

这意味着只有一个版本可用,因此出现错误也就不足为奇了:

sudo apt install network-manager-vpnc=1.2.7
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package network-manager-vpnc is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Version '1.2.7' for 'network-manager-vpnc' was not found

我能做些什么?

更新:因为 @Stephen-Kitt 正确地指出“以前的版本”(1.2.7)从未上传到 Debian 档案,所以“解决方案”是降级到 1.2.6-3。

进入工作系统的程序(对我来说)是:

mcon@cinderella:/tmp/t$ wget http://ftp.it.debian.org/debian/pool/main/n/network-manager-vpnc/network-manager-vpnc_1.2.6-3_amd64.deb
--2022-04-28 19:34:27--  http://ftp.it.debian.org/debian/pool/main/n/network-manager-vpnc/network-manager-vpnc_1.2.6-3_amd64.deb
Resolving ftp.it.debian.org (ftp.it.debian.org)... 85.94.199.210, 2001:4b78:2000:1::1
Connecting to ftp.it.debian.org (ftp.it.debian.org)|85.94.199.210|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 125812 (123K) [application/vnd.debian.binary-package]
Saving to: ‘network-manager-vpnc_1.2.6-3_amd64.deb’

network-manager-vpnc_1.2.6-3_am 100%[====================================================>] 122.86K  --.-KB/s    in 0.05s   

2022-04-28 19:34:27 (2.29 MB/s) - ‘network-manager-vpnc_1.2.6-3_amd64.deb’ saved [125812/125812]

mcon@cinderella:/tmp/t$ wget http://ftp.it.debian.org/debian/pool/main/n/network-manager-vpnc/network-manager-vpnc-gnome_1.2.6-3_amd64.deb
--2022-04-28 19:34:56--  http://ftp.it.debian.org/debian/pool/main/n/network-manager-vpnc/network-manager-vpnc-gnome_1.2.6-3_amd64.deb
Resolving ftp.it.debian.org (ftp.it.debian.org)... 85.94.199.210, 2001:4b78:2000:1::1
Connecting to ftp.it.debian.org (ftp.it.debian.org)|85.94.199.210|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 35592 (35K) [application/vnd.debian.binary-package]
Saving to: ‘network-manager-vpnc-gnome_1.2.6-3_amd64.deb’

network-manager-vpnc-gnome_1.2. 100%[====================================================>]  34.76K  --.-KB/s    in 0.02s   

2022-04-28 19:34:56 (1.69 MB/s) - ‘network-manager-vpnc-gnome_1.2.6-3_amd64.deb’ saved [35592/35592]
mcon@cinderella:~$ sudo apt remove --purge network-manager-vpnc network-manager-vpnc-gnome 
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following package was automatically installed and is no longer required:
  vpnc
Use 'sudo apt autoremove' to remove it.
The following packages will be REMOVED:
  network-manager-vpnc* network-manager-vpnc-gnome*
0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded.
After this operation, 1,026 kB disk space will be freed.
Do you want to continue? [Y/n] 
(Reading database ... 244048 files and directories currently installed.)
Removing network-manager-vpnc-gnome (1.2.8-3) ...
Removing network-manager-vpnc (1.2.8-3) ...
Processing triggers for dbus (1.14.0-1) ...
mcon@cinderella:~$ sudo dpkg -i /tmp/t/network-manager-vpnc_1.2.6-3_amd64.deb 
Selecting previously unselected package network-manager-vpnc.
(Reading database ... 243969 files and directories currently installed.)
Preparing to unpack .../network-manager-vpnc_1.2.6-3_amd64.deb ...
Unpacking network-manager-vpnc (1.2.6-3) ...
Setting up network-manager-vpnc (1.2.6-3) ...
Processing triggers for dbus (1.14.0-1) ...
mcon@cinderella:~$ sudo dpkg -i /tmp/t/network-manager-vpnc-gnome_1.2.6-3_amd64.deb 
Selecting previously unselected package network-manager-vpnc-gnome.
(Reading database ... 244039 files and directories currently installed.)
Preparing to unpack .../network-manager-vpnc-gnome_1.2.6-3_amd64.deb ...
Unpacking network-manager-vpnc-gnome (1.2.6-3) ...
Setting up network-manager-vpnc-gnome (1.2.6-3) ...
mcon@cinderella:~$ 

然后,在检查它确实有效后:

mcon@cinderella:/tmp/t$ sudo apt-mark hold network-manager-vpnc
network-manager-vpnc set on hold.
mcon@cinderella:/tmp/t$ sudo apt-mark hold network-manager-vpnc-gnome
network-manager-vpnc-gnome set on hold.

非常感谢@Stephen

答案1

如果您使用 Debian,我怀疑旧版本是 1.2.7,因为从未上传到档案馆。请注意,对于apt=语法,您需要指定完整的包版本,例如“1.2.8-3”。

无论如何,您可以在 snapshot.debian.org 上找到过去 15 年上传到存档的软件包的所有版本;这包括network-manager-vpnc。在那里下载适当的软件包,安装它(使用dpkg -i),然后保留它(apt-mark hold network-manager-vpnc),这样它就不会再次升级。

您可以apt为特定快照配置源;看Debian 10:升级到特定次要版本 (10.10)了解详情。您可能还会发现为什么以前版本的 Debian 软件包会在软件包存储库中消失? (与版本控制系统配置高度相关)相关的。

还请提交一个错误 ( reportbug network-manager-vpnc),以便其他人能够了解该回归并希望它能够得到修复。

相关内容