我已经安装Mantis 漏洞追踪器在 CentOS 6.3 服务器上并启用JP 图插件。但是,为了让这个插件显示所需的 TTF 字体,我必须安装一个叫做“msttcorefonts”的东西。
据我所知,我需要 Microsoft 的 Arial 字体,但我绝不是 Linux 或命令行方面的专家,而且我发现这真的很难。此外,这个服务器非常重要,如果在输入这些随机命令后它能保持运行就好了。
我知道我必须先获得一些先决条件工具。
所以我得到了RPM 构建工具并成功安装它们。现在能够rpmbuild --version
给出RPM version 4.8.0
。
但是当我尝试“创建包”时这里我收到这个新错误。叹:
alex@frankae1 [~]# rpmbuild -bb msttcorefonts-2.0-1.spec
warning: line 19: buildprereq is deprecated: BuildPrereq: /usr/bin/ttmkfdir
warning: line 20: buildprereq is deprecated: BuildPrereq: wget
warning: line 21: buildprereq is deprecated: BuildPrereq: cabextract
error: Failed build dependencies:
/usr/bin/ttmkfdir is needed by msttcorefonts-2.0-1.noarch
我花了一整天的时间才到达这一点,但却无法找到更多信息...有人能至少给我指明正确的方向吗?
任何帮助都将受到赞赏。
答案1
查看 spec 文件http://corefonts.sourceforge.net/msttcorefonts-2.0-1.spec(以及您引用的页面中的补丁),我看到:
BuildPrereq: %{ttmkfdir}
BuildPrereq: wget
BuildPrereq: cabextract
因此,在构建成功之前,您需要拥有与这些包相关的包。
您的错误:
error: Failed build dependencies:
/usr/bin/ttmkfdir is needed by msttcorefonts-2.0-1.noarch
与第一个 BuildPrereq 相关。
执行后yum search ttmkfdir
我发现它位于(有点明显的)ttmkfdir 包中。您可以yum search
在其他先决条件上执行此操作,但基本上,运行如下命令:
yum install ttmkfdir cabextract wget
安装先决条件,然后再次尝试 rpmbuild。
答案2
出于好奇:您确定需要 Arial 吗?Red Hat 创建了自己的 MS 字体替代品很久以前,我们讨论过Liberation
字体。这些字体也可以在 CentOS 存储库中找到,而且看起来很漂亮。
编辑:好的,你在评论中说字体是硬编码的。我想你仍然可以这样做
yum install liberation-sans-fonts
然后欺骗你的程序
cd /usr/share/fonts/liberation
cp LiberationSans-BoldItalic.ttf Arial-BoldItalic.ttf
(and so on for each LiberationSans font there)
最后,使用以下方法重建字体缓存
fc-cache
试一下。
或者,您可以使用 安装wine
,yum install wine
因为它会安装那些 MS 核心字体以供全系统使用。
答案3
您需要安装 ttmkfdir。您可以在这里获取它:http://pkgs.org/centos-6-rhel-6/centos-rhel-i386/ttmkfdir-3.0.9-32.1.el6.i686.rpm.html
但我建议您使用 yum:
yum install ttmkfdir
答案4
首先安装依赖项
# yum install curl cabextract xorg-x11-font-utils fontconfig
安装字体
# rpm -i https://downloads.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm
Microsoft Truetype 字体安装在此文件夹中:
/usr/share/fonts/msttcore/