Настройка Unix сервера. Оптимизация изображений

от автора

Доброго времени суток, читатели Хабрахабр.

Лирика

Существуют отличные солнечные дни, когда сидя в офисе, думая о прогулке в парке, мы вынуждены настраивать Unix сервер под интернет-проект.

Предлагаю вашему вниманию алгоритм, который ускорит вашу работу.

Полезная информация

  1. Создаем команду «unpack» для распаковки популярных архивов, добавив в файл «.bashrc» код:
    # Command «unpack» unpack () { 	if [ -f $1 ] ; then 		case $1 in 			*.tar.bz2)  tar xvjf $1    ;; 			*.tar.gz)   tar xvzf $1    ;; 			*.tar.xz)   tar xvJf $1    ;; 			*.bz2)      bunzip2 $1     ;; 			*.rar)      unrar x $1     ;; 			*.gz)       gunzip $1      ;; 			*.tar)      tar xvf $1     ;; 			*.tbz2)     tar xvjf $1    ;; 			*.tgz)      tar xvzf $1    ;; 			*.zip)      unzip $1       ;; 			*.xz)       unxz $1        ;; 			*)          echo "'$1': Unknown method of file compression"  ;; 		esac 		else 			echo "'$1' not found" 	fi } 

  2. Устанавливаем «advpng» (загрузить aктуальную версию).
    wget -P ~/usr/bin 'http://citylan.dl.sourceforge.net/project/advancemame/advancecomp/1.15/advancecomp-1.15.tar.gz';cd ~/usr/bin;tar xvzf 'advancecomp-1.15.tar.gz';cd 'advancecomp-1.15';./configure;make;cd ~/usr/bin;rm -f 'advancecomp-1.15.tar.gz';~/usr/bin/advancecomp-1.15/advpng;echo '«advpng» successfully installed on the server.' 

    Пример:

    ~/usr/bin/advancecomp-1.15/advpng -z4 'file.png' 

  3. Устанавливаем «gifsicle» (загрузить aктуальную версию).
    wget -P ~/usr/bin 'http://www.lcdf.org/gifsicle/gifsicle-1.67.tar.gz';cd ~/usr/bin;tar xvzf 'gifsicle-1.67.tar.gz';cd 'gifsicle-1.67';./configure;make;cd ~/usr/bin;rm -f 'gifsicle-1.67.tar.gz';~/usr/bin/gifsicle-1.67/src/gifsicle -h;echo '«gifsicle» successfully installed on the server.' 

    Пример:

    ~/usr/bin/gifsicle-1.67/src/gifsicle -b -O3 'file.gif' 

  4. Устанавливаем «jpegoptim» (загрузить aктуальную версию).
    wget -P ~/usr/bin 'http://www.kokkonen.net/tjko/src/jpegoptim-1.2.4.tar.gz';cd ~/usr/bin;tar xvzf 'jpegoptim-1.2.4.tar.gz';cd 'jpegoptim-1.2.4';./configure;make;cd ~/usr/bin;rm -f 'jpegoptim-1.2.4.tar.gz';~/usr/bin/jpegoptim-1.2.4/jpegoptim -h;echo '«jpegoptim» successfully installed on the server.' 

    Пример:

    ~/usr/bin/jpegoptim-1.2.4/jpegoptim -f -o --strip-all --strip-icc --strip-iptc -m100 'file.jpg' 

  5. Устанавливаем «jpegtran» (загрузить aктуальную версию).
    wget -P ~/usr/bin 'http://www.ijg.org/files/jpegsrc.v8d.tar.gz';cd ~/usr/bin;tar xvzf 'jpegsrc.v8d.tar.gz';cd 'jpeg-8d';./configure;make;cd ~/usr/bin;rm -f 'jpegsrc.v8d.tar.gz';~/usr/bin/jpeg-8d/jpegtran -h;echo '«jpegtran» successfully installed on the server.' 

    Пример:

    ~/usr/bin/jpeg-8d/jpegtran -copy none -progressive -outfile 'XXXXX.jpg' 'file.jpg' mv -f 'XXXXX.jpg' 'file.jpg' 

  6. Устанавливаем «optipng» (загрузить aктуальную версию).
    wget -P ~/usr/bin 'http://netcologne.dl.sourceforge.net/project/optipng/OptiPNG/optipng-0.7.4/optipng-0.7.4.tar.gz';cd ~/usr/bin;tar xvzf 'optipng-0.7.4.tar.gz';cd 'optipng-0.7.4';./configure;make;cd ~/usr/bin;rm -f 'optipng-0.7.4.tar.gz';~/usr/bin/optipng-0.7.4/src/optipng/optipng -h;echo '«optipng» successfully installed on the server.' 

    Пример:

    ~/usr/bin/optipng-0.7.4/src/optipng/optipng -o7 'file.png' 

  7. Устанавливаем «pngout» (загрузить aктуальную версию).
    wget -P ~/usr/bin 'http://static.jonof.id.au/dl/kenutils/pngout-20120530-linux-static.tar.gz';cd ~/usr/bin;tar xvzf 'pngout-20120530-linux-static.tar.gz';cd ~/usr/bin;rm -f 'pngout-20120530-linux-static.tar.gz';~/usr/bin/pngout-20120530-linux-static/x86_64/pngout-static;echo '«pngout» successfully installed on the server.' 

    Пример:

    ~/usr/bin/pngout-20120530-linux-static/x86_64/pngout-static 'file.png' 

  8. Устанавливаем «pngcrush» (загрузить aктуальную версию).
    wget -P ~/usr/bin 'http://ignum.dl.sourceforge.net/project/pmt/pngcrush/1.7.41/pngcrush-1.7.41.tar.xz';cd ~/usr/bin;tar xvJf 'pngcrush-1.7.41.tar.xz';cd 'pngcrush-1.7.41';make;cd ~/usr/bin;rm -f 'pngcrush-1.7.41.tar.xz';~/usr/bin/pngcrush-1.7.41/pngcrush;echo '«pngcrush» successfully installed on the server.' 

    Пример:

    ~/usr/bin/pngcrush-1.7.41/pngcrush -rem alla -brute -reduce 'file.png' 'XXXXX.png' mv -f 'XXXXX.png' 'file.png' 

  9. Устанавливаем «yuicompressor» (загрузить aктуальную версию).
    wget -P ~/usr/bin 'http://cloud.github.com/downloads/yui/yuicompressor/yuicompressor-2.4.7.zip';cd ~/usr/bin;unzip 'yuicompressor-2.4.7.zip';cd ~/usr/bin;rm -f 'yuicompressor-2.4.7.zip';java -jar ~/usr/bin/yuicompressor-2.4.7/build/yuicompressor-2.4.7.jar -h;echo '«yuicompressor» successfully installed on the server.' 

    Пример:

    java -jar ~/usr/bin/yuicompressor-2.4.7/build/yuicompressor-2.4.7.jar --type js -o 'XXXXX.js or XXXXX.css' 'file.js or file.css' mv -f 'XXXXX.js or XXXXX.css' 'file.js or file.css' 

Подводя итоги

В результате сервер готов к обработке изображенией. Достаточно написать bash-скрипт для автоматизации процессов и не беспокоится о лишних мегабайтах.

ссылка на оригинал статьи http://habrahabr.ru/post/158271/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *