今天在安装redis的时候发现官方的文档上没有说要执行make install,直接cd 到src 目录里面执行redis-server
文件就能启动。
而看很多别人的笔记呢,则都写了make install
,发现实际就是把src目录下的几个二进制文件复制到了系统的/usr/local/bin
下面了而已。
查了下似乎是说make install
执行的是Makefile
里面的脚本。
实际的作用也就是上面说的复制二进制文件么?
只是以redis的安装为例,主要是问安装程序时候的make install
make install
(对make
命令来说)字面意思就是达成install
这个目标。这个目标既然叫install
,当然是执行软件的安装了。类 UNIX 系统中,软件的安装通常可选地包含以下步骤:
strip
去掉二进制代码文件中不需要的符号类 UNIX 系统的软件,有些不需要安装,执行可执行文件就可以直接用了。有些则不是这样,比如软件需要的配置文件、资源文件没有复制到相应的位置,包括动态链接库的软件需要更新动态链接库缓存否则会因为找不到刚刚编译出来的动态链接库而出错,等等。