在标准AWS Lambda发行版上
/usr/lib64/libstdc++.so.6
链接到
libstdc++.so.6.0.19
我正在运行需要更新版本libstdc++.so.6.0.24
首先,我尝试更改符号链接,但是默认用户没有足够的特权。
然后,我尝试以sudo
的身份运行,但是很明显,lambda函数不允许这样做。
如何替换默认的符号链接以使用较新的库?
答案 0 :(得分:1)
我会尝试将所需的特定版本的库添加到Lambda层(https://docs.aws.amazon.com/lambda/latest/dg/configuration-layers.html)
这些在运行时解压缩到/opt
,并添加到PATH
和LD_LIBRARY_PATH
中,以便加载程序在本机加载程序之前将其拾取。
请确保包括为Amazon Linux编译的二进制文件,因为这是AWS Lambda使用的基础发行版。
正如Thales在另一个答案中所解释的那样,您将打破“无服务器”概念。您将负责维护操作系统的该部分,例如在发布新版本时提供更新等。