GraphicsMagick 號稱為圖像處理領域的瑞士軍刀枯途,下面是我的安裝筆記逊彭,如果你想一鍵安裝可以在命令行運行
curl -s https://devops.xwlearn.com/shell/gmagick.sh | bash
source /etc/profile.d/gmagick.sh
系統(tǒng)版本
[root@localhost local]# uname -r
3.10.0-693.2.2.el7.x86_64
[root@localhost local]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
官網(wǎng)地址
ftp://ftp.graphicsmagick.org/pub/GraphicsMagick/
下載版本
GraphicsMagick-1.3.28
下載依賴
yum install -y libjpeg-devel libjpeg
yum install -y libpng-devel libpng
yum install -y giflib-devel giflib
安裝過程
# 下載
wget ftp://ftp.graphicsmagick.org/pub/GraphicsMagick/1.3/GraphicsMagick-1.3.28.tar.gz
# 解壓
tar -zxvf GraphicsMagick-1.3.28.tar.gz
cd GraphicsMagick-1.3.28
#編譯
./configure --prefix=/usr/local/GraphicsMagick-1.3.28 --with-quantum-depth=8 --enable-shared --enable-static
make && make install
# 創(chuàng)建軟鏈
ln -s /usr/local/GraphicsMagick-1.3.28 /usr/local/GraphicsMagick
設置環(huán)境變量
vim /etc/profile.d/gmagick.sh
export GMAGICK_HOME="/usr/local/GraphicsMagick"
export PATH="$GMAGICK_HOME/bin:$PATH"
LD_LIBRARY_PATH=$GMAGICK_HOME/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
生效配置 source /etc/profile.d/gmagick.sh
測試
gm convert -list formats
如果列表中顯示PNG休傍、JPEG、GIF等則表示已支持圖片轉換
一鍵安裝腳本
我現(xiàn)在養(yǎng)成了一個習慣收毫,每寫一篇文檔就會寫一份相應的腳本闸昨,下面這個腳本已經(jīng)在CentOS7和CentOS6環(huán)境測試過
#!/bin/bash
SRC_PATH=/usr/local/src #源碼安裝目錄
SRC_URL=ftp://ftp.graphicsmagick.org/pub/GraphicsMagick/1.3/GraphicsMagick-1.3.28.tar.gz #源碼地址
PACKAGE_NAME=$(basename $SRC_URL) # GraphicsMagick-1.3.28.tar.gz
PACKAGE_FILE=$(basename $PACKAGE_NAME .tar.gz) # GraphicsMagick-1.3.28
PACKAGE_NAME_PURE=${PACKAGE_FILE%-*} # GraphicsMagick
INSTALL_PATH=/usr/local # 應用安裝目錄
check_ok() {
if [ $? != 0 ]
then
echo -e "\033[31m ERROR! $1 \033[0m"
exit 1
fi
}
check_yum() {
if ! rpm -qa|grep -q "^$1"
then
yum install -y $1
check_ok
else
echo -e "\033[34m $1 already installed \033[0m."
fi
}
deploy-gmagick() {
# 下載依賴,把需要的依賴放在一個數(shù)組里
arr_package=("libjpeg-devel" "libjpeg" "libpng-devel" "libpng" "giflib-devel" "giflib")
for package in ${arr_package[@]};do
check_yum $package
done
# $_ 代表上一個命令最后一個參數(shù)
test -d $SRC_PATH && cd $_ || mkdir -p $_ && cd $_
# 如果已經(jīng)安裝了就不需要下載了
if [ ! -f $PACKAGE_NAME -a ! -d $PACKAGE_FILE ];then
wget $SRC_URL
check_ok "download $PACKAGE_NAME_PURE"
tar zxvf $PACKAGE_NAME
check_ok "tar xf $PACKAGE_NAME_PURE"
elif [ -f $PACKAGE_NAME -a ! -d $PACKAGE_FILE ];then
tar zxvf $PACKAGE_NAME
check_ok "tar xf $PACKAGE_NAME_PURE"
else
echo "you have installed $PACKAGE_FILE "
fi
cd $PACKAGE_FILE
./configure --prefix=$INSTALL_PATH/$PACKAGE_FILE --with-quantum-depth=8 --enable-shared --enable-static
check_ok "configure"
make && make install
check_ok "make install"
test -d $INSTALL_PATH || mkdir -p $_
test -h $INSTALL_PATH/$PACKAGE_NAME_PURE && rm -f $_
ln -s $INSTALL_PATH/$PACKAGE_FILE $INSTALL_PATH/$PACKAGE_NAME_PURE
}
config-gmagick(){
# 利用 here document 創(chuàng)建環(huán)境變量
cat >> /etc/profile.d/gmagick.sh << EOF
export GMAGICK_HOME="$INSTALL_PATH/$PACKAGE_NAME_PURE"
export PATH="\$GMAGICK_HOME/bin:\$PATH"
LD_LIBRARY_PATH=\$GMAGICK_HOME/lib:\$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
EOF
source /etc/profile.d/gmagick.sh # 如果用bash執(zhí)行這個腳本的話况鸣,此處不會生效牢贸,需要手動在命令行重新執(zhí)行一次 source /etc/profile.d/gmagick.sh
}
deploy-gmagick
check_ok "deploy-gmagick"
echo "start to configure GgraphMagick"
config-gmagick
[ $? == "0" ] && echo "SUCCESS"