<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Мак Сим Blog. Игра в словаМак Сим Blog. Игра в слова</title>
	<atom:link href="http://mak-sim.ru/feed/" rel="self" type="application/rss+xml" />
	<link>http://mak-sim.ru</link>
	<description></description>
	<lastBuildDate>Fri, 29 Mar 2013 11:11:01 +0000</lastBuildDate>
	<language>ru-RU</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Комментарий блока в Vim</title>
		<link>http://mak-sim.ru/vim-block-comment/</link>
		<comments>http://mak-sim.ru/vim-block-comment/#comments</comments>
		<pubDate>Wed, 29 Aug 2012 07:12:13 +0000</pubDate>
		<dc:creator>Мак Сим</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://mak-sim.ru/?p=126</guid>
		<description><![CDATA[Давно я не писал постов открывающих Америку :). Исправляюсь. Мне часто надо закомментировать целый блок текста в тексте. Обычно это куски кода в bash скриптах ну да не суть важно. Так вот чтобы не редактировать каждую строчку с целью добавить в её &#8230;<p class="read-more"><a href="http://mak-sim.ru/vim-block-comment/">Читать далее &#187;</a></p>]]></description>
				<content:encoded><![CDATA[<p><img class="alignleft" title="Vim" src="https://upload.wikimedia.org/wikipedia/commons/thumb/4/4f/Icon-Vim.svg/256px-Icon-Vim.svg.png" alt="" width="107" height="107" />Давно я не писал постов открывающих Америку :). Исправляюсь.</p>
<p>Мне часто надо закомментировать целый блок текста в тексте. Обычно это куски кода в bash скриптах ну да не суть важно. Так вот чтобы не редактировать каждую строчку с целью добавить в её начало знак комментария (например &#171;#&#187;) можно это сделать сразу для целого блока.</p>
<ol>
<li>Нажимаем в начале нужного нам блока <strong>Ctrl-v</strong>.</li>
<li>Курсорными клавишами движемся вниз на всю длину блок.</li>
<li>Нажимаем <strong>Shift-I #</strong>&lt;ESC&gt;</li>
</ol>
<p>На третьем шаге есть небольшая пауза в выполнение. Просто подождите и vim проставит знак &#171;#&#187; в начало каждой строки. Паузу можно увидеть на ролике:</p>
<p><iframe id="shelr_record_503dc09d9660807bfb0000b4" style="border: 0;" src="http://shelr.tv/records/503dc09d9660807bfb0000b4/embed" scrolling="no" width="570" height="418"></iframe></p>
<p>Само собой ролик здесь нафиг не нужен :) Я просто игрался с технологией записей консольных скринкастов.</p>
]]></content:encoded>
			<wfw:commentRss>http://mak-sim.ru/vim-block-comment/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Последние 20 событий Zabbix из консоли</title>
		<link>http://mak-sim.ru/last-20-trigger-sql/</link>
		<comments>http://mak-sim.ru/last-20-trigger-sql/#comments</comments>
		<pubDate>Thu, 05 Jul 2012 12:16:18 +0000</pubDate>
		<dc:creator>Мак Сим</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[zabbix]]></category>

		<guid isPermaLink="false">http://mak-sim.ru/?p=119</guid>
		<description><![CDATA[Я уже писал, что особенности корпоративной сети не позволяют мне удалённо подключаться как либо кроме ssh доступа. С пробросами портов мне возиться лень поэтому периодически изобретаю велосипеды на предмет получения той или иной информации из Zabbix без использования его Web-морды. На &#171;Панели&#187; &#8230;<p class="read-more"><a href="http://mak-sim.ru/last-20-trigger-sql/">Читать далее &#187;</a></p>]]></description>
				<content:encoded><![CDATA[<p>Я уже писал, что особенности корпоративной сети не позволяют мне удалённо подключаться как либо кроме ssh доступа. С пробросами портов мне возиться лень поэтому периодически изобретаю велосипеды на предмет получения той или иной информации из Zabbix без использования его Web-морды.</p>
<p>На &#171;Панели&#187; Zabbix одним из самых интересных разделов наверное является &#171;Последние 20 событий&#187;. Обычно в этой таблице отображается как раз информация о недавно сработавших т.е. актуальных триггерах.</p>
<p>Если не ходить вокруг да около то ниже приведён SQL запрос отображающий ровно те же самые данные но без использования web&#8217;а.</p>
<pre class="brush:sql">SELECT
    h.name AS 'Host',
    t.description AS 'Описание',
    FROM_UNIXTIME(t.lastchange) AS 'Последнее изменение',
    TIMEDIFF(NOW(),FROM_UNIXTIME(t.lastchange)) AS 'Возраст',
    e.acknowledged AS 'Подтверждено',
    count(a.alertid) AS 'Действия'
FROM
    functions f,
    triggers t,
    items i,
    hosts h,
    events e,
    alerts a
WHERE
    a.eventid = e.eventid AND
    e.clock = t.lastchange AND
    t.triggerid = f.triggerid AND
    f.itemid = i.itemid AND
    i.hostid = h.hostid AND
    t.value = 1 AND t.status!=1
GROUP BY t.triggerid, a.eventid;</pre>
]]></content:encoded>
			<wfw:commentRss>http://mak-sim.ru/last-20-trigger-sql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Financisto &amp; Gnucash</title>
		<link>http://mak-sim.ru/financisto-gnucash/</link>
		<comments>http://mak-sim.ru/financisto-gnucash/#comments</comments>
		<pubDate>Fri, 29 Jun 2012 13:36:34 +0000</pubDate>
		<dc:creator>Мак Сим</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Soft]]></category>

		<guid isPermaLink="false">http://mak-sim.ru/?p=116</guid>
		<description><![CDATA[Совсем странный пост. Если вы ведёте учёт личных финансов в Financisto и задумывались о удобном представление данных на большом брате или же о некой резервной копии в более удобном формате нежели просто файла бэкапа то хочу обратить ваше внимание на &#8230;<p class="read-more"><a href="http://mak-sim.ru/financisto-gnucash/">Читать далее &#187;</a></p>]]></description>
				<content:encoded><![CDATA[<p>Совсем странный пост.</p>
<p>Если вы ведёте учёт личных финансов в <a title="Financisto" href="http://financisto.com/" target="_blank">Financisto</a> и задумывались о удобном представление данных на большом брате или же о некой резервной копии в более удобном формате нежели просто файла бэкапа то хочу обратить ваше внимание на то, что экспорт из Financisto в формате QIF очень хорошо ложится в импорт <a title="Gnucash" href="http://www.gnucash.org/" target="_blank">Gnucash</a>.</p>
<p>Просто попробуйте и сами поймёте как нужно скорректировать &#171;сущности&#187; Financisto и как создать &#171;Счета&#187; в Gnucash.</p>
<p>Ну а если не получится пишите комментарии к этой &#171;статье&#187; постараюсь помочь.</p>
]]></content:encoded>
			<wfw:commentRss>http://mak-sim.ru/financisto-gnucash/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Zabbix. Консольный доступ.</title>
		<link>http://mak-sim.ru/zabbix-cli-last-value/</link>
		<comments>http://mak-sim.ru/zabbix-cli-last-value/#comments</comments>
		<pubDate>Mon, 18 Jun 2012 13:51:52 +0000</pubDate>
		<dc:creator>Мак Сим</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[zabbix]]></category>

		<guid isPermaLink="false">http://mak-sim.ru/?p=109</guid>
		<description><![CDATA[Если честно, то заголовок конечно слишком громкий и на самом деле всё несколько проще. Zabbix хорош всем но вот незадача для комфортной работы с ним есть два пути. Первый это веб-интерфейс, и второй &#8212; Zabbix API. Второй отсекаю сразу так &#8230;<p class="read-more"><a href="http://mak-sim.ru/zabbix-cli-last-value/">Читать далее &#187;</a></p>]]></description>
				<content:encoded><![CDATA[<p>Если честно, то заголовок конечно слишком громкий и на самом деле всё несколько проще.</p>
<p>Zabbix хорош всем но вот незадача для комфортной работы с ним есть два пути. Первый это веб-интерфейс, и второй &#8212; Zabbix API. Второй отсекаю сразу так как программист из меня никакой, а с веб-мордой всё как бы хорошо пока не захочешь посмотреть на собранные данные из консоли находясь скажем в серверной или удалённо.</p>
<p>Скрипт приведенный ниже это не полноценный (само собой :-D ) CLI доступ до Zabbix-сервера, а лишь инструмент для просмотра последних записей по любому item&#8217;у любого хоста.</p>
<p>Итак:</p>
<pre class="brush:shell">#!/bin/bash
mysql -se "SELECT hostid,name FROM hosts WHERE status&lt;&gt;3 ORDER BY name" -D zabbix_zabbix -t
echo -n "Выберите Host: "
read host
mysql -se "SELECT itemid,name,key_ FROM items WHERE hostid=$host" -D zabbix_zabbix -t
echo "============="
echo -n "Выберите item: "
read item
type=`mysql -se "SELECT value_type from items WHERE itemid=$item" -D zabbix_zabbix`
clear
case $type in
0)
mysql -se "SELECT value from history where itemid=$item LIMIT 0, 200" -D zabbix_zabbix
;;
2)
mysql -se "SELECT value from history_log where itemid=$item LIMIT 0, 200" -D zabbix_zabbix 
;;
3)
mysql -se "SELECT value from history_uint where itemid=$item LIMIT 0, 200" -D zabbix_zabbix
;;
4)
mysql -se "SELECT value from history_text where itemid=$item LIMIT 0, 200" -D zabbix_zabbix
;;
*)
echo "ERROR"
echo "$type"
;;
esac</pre>
<p>В двух задаваемых вопросах надо указывать значение первого поля, а не название. Если, кому-то очень хочется, то цифру 200 в основном блоке можно сделать переменной и таким образом выводить столько последних значений сколько необходимо.</p>
<p>Если есть какие-то вопросы то пишите в комментарии или на e-mail.</p>
]]></content:encoded>
			<wfw:commentRss>http://mak-sim.ru/zabbix-cli-last-value/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Немного про Instagram</title>
		<link>http://mak-sim.ru/instagram/</link>
		<comments>http://mak-sim.ru/instagram/#comments</comments>
		<pubDate>Wed, 04 Apr 2012 10:45:58 +0000</pubDate>
		<dc:creator>Мак Сим</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Soft]]></category>

		<guid isPermaLink="false">http://mak-sim.ru/?p=101</guid>
		<description><![CDATA[Вчера случилось то о чём так долго говорили большевики&#8230; ну в смысле чего все так долго ждали. Вышел Instagram под Android. Я, если честно, тоже весьма ждал этого момента но не потому, что он мне так уж нужен, а просто &#8230;<p class="read-more"><a href="http://mak-sim.ru/instagram/">Читать далее &#187;</a></p>]]></description>
				<content:encoded><![CDATA[<p><a href="http://mak-sim.ru/wp-content/uploads/2012/04/tapple_688356_instagram-video.png"><img class="alignleft size-full wp-image-104" title="tapple_688356_instagram-video" src="http://mak-sim.ru/wp-content/uploads/2012/04/tapple_688356_instagram-video.png" alt="" width="250" height="250" /></a>Вчера случилось то о чём так долго говорили большевики&#8230; ну в смысле чего все так долго ждали. Вышел Instagram под Android. Я, если честно, тоже весьма ждал этого момента но не потому, что он мне так уж нужен, а просто было интересно узнать, что же это за фотосервис такой с 27 миллионами пользователей.</p>
<p>Поставил, зарегистрировался (maksim77) и понял один очень забавный момент. Если относится к Instagram как к приложению то оно весьма посредственно и откровенно проигрывает многим аналогам которые давно доступны в Play Market ( например Pixlr-o-matic, PicPlz), но вот если смотерть на него как на социальную сеть то тогда может быть он и становится интересным. Другой вопрос, что лично мне ещё одна социалка вокруг фоточек по большому счёту не нужна.</p>
<p>Отдельное удовольствие доставило чтение комментариев вот к этой <a href="http://instagr.am/p/I92kAiBQZz/" target="_blank">записи</a>. Они разделились на три категории. 1)Спасибо! Спасибо! Спасибо! (восторженные отклики от тех кто давно ждал) 2) Спасибо/WTF но у меня не работает (баг репорты). И третий самый доставляющий :) &#171;Андроид пользователи идите нахрен!!! Вам тут не рады!&#187;. Третий вариант для меня немного диковат так как для любого пользователя социальной сети большее количество участников в ней должно только радовать. Выглядело это как будто люди жаловались на потерю своей &#171;элитарности&#187;.</p>
<p>Теперь коротко плюсы минусы:</p>
<p>Плюсы:</p>
<ol>
<li>Фильтров немного но все, что есть хороши и так или иначе применимы. Это в отличие от того же  Pixlr-o-matic.</li>
<li>Программа красиво сделана и просто хорошо смотрится.</li>
<li>Количество шагов от запуска до выложенной уже обработанной фотки минимально. Всё очень просто и быстро.</li>
<li>Если смотреть на популярное то можно действительно найти много хороших, красивых фотографий.</li>
</ol>
<p>Минусы:</p>
<ol>
<li>Обработать фотку и <strong>не</strong> выложить её к себе в ленту нельзя! Иными словами все фильтры обязательно должны использоваться публично :)</li>
<li>Интерфейс программы красив но местами странен. По сути полностью копирует iOS версию. Согласитесь диковато, что в приложении под Android нигде(!) не используется кнопка меню. Функция &#171;назад&#187; продублирована как в левом верхнем углу (iOS-style) так и аппаратно (Android-style). Многие элементы навигации спрятаны в тексте и никак не выделены или подсвечены. Попробуйте скажем развернуть список комментариев.</li>
<li>Настроек самый минимум. И нет даже казалось бы очевидных. Например если вы используете встроенный в программу интерфейс камеры (вместо системного) то отключить звук затвора невозможно.</li>
<li>Квадратность изображения. Instagram жёстко регламентирует соотношение сторон снимка. У них может и есть какие-то мотивы для такого решения но ИМХО это глупо.</li>
<li>Невозможность работать штатными средствами с контентом сети иначе как из программы клиента. Вы даже список своих фотографий на сайте просмотреть не сможете :)</li>
</ol>
<p>Подводя итог. Буду ли пользоваться? Не знаю. Постоянно точно нет, но поиграться время от времени может быть забавно.</p>
]]></content:encoded>
			<wfw:commentRss>http://mak-sim.ru/instagram/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Надо кому? :-)</title>
		<link>http://mak-sim.ru/%d0%bd%d0%b0%d0%b4%d0%be-%d0%ba%d0%be%d0%bc%d1%83/</link>
		<comments>http://mak-sim.ru/%d0%bd%d0%b0%d0%b4%d0%be-%d0%ba%d0%be%d0%bc%d1%83/#comments</comments>
		<pubDate>Thu, 22 Mar 2012 15:11:32 +0000</pubDate>
		<dc:creator>Мак Сим</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[zabbix]]></category>

		<guid isPermaLink="false">http://mak-sim.ru/?p=99</guid>
		<description><![CDATA[Назрела пара вопросов к читающим меня (а такие собственно есть?). Это был первый :-) . Я сейчас достаточно плтно разбираюсь с системой мониторинга zabbix. Нужна серия статей/заметок? Она кому-либо интересна? :-)]]></description>
				<content:encoded><![CDATA[<p>Назрела пара вопросов к читающим меня (а такие собственно есть?).<br />
Это был первый :-) .</p>
<p>Я сейчас достаточно плтно разбираюсь с системой мониторинга zabbix. Нужна серия статей/заметок? Она кому-либо интересна? :-)</p>
]]></content:encoded>
			<wfw:commentRss>http://mak-sim.ru/%d0%bd%d0%b0%d0%b4%d0%be-%d0%ba%d0%be%d0%bc%d1%83/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Мониторинг RAID в Zabbix</title>
		<link>http://mak-sim.ru/monitoring-raid-in-zabbx/</link>
		<comments>http://mak-sim.ru/monitoring-raid-in-zabbx/#comments</comments>
		<pubDate>Thu, 22 Mar 2012 13:39:49 +0000</pubDate>
		<dc:creator>Мак Сим</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[rhel]]></category>
		<category><![CDATA[zabbix]]></category>

		<guid isPermaLink="false">http://mak-sim.ru/?p=85</guid>
		<description><![CDATA[Давайте я просто оставлю это тут. Решение довольно тривиальное но почему-то в интернетах попадаются куда как более сложные выверты со скриптами и прочими UserParameter. Задача стоит простая необходимо получить уведомление о нарушение целостности RAID&#8217;а (давайте для простоты будем считать, что &#8230;<p class="read-more"><a href="http://mak-sim.ru/monitoring-raid-in-zabbx/">Читать далее &#187;</a></p>]]></description>
				<content:encoded><![CDATA[<p>Давайте я просто оставлю это тут. Решение довольно тривиальное но почему-то в интернетах попадаются куда как более сложные выверты со скриптами и прочими UserParameter.</p>
<p>Задача стоит простая необходимо получить уведомление о нарушение целостности RAID&#8217;а (давайте для простоты будем считать, что он у нас RAID-1).</p>
<p>Как я уже писал выше решение достаточно тривиально. Всё, что нам нужно так это item вот такого вида:</p>
<p><strong>vfs.file.regexp[/proc/mdstat,"(\[__\])|(\[U_\])|(\[_U\])&#187;]</strong></p>
<p>или то же самое но через <strong>vfs.file.regmatch.</strong></p>
<p>Дальше всё это обвешивается триггерами и необходимыми действиями. В первом случае значение элемента &#171;<em>EOF</em>&#187; сообщает нам, что всё нормально и RAID цел, а любое иное бьёт тревогу. Ну, а во втором варианте &#171;<em>0</em>&#187; &#8212; всё нормально, а &#171;<em>1</em>&#187; &#8212; RAID распался.</p>
]]></content:encoded>
			<wfw:commentRss>http://mak-sim.ru/monitoring-raid-in-zabbx/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Многопоточная обработка файлов в Bash</title>
		<link>http://mak-sim.ru/multithreading-bash/</link>
		<comments>http://mak-sim.ru/multithreading-bash/#comments</comments>
		<pubDate>Mon, 14 Nov 2011 11:19:56 +0000</pubDate>
		<dc:creator>Мак Сим</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://mak-sim.ru/?p=71</guid>
		<description><![CDATA[Не знал писать или нет но всё таки решил поделиться. Потребовалось тут по работе запускать параллельную обработку файлов с определяемым количеством потоков. Сначала в интернете нашёл статью Dr.AKULAvich где рассказывалось про ppss (http://drakulavich.blogspot.com/2009/01/ppss.html) но по целому ряду причин эта программа нам &#8230;<p class="read-more"><a href="http://mak-sim.ru/multithreading-bash/">Читать далее &#187;</a></p>]]></description>
				<content:encoded><![CDATA[<p>Не знал писать или нет но всё таки решил поделиться. Потребовалось тут по работе запускать параллельную обработку файлов с определяемым количеством потоков. Сначала в интернете нашёл статью Dr.AKULAvich где рассказывалось про ppss (<a title="PPSS: Согреваю многоядерные камни" href="http://drakulavich.blogspot.com/2009/01/ppss.html" target="_blank">http://drakulavich.blogspot.com/2009/01/ppss.html</a>) но по целому ряду причин эта программа нам не подошла и тогда я просто сам написал простой и во многом примитивный скрипт. Но главное что он работает! Вот делюсь:<br />
Несколько пояснений: никакой универсальностью здесь и не пахнет. Под каждую задачу его надо править ручками. Данный вариант обработает все файлы с расширением dmp в папке /home/user/dir. Обработка сводится к их шифрованию с жатием и последующем удаление исходных файлов. Переменная TH определяет количество потоков.</p>
<pre class="brush:shell">#!/bin/bash
enc () {
for FILES in `cat $1`
do
gpg -z 9 -e -r my@email.com $FILES &amp;&amp; shred -z -u -n 1 -s 1M $FILES
done
}
TH=8
cd /home/user/dir
for i in *.dmp
do
echo $i &gt;&gt; list.txt
done
N=`cat list.txt | wc -l`
let "L = N / TH"
let "RES = N % TH"
if [ $RES != 0 ]; then
     let "L +=1"
else
     echo ""
fi
split -l $L -d list.txt

for NUM in x*
do
enc $NUM &amp;
done

rm list.txt
rm -f x*
</pre>
]]></content:encoded>
			<wfw:commentRss>http://mak-sim.ru/multithreading-bash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Пакетная конвертация видео под Android в консоли.</title>
		<link>http://mak-sim.ru/handbrake-android-cli/</link>
		<comments>http://mak-sim.ru/handbrake-android-cli/#comments</comments>
		<pubDate>Wed, 25 May 2011 10:30:09 +0000</pubDate>
		<dc:creator>Мак Сим</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Soft]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[bash. cli]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://mak-sim.ru/?p=59</guid>
		<description><![CDATA[Думаю, что многие знаю прекрасную программу для конвертации видео од названием HandBrake. Простая, удобная и главное, что без всяких настроек и тюнинга конвертировать видео-файлы в более комфортный для просмотра на Android устройствах. В ней, конечно, есть неточности например дефолтный пресет &#8230;<p class="read-more"><a href="http://mak-sim.ru/handbrake-android-cli/">Читать далее &#187;</a></p>]]></description>
				<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://mak-sim.ru/wp-content/uploads/2011/05/handbrake-logo.png"><img class="alignleft size-full wp-image-65" title="handbrake-logo" src="http://mak-sim.ru/wp-content/uploads/2011/05/handbrake-logo.png" alt="" width="140" height="138" /></a>Думаю, что многие знаю прекрасную программу для конвертации видео од названием HandBrake. Простая, удобная и главное, что без всяких настроек и тюнинга конвертировать видео-файлы в более комфортный для просмотра на Android устройствах. В ней, конечно, есть неточности например дефолтный пресет для Android’а почему то называет “iPhone &amp; iPod Touch” ну да оставим это на совести автора :-D. Главное, что работает.</p>
<p style="text-align: justify;">Вряд ли сама програма потребует каких либо инструкций. Но что делать если захотелось странного? Например <em>не использовать GUI</em>. На самом деле, применений этой странности может быть много. Скажем у вас есть жирный такой сервер который можно и загрузить на пару минут конвертацией свежей серией Хауса в свободное от <del>расчёта траекторий баллистических ракет</del> работы время. Или наоборот у вас старенькая и слабая машина и Gnome с прочими иксами забирают достаточно много ресурсов. Так всё это сделать достаточно легко! В общем виде это будет выглядеть так:</p>
<pre class="brush:shell">maksim@server:~$ HandBrakeCLI -i input.avi -o output.mp4 --preset "iPhone &amp; iPod Touch"</pre>
<p style="text-align: justify;">Параметр &#171;&#8212;preset&#187; можно сократить до &#171;-Z&#187;.</p>
<pre class="brush:shell">maksim@server:~$ HandBrakeCLI -i input.avi -o output.mp4 -Z "iPhone &amp; iPod Touch"</pre>
<p style="text-align: justify;">Всё хорошо в этих командах кроме одного. А как быть если хочется обработать целую папку? Проблема в том, что в данный момент в программе HandBrakeCLI не существует никакой групповой обработки. на официальном форуме пока, что предлагают использовать скрипты, что мы и сделаем:</p>
<pre class="brush:shell">#!/bin/bash
if [ -d "$1/mobile" ]
        then
                echo "Folder exists"
        else
                mkdir "$1/mobile"
                echo "DIR CREATE"
fi
cd "$1"
for FILENAME in *.avi
do
        /usr/bin/HandBrakeCLI -i "$1/$FILENAME" -o "$1/mobile/${FILENAME%.*}.mp4" --preset="iPhone &amp; iPod Touch"
done</pre>
<p>Просто передайте этому скрипту как параметр путь до ваших файлов и идите пить кофе (я надеюсь). По возвращению вы обнаружите в этом каталоге новую папку mobile где и будут лежать сконвертированные файлы. Да, не забудьте поправить в шестой строке разрешение ваших видео файлов.<br />
Наслаждайтесь :)</p>
]]></content:encoded>
			<wfw:commentRss>http://mak-sim.ru/handbrake-android-cli/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Создание RAID-массива поверх multipath устройств (RHEL5)</title>
		<link>http://mak-sim.ru/raid-multipath/</link>
		<comments>http://mak-sim.ru/raid-multipath/#comments</comments>
		<pubDate>Fri, 20 May 2011 06:56:09 +0000</pubDate>
		<dc:creator>Мак Сим</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[rhel]]></category>

		<guid isPermaLink="false">http://mak-sim.ru/?p=24</guid>
		<description><![CDATA[﻿﻿﻿Потребовалось тут по работе настроить RAID-1 на основе двух multipath устройств. Задача не совсем тривиальная и памятуя о том сколько времени я провёл в поиске для нахождения проблемы решил вот поделиться. Говорю сразу если какие-то слова из первого предложения вам &#8230;<p class="read-more"><a href="http://mak-sim.ru/raid-multipath/">Читать далее &#187;</a></p>]]></description>
				<content:encoded><![CDATA[<p style="text-align: justify;"><a href="http://mak-sim.ru/wp-content/uploads/2011/05/raid.jpg"><img class="alignleft size-full wp-image-52" title="raid" src="http://mak-sim.ru/wp-content/uploads/2011/05/raid.jpg" alt="" width="156" height="139" /></a>﻿﻿﻿Потребовалось тут по работе настроить RAID-1 на основе двух multipath устройств. Задача не совсем тривиальная и памятуя о том сколько времени я провёл в поиске для нахождения проблемы решил вот поделиться. Говорю сразу если какие-то слова из первого предложения вам не понятны дальше лучше не читать :). Толку будет мало. Статья пишется в расчёте на таких же как я сам страдальцев. Вдруг вам повезёт на неё наткнуться :).</p>
<p style="text-align: justify;">﻿Итак у нас есть четыре диска вида /dev/sd[abcd] которые представляют из себя четыре пути до двух реальных устройств. Сервис multipathd соберёт их в два виртуальных устройства (настройка multipathd неплохо документирована в сети и на ней я останавливаться не буду):</p>
<pre class="brush:shell">[root@server ~]# /sbin/multipath -ll
mpath5 (3600508b400307eb80000b001036f0000) dm-1 HP,HSV200
[size=4.0G][features=1 queue_if_no_path][hwhandler=0][rw]
\_ round-robin 0 [prio=50][active]
\_ 6:0:3:2 sdm 8:192 [active][ready]
\_ round-robin 0 [prio=10][enabled]
\_ 6:0:0:2 sdd 8:48 [active][ready]
mpath4 (3600508b400107eb80000a00003740000) dm-0 HP,HSV200
[size=32G][features=1 queue_if_no_path][hwhandler=0][rw]
\_ round-robin 0 [prio=50][active]
\_ 6:0:0:1 sdc 8:32 [active][ready]
\_ round-robin 0 [prio=10][enabled]
\_ 6:0:3:1 sdl 8:176 [active][ready]</pre>
<p style="text-align: justify;">Для начала нам надо на дисках ﻿﻿/dev/sd[abcd] создать разделы. Понятно, что можно создать лишь на sda и sdc. Вот тут есть небольшая тонкость несмотря на то что разделы будут использоваться фактически для RAID-1 <strong>ставить им тип 0xfd нельзя</strong>! Дело в том, что как только системе будут презентованы эти диск md соберёт из них RAID, и вы получите устройство из /dev/sda1 и /dev/sdc1. А нам то нужны multipath элементы. Можно вообще ничего не указывать, можете указать 0&#215;83 в качестве типа. В любом случае это не принципиально. Лишь бы не 0xfd.</p>
<p style="text-align: justify;">Поехали дальше. После того как разделы созданы необходимо для каждого dm устройства выполнить команду:</p>
<pre class="brush:shell">kpartx -a /dev/dm-n</pre>
<p style="text-align: justify;">она создаст устройства вида /dev/dm-n+1, которые и будут являться нашими только что созданными разделами. Их уже можно объединять в RAID. Если по этому процессу есть какие либо вопросы то вот <a title="Программный RAID в Linux" href="http://xgu.ru/wiki/raid" target="_blank">тут</a> есть неплохая статья. Обязательно создаём mdadm.conf. Про него можно так же прочесть по прошлой ссылке.</p>
<p style="text-align: justify;">А вот дальше есть очень и очень интересный момент! Дело в том, что в RHEL 5 (шестой версии под рукой нет и проверить не смогу) есть досадный баг. В файле <em>/etc/rc.sysinit</em> процедура инициализации RAID-разделов с помощью <em>mdadm.conf</em> вызывается до создания всех <em>/dev/mapper/ </em>устройств. А наши <em>/dev/dm-*</em> на самом деле лишь их отражение. В итоге RAID собран не будет. Есть два решения этой проблемы:</p>
<ol>
<li>Создать в /etc/init.d/ скрипт по сути из одной строчки
<pre class="brush:shell">/sbin/mdadm --assemble /dev/md0</pre>
<p>и обеспечить ему загрузку на нужном runlevel. Он может быть любым по порядку загрузки. Главное чтобы после sysinit&#8217;а.</li>
<li>Переместить в файле <em>/etc/rc.sysinit</em> блок
<pre class="brush:shell"># RAID setup
update_boot_stage RCraid
[ -x /sbin/nash ] &amp;&amp; echo "raidautorun /dev/md0" | nash --quiet
if [ -f /etc/mdadm.conf ]; then
    /sbin/mdadm -A -s
fi</pre>
<p>ниже блока инициализации <em># Device mapper &amp; related initialization</em>. Он достаточно длинный и поэтому приводить я его тут не буду.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://mak-sim.ru/raid-multipath/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
