不要只是随意地将.ttf文件扔到系统的某个地方。这会使迁移更加困难,并使您的计算机变得一团糟。像 RPM 这样的软件包管理软件让您可以轻松地以有组织的标准方式安装字体、管理字体升级,并使大规模字体分发变得轻而易举。
在这里,我们将为您提供模板和说明,以便您轻松构建字体的 RPM 包。我们将接受关于构建不同类型软件包的说明投稿。
要构建 RPM 包,您需要特殊的目录结构和一些环境配置。您应该以普通用户身份完成所有步骤。事实上,我们建议您不要以 root 用户身份执行此操作。
要创建这些目录,请执行以下操作
bash$ cd ~ bash$ mkdir -p src/rpm bash$ cd src/rpm bash$ cp -r /usr/src/redhat/* . bash$ ls BUILD/ RPMS/ SOURCES/ SPECS/ SRPMS/ bash$ |
(“~”是当前用户主目录名称的别名,命令行知道应该这样解释它)
当然,这是在 Red Hat 系统上,但重点是要在src/rpm:
下拥有以下目录
BUILD/
RPMS/noarch/
SRPMS/然后,您需要创建.rpmmacros
%_topdir YOUR_HOME_DIR_HERE/src/rpm |
文件在您的主目录中,并包含以下单行内容您应该替换YOUR_HOME_DIR_HERE为您$HOME然后,您需要创建目录的绝对名称。例如,我的
%_topdir /home/aviram/src/rpm |
现在您必须为您的字体集合考虑一个名称。为了使本文档更易于理解,我们从现在开始使用名称myfonts。然后您必须创建一个名为~/src/myfonts/myfonts的目录(是的,myfonts两次),并将您的所有.ttf文件放在它下面。所以您将得到类似这样的结构
bash$ cd ~/src bash$ find myfonts/myfonts/ myfonts/myfonts/ myfonts/myfonts/font1.ttf myfonts/myfonts/font2.ttf myfonts/myfonts/font3.ttf ... |
要构建 RPM 包,您必须创建一个.spec文件,该文件为软件包构建器提供有关如何组织文件、软件包描述、作者、版权等方面的说明。我们在此处提供了一个模板 here,您可以用来开始您的工作。该模板如下所示
示例 1..spec文件模板
您必须更改以下项目以满足您的软件包特性(其余所有内容保持不变)
此文件必须命名为软件包的名称 -myfonts.spec在我们的示例中。您必须将其放在软件包的主目录下。所以最后我们将得到类似这样的结构
bash$ cd ~/src bash$ find myfonts myfonts/ myfonts/myfonts.spec myfonts/myfonts/ myfonts/myfonts/font1.ttf myfonts/myfonts/font2.ttf myfonts/myfonts/font3.ttf ... |
我们几乎准备就绪了。下一步
bash$ cd ~/src bash$ tar -czvf myfonts.tar.gz myfonts bash$ rpmbuild -ta myfonts.tar.gz |
完成(在看到大量关于构建过程的消息之后)。所以我们基本上创建了一个.tar.gz文件,其中包含我们所有的字体文件和myfonts.spec文件,然后我们在其上使用了 rpmbuild,它将查找myfonts.spec文件在存档中并遵循其说明。
您将在~/src/rpm/RPMS/noarch/目录下找到生成的 RPM,这是您将部署和安装的文件。在~/src/rpm/SRPMS/下,您将找到源 RPM 文件,如果您将来需要重新生成可部署的 RPM,您应该备份该文件。当您需要它时,您应该执行
bash$ rpmbuild --rebuild myfonts-1.0-1.src.rpm |
然后将再次生成 RPM 文件。
有关更多信息和高级 RPM 打包,请阅读 Maximum RPM 书籍,该书可在 rpm.org 网站上以多种格式提供。