Доброго времени суток, читатели Хабрахабр.
Лирика
Существуют отличные солнечные дни, когда сидя в офисе, думая о прогулке в парке, мы вынуждены настраивать Unix сервер под интернет-проект.
Предлагаю вашему вниманию алгоритм, который ускорит вашу работу.
Полезная информация
- Создаем команду «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 }
- Устанавливаем «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'
- Устанавливаем «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'
- Устанавливаем «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'
- Устанавливаем «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'
- Устанавливаем «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'
- Устанавливаем «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'
- Устанавливаем «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'
- Устанавливаем «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-скрипт для автоматизации процессов и не беспокоится о лишних мегабайтах.
Автор: romankondratev