下面的脚本用于下载、检查完整性、解压、删除存档文件并安装 GnuPG 2.1.x。
sudo
我相信,如果脚本运行为 等,则该脚本将无法继续。sudo -i
在检查libgcrypt-1.7.6
第二个库的依赖关系时,它会生成错误,因为libgpg-error-1.27
第一个库未configure
找到libgcrypt-1.7.6
。我故意放在libgpg-error
上面libgcrypt
让它起作用。
如果我运行脚本root
,而不是使用 sudo 帐户,它会通过所有内容并最终完成。我的帐户具有 sudo 的完全访问权限。如果我检查visudo
,根下面有一行:
myaccname ALL=(ALL) ALL
什么会导致此类问题?我问这个问题是因为我想将其安装在我工作的计算机上,我只有 sudo 访问权限,而没有 root 权限。
谢谢
#!/bin/bash
CD=$(pwd)
FOLDER=/opt/homeusr/gpg-install
mkdir --parents $FOLDER && \
cd $FOLDER && \
wget -c https://www.gnupg.org/ftp/gcrypt/gnupg/gnupg-2.1.21.tar.bz2 && \
wget -c https://www.gnupg.org/ftp/gcrypt/gnupg/gnupg-2.1.21.tar.bz2.sig && \
wget -c https://www.gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.27.tar.bz2 && \
wget -c https://www.gnupg.org/ftp/gcrypt/libgpg-error/libgpg-error-1.27.tar.bz2.sig && \
wget -c https://www.gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.7.6.tar.bz2 && \
wget -c https://www.gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.7.6.tar.bz2.sig && \
wget -c https://www.gnupg.org/ftp/gcrypt/libassuan/libassuan-2.4.3.tar.bz2 && \
wget -c https://www.gnupg.org/ftp/gcrypt/libassuan/libassuan-2.4.3.tar.bz2.sig && \
wget -c https://www.gnupg.org/ftp/gcrypt/libksba/libksba-1.3.5.tar.bz2 && \
wget -c https://www.gnupg.org/ftp/gcrypt/libksba/libksba-1.3.5.tar.bz2.sig && \
wget -c https://www.gnupg.org/ftp/gcrypt/npth/npth-1.4.tar.bz2 && \
wget -c https://www.gnupg.org/ftp/gcrypt/npth/npth-1.4.tar.bz2.sig && \
wget -c https://www.gnupg.org/ftp/gcrypt/ntbtls/ntbtls-0.1.1.tar.bz2 && \
wget -c https://www.gnupg.org/ftp/gcrypt/ntbtls/ntbtls-0.1.1.tar.bz2.sig && \
wget -c https://www.gnupg.org/ftp/gcrypt/pinentry/pinentry-1.0.0.tar.bz2 && \
wget -c https://www.gnupg.org/ftp/gcrypt/pinentry/pinentry-1.0.0.tar.bz2.sig && \
wget -c https://www.gnupg.org/ftp/gcrypt/gpgme/gpgme-1.9.0.tar.bz2 && \
wget -c https://www.gnupg.org/ftp/gcrypt/gpgme/gpgme-1.9.0.tar.bz2.sig && \
wget -c ftp://ftp.gnu.org/gnu/ncurses/ncurses-6.0.tar.gz && \
wget -c ftp://ftp.gnu.org/gnu/ncurses/ncurses-6.0.tar.gz.sig && \
gpg2 --verify libgpg-error-1.27.tar.bz2.sig libgpg-error-1.27.tar.bz2 && \
gpg2 --verify libgcrypt-1.7.6.tar.bz2.sig libgcrypt-1.7.6.tar.bz2 && \
gpg2 --verify libassuan-2.4.3.tar.bz2.sig libassuan-2.4.3.tar.bz2 && \
gpg2 --verify libksba-1.3.5.tar.bz2.sig libksba-1.3.5.tar.bz2 && \
gpg2 --verify npth-1.4.tar.bz2.sig npth-1.4.tar.bz2 && \
gpg2 --verify ntbtls-0.1.1.tar.bz2.sig ntbtls-0.1.1.tar.bz2 && \
gpg2 --verify pinentry-1.0.0.tar.bz2.sig pinentry-1.0.0.tar.bz2 && \
gpg2 --verify gpgme-1.9.0.tar.bz2.sig gpgme-1.9.0.tar.bz2 && \
gpg2 --verify gnupg-2.1.21.tar.bz2.sig gnupg-2.1.21.tar.bz2 && \
gpg2 --verify ncurses-6.0.tar.gz.sig ncurses-6.0.tar.gz && \
tar -xjf libgpg-error-1.27.tar.bz2 && \
tar -xjf libgcrypt-1.7.6.tar.bz2 && \
tar -xjf libassuan-2.4.3.tar.bz2 && \
tar -xjf libksba-1.3.5.tar.bz2 && \
tar -xjf npth-1.4.tar.bz2 && \
tar -xjf ntbtls-0.1.1.tar.bz2 && \
tar -xzf ncurses-6.0.tar.gz && \
tar -xjf pinentry-1.0.0.tar.bz2 && \
tar -xjf gpgme-1.9.0.tar.bz2 && \
tar -xjf gnupg-2.1.21.tar.bz2 && \
rm libgpg-error-1.27.tar.bz2 && \
rm libgpg-error-1.27.tar.bz2.sig && \
rm libgcrypt-1.7.6.tar.bz2 && \
rm libgcrypt-1.7.6.tar.bz2.sig && \
rm libassuan-2.4.3.tar.bz2 && \
rm libassuan-2.4.3.tar.bz2.sig && \
rm libksba-1.3.5.tar.bz2 && \
rm libksba-1.3.5.tar.bz2.sig && \
rm npth-1.4.tar.bz2 && \
rm npth-1.4.tar.bz2.sig && \
rm ntbtls-0.1.1.tar.bz2 && \
rm ntbtls-0.1.1.tar.bz2.sig && \
rm pinentry-1.0.0.tar.bz2 && \
rm pinentry-1.0.0.tar.bz2.sig && \
rm gpgme-1.9.0.tar.bz2 && \
rm gpgme-1.9.0.tar.bz2.sig && \
rm gnupg-2.1.21.tar.bz2 && \
rm gnupg-2.1.21.tar.bz2.sig && \
rm ncurses-6.0.tar.gz && \
rm ncurses-6.0.tar.gz.sig && \
cd libgpg-error-1.27 && ./configure && make && make install && cd ../ && \
cd libgcrypt-1.7.6 && ./configure && make && make install && cd ../ && \
cd libassuan-2.4.3 && ./configure && make && make install && cd ../ && \
cd libksba-1.3.5 && ./configure && make && make install && cd ../ && \
cd npth-1.4 && ./configure && make && make install && cd ../ && \
cd ntbtls-0.1.1 && ./configure && make && make install && cd ../ && \
cd ncurses-6.0 && ./configure && make && make install && cd ../ && \
cd pinentry-1.0.0 && ./configure --enable-pinentry-curses --disable-pinentry-qt4 && make && make install && cd ../ && \
cd gpgme-1.9.0 && ./configure && make && make install && cd ../ && \
cd gnupg-2.1.21 && ./configure && make && make install && \
echo "/usr/local/lib" > /etc/ld.so.conf.d/gpg2.conf && \
ldconfig -v && \
cd $CD && \
echo "Complete !!!"