在前一篇博文中介绍了在 64 位 CentOS 上编译 OpenSSL 1.1.1 版的过程,在本篇中介绍一下编译后文件的分布。
编译时曾使用指令 ./config --prefix=/usr/local/openssl-1.1.1 指定了编译后文件的存放位置,现在到 /usr/local/openssl-1.1.1 路径下,查看一下有哪些文件及子目录,发现子目录分布的情况如下:
/usr/local/openssl-1.1.1
|
|---- bin
|
|---- include
| |
| | ---- openssl
|
|
|---- lib
| |
| | ---- engines-1.1
| |
| | ---- pkgconfig
|
|
|---- share
| |
| | ---- doc
| | |
| | |--- openssl
| | |
| | | ---- html
| | |
| | | ---- man1
| | |
| | | ---- man3
| | |
| | | ---- man5
| | |
| | | ---- man7
| | ---- man
| |
| | ---- man1
| |
| | ---- man3
| |
| | ---- man5
| |
| | ---- man7
|
|
| ---- ssl
|
| ---- certs
|
| ---- private
|
| ---- misc
从子目录分布树结构可以看出,编译后有 5 个一级子目录:bin, include, lib, share, ssl 。
bin 目录下有两个文件:c_rehash 和 openssl 。c_rehash 是一个Perl脚本,openssl 是一个可执行文件。
include/openssl 目录下有 aes.h, cms.h, ecdsa.h 等 OpenSSL 头文件。
lib 目录下包含:engines-1.1(目录),pkgconfig(目录),静态库文件 libssl.a 和 libcrypto.a ,四个动态库文件 libcrypto.so, libcrypto.so.1.1, libssl.so, libssl.so.1.1(其中 libcrypto.so.1.1 和 libssl.so.1.1 是真正的动态库,libcrypto.so 和 libssl.so 是符号链接文件)
share 目录下有两个子目录 doc 和 man 。在 share/doc/openssl/html/man 路径下有四个子目录 man1, man3,man5, man7,在这些子目录,特别是 man3 下面存放有大量 html 格式的帮助手册文件。
在 share/man 路径下也有四个子目录 man1, man3,man5, man7。man1 目录下的文件以 .1 为后缀,man3 目录下的文件以 .3 为后缀,man5 目录下的文件以 .5 为后缀,man7 目录下的文件以 .7 为后缀。share/doc/openssl/html/man 下各子目录内的 html 文件应该就是根据这些 .1,.3,.5,.7 为后缀的文件生成的。
ssl 目录下除去三个子目录,还有示范配置文件 openssl.cnf ,证书透明度日志(Certificate Transparency logs)文件等。