因为您可能不想用 pdftk 所需的所有依赖项污染您的生产映像 - 一种方法是在其他地方构建 pdftk 并将其部署到例如通过 S3。
以下是应该让你开始的步骤。从历史记录中复制和粘贴,因此应该显示所需的步骤。
从 AWS(或本地 Centos 6)获取 RedHat 实例
sudo su -
yum install gcc
yum install gcc-java
yum install gcc-c++
cd /tmp/
wget http://pkgs.repoforge.org/pdftk/pdftk-1.44-2.rf.src.rpm
rpm2cpio pdftk-1.44-2.rf.src.rpm | cpio -idmv
unzip pdftk-1.44-src.zip
cd pdftk-1.44-dist/
cd pdftk
make -f Makefile.Redhat
find / -iname libgcj.so.10.0.0
mkdir -p /tmp/pdftk
cp pdftk /tmp/pdftk
find / -iname libgcj.so.10.0.0
cp /usr/lib64/libgcj.so.10.0.0 /tmp/pdftk
cd /tmp/
tar cvzf pdftk.tar.gz pdftk
确保在目标机器 (Linux AMI) 中复制 tar 包内容,如下所示
libgcj.so.10.0.0 install to /usr/lib64
ls -alh /usr/lib64/libgcj.so.*
lrwxrwxrwx 1 root root 27 Sep 6 06:39 /usr/lib64/libgcj.so.10 -> /usr/lib64/libgcj.so.10.0.0
-rwxr-xr-x 1 root root 47M Sep 6 06:38 /usr/lib64/libgcj.so.10.0.0
我只是习惯了 S3 存储桶来传输文件:
/usr/bin/s3cmd --force get s3://<your-bucket>/rpm/pdftk.tar.gz /tmp/
pushd /tmp
/bin/tar xzf pdftk.tar.gz
/bin/cp pdftk/pdftk /usr/bin/
/bin/cp pdftk/libgcj.so.10.0.0 /usr/lib64/libgcj.so.10.0.0
/bin/ln -s /usr/lib64/libgcj.so.10.0.0 /usr/lib64/libgcj.so.10.0
/sbin/ldconfig
popd