<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2russianfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Красноглазый блог</title>
	
	<link>http://livid.pp.ru</link>
	<description>Немного GNU/Linux с утренним кофе</description>
	<lastBuildDate>Wed, 11 May 2011 20:30:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/redeyed" /><feedburner:info uri="redeyed" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2Fredeyed" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fredeyed" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2Fredeyed" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/redeyed" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fredeyed" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fredeyed" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fredeyed" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://lenta.yandex.ru/settings.xml?name=feed&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2Fredeyed" src="http://lenta.yandex.ru/i/addfeed.gif">?????? ? ??????.?????</feedburner:feedFlare><feedburner:feedFlare href="http://www.plusmo.com/add?url=http%3A%2F%2Ffeeds.feedburner.com%2Fredeyed" src="http://plusmo.com/res/graphics/fbplusmo.gif">Subscribe with Plusmo</feedburner:feedFlare><feedburner:feedFlare href="http://www.thefreedictionary.com/_/hp/AddRSS.aspx?http%3A%2F%2Ffeeds.feedburner.com%2Fredeyed" src="http://img.tfd.com/hp/addToTheFreeDictionary.gif">Subscribe with The Free Dictionary</feedburner:feedFlare><feedburner:feedFlare href="http://www.bitty.com/manual/?contenttype=rssfeed&amp;contentvalue=http%3A%2F%2Ffeeds.feedburner.com%2Fredeyed" src="http://www.bitty.com/img/bittychicklet_91x17.gif">Subscribe with Bitty Browser</feedburner:feedFlare><feedburner:feedFlare href="http://www.live.com/?add=http%3A%2F%2Ffeeds.feedburner.com%2Fredeyed" src="http://tkfiles.storage.msn.com/x1piYkpqHC_35nIp1gLE68-wvzLZO8iXl_JMledmJQXP-XTBOLfmQv4zhj4MhcWEJh_GtoBIiAl1Mjh-ndp9k47If7hTaFno0mxW9_i3p_5qQw">Subscribe with Live.com</feedburner:feedFlare><feedburner:feedFlare href="http://mix.excite.eu/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fredeyed" src="http://image.excite.co.uk/mix/addtomix.gif">Subscribe with Excite MIX</feedburner:feedFlare><feedburner:feedFlare href="http://www.webwag.com/wwgthis.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fredeyed" src="http://www.webwag.com/images/wwgthis.gif">Subscribe with Webwag</feedburner:feedFlare><feedburner:feedFlare href="http://www.podcastready.com/oneclick_bookmark.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fredeyed" src="http://www.podcastready.com/images/podcastready_button.gif">Subscribe with Podcast Ready</feedburner:feedFlare><feedburner:feedFlare href="http://www.wikio.com/subscribe?url=http%3A%2F%2Ffeeds.feedburner.com%2Fredeyed" src="http://www.wikio.com/shared/img/add2wikio.gif">Subscribe with Wikio</feedburner:feedFlare><feedburner:feedFlare href="http://www.dailyrotation.com/index.php?feed=http%3A%2F%2Ffeeds.feedburner.com%2Fredeyed" src="http://www.dailyrotation.com/rss-dr2.gif">Subscribe with Daily Rotation</feedburner:feedFlare><item>
		<title>Особенности Softraid ч. 2</title>
		<link>http://feedproxy.google.com/~r/redeyed/~3/ewsjMZMZOpk/</link>
		<comments>http://livid.pp.ru/?p=523#comments</comments>
		<pubDate>Wed, 11 May 2011 09:25:28 +0000</pubDate>
		<dc:creator>Livid</dc:creator>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[mdadm]]></category>
		<category><![CDATA[softraid]]></category>

		<guid isPermaLink="false">http://livid.pp.ru/?p=523</guid>
		<description><![CDATA[Еще кое-что стоит помнить при работе с линуксовым софтрейдом и метадатой 0.90. Если в рейде находятся, скажем /dev/sda2 &#8212; причем раздел находится в самом конце диска &#8212; то автодетект может запутаться и случайно воткнуть в рейд /dev/sda вместо /dev/sda2, что, в общем, смерть данным и системе*. Еще может не собрать ничего, что в данном случае [...]
Связанные посты:<ol>
<li><a href='http://livid.pp.ru/?p=514' rel='bookmark' title='Особенности Softraid'>Особенности Softraid</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Еще кое-что стоит помнить при работе с линуксовым софтрейдом и метадатой 0.90. Если в рейде находятся, скажем /dev/sda2 &#8212; причем раздел находится в самом конце диска &#8212; то автодетект может запутаться и случайно воткнуть в рейд /dev/sda вместо /dev/sda2, что, в общем, смерть данным и системе*. Еще может не собрать ничего, что в данном случае оптимальный вариант, но от этого не легче.<br />
Выходов два. Либо оставлять какое-то пространство в конце диска неразмеченным (минимум 128К), либо не пользоваться автодетектом, а честно писать всё в mdadm.conf.</p>
<p>* Для любопытных, происходит такое потому, что в 0.90 суперблок рейда размещается в самом конце диска. Но &#171;самый конец&#187; оказывается и у раздела, и у всего диска в одном месте. А в суперблоке не прописано, к чему он относится &#8212; к разделу, или к диску. Так что угадать шанс минимальный. Ситуация усугубляется, если в рейде несколько &#171;последних разделов&#187; &#8212; по теории вероятностей, для двух дисков шанс собрать массив правильно &#8212; 1/4 (хотя принцип сборки не совершенно случаен, так что на самом деле еще меньше), для трех &#8212; 1/8, и так далее.</p>
<p>Связанные посты:<ol>
<li><a href='http://livid.pp.ru/?p=514' rel='bookmark' title='Особенности Softraid'>Особенности Softraid</a></li>
</ol></p><img src="http://feeds.feedburner.com/~r/redeyed/~4/ewsjMZMZOpk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://livid.pp.ru/?feed=rss2&amp;p=523</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://livid.pp.ru/?p=523</feedburner:origLink></item>
		<item>
		<title>Особенности Softraid</title>
		<link>http://feedproxy.google.com/~r/redeyed/~3/azAtBHifIY0/</link>
		<comments>http://livid.pp.ru/?p=514#comments</comments>
		<pubDate>Sun, 08 May 2011 23:50:45 +0000</pubDate>
		<dc:creator>Livid</dc:creator>
				<category><![CDATA[kernel]]></category>
		<category><![CDATA[Без рубрики]]></category>
		<category><![CDATA[Железо]]></category>
		<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[mdadm]]></category>
		<category><![CDATA[softraid]]></category>

		<guid isPermaLink="false">http://livid.pp.ru/?p=514</guid>
		<description><![CDATA[Линуксоиду на заметку: удаляя хард (или раздел) из softraid, стоит забивать нулями суперблок рейда &#8212; иначе потом можно долго удивляться наеадекватному поведению mdadm --assemble --scan. mdadm --zero-superblock /dev/sdsomething должен справляться с задачей. Связанные посты: Особенности Softraid ч. 2
Связанные посты:<ol>
<li><a href='http://livid.pp.ru/?p=523' rel='bookmark' title='Особенности Softraid ч. 2'>Особенности Softraid ч. 2</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Линуксоиду на заметку: удаляя хард (или раздел) из softraid, стоит забивать нулями суперблок рейда &#8212; иначе потом можно долго удивляться наеадекватному поведению <code>mdadm --assemble --scan.</code></p>
<p><code>mdadm --zero-superblock /dev/sdsomething</code> должен справляться с задачей.</p>
<p>Связанные посты:<ol>
<li><a href='http://livid.pp.ru/?p=523' rel='bookmark' title='Особенности Softraid ч. 2'>Особенности Softraid ч. 2</a></li>
</ol></p><img src="http://feeds.feedburner.com/~r/redeyed/~4/azAtBHifIY0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://livid.pp.ru/?feed=rss2&amp;p=514</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://livid.pp.ru/?p=514</feedburner:origLink></item>
		<item>
		<title>Внезапно, hot-swap sata-дисков</title>
		<link>http://feedproxy.google.com/~r/redeyed/~3/V5T3_lTWmCo/</link>
		<comments>http://livid.pp.ru/?p=511#comments</comments>
		<pubDate>Thu, 10 Mar 2011 18:55:20 +0000</pubDate>
		<dc:creator>Livid</dc:creator>
				<category><![CDATA[BASh]]></category>
		<category><![CDATA[Cheats]]></category>
		<category><![CDATA[kernel]]></category>
		<category><![CDATA[block]]></category>
		<category><![CDATA[hot-plug]]></category>
		<category><![CDATA[hot-swap]]></category>
		<category><![CDATA[sata]]></category>
		<category><![CDATA[scsi]]></category>
		<category><![CDATA[sysfs]]></category>

		<guid isPermaLink="false">http://livid.pp.ru/?p=511</guid>
		<description><![CDATA[По ссылке http://www.linux.org.ru/&#8230; нашлись скрипты. Кое-что поменял, но смысл не меняется от этого. remove-scsi #! /bin/bash #---------------------------------------------------------------------- # Description: a simple script to remove SCSI devices # Author: Artem S. Tashkinov &#60;no-mail@no-mail.com&#62; # Created at: Tue Sep 15 18:30:41 YEKST 2009 # Computer: localhost.localdomain # System: Linux 2.6.31-k8l on i686 # # Copyright (c) 2009 [...]
Связанные посты:<ol>
<li><a href='http://livid.pp.ru/?p=278' rel='bookmark' title='Скрипт управления питанием через HAL'>Скрипт управления питанием через HAL</a></li>
<li><a href='http://livid.pp.ru/?p=320' rel='bookmark' title='Kernel updater v2'>Kernel updater v2</a></li>
<li><a href='http://livid.pp.ru/?p=367' rel='bookmark' title='Вставка в pastebin из командной строки'>Вставка в pastebin из командной строки</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>По ссылке <a href="http://www.linux.org.ru/forum/linux-hardware/5982422">http://www.linux.org.ru/&#8230;</a> нашлись скрипты.</p>
<p>Кое-что поменял, но смысл не меняется от этого.<br />
<span id="more-511"></span></p>
<p>remove-scsi</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#! /bin/bash</span>
<span style="color: #666666; font-style: italic;">#----------------------------------------------------------------------</span>
<span style="color: #666666; font-style: italic;"># Description: a simple script to remove SCSI devices</span>
<span style="color: #666666; font-style: italic;"># Author: Artem S. Tashkinov &lt;no-mail@no-mail.com&gt;</span>
<span style="color: #666666; font-style: italic;"># Created at: Tue Sep 15 18:30:41 YEKST 2009</span>
<span style="color: #666666; font-style: italic;"># Computer: localhost.localdomain</span>
<span style="color: #666666; font-style: italic;"># System: Linux 2.6.31-k8l on i686</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># Copyright (c) 2009 Artem S. Tashkinov  All rights reserved.</span>
<span style="color: #666666; font-style: italic;"># Copyright (c) 2011 Nikolay M. &quot;Livid&quot; Yakimov  All lefts reserved.</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;">#----------------------------------------------------------------------</span>
&nbsp;
<span style="color: #007800;">strhb</span>=<span style="color: #ff0000;">&quot;hot-pluggable SCSI devices&quot;</span>
<span style="color: #007800;">DEVLIST</span>=<span style="color: #000000; font-weight: bold;">/</span>sys<span style="color: #000000; font-weight: bold;">/</span>class<span style="color: #000000; font-weight: bold;">/</span>scsi_disk<span style="color: #000000; font-weight: bold;">/*/</span>device
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;We have found the following <span style="color: #007800;">$strhb</span>:&quot;</span>
&nbsp;
<span style="color: #007800;">i</span>=<span style="color: #000000;">0</span>
<span style="color: #000000; font-weight: bold;">for</span> item <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #007800;">$DEVLIST</span>; <span style="color: #000000; font-weight: bold;">do</span>
        <span style="color: #007800;">i</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>i+<span style="color: #000000;">1</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
        d_id<span style="color: #7a0874; font-weight: bold;">&#91;</span><span style="color: #007800;">$i</span><span style="color: #7a0874; font-weight: bold;">&#93;</span>=<span style="color: #ff0000;">&quot;<span style="color: #007800;">$item</span>&quot;</span>
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-n</span> <span style="color: #ff0000;">&quot; <span style="color: #007800;">$i</span>: &quot;</span>
        <span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$item</span>&quot;</span><span style="color: #000000; font-weight: bold;">/</span>model <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">tr</span> <span style="color: #660033;">-d</span> <span style="color: #ff0000;">'\n'</span>
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-n</span> <span style="color: #ff0000;">&quot; &quot;</span>
        <span style="color: #c20cb9; font-weight: bold;">ls</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$item</span>&quot;</span><span style="color: #000000; font-weight: bold;">/</span>block <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">tr</span> <span style="color: #ff0000;">'\n'</span> <span style="color: #ff0000;">' '</span>
        <span style="color: #7a0874; font-weight: bold;">echo</span>
<span style="color: #000000; font-weight: bold;">done</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-n</span> <span style="color: #ff0000;">&quot;Please, enter a device number to remove or 0 to exit: &quot;</span>
<span style="color: #c20cb9; font-weight: bold;">read</span> devn
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #000000; font-weight: bold;">!</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$devn</span>&quot;</span> <span style="color: #660033;">-eq</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$devn</span>&quot;</span> <span style="color: #000000;">2</span><span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>null <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Error: <span style="color: #007800;">$devn</span> isn't a number, bye.&quot;</span>
        <span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">2</span>
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$devn</span>&quot;</span> <span style="color: #660033;">-lt</span> <span style="color: #000000;">1</span> <span style="color: #660033;">-o</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$devn</span>&quot;</span> <span style="color: #660033;">-gt</span> <span style="color: #007800;">$i</span> <span style="color: #660033;">-o</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$devn</span>&quot;</span> <span style="color: #660033;">-eq</span> <span style="color: #000000;">0</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;No action taken, bye.&quot;</span>
        <span style="color: #7a0874; font-weight: bold;">exit</span>
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #000000;">1</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">${d_id[$devn]}</span>&quot;</span><span style="color: #000000; font-weight: bold;">/</span>delete
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Done. Consult with dmesg to find out if the device was actually removed&quot;</span></pre></div></div>

<p>rescan-scsi</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#! /bin/bash</span>
&nbsp;
<span style="color: #007800;">SCSI</span>=<span style="color: #000000; font-weight: bold;">/</span>sys<span style="color: #000000; font-weight: bold;">/</span>class<span style="color: #000000; font-weight: bold;">/</span>scsi_host
<span style="color: #7a0874; font-weight: bold;">test</span> <span style="color: #000000; font-weight: bold;">!</span> <span style="color: #660033;">-d</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$SCSI</span>&quot;</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Error: cannot find <span style="color: #007800;">$SCSI</span> directory.&quot;</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> <span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">1</span>
<span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$SCSI</span>&quot;</span> <span style="color: #000000; font-weight: bold;">||</span> <span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">1</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">for</span> i <span style="color: #000000; font-weight: bold;">in</span> <span style="color: #000000; font-weight: bold;">*</span>; <span style="color: #000000; font-weight: bold;">do</span>
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-n</span> <span style="color: #ff0000;">&quot;Scanning <span style="color: #007800;">$i</span> ...&quot;</span>
        <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;- - -&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #007800;">$i</span><span style="color: #000000; font-weight: bold;">/</span>scan <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot; done.&quot;</span>
<span style="color: #000000; font-weight: bold;">done</span>
&nbsp;
<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Finished. Consult with 'dmesg' for details.&quot;</span></pre></div></div>

<p>UPD: Для тех, кто сталкивается с этим впервые, подчеркиваю, что перед удалением диска из системы, его стоит размонтировать, освободить из софтрейда (хотя софтрейд неплохо сам справляется), и вообще всячески снять с него нагрузку. Иначе это будет сродни выключению работающего компьютера из розетки.</p>
<p>И еще одна общая рекомендация: при замене жесткого диска &#171;на горячую&#187;, без выключения машины, шлейф с данными стоит подключать и отключать только у незапитанного харда. Никакого особого криминала в обратном случае, просто лишний раз тормозить/раскручивать шпиндель не полезно, и шансов угробить электронику чуть больше.</p>
<p>Связанные посты:<ol>
<li><a href='http://livid.pp.ru/?p=278' rel='bookmark' title='Скрипт управления питанием через HAL'>Скрипт управления питанием через HAL</a></li>
<li><a href='http://livid.pp.ru/?p=320' rel='bookmark' title='Kernel updater v2'>Kernel updater v2</a></li>
<li><a href='http://livid.pp.ru/?p=367' rel='bookmark' title='Вставка в pastebin из командной строки'>Вставка в pastebin из командной строки</a></li>
</ol></p><img src="http://feeds.feedburner.com/~r/redeyed/~4/V5T3_lTWmCo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://livid.pp.ru/?feed=rss2&amp;p=511</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://livid.pp.ru/?p=511</feedburner:origLink></item>
		<item>
		<title>FreedomBox</title>
		<link>http://feedproxy.google.com/~r/redeyed/~3/T0l1UT_C8Ro/</link>
		<comments>http://livid.pp.ru/?p=508#comments</comments>
		<pubDate>Mon, 21 Feb 2011 00:51:00 +0000</pubDate>
		<dc:creator>Livid</dc:creator>
				<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Без рубрики]]></category>
		<category><![CDATA[Железо]]></category>
		<category><![CDATA[donate]]></category>
		<category><![CDATA[freedombox]]></category>

		<guid isPermaLink="false">http://livid.pp.ru/?p=508</guid>
		<description><![CDATA[Коллеги и сочувствующие! Не все из нас могут читать OpenNet, и не все ходят по ссылкам, поэтому напишу здесь, что ли. Появилась новая инициатива по централизации и объединению усилий по построению &#171;свободокоробки&#187; &#8212; этакого девайса, который полностью прозрачно обеспечит домашнему пользователю децентрализованное хранение данных, шифрование, связь, P2P прокси-сеть типа Tor и тд и тп. Основатель [...]
Нет связанных постов.]]></description>
			<content:encoded><![CDATA[<p>Коллеги и сочувствующие! Не все из нас могут читать OpenNet, и не все ходят по ссылкам, поэтому напишу здесь, что ли.<br />
Появилась новая инициатива по централизации и объединению усилий по построению &#171;свободокоробки&#187; &#8212; этакого девайса, который полностью прозрачно обеспечит домашнему пользователю децентрализованное хранение данных, шифрование, связь, P2P прокси-сеть типа Tor и тд и тп.<br />
Основатель проекта &#8212; Эбен Моглен (Eben Moglen) &#8212; профессор права Колумбийского университета, фактический основатель Центра юридической поддержки Фонда свободного программного обеспечения (Software Freedom Law Center).<br />
Гораздо подробнее написано в соответствующей <a href="http://www.opennet.ru/opennews/art.shtml?num=29650">статье на опеннете</a> и на <a href="http://freedomboxfoundation.org/">официальном сайте</a></p>
<p>Теперь почему я об этом пишу: проекту нужно какое-никакое финансирование. По этому поводу они запустили проект на Kickstarter. Вы можете зайти по ссылке: <a href="https://www.kickstarter.com/projects/721744279/push-the-freedombox-foundation-from-0-to-60-in-30">https://www.kickstarter.com/projects/721744279/push-the-freedombox-foundation-from-0-to-60-in-30</a> и <em>пообещать</em> заплатить с карточки (кредитной или дебетовой, you know the drill) некую сумму на ваш выбор, от $1 до $5000. Если в течение месяца с момента начала компании (осталось 26 дней) наберется обещаний на сумму больше $60 000, то обещанные деньги с вашей карточки снимут, а проект перейдет в стадию активной работы (обещают первый релиз в течение года).<br />
За прошедшие 4 дня набралось почти 40 тысяч долларов, что вообще очень здорово, но еще не дотягивает до заветной отметки. Я всячески призываю поддержать проект хотя бы завалящим долларом, чтобы, черт побери, показать инициаторам, что интернет-сообществу это небезразлично!</p>
<p>Да, за пожертвования обещаются различные плюшки, а именно (вольный перевод того, что написано на страничке проекта в Kickstarter):</p>
<blockquote><p>
$1 +<br />
Благодарность в замечаниях к релизу первой публичной версии</p>
<p>$25 +<br />
То же, что выше, плюс стикер с логотипом, чтобы понтоваться перед знакомыми</p>
<p>$60 +<br />
То же, что выше, плюс особая кастомная MicroSD-ридер и Micro-SD с софтом Freedom Box.</p>
<p>$90 +<br />
То же, что выше, плюс майка с логотипом проекта</p>
<p>$140 +<br />
То же, что выше, плюс экземпляр из ограниченного тиража компакт-дисков с софтом, с подписями членов команды.</p>
<p>$220 +<br />
То же, что выше, плюс сумка с логотипом.</p>
<p>$1,000 +<br />
То же, что выше, плюс компьютер формата &#171;ethernet plug&#187; со специальным дизайном и установленным софтом Freedom Box</p>
<p>$1,500 +<br />
То же, что выше, но компьютер из предыдущего пункта имеет персональные подписи членов команды разработчиков и лазерную гравировку порядкового номера. Чем раньше, тем соответственно порядковый номер меньше.</p>
<p>$5,000 +<br />
То же, что выше, плюс возможность пообедать с основателем проекта (в Нью Йорке). Возможен вариант с веб-камерой, если в штаты ехать не хочется. Осталась только одна &#171;путевка&#187; (из пяти)
</p></blockquote>
<p>Не проходите мимо, инициатива актуальна как никогда!</p>
<p>Нет связанных постов.</p><img src="http://feeds.feedburner.com/~r/redeyed/~4/T0l1UT_C8Ro" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://livid.pp.ru/?feed=rss2&amp;p=508</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://livid.pp.ru/?p=508</feedburner:origLink></item>
		<item>
		<title>Судьба доменов net.ru, org.ru, pp.ru</title>
		<link>http://feedproxy.google.com/~r/redeyed/~3/9gxqHZvOTGQ/</link>
		<comments>http://livid.pp.ru/?p=506#comments</comments>
		<pubDate>Fri, 17 Dec 2010 12:27:19 +0000</pubDate>
		<dc:creator>Livid</dc:creator>
				<category><![CDATA[Без рубрики]]></category>

		<guid isPermaLink="false">http://livid.pp.ru/?p=506</guid>
		<description><![CDATA[РосНИИРОС, как администратор доменов NET.RU, ORG.RU, PP.RU, планирует 27 декабря 2010 года передать деятельность по регистрации и поддержке доменных имен третьего уровня в доменах NET.RU, ORG.RU и PP.RU в компанию RU-CENTER. Выбор компании обусловлен прежде всего тем, что в течение последних пяти лет именно RU-CENTER занимается техническим сопровождением доменов третьего уровня NET.RU, ORG.RU и PP.RU. [...]
Связанные посты:<ol>
<li><a href='http://livid.pp.ru/?p=499' rel='bookmark' title='Приехали, ч.2: судьба бесплатных доменов третьего уровня'>Приехали, ч.2: судьба бесплатных доменов третьего уровня</a></li>
<li><a href='http://livid.pp.ru/?p=503' rel='bookmark' title='Доменные имена, ч.3'>Доменные имена, ч.3</a></li>
<li><a href='http://livid.pp.ru/?p=479' rel='bookmark' title='Действительно, приехали'>Действительно, приехали</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<blockquote><p>РосНИИРОС, как администратор доменов NET.RU, ORG.RU, PP.RU,<br />
планирует 27 декабря 2010 года передать деятельность<br />
по регистрации и поддержке доменных имен третьего уровня<br />
в доменах NET.RU, ORG.RU и PP.RU в компанию RU-CENTER.<br />
Выбор компании обусловлен прежде всего тем, что<br />
в течение последних пяти лет именно RU-CENTER<br />
занимается техническим сопровождением доменов третьего уровня<br />
NET.RU, ORG.RU и PP.RU.</p>
<p>Уведомляем Вас, что управление доменами будет осуществляться<br />
через веб-интерфейс RU-CENTER nic.ru.</p>
<p>Инструкция по переносу доменов и данных администраторов<br />
из РосНИИРОС в RU-CENTER будет выслана всем владельцам доменов<br />
в зонах NET.RU, ORG.RU, и PP.RU на контактные электронные адреса,<br />
указанные при регистрации доменного имени для частного лица<br />
или организации. <strong>Для получения доступа администратору домена<br />
будет предложено заключить клиентский договор с компанией RU-CENTER.</strong></p>
<p><strong>Регистрация доменов третьего уровня</strong> в .NET.RU, .ORG.RU и .PP.RU<br />
через веб-интерфейс РосНИИРОС останавливается 20 декабря 2010 года и<br />
будет возобновлена 27 декабря 2010 года через веб-интерфейс RU-CENTER<br />
<strong>на платной основе</strong></p></blockquote>
<p>Вот и приехали. Теперь придется за свои домены платить. Может быть, это и хорошо. А может, и наоборот. Вот интересно, а с non-profit проектами-то мне теперь что делать?..</p>
<p>Связанные посты:<ol>
<li><a href='http://livid.pp.ru/?p=499' rel='bookmark' title='Приехали, ч.2: судьба бесплатных доменов третьего уровня'>Приехали, ч.2: судьба бесплатных доменов третьего уровня</a></li>
<li><a href='http://livid.pp.ru/?p=503' rel='bookmark' title='Доменные имена, ч.3'>Доменные имена, ч.3</a></li>
<li><a href='http://livid.pp.ru/?p=479' rel='bookmark' title='Действительно, приехали'>Действительно, приехали</a></li>
</ol></p><img src="http://feeds.feedburner.com/~r/redeyed/~4/9gxqHZvOTGQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://livid.pp.ru/?feed=rss2&amp;p=506</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://livid.pp.ru/?p=506</feedburner:origLink></item>
		<item>
		<title>Доменные имена, ч.3</title>
		<link>http://feedproxy.google.com/~r/redeyed/~3/211Uvs_S9y4/</link>
		<comments>http://livid.pp.ru/?p=503#comments</comments>
		<pubDate>Fri, 28 May 2010 07:30:41 +0000</pubDate>
		<dc:creator>Livid</dc:creator>
				<category><![CDATA[Без рубрики]]></category>

		<guid isPermaLink="false">http://livid.pp.ru/?p=503</guid>
		<description><![CDATA[Вносим ясность с географическими доменными именами. С 31 мая 2010 года компания RU-CENTER начинает предоставлять услуги по регистрации доменных имен третьего уровня в MSK.RU, SPB.RU, NOV.RU и других географических доменах. Стоимость регистрации таких доменов cоставит 450 рублей в год. Стоимость продления — 360 рублей в год. Вот так оно и было. Сильно сомневаюсь, что существующие [...]
Нет связанных постов.]]></description>
			<content:encoded><![CDATA[<p>Вносим ясность с географическими доменными именами.</p>
<blockquote><p>С 31 мая 2010 года компания RU-CENTER начинает предоставлять услуги по регистрации доменных имен третьего уровня в MSK.RU, SPB.RU, NOV.RU и других географических доменах.</p>
<p>Стоимость регистрации таких доменов cоставит 450 рублей в год. Стоимость продления — 360 рублей в год.</p></blockquote>
<p>Вот так оно и было. Сильно сомневаюсь, что существующие регистрации они будут продлять бесплатно. Печально.</p>
<p>С pp.ru, org.ru, com.ru, net.ru ситуация остается неопределенной.</p>
<p>Нет связанных постов.</p><img src="http://feeds.feedburner.com/~r/redeyed/~4/211Uvs_S9y4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://livid.pp.ru/?feed=rss2&amp;p=503</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://livid.pp.ru/?p=503</feedburner:origLink></item>
		<item>
		<title>Приехали, ч.2: судьба бесплатных доменов третьего уровня</title>
		<link>http://feedproxy.google.com/~r/redeyed/~3/npSUQ_CAv5w/</link>
		<comments>http://livid.pp.ru/?p=499#comments</comments>
		<pubDate>Wed, 28 Apr 2010 09:25:54 +0000</pubDate>
		<dc:creator>Livid</dc:creator>
				<category><![CDATA[Сеть]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[ripn]]></category>
		<category><![CDATA[паника]]></category>
		<category><![CDATA[рашка]]></category>

		<guid isPermaLink="false">http://livid.pp.ru/?p=499</guid>
		<description><![CDATA[Продолжение свистопляски с доменами. Сегодня нашел в почтовом ящике. Уважаемый владелец доменов третьего уровня! Компания ООО передала деятельность по регистрации и поддержке доменных имен третьего уровня в географических доменах (MSK.RU, SPB.RU и др.) в ЗАО (RU-CENTER). По данным, переданным из системы регистрации ООО , на Ваше имя зарегистрирован(ы) домен(ы) третьего уровня. Для сохранения за собой [...]
Связанные посты:<ol>
<li><a href='http://livid.pp.ru/?p=506' rel='bookmark' title='Судьба доменов net.ru, org.ru, pp.ru'>Судьба доменов net.ru, org.ru, pp.ru</a></li>
<li><a href='http://livid.pp.ru/?p=479' rel='bookmark' title='Действительно, приехали'>Действительно, приехали</a></li>
<li><a href='http://livid.pp.ru/?p=503' rel='bookmark' title='Доменные имена, ч.3'>Доменные имена, ч.3</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Продолжение <a href="/?p=479">свистопляски с доменами</a>. Сегодня нашел в почтовом ящике.<br />
<span id="more-499"></span></p>
<blockquote><p>Уважаемый владелец доменов третьего уровня!</p>
<p>Компания ООО <Релком. Деловая сеть> передала деятельность<br />
по регистрации и поддержке доменных имен третьего уровня<br />
в географических доменах (MSK.RU, SPB.RU и др.)<br />
в ЗАО <Региональный Сетевой Информационный Центр> (RU-CENTER).</p>
<p>По данным, переданным из системы регистрации ООО <Релком. Деловая сеть>,<br />
на Ваше имя зарегистрирован(ы) домен(ы) третьего уровня.</p>
<p>Для сохранения за собой права использования и получения<br />
управления доменами, Вам необходимо:</p>
<p>- перейти по ссылке:<br />
     nic.ru/manager/admin_change.cgi?key=<cut><br />
- авторизоваться, указав номер анкеты NIC-D и Ваш пароль,<br />
 (если у Вас нет с нами договора, необходимо предварительно<br />
 заполнить анкету на странице nic.ru/dns/contract/anketa.html)<br />
- снять флаги с ненужных Вам доменов;<br />
- ввести <cut> в поле <Контрольный ключ>;<br />
- нажать кнопку <Принять>.</p>
<p>С более подробной информацией можно ознакомиться на странице:<br />
 www.nic.ru/dns/service/geo.html</p></blockquote>
<p>Пока все это удовольствие бесплатно.</p>
<p>Это относится только к ГЕО-доменам msk.ru, spb.ru, nsk.ru, etc (список <a href="http://www.nic.ru/dns/service/geo_list.html">здесь</a>) &#8212; и НЕ относится к доменам pp.ru, net.ru, org.ru, com.ru, что будет с ними &#8212; пока не ясно. Продолжаем ждать и надеяться на лучшее.</p>
<p>Связанные посты:<ol>
<li><a href='http://livid.pp.ru/?p=506' rel='bookmark' title='Судьба доменов net.ru, org.ru, pp.ru'>Судьба доменов net.ru, org.ru, pp.ru</a></li>
<li><a href='http://livid.pp.ru/?p=479' rel='bookmark' title='Действительно, приехали'>Действительно, приехали</a></li>
<li><a href='http://livid.pp.ru/?p=503' rel='bookmark' title='Доменные имена, ч.3'>Доменные имена, ч.3</a></li>
</ol></p><img src="http://feeds.feedburner.com/~r/redeyed/~4/npSUQ_CAv5w" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://livid.pp.ru/?feed=rss2&amp;p=499</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://livid.pp.ru/?p=499</feedburner:origLink></item>
		<item>
		<title>Микроменеджмент логов или удобные logrotate и syslog-ng</title>
		<link>http://feedproxy.google.com/~r/redeyed/~3/PEYEKMgupCQ/</link>
		<comments>http://livid.pp.ru/?p=492#comments</comments>
		<pubDate>Mon, 29 Mar 2010 04:49:46 +0000</pubDate>
		<dc:creator>Livid</dc:creator>
				<category><![CDATA[BASh]]></category>
		<category><![CDATA[Cheats]]></category>
		<category><![CDATA[Gentoo]]></category>
		<category><![CDATA[Soft]]></category>
		<category><![CDATA[logrotate]]></category>
		<category><![CDATA[logs]]></category>
		<category><![CDATA[monitoring]]></category>
		<category><![CDATA[syslog-ng]]></category>

		<guid isPermaLink="false">http://livid.pp.ru/?p=492</guid>
		<description><![CDATA[Заголовок слегка отдает желтизной, но Бог бы с ним. А суть вот в чем: ничто не сравнится с запахом свежих логов по утрам. Особенно если эти логи рассортированны по категориям (в моем простейшем случае по демонам, которые эти самые логи генерят), и еще хорошо если оно все само падает в почтовый ящик &#8212; только открыть [...]
Связанные посты:<ol>
<li><a href='http://livid.pp.ru/?p=361' rel='bookmark' title='Кросс-DistCC в Gentoo'>Кросс-DistCC в Gentoo</a></li>
<li><a href='http://livid.pp.ru/?p=320' rel='bookmark' title='Kernel updater v2'>Kernel updater v2</a></li>
<li><a href='http://livid.pp.ru/?p=316' rel='bookmark' title='Kernel updater'>Kernel updater</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Заголовок слегка отдает желтизной, но Бог бы с ним. А суть вот в чем: ничто не сравнится с запахом свежих логов по утрам. Особенно если эти логи рассортированны по категориям (в моем простейшем случае по демонам, которые эти самые логи генерят), и еще хорошо если оно все само падает в почтовый ящик &#8212; только открыть и наслаждаться.<br />
Рассказывать как настроить авторассылку логов не буду. И про синтаксис конфигов тоже не буду распинаться. А просто, по совему обыкновению, предложу скрипт, который позволяет выделить некоторую маску имени демона в отдельный лог-файл, который будет усердно вращаться и слаться куда надо в соответствии с настройками logrotate. Все рассчитано на gentoo, как можно догадаться.<br />
<span id="more-492"></span><br />
Итак, собственно, сам скрипт вот он</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#!/bin/bash</span>
<span style="color: #666666; font-style: italic;">#    Syslogrotate-gen v. 1.0</span>
<span style="color: #666666; font-style: italic;">#    </span>
<span style="color: #666666; font-style: italic;">#    This program is meant to minimize effort in simple yet efficent</span>
<span style="color: #666666; font-style: italic;">#    sorting of logs from various daemons to separate log files. It </span>
<span style="color: #666666; font-style: italic;">#    was designed to work with logroatate and syslog-ng on Gentoo</span>
<span style="color: #666666; font-style: italic;">#    Linux baselayout-2.</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;">#    (c) by Nikolay &quot;Livid&quot; Yakimov 2010 (root@livid.pp.ru)</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;">#    This program is free software: you can redistribute it and/or modify</span>
<span style="color: #666666; font-style: italic;">#    it under the terms of the GNU General Public License as published by</span>
<span style="color: #666666; font-style: italic;">#    the Free Software Foundation, either version 3 of the License, or</span>
<span style="color: #666666; font-style: italic;">#    (at your option) any later version.</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;">#    This program is distributed in the hope that it will be useful,</span>
<span style="color: #666666; font-style: italic;">#    but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<span style="color: #666666; font-style: italic;">#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span>
<span style="color: #666666; font-style: italic;">#    GNU General Public License for more details.</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;">#    You should have received a copy of the GNU General Public License</span>
<span style="color: #666666; font-style: italic;">#    along with this program.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># In orger for this to work, you need to change</span>
<span style="color: #666666; font-style: italic;"># /etc/syslog-ng/syslog-ng.conf according to diff:</span>
<span style="color: #666666; font-style: italic;"># ---------------------------------------------</span>
<span style="color: #666666; font-style: italic;"># -log { source(src); destination(messages); };</span>
<span style="color: #666666; font-style: italic;">#  log { source(src); destination(console_all); };</span>
<span style="color: #666666; font-style: italic;"># +include &quot;/etc/syslog-ng/individual-daemons.inc&quot;;</span>
<span style="color: #666666; font-style: italic;"># +log { source(src); destination(messages); };</span>
<span style="color: #666666; font-style: italic;"># ---------------------------------------------</span>
<span style="color: #666666; font-style: italic;"># PLEASE DO NOT SET $SYSLOGCONF TO</span>
<span style="color: #666666; font-style: italic;"># /etc/syslog-ng/syslog-ng.conf -- it will break things horribly.</span>
<span style="color: #007800;">SYSLOGCONF</span>=<span style="color: #ff0000;">&quot;/etc/syslog-ng/individual-daemons.inc&quot;</span>
<span style="color: #007800;">LOGROTATEDIR</span>=<span style="color: #ff0000;">&quot;/etc/logrotate.d&quot;</span>
&nbsp;
logfile<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span>
	<span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-d</span> <span style="color: #ff0000;">&quot;/var/log/<span style="color: #007800;">${@}</span>&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">||</span> <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Making /var/log/<span style="color: #007800;">${@}</span>&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&amp;</span><span style="color: #000000;">2</span>; <span style="color: #c20cb9; font-weight: bold;">mkdir</span> <span style="color: #ff0000;">&quot;/var/log/<span style="color: #007800;">${@}</span>&quot;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
	<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;/var/log/<span style="color: #007800;">${@}</span>/<span style="color: #007800;">${@}</span>.log&quot;</span>
<span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;
usage<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span>
	<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;$0 (add|del) match_str [match_str...]&quot;</span>
	<span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">1</span>
<span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;
localn<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span>
	<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-n</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">${1//[^A-Za-z0-9-]/_}</span>&quot;</span>
<span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;
syslog-conf<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span>
<span style="color: #7a0874; font-weight: bold;">local</span> <span style="color: #007800;">N</span>=<span style="color: #000000; font-weight: bold;">`</span>localn <span style="color: #ff0000;">&quot;$1&quot;</span><span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #cc0000; font-style: italic;">&lt;&lt; CONF
# {{{ $1
destination ${N} { file(&quot;`logfile ${N}`&quot;); };
filter $N { program(&quot;$1&quot;); };
log { source(src); filter($N); destination($N); flags(final); };
# }}} $1
CONF</span>
<span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;
logrotate-conf<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span>
<span style="color: #7a0874; font-weight: bold;">local</span> <span style="color: #007800;">N</span>=<span style="color: #000000; font-weight: bold;">`</span>localn <span style="color: #ff0000;">&quot;$1&quot;</span><span style="color: #000000; font-weight: bold;">`</span>
<span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #cc0000; font-style: italic;">&lt;&lt; CONF
`logfile ${N}` {
    missingok
    sharedscripts
    postrotate
        /etc/init.d/syslog-ng reload &gt; /dev/null 2&gt;&amp;1 || true
    endscript
}
CONF</span>
<span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;
toLower<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span>
	<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-n</span> <span style="color: #ff0000;">&quot;$@&quot;</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">tr</span> <span style="color: #ff0000;">&quot;[:upper:]&quot;</span> <span style="color: #ff0000;">&quot;[:lower:]&quot;</span> 
<span style="color: #7a0874; font-weight: bold;">&#125;</span> 
&nbsp;
add_daemon<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#123;</span>
	<span style="color: #7a0874; font-weight: bold;">local</span> <span style="color: #007800;">N</span>=<span style="color: #000000; font-weight: bold;">`</span>localn <span style="color: #ff0000;">&quot;$1&quot;</span><span style="color: #000000; font-weight: bold;">`</span>
	<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">&quot;^# {{{ <span style="color: #007800;">${1}</span>$&quot;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$SYSLOGCONF</span>&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>null; <span style="color: #000000; font-weight: bold;">then</span>
		<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Daemon <span style="color: #007800;">${1}</span> entry already exists in <span style="color: #007800;">$SYSLOGCONF</span>. Skipping&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&amp;</span><span style="color: #000000;">2</span>
	<span style="color: #000000; font-weight: bold;">else</span>
		<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Writing daemon <span style="color: #007800;">${1}</span> entry into <span style="color: #007800;">$SYSLOGCONF</span>&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&amp;</span><span style="color: #000000;">2</span>
		syslog-conf <span style="color: #ff0000;">&quot;$1&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&gt;</span> <span style="color: #007800;">$SYSLOGCONF</span>
	<span style="color: #000000; font-weight: bold;">fi</span>
	<span style="color: #7a0874; font-weight: bold;">local</span> <span style="color: #007800;">LOGROTNAME</span>=<span style="color: #ff0000;">&quot;<span style="color: #007800;">${LOGROTATEDIR}</span>/<span style="color: #007800;">${N}</span>&quot;</span>
	<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$LOGROTNAME</span>&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
		<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #c20cb9; font-weight: bold;">diff</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$LOGROTNAME</span>&quot;</span> <span style="color: #000000; font-weight: bold;">&lt;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>logrotate-conf <span style="color: #ff0000;">&quot;$1&quot;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000; font-weight: bold;">&gt;/</span>dev<span style="color: #000000; font-weight: bold;">/</span>null; <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #666666; font-style: italic;">#files match</span>
			<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Logrotate file for daemon $1 exists and matches stock. Skipping&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&amp;</span><span style="color: #000000;">2</span>
		<span style="color: #000000; font-weight: bold;">else</span>
			<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Logrotate file for daemon $1 exists and reads as follows:&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&amp;</span><span style="color: #000000;">2</span>
			<span style="color: #c20cb9; font-weight: bold;">cat</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$LOGROTNAME</span>&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&amp;</span><span style="color: #000000;">2</span>
			<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #c20cb9; font-weight: bold;">true</span>; <span style="color: #000000; font-weight: bold;">do</span>
				<span style="color: #7a0874; font-weight: bold;">local</span> <span style="color: #007800;">REPLACE</span>=<span style="color: #ff0000;">&quot;&quot;</span>
				<span style="color: #c20cb9; font-weight: bold;">read</span> <span style="color: #660033;">-p</span> <span style="color: #ff0000;">&quot;Replace? (yes/no/diff)&quot;</span> REPLACE
				<span style="color: #000000; font-weight: bold;">case</span> <span style="color: #000000; font-weight: bold;">`</span>toLower <span style="color: #007800;">$REPLACE</span><span style="color: #000000; font-weight: bold;">`</span> <span style="color: #000000; font-weight: bold;">in</span>
				y<span style="color: #000000; font-weight: bold;">|</span><span style="color: #c20cb9; font-weight: bold;">yes</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
					<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Writing daemon <span style="color: #007800;">${1}</span> entry into <span style="color: #007800;">$LOGROTNAME</span>&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&amp;</span><span style="color: #000000;">2</span>
					logrotate-conf <span style="color: #ff0000;">&quot;$1&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$LOGROTNAME</span>&quot;</span>
					<span style="color: #7a0874; font-weight: bold;">break</span>
					<span style="color: #000000; font-weight: bold;">;;</span>
				n<span style="color: #000000; font-weight: bold;">|</span>no<span style="color: #7a0874; font-weight: bold;">&#41;</span>
					<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Skipping&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&amp;</span><span style="color: #000000;">2</span>
					<span style="color: #7a0874; font-weight: bold;">break</span>
					<span style="color: #000000; font-weight: bold;">;;</span>
				d<span style="color: #000000; font-weight: bold;">|</span><span style="color: #c20cb9; font-weight: bold;">diff</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
					<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Differences:&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&amp;</span><span style="color: #000000;">2</span>
					<span style="color: #c20cb9; font-weight: bold;">diff</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$LOGROTNAME</span>&quot;</span> <span style="color: #000000; font-weight: bold;">&lt;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>logrotate-conf <span style="color: #ff0000;">&quot;$1&quot;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000; font-weight: bold;">|</span> colordiff
					<span style="color: #000000; font-weight: bold;">;;</span>
				<span style="color: #000000; font-weight: bold;">*</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Sorry, reply not understood: '<span style="color: #007800;">$REPLACE</span>'&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&amp;</span><span style="color: #000000;">2</span> ;
				<span style="color: #000000; font-weight: bold;">esac</span>
			<span style="color: #000000; font-weight: bold;">done</span>
		<span style="color: #000000; font-weight: bold;">fi</span>
	<span style="color: #000000; font-weight: bold;">else</span>
		<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Writing daemon <span style="color: #007800;">${1}</span> entry into <span style="color: #007800;">$LOGROTNAME</span>&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&amp;</span><span style="color: #000000;">2</span>
		logrotate-conf <span style="color: #ff0000;">&quot;$1&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$LOGROTNAME</span>&quot;</span>
	<span style="color: #000000; font-weight: bold;">fi</span>
<span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;
del_daemon<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span><span style="color: #7a0874; font-weight: bold;">&#123;</span>
	<span style="color: #7a0874; font-weight: bold;">local</span> <span style="color: #007800;">N</span>=<span style="color: #000000; font-weight: bold;">`</span>localn <span style="color: #ff0000;">&quot;$1&quot;</span><span style="color: #000000; font-weight: bold;">`</span>
	<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #c20cb9; font-weight: bold;">grep</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">&quot;^# {{{ <span style="color: #007800;">${1}</span>$&quot;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$SYSLOGCONF</span>&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>null; <span style="color: #000000; font-weight: bold;">then</span>
		<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Removing daemon <span style="color: #007800;">${1}</span> entry from <span style="color: #007800;">$SYSLOGCONF</span>&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&amp;</span><span style="color: #000000;">2</span>
		<span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #660033;">-i</span> <span style="color: #ff0000;">&quot;/^# {{{ <span style="color: #007800;">${1}</span>$/,/^# }}} <span style="color: #007800;">${1}</span>$/ d&quot;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$SYSLOGCONF</span>&quot;</span>
	<span style="color: #000000; font-weight: bold;">else</span>
		<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;There is no daemon <span style="color: #007800;">${1}</span> entry in <span style="color: #007800;">$SYSLOGCONF</span>&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&amp;</span><span style="color: #000000;">2</span>
	<span style="color: #000000; font-weight: bold;">fi</span>
	<span style="color: #7a0874; font-weight: bold;">local</span> <span style="color: #007800;">LOGROTNAME</span>=<span style="color: #ff0000;">&quot;<span style="color: #007800;">${LOGROTATEDIR}</span>/<span style="color: #007800;">${N}</span>&quot;</span>
	<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$LOGROTNAME</span>&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
		<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Removing <span style="color: #007800;">$LOGROTNAME</span>&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&amp;</span><span style="color: #000000;">2</span>
		<span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #660033;">-v</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$LOGROTNAME</span>&quot;</span>
	<span style="color: #000000; font-weight: bold;">else</span>
		<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;There is no daemon <span style="color: #007800;">${1}</span> entry in <span style="color: #007800;">$LOGROTATEDIR</span>&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&amp;</span><span style="color: #000000;">2</span>
	<span style="color: #000000; font-weight: bold;">fi</span>
<span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;
arg_unwind<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span>
<span style="color: #666666; font-style: italic;"># arg1: function</span>
<span style="color: #666666; font-style: italic;"># argN: args to unwind	</span>
	<span style="color: #7a0874; font-weight: bold;">local</span> <span style="color: #007800;">cmd</span>=<span style="color: #007800;">$1</span>
	<span style="color: #7a0874; font-weight: bold;">shift</span>
	<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #007800;">$#</span> <span style="color: #660033;">-gt</span> <span style="color: #000000;">0</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">do</span>
		<span style="color: #ff0000;">&quot;<span style="color: #007800;">$cmd</span>&quot;</span> <span style="color: #ff0000;">&quot;$1&quot;</span>
		<span style="color: #7a0874; font-weight: bold;">shift</span>
	<span style="color: #000000; font-weight: bold;">done</span>
<span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;
list_daemons<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span>
	<span style="color: #7a0874; font-weight: bold;">local</span> <span style="color: #007800;">daemon</span>=<span style="color: #ff0000;">&quot;&quot;</span>
	<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">&quot;daemon<span style="color: #000099; font-weight: bold;">\t</span><span style="color: #000099; font-weight: bold;">\t</span>logrotate&quot;</span>
	<span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #660033;">-n</span> <span style="color: #ff0000;">'s:^# {{{ ::p'</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$SYSLOGCONF</span>&quot;</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #000000; font-weight: bold;">while</span> <span style="color: #c20cb9; font-weight: bold;">read</span> daemon; <span style="color: #000000; font-weight: bold;">do</span>
		<span style="color: #7a0874; font-weight: bold;">local</span> <span style="color: #007800;">N</span>=<span style="color: #000000; font-weight: bold;">`</span>localn <span style="color: #ff0000;">&quot;<span style="color: #007800;">$daemon</span>&quot;</span><span style="color: #000000; font-weight: bold;">`</span>
		<span style="color: #7a0874; font-weight: bold;">local</span> <span style="color: #007800;">LOGROTNAME</span>=<span style="color: #ff0000;">&quot;<span style="color: #007800;">${LOGROTATEDIR}</span>/<span style="color: #007800;">${N}</span>&quot;</span>
		<span style="color: #7a0874; font-weight: bold;">local</span> <span style="color: #007800;">logrotate</span>=<span style="color: #ff0000;">&quot;&quot;</span>
		<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$LOGROTNAME</span>&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
			<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #c20cb9; font-weight: bold;">diff</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$LOGROTNAME</span>&quot;</span> <span style="color: #000000; font-weight: bold;">&lt;</span><span style="color: #7a0874; font-weight: bold;">&#40;</span>logrotate-conf <span style="color: #ff0000;">&quot;<span style="color: #007800;">$daemon</span>&quot;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #000000; font-weight: bold;">&gt;/</span>dev<span style="color: #000000; font-weight: bold;">/</span>null; <span style="color: #000000; font-weight: bold;">then</span> <span style="color: #666666; font-style: italic;">#files match</span>
				<span style="color: #007800;">logrotate</span>=<span style="color: #ff0000;">&quot;ok&quot;</span>
			<span style="color: #000000; font-weight: bold;">else</span>
				<span style="color: #007800;">logrotate</span>=<span style="color: #ff0000;">&quot;diff&quot;</span>
			<span style="color: #000000; font-weight: bold;">fi</span>
		<span style="color: #000000; font-weight: bold;">else</span>
			<span style="color: #007800;">logrotate</span>=<span style="color: #ff0000;">&quot;ne&quot;</span>
		<span style="color: #000000; font-weight: bold;">fi</span>
		<span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$daemon</span><span style="color: #000099; font-weight: bold;">\t</span><span style="color: #000099; font-weight: bold;">\t</span><span style="color: #007800;">$logrotate</span>&quot;</span>
	<span style="color: #000000; font-weight: bold;">done</span>
<span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;
&nbsp;
<span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-e</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$SYSLOGCONF</span>&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">||</span> <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;# vim: set filetype=conf foldmethod=marker :&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$SYSLOGCONF</span>&quot;</span>
&nbsp;
<span style="color: #007800;">ACTION</span>=<span style="color: #007800;">$1</span>
<span style="color: #7a0874; font-weight: bold;">shift</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">case</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$ACTION</span>&quot;</span> <span style="color: #000000; font-weight: bold;">in</span>
	add<span style="color: #7a0874; font-weight: bold;">&#41;</span> arg_unwind add_daemon $<span style="color: #000000; font-weight: bold;">@;;</span>
	del<span style="color: #7a0874; font-weight: bold;">&#41;</span> arg_unwind del_daemon $<span style="color: #000000; font-weight: bold;">@;;</span>
	list<span style="color: #7a0874; font-weight: bold;">&#41;</span> list_daemons<span style="color: #000000; font-weight: bold;">;;</span>
	<span style="color: #000000; font-weight: bold;">*</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> usage<span style="color: #000000; font-weight: bold;">;;</span>
<span style="color: #000000; font-weight: bold;">esac</span></pre></div></div>

<p>Безусловно, тут полно велосипедов и прочей радости, но в целом качество кода удовлетворительное, даже, можно сказать, приличное.<br />
Чтобы воспользоваться скриптом требуется одна модификация конфига syslog-ng, а именно в файле /etc/syslog-ng/syslog-ng.conf перенести строчку </p>
<pre>log { source(src); destination(messages); };</pre>
<p> в конец файла и над ней добавить </p>
<pre>include "/etc/syslog-ng/individual-daemons.inc";</pre>
<p>Для энтузиастов вот diff:</p>

<div class="wp_syntax"><div class="code"><pre class="diff" style="font-family:monospace;"><span style="color: #888822;">--- /etc/syslog-ng/syslog-ng.conf.dist	2009-09-07 15:35:33.000000000 +0400</span>
<span style="color: #888822;">+++ /etc/syslog-ng/syslog-ng.conf	2010-02-24 13:42:42.000000000 +0300</span>
<span style="color: #440088;">@@ -28,5 +28,6 @@</span>
 # and uncomment the line below.
 #destination console_all <span style="">&#123;</span> file<span style="">&#40;</span>&quot;/dev/console&quot;<span style="">&#41;</span>; <span style="">&#125;</span>;
&nbsp;
<span style="color: #991111;">-log <span style="">&#123;</span> source<span style="">&#40;</span>src<span style="">&#41;</span>; destination<span style="">&#40;</span>messages<span style="">&#41;</span>; <span style="">&#125;</span>;</span>
 log <span style="">&#123;</span> source<span style="">&#40;</span>src<span style="">&#41;</span>; destination<span style="">&#40;</span>console_all<span style="">&#41;</span>; <span style="">&#125;</span>;
<span style="color: #00b000;">+include &quot;/etc/syslog-ng/individual-daemons.inc&quot;;</span>
<span style="color: #00b000;">+log <span style="">&#123;</span> source<span style="">&#40;</span>src<span style="">&#41;</span>; destination<span style="">&#40;</span>messages<span style="">&#41;</span>; <span style="">&#125;</span>;</span></pre></div></div>

<p>Используется сей продукт воспаленного мозга следующим образом:<br />
$0 (add|del) match_str [match_str...]<br />
Переводя на русский, если скрипт называется syslogrotate, и лежит в текущей директории, то делаем так:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">.<span style="color: #000000; font-weight: bold;">/</span>syslogrotate add <span style="color: #ff0000;">'expression'</span> <span style="color: #666666; font-style: italic;">#добавляем фильтр 'expression'</span></pre></div></div>

<p>Теперь логи, которые пишет (через syslog) демон с именем, попадающем под expression (regex, подробности в манах syslog-ng), будут сохраняться в файл /var/log/expression/expression.log<br />
Имя файла старательно приводится в божеский вид &#8212; все не альфанумерики аккуратно так заменяются на символ нижнего подчеркивания. ВАЖНО, что коллизии имен не проверяются &#8212; так что именно вам придется за этим следить. Желающие могут доработать этот недостаток, пока этого не сделал я сам (что, вообще говоря, не обязательно скоро произойдет).</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">.<span style="color: #000000; font-weight: bold;">/</span>syslogrotate del <span style="color: #ff0000;">'expression'</span> <span style="color: #666666; font-style: italic;">#удаляем, все вернется на круги своя</span></pre></div></div>

<p>При запуске с параметром list выводит список текущих фильтров и соответсвтуют ли они последней версии logrotate-овского конфига.</p>
<p>Как всегда благодарен за фидбек и прочие багрепорты, но не обещаю все сразу исправить или исправить вообще.</p>
<p>Замечания, предложения к посту тоже приветствуются.</p>
<p>P.S. И да, я знаю, что юзердоки я пишу фигово. Лекарство тому &#8212; долгое и вдумчивое планирование, но формат этого блога к такому не располагает, так что извините, но вот как-то так. На вопросы отвечаю.</p>
<p>Связанные посты:<ol>
<li><a href='http://livid.pp.ru/?p=361' rel='bookmark' title='Кросс-DistCC в Gentoo'>Кросс-DistCC в Gentoo</a></li>
<li><a href='http://livid.pp.ru/?p=320' rel='bookmark' title='Kernel updater v2'>Kernel updater v2</a></li>
<li><a href='http://livid.pp.ru/?p=316' rel='bookmark' title='Kernel updater'>Kernel updater</a></li>
</ol></p><img src="http://feeds.feedburner.com/~r/redeyed/~4/PEYEKMgupCQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://livid.pp.ru/?feed=rss2&amp;p=492</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://livid.pp.ru/?p=492</feedburner:origLink></item>
		<item>
		<title>Yota в Ubuntu</title>
		<link>http://feedproxy.google.com/~r/redeyed/~3/CXwltPNfedM/</link>
		<comments>http://livid.pp.ru/?p=484#comments</comments>
		<pubDate>Sat, 30 Jan 2010 15:19:21 +0000</pubDate>
		<dc:creator>Livid</dc:creator>
				<category><![CDATA[MSI Wind u120]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Wi-Fi]]></category>
		<category><![CDATA[Ноутбуки]]></category>
		<category><![CDATA[Сеть]]></category>
		<category><![CDATA[i2400m]]></category>
		<category><![CDATA[Intel]]></category>
		<category><![CDATA[iwl5050]]></category>
		<category><![CDATA[MSI]]></category>
		<category><![CDATA[WiMax]]></category>
		<category><![CDATA[Wind U120]]></category>
		<category><![CDATA[Yota]]></category>

		<guid isPermaLink="false">http://livid.pp.ru/?p=484</guid>
		<description><![CDATA[Недавно приобрел себе игрушку &#8212; MSI Wind U120. Дешевый и непритязательный, батарейка дохлая, АТОМ тормозной, как смертный грех, но мне много не надо чтобы книжки читать в кровати и в дороге. Так вот, на этом девайсе есть поддержка WiMAXа, и я, естественно, тут же ринулся ее настраивать. В качестве системы на девайс я вкатил ubuntu [...]
Связанные посты:<ol>
<li><a href='http://livid.pp.ru/?p=12' rel='bookmark' title='Intel PRO/Wireless 3945ABG'>Intel PRO/Wireless 3945ABG</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Недавно приобрел себе игрушку &#8212; MSI Wind U120. Дешевый и непритязательный, батарейка дохлая, АТОМ тормозной, как смертный грех, но мне много не надо чтобы книжки читать в кровати и в дороге.<br />
Так вот, на этом девайсе есть поддержка WiMAXа, и я, естественно, тут же ринулся ее настраивать.<br />
<span id="more-484"></span><br />
В качестве системы на девайс я вкатил ubuntu netbook remix на базе 9.10, дабы не заморачиваться с кросс-компиляцией в Gentoo (ясно, что собирать на тормозном атоме много не насобираешь), поэтому инструкции и файлы для нее.</p>
<p>Итак, во-первых, в ядре с 2.6.29 есть WiMAX-стек, что спасает от необходимости патчить ядро/собирать сторонние модули. Тем не менее, суппликанта и набора утилит по умолчанию в системе не наблюдается, их придется брать отсюда:<br />
<a href="http://linuxwimax.org/Download">http://linuxwimax.org/Download</a><br />
Конкретно нас интересуют WiMAX Network Service и Intel WiMAX Binary Supplicant.</p>
<p>И то, и другое, как водится, нужно скачать и распаковать. При сборке из исходников понадобятся заголовки libnl (то есть, пакет libnl-dev). Подробная инструкция по сборке и установке несколько выходит за рамки заметки, поэтому отсылаю либо к первоисточнику, либо к ссылкам в конце статьи. Для ленивых к посту прицеплены deb-пакеты, ебилды для любопытных можно найти в <a href="http://bugs.gentoo.org/show_bug.cgi?id=299683">соответствующем баге</a></p>
<p>Дабы включить поддержку йоты, в интернетах старательно рекомендуют использовать специальные файлы настроек (прилагаются вместе со скриптом инсталляции, см. в конце статьи), однако у меня все, вроде как, работает и без них.</p>
<p>После, собственно, установки всего упомянутого, добиться желаемого (включения/выключения вимакса) можно следующим образом:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">.<span style="color: #000000; font-weight: bold;">/</span>start.sh
<span style="color: #666666; font-style: italic;">#!/bin/bash</span>
modprobe <span style="color: #660033;">-r</span> iwlagn <span style="color: #666666; font-style: italic;">#Turn off Wi-Fi</span>
wimaxcu ron <span style="color: #666666; font-style: italic;">#Turn WiMax on</span>
wimaxll-wait-for-state-change wmx0
wimaxcu connect network <span style="color: #000000;">15</span> <span style="color: #666666; font-style: italic;">#Yota</span></pre></div></div>


<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">.<span style="color: #000000; font-weight: bold;">/</span>stop.sh
<span style="color: #666666; font-style: italic;">#!/bin/bash</span>
<span style="color: #c20cb9; font-weight: bold;">ifconfig</span> wmx0 down <span style="color: #666666; font-style: italic;">#Stop interface</span>
wimaxcu dconnect <span style="color: #666666; font-style: italic;">#Disconnect network</span>
wimaxcu roff  <span style="color: #666666; font-style: italic;">#Turn WiMAX off</span>
modprobe iwlagn <span style="color: #666666; font-style: italic;">#Turn Wi-Fi on</span></pre></div></div>

<p>После старта я еще руками запускаю поключение wmx0 в Network-Manager, дабы он получил адрес по dhcp. Можно из стартового скрипта в конце делать dhclient wmx0</p>
<p>Ну, и в заключение, приложния.<br />
<a href="http://404.livid.pp.ru/wimax/intel-wimax-binary-supplicant_1.4.0-1_i386.deb">Intel Wimax Binary Supplicant 1.4.0 i386 deb</a><br />
<a href="http://404.livid.pp.ru/wimax/wimax-network-service_1.4.0-1_i386.deb">Wimax Network Service 1.4.0 i386 deb</a><br />
<a href="http://404.livid.pp.ru/wimax/yota-config.tar.bz2">Yota Config</a><br />
<a href="http://404.livid.pp.ru/wimax/start-stop-scripts.tar.bz2">start-stop scripts</a></p>
<p>И ссылки по теме:<br />
<a href="http://habrahabr.ru/blogs/linux/66879/">Статья на хабре</a><br />
<a href="http://comnote.blogspot.com/2009/11/ubuntu-910-yota-wimax-vs.html">comnote.blogspot.com/..ubuntu-910-yota-wimax-vs.html</a></p>
<p>P.S. Для любопытствующих еще добавлю, что при сборке WiMAX Network Service правильная строка для configure будет выглядеть так:</p>
<pre>./configure --prefix=/usr --with-i2400m=/usr/src/linux-headers-$(uname -r) --localstatedir=/var --sysconfdir=/etc
<pre>
<p>Связанные посты:<ol>
<li><a href='http://livid.pp.ru/?p=12' rel='bookmark' title='Intel PRO/Wireless 3945ABG'>Intel PRO/Wireless 3945ABG</a></li>
</ol></p><img src="http://feeds.feedburner.com/~r/redeyed/~4/CXwltPNfedM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://livid.pp.ru/?feed=rss2&amp;p=484</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://livid.pp.ru/?p=484</feedburner:origLink></item>
		<item>
		<title>Действительно, приехали</title>
		<link>http://feedproxy.google.com/~r/redeyed/~3/VgSydesuFPQ/</link>
		<comments>http://livid.pp.ru/?p=479#comments</comments>
		<pubDate>Mon, 25 Jan 2010 15:05:28 +0000</pubDate>
		<dc:creator>Livid</dc:creator>
				<category><![CDATA[Сеть]]></category>
		<category><![CDATA[dns]]></category>
		<category><![CDATA[ripn]]></category>
		<category><![CDATA[паника]]></category>
		<category><![CDATA[рашка]]></category>

		<guid isPermaLink="false">http://livid.pp.ru/?p=479</guid>
		<description><![CDATA[Совет АНО «Координационный центр национального домена сети Интернет» 30 сентября 2009 года принял решения об отмене специальных типов доменных имен в домене .RU А именно отменить специальный тип: отраслевых доменных имен второго уровня COM.RU, NET.RU, ORG.RU, PP.RU; географических доменных имен второго уровня (spb.ru msk.ru etc) via schors.livejournal.com На практике это означает, что указанные домены не [...]
Связанные посты:<ol>
<li><a href='http://livid.pp.ru/?p=499' rel='bookmark' title='Приехали, ч.2: судьба бесплатных доменов третьего уровня'>Приехали, ч.2: судьба бесплатных доменов третьего уровня</a></li>
<li><a href='http://livid.pp.ru/?p=506' rel='bookmark' title='Судьба доменов net.ru, org.ru, pp.ru'>Судьба доменов net.ru, org.ru, pp.ru</a></li>
<li><a href='http://livid.pp.ru/?p=503' rel='bookmark' title='Доменные имена, ч.3'>Доменные имена, ч.3</a></li>
</ol>]]></description>
			<content:encoded><![CDATA[<p>Совет АНО «Координационный центр национального домена сети Интернет» 30 сентября 2009 года принял решения об отмене специальных типов доменных имен в домене .RU</p>
<p>А именно отменить специальный тип:
<ol>
<li>отраслевых доменных имен второго уровня COM.RU, NET.RU, ORG.RU, PP.RU; </li>
<li>географических доменных имен второго уровня (spb.ru msk.ru etc) </li>
</ol>
<p>via <a href="http://schors.livejournal.com/695502.html">schors.livejournal.com</a></p>
<p>На практике это означает, что указанные домены не будут поддерживаться РосНИИРОС (ака ripn), и с хорошими шансами этих доменов мы можем лишиться совсем.</p>
<p>Насколько все на самом деле печально должно стать ясно летом этого года. Возможно, паниковать рано. Возможно, конечный пользователь не заметит разницы.</p>
<p>Но я зарегистрировал себе запасные домены на co.cc &#8212; ибо, зная нашу рашку, все это может закончиться весьма плачевно.</p>
<p>Ссылка на оригинал: <a href="http://cctld.ru/ru/domaintypes/">http://cctld.ru/ru/domaintypes/</a></p>
<p>Связанные посты:<ol>
<li><a href='http://livid.pp.ru/?p=499' rel='bookmark' title='Приехали, ч.2: судьба бесплатных доменов третьего уровня'>Приехали, ч.2: судьба бесплатных доменов третьего уровня</a></li>
<li><a href='http://livid.pp.ru/?p=506' rel='bookmark' title='Судьба доменов net.ru, org.ru, pp.ru'>Судьба доменов net.ru, org.ru, pp.ru</a></li>
<li><a href='http://livid.pp.ru/?p=503' rel='bookmark' title='Доменные имена, ч.3'>Доменные имена, ч.3</a></li>
</ol></p><img src="http://feeds.feedburner.com/~r/redeyed/~4/VgSydesuFPQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://livid.pp.ru/?feed=rss2&amp;p=479</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://livid.pp.ru/?p=479</feedburner:origLink></item>
	</channel>
</rss>

