问题描述
我的任务是在Ubuntu Server Trusty Tahr安装上更新软件包。特别是rfc5766-turn-server,它在Trusty上确实很旧。
https://launchpad.net/ubuntu/+source/rfc5766-turn-server
如您所见,Trusty的最新软件包是3.2.3.1-1,而Utopic Unicorn的最新软件包是3.2.4.1-1。
是否可以使用apt来更新单个软件包?这是专用的turn-server,所以我不想下载源代码和所有构建工具。
最佳方法
您可以简单地下载.deb
并将其与dpkg -i file.deb
一起安装。但是,这将是one-time安装,在正常的apt-get update && apt-get upgrade
过程中,您将不会获得此软件包的更新。如果要获取它们,则必须将Utopic存储库添加到sources.list
并使用/etc/apt/preferences
指示它们仅应用于此程序包,例如
Package: *
Pin: release n=trusty
Pin-Priority: 501
Package: rfc5766-turn-server
Pin: release n=utopic
Pin-Priority: 502
有关其工作原理的详细信息,请参见man apt_preferences
。但是,基本上,Apt始终以最高优先级安装该软件包。仅当多个软件包具有最高优先级时(然后安装了具有最高版本号的软件包),才将版本号用作tie-breakers。默认情况下,所有软件包的优先级均为500,因此,如果sources.list
中同时具有Trusty和Utopic存储库,则将安装Utopic版本,因为它们的版本号更高。我们首先为所有Trusty软件包分配优先级501,因此由于它们具有更高的优先级,因此不会将它们升级到Utopic。然后,我们将优先级502从Utopic分配给软件包rfc5766-turn-server
,这样它将比Trusty版本优先(当然,我们也可以为其分配优先级501 …)。