2.5. 安装任意工件
与 UNIX 类似的系统使用文件系统层次结构标准(FHS)指定适合特定文件的目录。
				从 RPM 软件包安装的文件按照 FHS 放置在其中。例如,可执行文件应进入一个位于系统 $PATH 变量中的目录。
			
在本文档的上下文中,Arbitrary Artifact(任意工件) 代表从 RPM 安装到系统的项。对于 RPM 和系统,它可以是脚本、从软件包的源代码编译的二进制代码、预编译二进制文件或任何其他文件。
这部分论述了将 Arbitrary Artifacts 放置到系统的两个常用方法:
2.5.1. 使用 install 命令
					在构建自动化工具(如 GNU make )进行构建自动化工具时,打包程序通常使用 install 命令;例如,打包程序不需要额外的开销。
				
					install 命令由 coreutils 向系统提供,后者将工件放置在文件系统中具有指定权限集的文件系统中。
				
					以下流程使用之前作为此安装方法创建的任意工件的 bello 文件。
				
步骤
- 运行 - install命令,将- bello文件放入- /usr/bin目录中,权限为可执行脚本:- sudo install -m 0755 bello /usr/bin/bello - $ sudo install -m 0755 bello /usr/bin/bello- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 现在, - stllo位于- $PATH变量中列出的目录中。
- 从任何目录中执行 - bello,而不指定其完整路径:- cd ~ bello - $ cd ~ $ bello Hello World- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
2.5.2. 使用 make install 命令
					使用 make install 命令是自动安装构建软件到系统的方法。在这种情况下,您需要指定如何在由开发人员编写的 Makefile 中向系统安装任意工件。
				
此流程演示了如何将构建工件安装到系统中所选位置。
步骤
- 将 - install部分添加到- Makefile中:- Makefile- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 请注意, - cello:,- clean:, and- install:下的行需要以一个 tab 空间开头。注意- $(DESTDIR) 变量是一个 GNU make 内置变量,通常用于将安装指定到与根目录不同的目录中。 - 现在,您只能使用 - Makefile来构建软件,也可以将其安装到目标系统。
- 构建并安装 - cello.c程序:- make sudo make install - $ make gcc -g -o cello cello.c $ sudo make install install -m 0755 cello /usr/bin/cello- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 因此, - cello现在位于- $PATH变量中列出的目录中。
- 从任何目录中执行 - cello,而不指定其完整路径:- cd ~ cello - $ cd ~ $ cello Hello World- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow