在 64 位 CentOS 6.9上編譯 OpenSSL 1.1.1 (2)
在前一篇博文中介紹了在 64 位 CentOS 上編譯 OpenSSL 1.1.1 版的過程,在本篇中介紹一下編譯後文件的分佈。
編譯時曾使用指令 ./config --prefix=/usr/local/openssl-1.1.1 指定了編譯後文件的存放位置,現在到該目錄下,檢視一下有哪些檔案及子目錄,子目錄分佈的情況如下:
/usr/local/openssl-1.1.1 | |---- bin | |---- include | | | |---- openssl | |---- lib | |---- 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)檔案等。