分类 编程 下的文章

问题描述
/usr/bin/ld: cannot find -lxxx
其中 xxx 即表示函式库文件名称,其命名规则是:lib+库名(即xxx)+.so。

可能原因:
1.安装,但相对应的 lib 版本不兼容。
我们需要的是 libjpeg.so.8.0,但安装的是 libjpeg.so.6.0。或者是需要 arm 平台上的 lib,但我们安装的是 X86 架构的,或反之本来是要编译 arm 平台上的却忘了指定交叉编译器,我们需要 32 位但我们安装的是 64 位的。
2.安装了,版本也对了,但 lib(.so.version-num) 的 symbolic link 不正确,没有连结到正确的函式库文件(.so)。
我们需要的是 libjpeg.so.8.0,也安装上了。但是实际使用时我们是查找的 libjpeg.so,就需要相应的一个名为 libjpeg.so 的 link 指向 libjpeg.so.8.0。
3.目录中确实没有相对应的 lib。
系统中没有安装相对应的 lib,安装了,但不在这个目录且不在环境变量中。

- 阅读剩余部分 -

木马名称
Linux.BackDoor.Gates.5

中午服务器出现流量超高,平时只有几百 M 的流量,那时候发现流量上 G 了,而且提示阿里云有 DDOS 流量攻击行为。
开始也没有什么头绪,就是 ps 查进程,netstat 查端口号,nload 查流量。一时也没发现什么异常。
后来发现 root 的家目录下存在 conf.n 这个文件。
然而我并未创建这个文件,也是感觉问题来了。

/bin/ps,/bin/netsta 程序都是1.2M的大小,然后默认的只有几百 KB。
木马截图.png

- 阅读剩余部分 -

max_execution_time

PHP 最大执行时间,php.ini 中默认数值为 30,即在页面执行 30s 后,服务器会直接强制终止页面的执行。
对于一般的页面,30s 足够了,但对于有些需要直接利用 PHP 执行进行大量数据分析的页面,就需要根据页面执行的效率,调整 max_execution_time 的值,当然尽可能改善你的算法,获得最佳页面执行效率。

- 阅读剩余部分 -

警告提示:

Warning: phpinfo() [function.phpinfo]: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'UTC' for '8.0/no DST' instead in D:\apache2.2\htdocs\index.php on line 2

- 阅读剩余部分 -

现在开源社区常用的开源协议有 MIT License、GPL、Apache License。
具体的区分可见下图。
开源协议.png

GPL 下,软件修改后的衍生软件仍然需要适用 GPL,这意味着 GPL 具有传染性。如果整个软件中有一段代码适用了 GPL,那么整个软件也都必须适用 GPL,从而需要开放所有的源代码,这不是十分商业友好。如果一个软件链接到 GPL 下的库,由于在法律意义上该软件加上其链接的库都属于衍生软件,因此根据 GPL 的规定,衍生软件需要开源

LGPL 是 lesser GPL 的简称,也就是限制更少的 GPL 的意思。在 LGPL 下发布一个库时,链接到该库的软件可以不使用 LGPL 或 GPL,即可以不公开源代码。LGPL 的这一特性消除了在 GPL 下软件商用的障碍。但需要注意的是,使用该库的软件不需要开源,但是基于该库的修改而得到的软件仍然需要遵循 GPL 进行开源,因为 LGPL 是一个弱著佐权性质的许可证。

MPL 即 Mozilla Public License,谋智公共许可证。MPL 与 NPL(Netscape Public License)都是网景公司决定将其网景导航者浏览器开源的结果,只是在 NPL 下,网景公司保留了一些权力。MPL 非常类似于标准的公司合同,并且成为众多开源软件许可证的基础。MPL 与 LGPL 类似,是一种介于 GPL 许可证与宽松许可证之间的弱著佐权许可证,二者的差异主要在于 LGPL 针对库,而 MPL 针对单个文件。在 MPL 下,在发行修改后的软件时,需要公开修改后的软件的源代码。在自己独立开发的文件与其他文件混合为一个项目的情况下,独立开发的文件可以不公开源代码。MPL 下的文件可以与闭源文件结合使用,结合后,MPL 下的文件将继续保持其 MPL 状态。

BSDL 即 Berkeley Software Distribution License,伯克利软件发行许可证,是加州大学伯克利分校撰写的许可证。在 BSD 许可证下,保留著作权声明、许可证内容以及记载无瑕疵担保责任即可,只要满足该条件,就可以不公开源代码地发行将 BSD 下的软件进行修改而生成的衍生软件。

MIT License 即麻省理工学院许可证,其类似于 BSD 许可证,二者之间的差异极其细微。

Apache License 即阿帕奇许可证,由阿帕奇软件基金会发布。除了在阿帕奇社区内被广泛使用外,许多基金会外的项目也使用了阿帕奇许可证。1.1 版的阿帕奇许可证类似于 BSD 许可证和 MIT 许可证。2004 年发布的 2.0 版阿帕奇许可证则加入了两项专利条款。

开源许可证与其他许可证不兼容。
GPL 许可证与绝大多数许可证不兼容
宽松许可证是互相兼容的。

http://doc.yonyoucloud.com/doc/producingoss/dual-licensing.html
https://github.com/elastic/elasticsearch/blob/master/LICENSE.txt