linux 源码编译可移植版本(portable)

1月 1, 2019 |

如果我们有多台服务器需要安装同一款软件,如果去每个机器上make,make install是一件很繁琐的事。因为按照的时候我们需要预先安装一堆的工具及库文件。所以在一台机器上将如见编译成可移植的版本是个不错的选择。这时我们要用到gcc 的statically link技术。当然这需要你的服务器的cpu架构是一致的,不然你编辑机上的库没办法在别的机器上使用。
已redis为例,具体步骤如下:
1、先确认glibc-static组件已经安装
yum install glibc-static

2、make时指定gcc -static 参数
make SHARED=0 CC='gcc -static'

3、将编译的结果拷贝到一个目录
find src/ -perm /a+x -exec cp {} redis-portable-$VERSION-$ARCHS/ \;

/a+x 表示当前用户,组,其他用户有执行权限
\; 表示 -exec 之后,逗号之前都是传递给cp命令的参数 ,斜杠用于转义防止shell扩展

Posted in: redis

Comments are closed.