在Ubuntu 18.04 amd64上安装pdftk
我编写了一个小的bash脚本,用于自动化在Ubuntu 18.04上的安装。请注意,我只下载了amd64包!
#!/bin/bash
#
# author: abu
# date: July 3 2019 (ver. 1.1)
# description: bash script to install pdftk on Ubuntu 18.04 for amd64 machines
##############################################################################
#
# change to /tmp directory
cd /tmp
# download packages
wget http://launchpadlibrarian.net/340410966/libgcj17_6.4.0-8ubuntu1_amd64.deb \
http://launchpadlibrarian.net/337429932/libgcj-common_6.4-3ubuntu1_all.deb \
https://launchpad.net/ubuntu/+source/pdftk/2.02-4build1/+build/10581759/+files/pdftk_2.02-4build1_amd64.deb \
https://launchpad.net/ubuntu/+source/pdftk/2.02-4build1/+build/10581759/+files/pdftk-dbg_2.02-4build1_amd64.deb
echo -e "Packages for pdftk downloaded\n\n"
# install packages
echo -e "\n\n Installing pdftk: \n\n"
sudo apt-get install ./libgcj17_6.4.0-8ubuntu1_amd64.deb \
./libgcj-common_6.4-3ubuntu1_all.deb \
./pdftk_2.02-4build1_amd64.deb \
./pdftk-dbg_2.02-4build1_amd64.deb
echo -e "\n\n pdftk installed\n"
echo -e " try it in shell with: > pdftk \n"
# delete deb files in /tmp directory
rm ./libgcj17_6.4.0-8ubuntu1_amd64.deb
rm ./libgcj-common_6.4-3ubuntu1_all.deb
rm ./pdftk_2.02-4build1_amd64.deb
rm ./pdftk-dbg_2.02-4build1_amd64.deb
这个脚本将下载软件包到/tmp目录,并使用apt install命令从该目录安装!之后,将删除/tmp目录中的软件包。
要运行此脚本,请将其复制到编辑器中并保存为pdftk_installer。然后在终端中运行它。
chmod 755 pdftk_installer
./pdftk_installer
在Ubuntu 20.04 amd64上安装pdftk
由于Ubuntu 20.04缺少gcc-6库,上述脚本将失败。然而,那些想避免使用snap或docker解决方案的人可以使用schroot。我知道这会导致一定的负担 - 大约需要500MB;但您可以使用此环境在Xenial(Ubuntu 16.04)环境中安装其他老旧的程序、库、编译器等。
首先安装schroot
软件包
sudo apt install schroot debootstrap
最后一个包需要安装一个类似于Debian的系统。
现在将一个`xenial.conf`文件写入`/etc/schroot/schroot.d`目录中:
cat <<EOF | sudo tee /etc/schroot/chroot.d/xenial.conf
> [xenial]
> description=Ubuntu 16.04
> directory=/srv/chroot/xenial
> root-users=$USER
> type=directory
> users=$USER
> EOF
验证新的配置文件是否已经写入。
cat /etc/schroot/chroot.d/xenial.conf
接下来创建xenial目录(如果您选择其他目录,请修改上面的配置文件):
sudo mkdir -p /srv/chroot/xenial
现在节目开始了,安装时去喝杯咖啡吧。
sudo debootstrap xenial /srv/chroot/xenial
现在可以在/srv/chroot/xenial上使用xenial文件系统了。
现在是时候包含必要的xenial apt仓库了。要做到这一点,请输入:
cat <<EOF | sudo tee /srv/chroot/xenial/etc/apt/sources.list
deb http://archive.ubuntu.com/ubuntu xenial main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu xenial-security main restricted universe multiverse
EOF
请再次检查文件
/srv/chroot/xenial/etc/apt/sources.list
是否存在。
cat /srv/chroot/xenial/etc/apt/sources.list
是时候进入友好的schroot环境了(注意:无需root权限!)并更新apt。
schroot -c xenial -u root apt-get update
最后,您准备安装 pdftk 包
:
schroot -c xenial -u root apt-get install pdftk
您可以通过调用schroot使用
pdftk
来使用它。
schroot -c xenial -- pdftk <your arguments>
例如,要显示帮助菜单,请键入
schroot -c xenial -- pdftk --help
最后,我建议在您的
.bashrc
文件中为pdftk创建一个别名:
首先复制您的.bashrc文件。
cp ~/.bashrc ~/.bashrc_backup
然后添加一个别名
echo alias pdftk='schroot -c xenial -- pdftk' >> ~/.bashrc
现在你可以像往常一样在bash中使用
pdf
。要进行测试,打开一个新的终端并输入。
pdftk --version
如果你需要安装其他旧版本的程序,就像我所做的那样,请使用与上述描述类似的apt命令。
请注意,除了apt-get和xenial.config之外的所有命令都是以用户权限执行的。