如何强制 apt-get 从 fontforge 存储库安装最新版本

如何强制 apt-get 从 fontforge 存储库安装最新版本

我是一个完全的 Linux 菜鸟,我似乎无法apt-get安装最新版本的font-forge.

背景:我在 Windows 10 中运行 Ubuntu 子系统,甚至使用 Xming Server 运行 GUI 应用程序。是的,我可以运行虚拟机,但我觉得我只是尝试一下作为概念验证。不管怎样,我认为这与我的真正问题无关,我只是想提一下我的设置以防万一。

我运行的 Ubuntu 版本是18.04.4 LTS (Bionic Beaver).我跑了apt-get updateapt-get upgrade一切都是最新的。

所以我遵循Ubuntu 下的 fontforge 安装说明并运行以下命令:

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:fontforge/fontforge
sudo apt-get update
sudo apt-get install fontforge

这安装了 fontforge,它确实打开并显示,但问题是它是旧版本:1:20170731~dfsg-1

该命令fontforge -v显示

...
 Based on sources from 11:21 UTC 24-Sep-2017-ML-D.
 Based on source from git with hash:
no xdefs_filename!
...
fontforge 11:21 UTC 24-Sep-2017
libfontforge 20170924

这一页列为20190413-27-g1acfefa-0ubuntu1~bionicBionic 的最新版本,但它旁边还注明“(有更新版本)”并链接到这一页,这似乎表明 Ubuntu 默认存储库中的版本被视为比 fontforge 存储库中的版本更新。我很困惑为什么会出现这种情况,我想告诉您apt-get安装其他更新的版本。

我想最安全的路径是从源代码编译,因为 fontforge 存储库中的版本似乎落后了相当一段时间,但我真的不想这样做。


根据要求,输出apt-cache policy fontforge

apt-cache policy fontforge
fontforge:
  Installed: 1:20170731~dfsg-1
  Candidate: 1:20170731~dfsg-1
  Version table:
 *** 1:20170731~dfsg-1 500
        500 http://archive.ubuntu.com/ubuntu bionic/universe amd64 Packages
        100 /var/lib/dpkg/status
     20190413-27-g1acfefa-0ubuntu1~bionic 500
        500 http://ppa.launchpad.net/fontforge/fontforge/ubuntu bionic/main amd64 Packages

答案1

Ubuntu 存储库中版本开头1:的 (称为纪元)会导致apt将该版本视为比 PPA 中的版本新。要安装后者,您需要apt明确要求这样做:

sudo apt install fontforge=20190413-27-g1acfefa-0ubuntu1~bionic

然后,您需要保留它,或者在 PPA 上添加 pin 优先级,以防止将apt包“升级”到 Ubuntu 存储库中的版本:

sudo apt-mark hold fontforge

相关内容