如何在Ubuntu上降级软件包?


14

Update Manager会将软件包保留为最新版本,但有时新的软件包版本可能无法按预期或正常运行。如何降级已安装的软件包并将其锁定在特定版本以防止其更新?如何使用GUI终端执行此操作

Answers:


17

在GUI中-使用Synaptic

Ubuntu软件中心的简化界面不提供降级软件包的选项。Synaptic是Ubuntu以前包括的更高级的图形包管理器界面,提供了此选项。要以图形方式降级软件包,请首先安装Synaptic应用程序:

Ubuntu软件中心

完成此操作后,从Dash打开Synaptic软件包管理器:

突触

搜索要在Synaptic中安装旧版本的软件包,选择它,然后使用“ 软件包” >“ 强制版本”选项:

强制版本

选择要安装的版本,然后单击“强制版本”。Synaptic只会向您显示存储库中可用的版本:

选择版本

假定一切正常,请单击“ 应用”按钮以应用更改并安装较旧版本的软件包。

应用

降级软件包后,选择它并使用“ 软件包” >“ 锁定版本”选项。如果您不这样做,Ubuntu将在下次更新已安装的软件包时尝试升级已安装的软件包:

锁版

在终端中–使用 apt-get

您可以apt-getTerminal中安装特定版本的软件包。首先,使用以下命令确定可以安装的可用版本(对于packagename,要降级的程序名称):

apt-cache showpkg [packagename]

接下来,运行apt-get install命令并指定要安装的软件包版本(用于版本的先前确定要降级的程序的版本号):

sudo apt-get install [packagename]=[version]

安装完成后,运行以下命令来保存已安装的版本,以防止程序包管理器将来自动更新它:

sudo echo "[packagename] hold" | sudo dpkg --set-selections

资料来源http : //www.howtogeek.com/117929/how-to-downgrade-packages-on-ubuntu/


4
如果您基于此站点的答案howtogeek.com/117929/-ubuntu上的down-packages- on- ubuntu,请提供源链接。我认为howtogeek不会介意,但他们确实需要适当的源链接,以便获得信誉。
路易斯·阿尔瓦拉多

当我尝试执行此操作时,我遇到了无法满足依赖项的各种问题。我发现使用aptitude更好,因为这可以解决所有依赖性,例如sudo aptitude install smbclient = 2:4.1.6 + dfsg-1ubuntu2。参见askubuntu.com/questions/770789/how-to-downgrade-smbclient
Lance Holland,

3

另一种可能性:

让我们在http://packages.ubuntu.com/上找到已归档的软件包:

例如降级php5:

搜索:

在此处输入图片说明

找到一个确切的命中,让我们看一下php5的软件包页面:

在此处输入图片说明

我们可以放心地在这里看到Ubuntu版本的不同版本:

在此处输入图片说明

让我们切换到运行php(5.3)... 12.04(精确)的版本,例如:

在此处输入图片说明

下载tar.gz

在此处输入图片说明

然后解压缩tar文件并安装它:

cd /path/to/download
tar -xzvf name_of_package
cd name_of_extracted_folder
./configure
make
sudo make install

运行时可能遇到的可能问题./configure

  • 缺少依赖项(必须安装libxm2-dev): 在此处输入图片说明

运行中的问题make

  • 编译时的错误可能包括标记设置不正确,或代码本身存在问题。
  • 编译时会产生一堆垃圾,然后代码中出现一些问题?
  • 就我而言,我必须找到php的最新源文件/ tarball(http://php.net/downloads.php
  • 然后重试提取并制作
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.