答案1
要“安装”从源代码编译的二进制文件,最佳实践是将其放在以下目录下:
/usr/local/bin
在某些系统上,该路径已经在您的 PATH 变量中,如果没有,您可以通过调整配置文件之一中的 PATH 变量来添加它~/.bashrc ~/.profile
PATH=${PATH}:/usr/local/bin
dd
是一种低级复制工具,主要用于复制源的精确大小的块,例如文件或设备。
cp
是使用选项递归复制文件和目录的常用命令-r
,并使用选项保留权限-p
。
install
与 大部分类似,cp
但另外提供了直接设置目标文件属性的选项,而无需chmod
单独使用。
cp
您的文件并根据需要/usr/local/bin
调整变量。PATH
这就是我会做的。
答案2
install
和之间的主要区别cp
在于,如果目标文件已经存在,install
则首先取消链接。
手册页中没有指出这种差异。其他答案中列出的内容也很重要——两个程序都有不同的选项,而且 GNU 也install
有与 BSD 不同的选项install
,因此可移植的 Makefile 仅限于一个公共子集。
为什么取消链接(也可以通过rm
before完成cp
)很重要?如果您有一个带有两个硬链接的文件并使用其中一个硬链接修改它,那么它也会在文件系统的其他位置进行修改。但是,如果您先删除其中一个硬链接并用修改后的文件替换它,则另一个地方将保留原始版本。
更可能的情况是您在使用程序或库时更新它。如果先取消链接二进制文件,则不会影响正在运行的程序。这是一篇很好的文章,其中包含更多详细信息: http://en.chys.info/2009/05/install-vs-cp-and-mmap/
答案3
使用默认模式 755 安装副本文件。
可以配置安装来设置文件的所有者或组和/或文件的模式。
安装可以配置为在替换原始文件之前对其进行备份。