CentOS編譯安裝GraphicsMagick-1.3.28

原文地址

GraphicsMagick 號(hào)稱為圖像處理領(lǐng)域的瑞士軍刀,下面是我的安裝筆記,如果你想一鍵安裝可以在命令行運(yùn)行

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

設(shè)置環(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

測(cè)試

gm convert -list formats

如果列表中顯示PNG、JPEG、GIF等則表示已支持圖片轉(zhuǎn)換

一鍵安裝腳本

我現(xiàn)在養(yǎng)成了一個(gè)習(xí)慣,每寫一篇文檔就會(huì)寫一份相應(yīng)的腳本,下面這個(gè)腳本已經(jīng)在CentOS7和CentOS6環(huán)境測(cè)試過

#!/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     # 應(yīng)用安裝目錄


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() {

# 下載依賴,把需要的依賴放在一個(gè)數(shù)組里
arr_package=("libjpeg-devel" "libjpeg" "libpng-devel" "libpng" "giflib-devel" "giflib")

for package in ${arr_package[@]};do
    check_yum $package
done

# $_ 代表上一個(gè)命令最后一個(gè)參數(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í)行這個(gè)腳本的話,此處不會(huì)生效,需要手動(dòng)在命令行重新執(zhí)行一次 source /etc/profile.d/gmagick.sh

}

deploy-gmagick

check_ok "deploy-gmagick"

echo "start to configure GgraphMagick"

config-gmagick

[ $? == "0" ] && echo "SUCCESS"
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容