一. 前言
由于strongswan是由几个工具组成并且需要依赖一些动态库,某些工具在运行时,会启动其他工具,启动其他工具是通过绝对路径寻找,所以编译时需要指定好工具的路径。
二. 编译
strongswan在make install后会产生一些目录。包含了命令文件,配置文件,库文件,组件库和man手册。
一级目录如下:
bin etc lib libexec sbin share
详细目录结构如下:
├── bin
├── etc
│ ├── ipsec.d
│ │ ├── aacerts
│ │ ├── acerts
│ │ ├── cacerts
│ │ ├── certs
│ │ ├── crls
│ │ ├── ocspcerts
│ │ ├── private
│ │ └── reqs
│ ├── strongswan.d
│ │ └── charon
│ └── swanctl
│ ├── bliss
│ ├── conf.d
│ ├── ecdsa
│ ├── pkcs12
│ ├── pkcs8
│ ├── private
│ ├── pubkey
│ ├── rsa
│ ├── x509
│ ├── x509aa
│ ├── x509ac
│ ├── x509ca
│ ├── x509crl
│ └── x509ocsp
├── lib
│ └── ipsec
│ └── plugins
├── libexec
│ └── ipsec
├── sbin
└── share
├── man
│ ├── man1
│ ├── man5
│ └── man8
└── strongswan
└── templates
└── config
├── plugins
└── strongswan.d
1. 配置
./configure \
CC=/myproject_new/mipsel-mt7620-linux-gnu/bin/mipsel-mt7620-linux-gnu-gcc \
--host=mipsel-mt7620-linux-gnu \
--prefix=/usr \
--libexecdir=/usr/libexec \
--libdir=/lib \
--sysconfdir=/etc \
--with-ipseclibdir=/usr/lib/ipsec \
--with-plugindir=/usr/lib/ipsec/plugins \
LDFLAGS=-L/myproject_new/staging_dir/lib \
CFLAGS=-I/myproject_new/staging_dir/include
--prefix:bin和sbin目录安装的路径。本例为/usr。
--libexecdir:libexec目录下的文件安装的路径。本例为/usr/libexec。
--libdir:这里没有用到
--sysconfdir:etc目录安装的路径。本例为/etc。
--with-ipseclibdir:lib下的libstrongswan和libcharon等库的安装路径。本例为/usr/lib/ipsec。
--with-plugindir:组件库的安装路径。本例中为/usr/lib/ipsec/plugins。
2. 编译
make && make install
3. 安装
cp /usr/lib/ipsec usr/lib/ -rdf
cp /etc/ipsec.conf etc/ -rdf
cp /etc/ipsec.d etc/ -rdf
cp /etc/ipsec.secrets etc/ -rdf
cp /etc/strongswan.conf etc/ -rdf
cp /etc/strongswan.d etc/ -rdf
cp /etc/swanctl etc/ -rdf
cp /bin/pki bin/ -rdf
cp /usr/sbin/ipsec usr/sbin/ipsec -rdf
cp /usr/sbin/swanctl usr/sbin/swanctl -rdf
mkdir usr/libexec
cp /usr/libexec/ipsec usr/libexec/ -rdf
将安装的编译文件拷贝到跟文件系统。
三. 总结
本文介绍了strongswan安装的详细步骤,并且介绍了编译的安装路径的选项的含义。下一篇将介绍一个简单的示例。