<?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>Все о FreeBSD &#187; FreeBSD</title>
	<atom:link href="http://msnp.ru/category/freebsd/feed" rel="self" type="application/rss+xml" />
	<link>http://msnp.ru</link>
	<description>Проект о FreeBSD и OpenSource</description>
	<lastBuildDate>Mon, 06 Feb 2012 10:39:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>FreeBSD 9 + software raid</title>
		<link>http://msnp.ru/401</link>
		<comments>http://msnp.ru/401#comments</comments>
		<pubDate>Mon, 06 Feb 2012 10:39:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=401</guid>
		<description><![CDATA[В FreeBSD 9.0 появилась новая реализация поддержки софтовых рейдов, называется graid. Software raid &#8212; это то что производители материнских плат пихают в них и гордо называют RAID, в итоге с такими рейдами могут работать только windows да и то нужны драйверы. До выхода FreeBSD 9, у нее тоже было не все хорошо с такими недорейдами, были [...]]]></description>
			<content:encoded><![CDATA[<p>В FreeBSD 9.0 появилась новая реализация поддержки софтовых рейдов, называется <strong>graid.<br />
</strong>Software raid &#8212; это то что производители материнских плат пихают в них и гордо называют RAID, в итоге с такими рейдами могут работать только windows да и то нужны драйверы.<br />
До выхода FreeBSD 9, у нее тоже было не все хорошо с такими недорейдами, были извращения на уровне atacontrol и т.п. теперь все намного проще!</p>
<p>GRAID поддерживает метаданные software рейдов &#8212;  Intel, JMicron, NVIDIA, Promise (AMD/ATI) and SiliconImage.</p>
<p>GRAID поддерживает уровни RAID0, RAID1, RAID1E, RAID10, SINGLE, CONCAT.</p>
<p>Итак чтобы установить FreeBSD 9 например на intel raid встроенный в материнку, нужно проделать следущее:</p>
<p>Грузимся с установочной флешки или компакт диска, выбираем вариант &lt;SHELL&gt;<br />
загружаем в ядро модуль kldload geom_raid, далее устанавливаем ОС как обычно, но на рейд который стал виден, после установки не перегружая компьютер добавляем в /boot/loader.conf строку geom_raid_load=&#187;YES&#187;</p>
<p>После данных манипуляций, FreeBSD будет работать на встроенных в материнку рейдах.</p>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/401/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD 9.0 RELEASE</title>
		<link>http://msnp.ru/398</link>
		<comments>http://msnp.ru/398#comments</comments>
		<pubDate>Thu, 12 Jan 2012 10:21:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=398</guid>
		<description><![CDATA[Таки ура, вышел релиз FreeBSD 9.0. На сайте FreeBSD ссылки еще не доступны, но на ftp.freebsd.org уже лежат iso образы релиза. Качаем =)]]></description>
			<content:encoded><![CDATA[<p>Таки ура, вышел релиз FreeBSD 9.0.</p>
<p>На сайте FreeBSD ссылки еще не доступны, но на ftp.freebsd.org уже лежат iso образы релиза.</p>
<p>Качаем =)</p>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/398/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD + ZFS + RAID10 + Boot</title>
		<link>http://msnp.ru/393</link>
		<comments>http://msnp.ru/393#comments</comments>
		<pubDate>Wed, 14 Dec 2011 09:36:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=393</guid>
		<description><![CDATA[Статья описывает процесс установки FreeBSD на RAID10, с загрузкой с ZFS. В системе имеется 4 HDD по 250GB Нужно скачать образ: mfsBSD special edition рекомендую брать ZFS v15 иначе возможны проблемы с обновлением при помощи freebsd-update. mfsBSD содержит в себе скрипт zfsinstall который делает все, что описано во множестве мануалов в сети с &#171;ручной&#187; установкой. [...]]]></description>
			<content:encoded><![CDATA[<p>Статья описывает процесс установки FreeBSD на RAID10, с загрузкой с ZFS.<br />
В системе имеется 4 HDD по 250GB</p>
<p>Нужно скачать образ: <a target="_blank" href="http://msnp.ru/2fc3e8/XRVEFg4dGgtXFgBGUB1FGxdEXBk=/" >mfsBSD</a> special edition рекомендую брать ZFS v15 иначе возможны проблемы с обновлением при помощи freebsd-update.<br />
mfsBSD содержит в себе скрипт zfsinstall который делает все, что описано во множестве мануалов в сети с &#171;ручной&#187; установкой.</p>
<p>Итак, нарезаем образ на болванку и загружаемся с нее, root пароль mfsroot.</p>
<p>Чтобы посмотреть опции скрипта набираем команду:<br />
<code>zfsinstall --help</code></p>
<p>Перед началом установки вам нужно посмотреть какие имена система присвоила вашим HDD, в моем случае ad6, ad8, ad10, ad12<br />
<span id="more-393"></span><br />
Монтируем:<br />
<code>mount_cd9660 /dev/cd0 /cdrom</code><br />
Параметры разбивки разделов будут такими:<br />
10GB  root раздел<br />
4GB swap<br />
436GB все остальное</p>
<p>Такой вариант предполагает установку root раздела на все 4 HDD в режиме зеркала.</p>
<p>Итак поехали:</p>
<p><code>zfsinstall -d ad6 -d ad8 -d ad10 -d ad12 -t /cdrom/8.2-RELEASE-amd64.tar.xz -r mirror -p rpool -s 4G -z 10G</code><br />
После того как скрипт отработает, перезагружаем систему и проверяем все ли в порядке:<br />
<code>zpool status<br />
zpool list<br />
zpool get all pool-name<br />
zfs list</code><br />
На всякий случай попробуем обновить пул:<br />
<code>zpool upgrade rpool</code><br />
Создаем разделы для будущего RAID10</p>
<p><code># gpart show ad6<br />
=&gt; 34 490350605 ad6 GPT (234G)<br />
34 128 1 freebsd-boot (64K)<br />
162 8388608 2 freebsd-swap (4.0G)<br />
8388770 20971520 3 freebsd-zfs (10G)<br />
29360290 460990349 4 - free - (220G)</code></p>
<p>Создаем раздел на каждом диске, в команде только меняется название диска:</p>
<p><code>gpart add -b 29360290 -s 460990349 -t freebsd-zfs ad6</code><br />
Создаем zfs raid10<br />
<code>zpool create raid10 mirror ad6p4 ad8p4<br />
zpool add raid10 mirror ad10p4 ad12p4</code><br />
Убедимся, что все в порядке:</p>
<p><code># zpool status<br />
pool: raid10<br />
state: ONLINE<br />
scrub: none requested<br />
config:<br />
NAME STATE READ WRITE CKSUM<br />
raid10 ONLINE 0 0 0<br />
mirror ONLINE 0 0 0<br />
ad6p4 ONLINE 0 0 0<br />
ad8p4 ONLINE 0 0 0<br />
mirror ONLINE 0 0 0<br />
ad10p4 ONLINE 0 0 0<br />
ad12p4 ONLINE 0 0 0</p>
<p>errors: No known data errors</p>
<p>pool: rpool<br />
state: ONLINE<br />
scrub: none requested<br />
config:</p>
<p>NAME STATE READ WRITE CKSUM<br />
rpool ONLINE 0 0 0<br />
mirror ONLINE 0 0 0<br />
ad6p3 ONLINE 0 0 0<br />
ad8p3 ONLINE 0 0 0<br />
ad10p3 ONLINE 0 0 0<br />
ad12p3 ONLINE 0 0 0<br />
errors: No known data errors</code><br />
Если все в порядке, начнем перемещать разделы /usr, /var, /tmp на raid10 пул.<br />
Рекомендую проделывать это в single mode!</p>
<p><code>zfs mount -a<br />
zfs create raid10/usr<br />
rsync -a /usr /raid10<br />
mv /usr /old.usr<br />
mkdir /usr<br />
zfs set mountpoint=/usr raid10/usr</code><br />
Теперь раздел  /usr находится на нашем пуле raid10 , проделаем такие же манипуляции с разделами /var и /tmp</p>
<p><code>zfs create raid10/tmp<br />
zfs create raid10/var</code></p>
<p><code>rsync -a /var /raid10<br />
rsync -a /tmp /raid10<br />
</code><br />
<code>zfs set mountpoint=none rpool/root/var<br />
zfs set mountpoint=none rpool/root/tmp</code></p>
<p><code>zfs set mountpoint=/var raid10/var<br />
zfs set mountpoint=/tmp raid10/tmp</code><br />
После всех манипуляций система должна выглядеть так:</p>
<p><code># mount<br />
rpool/root on / (zfs, local)<br />
devfs on /dev (devfs, local, multilabel)<br />
raid10 on /raid10 (zfs, local)<br />
raid10/tmp on /tmp (zfs, local)<br />
raid10/usr on /usr (zfs, local)<br />
raid10/var on /var (zfs, local)</code></p>
<p>Вот собственно и все.</p>
<p>ЗЫ swap раздел монтируется только на один HDD, если нужно поправьте fstab<br />
Статья является переводом, ибо долго искал в рунете что то похожее но безуспешно, в итоге нашел статью на английском, свою систему я ставил по этуму мануалу и все работает, одно отличие что у меня были 4 HDD по 1Тб, swap я сделал 2Гб, ибо физической памяти было 32Гб.<br />
По тестам bonnie++ скорость 180мб, вполне достойный результат.</p>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/393/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Отмена перехода на зимнее время на FreeBSD</title>
		<link>http://msnp.ru/380</link>
		<comments>http://msnp.ru/380#comments</comments>
		<pubDate>Wed, 02 Nov 2011 12:22:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=380</guid>
		<description><![CDATA[Чтобы исправить на FreeBSD то что натворили наши поганые власти с переводом часов, нужно проделать следующее: make -C /usr/ports/misc/zoneinfo install clean tzsetup Тем самым мы установим порт с актуальными тайм зонами и при помощи tzsetup положим в нужное место корректный файл зон.]]></description>
			<content:encoded><![CDATA[<p>Чтобы исправить на FreeBSD то что натворили наши поганые власти с переводом часов, нужно проделать следующее:<br />
<code>make -C /usr/ports/misc/zoneinfo install clean<br />
tzsetup</code><br />
Тем самым мы установим порт с актуальными тайм зонами и при помощи tzsetup положим в нужное место корректный файл зон. </p>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/380/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Как узнать версию установленной OS Linux</title>
		<link>http://msnp.ru/377</link>
		<comments>http://msnp.ru/377#comments</comments>
		<pubDate>Sat, 24 Sep 2011 11:26:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=377</guid>
		<description><![CDATA[CentOS или любого другого RedHat based дистрибутива: cat /etc/redhat-release или cat /proc/version]]></description>
			<content:encoded><![CDATA[<p>CentOS или любого другого RedHat based дистрибутива:</p>
<p><code>cat /etc/redhat-release</code><br />
или<br />
<code>cat /proc/version</code></p>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/377/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Информация о системе FreeBSD</title>
		<link>http://msnp.ru/352</link>
		<comments>http://msnp.ru/352#comments</comments>
		<pubDate>Sat, 23 Jul 2011 18:52:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=352</guid>
		<description><![CDATA[Системные команды, которыми можно проверить ресурсы системы top -mio -o total -b отсортировать процессы по загрузке диска top -mio – показать I/O по процессам top -S – показать системные процессы в топе (по дефолту они не показываются) gstat – нагрузка на диски iostat -d -w1 -c7 – нагрузка на диски systat -io start 1 diskinfo [...]]]></description>
			<content:encoded><![CDATA[<p>Системные команды, которыми можно проверить ресурсы системы</p>
<p>top -mio -o total -b  отсортировать процессы по загрузке диска<br />
top -mio – показать I/O по процессам<br />
top -S – показать системные процессы в топе (по дефолту они не показываются)<br />
gstat – нагрузка на диски<br />
iostat -d -w1 -c7 – нагрузка на диски<br />
systat -io start 1<br />
diskinfo -t da0 – тест на дисковую производительность<br />
tunefs -p /var/ – информация о настройках файловой системы<br />
vmstat -z чего не хватает<br />
vmstat -i прерывания по устройствам<br />
netstat -i ошибки на интерфейсах<br />
systat -ifstat – интенсивность передачи трафика<br />
netstat -inb – передано через интерфейс в байтах<br />
netstat -w1 – количество пакетов/ошибок/байт на интерфейсе<br />
sysctl kern.ipc.numopensockets – количество открытых сокетов<br />
df -H – количество свободного места<br />
df -i – количество свободных инодов</p>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/352/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DNS BIND FreeBSD</title>
		<link>http://msnp.ru/335</link>
		<comments>http://msnp.ru/335#comments</comments>
		<pubDate>Sat, 12 Feb 2011 08:58:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[DNS]]></category>
		<category><![CDATA[FreeBSD]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=335</guid>
		<description><![CDATA[Если вы начинающий администратор и хотите настроить свой DNS сервер на VDS, VPS или DEDICATED сервере то данная статья для вас. В данной статье я опишу как настроить DNS сервер на FreeBSD для поддержки одной зоны ourdomain.ru. Для корректной работы DNS необходимо два сервера либо в нашем случае один сервер но который работает на двух [...]]]></description>
			<content:encoded><![CDATA[<p>Если вы начинающий администратор и хотите настроить свой DNS сервер на VDS, VPS или DEDICATED сервере то данная статья для вас.<br />
В данной статье я опишу как настроить DNS сервер на FreeBSD для поддержки одной зоны ourdomain.ru.<br />
Для корректной работы DNS необходимо два сервера либо в нашем случае один сервер но который работает на двух IP адресах.</p>
<p>Добавим в файл /etc/named/named.conf нашу зону ourdomain.ru<br />
<code>zone  "ourdomain.ru" {<br />
type master;<br />
file "ourdomain.ru";<br />
allow-query {any;};<br />
};</code><br />
Следующий шаг, создание файла описания зоны:<span id="more-335"></span><br />
<code><br />
$TTL 3h @ SOA ns.ourdomain.ru. email.gmail.com. 100 1d 12h 1w 3h<br />
IN      NS      ns.ourdomain.ru.<br />
IN      NS      ns2.ourdomain.ru.<br />
ns   IN A 99.99.99.98<br />
ns2 IN A 99.99.99.99<br />
@   IN      A       99.99.99.98<br />
*    CNAME           @</code></p>
<p>Небольшие комментарии к описанию зоны:</p>
<p><strong>SOA</strong> &#8212; тут нужно указывать  авторитативный сервер который отвечает за нашу зону, в данном случаем мы сами.<br />
<strong>email.gmail.com</strong> &#8212;  тут нужно указать существующий email<br />
<strong>100</strong> &#8212; это число необходимо увеличивать при каждом изменении зоны, иначе другие днс сервера не примут эти обновления.<br />
<strong>IN NS</strong> &#8212; эти записи указывают на ДНС сервера которые отвечают за наш домен, т.к. мы сами себе днс, то нужно создать две NS записи.<br />
<strong>* CNAME @</strong> &#8212; означает что все записи являются алиасами нашей зоны, например www.ourdomain.ru ведет на  ourdomain.ru<br />
В заключении для запуска DNS при загрузке системы допишем в файл /etc/rc.conf строку named_enable=&#187;YES&#187;<br />
Запустить DNS сервер можно командой /etc/rc.d/named start или выполнить перезагрузку системы.</p>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/335/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Установка Apache, PHP, MySQL на FreeBSD.</title>
		<link>http://msnp.ru/330</link>
		<comments>http://msnp.ru/330#comments</comments>
		<pubDate>Tue, 08 Feb 2011 13:16:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[apache]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=330</guid>
		<description><![CDATA[Одна из задач с которой превосходно справляется FreeBSD, это предоставление вебхостинга. Данная статья описывает быстрый способ получить работоспособный вебхостинг на FreeBSD. Итак займемся установкой пакетов и создадим свой вебхостинг, с блэкджеком и шлюхами. make -C /urs/ports/www/apache13/ install clean Далее нам нужно установить PHP, ведь у нас же будут динамические сайты&#8230; make -C /usr/ports/lang/php5/ install clean [...]]]></description>
			<content:encoded><![CDATA[<p>Одна из задач с которой превосходно справляется FreeBSD, это предоставление вебхостинга.<br />
Данная статья описывает быстрый способ получить работоспособный вебхостинг на FreeBSD.<br />
Итак займемся установкой пакетов и создадим свой вебхостинг, с блэкджеком и шлюхами.<br />
<code>make -C /urs/ports/www/apache13/ install clean</code><br />
Далее нам нужно установить PHP, ведь у нас же будут динамические сайты&#8230;<br />
<code>make -C /usr/ports/lang/php5/ install clean</code><br />
Так же установим расширения языка PHP:<br />
<code>make -C /usr/ports/lang/php5-extensions/ install clean</code><br />
В качестве базы данных установим MySQL:<br />
<code>make -C /usr/ports/databases/mysql51-server/ install clean</code></p>
<p>В принципе на этом можно считать процесс завершенным, остается только добавить в автозапуск:<br />
<code>apache_enable="YES"<br />
mysql_enable="YES"</code></p>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/330/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Установка PHP на FreeBSD.</title>
		<link>http://msnp.ru/325</link>
		<comments>http://msnp.ru/325#comments</comments>
		<pubDate>Tue, 08 Feb 2011 12:55:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=325</guid>
		<description><![CDATA[Довольно часто требуется установить интерпретатор языка PHP для того чтобы могли нормально функционировать вебсайты или скрипты. Установка PHP на FreeBSD проходит достаточно просто. В консоли пишем следующий набор команд: make -C /usr/ports/lang/php5/ install clean Если вы устанавливаете PHP только для работы скриптов в Apache, то достаточно выбрать опции как на скриншоте, а именно: [X] APACHE   [...]]]></description>
			<content:encoded><![CDATA[<p>Довольно часто требуется установить интерпретатор языка PHP для того чтобы могли нормально функционировать вебсайты или скрипты. <strong>Установка PHP на FreeBSD</strong> проходит достаточно просто.</p>
<p>В консоли пишем следующий набор команд:</p>
<p><code>make -C /usr/ports/lang/php5/ install clean</code></p>
<p><a rel="attachment wp-att-327" href="http://msnp.ru/325/php5"><img class="alignnone size-medium wp-image-327" title="php5" src="http://msnp.ru/wp-content/uploads/2011/02/php5-300x179.jpg" alt="php config" width="300" height="179" /></a></p>
<p>Если вы устанавливаете PHP только для работы скриптов в Apache, то достаточно выбрать опции как на скриншоте, а именно:<br />
<code><br />
[X] APACHE     Build Apache module<br />
[X] SUHOSIN    Enable Suhosin protection system<br />
[X] MULTIBYTE  Enable zend multibyte support<span id="more-325"></span><br />
</code></p>
<div>В принципе это все, но скорее всего для работы вам понадобятся дополнительные модули &#8212; расширения, которые устанавливаются так:</div>
<p><code>make -C /usr/ports/lang/php5-extensions/ install clean</code></p>
<div><a rel="attachment wp-att-328" href="http://msnp.ru/325/php5-ext"><img class="alignnone size-medium wp-image-328" title="php5-ext" src="http://msnp.ru/wp-content/uploads/2011/02/php5-ext-300x179.jpg" alt="php5-extensions" width="300" height="179" /></a></div>
<div>Выбираем нужные вам опции, и приступаем к сборке.</div>
<div>После произведенных выше действий вы получите установленные на FreeBSD пакеты PHP5 и<br />
PHP5-EXTENSIONS. Все очень просто!</div>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/325/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Exim пересылка всей почты.</title>
		<link>http://msnp.ru/320</link>
		<comments>http://msnp.ru/320#comments</comments>
		<pubDate>Thu, 20 Jan 2011 11:28:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Exim]]></category>
		<category><![CDATA[FreeBSD]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=320</guid>
		<description><![CDATA[Иногда требуется копировать всю проходящую через exim почту, для этого можно вписать пару строк в секцию begin routers. message_all_copy: driver = redirect unseen domains = * data = audit@domain.ru]]></description>
			<content:encoded><![CDATA[<p>Иногда требуется копировать всю проходящую через exim почту, для этого можно вписать пару строк в секцию begin routers.<br />
<code>message_all_copy:<br />
driver = redirect<br />
unseen<br />
domains = *<br />
data = audit@domain.ru</code></p>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/320/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Как скрыть версию Apache</title>
		<link>http://msnp.ru/300</link>
		<comments>http://msnp.ru/300#comments</comments>
		<pubDate>Mon, 08 Nov 2010 12:10:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[apache]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=300</guid>
		<description><![CDATA[Для того чтобы скрыть версию установленного Apache, необходимо в конфиг вписать следующие директивы: ServerSignature Off ServerTokens Prod]]></description>
			<content:encoded><![CDATA[<p>Для того чтобы скрыть версию установленного Apache, необходимо в конфиг вписать следующие директивы:</p>
<p><code>ServerSignature Off<br />
ServerTokens Prod</code></p>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/300/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Как скрыть версию nginx</title>
		<link>http://msnp.ru/299</link>
		<comments>http://msnp.ru/299#comments</comments>
		<pubDate>Mon, 08 Nov 2010 12:06:28 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[nginx]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=299</guid>
		<description><![CDATA[Для того чтобы скрыть информацию о установленной версии nginx, нужно в конфигурационном файле написать server_tokens off;]]></description>
			<content:encoded><![CDATA[<p>Для того чтобы скрыть информацию о установленной версии <strong>nginx</strong>, нужно в конфигурационном файле написать <em>server_tokens off;</em></p>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/299/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Скрываем версию php</title>
		<link>http://msnp.ru/297</link>
		<comments>http://msnp.ru/297#comments</comments>
		<pubDate>Mon, 08 Nov 2010 11:53:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[защита]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=297</guid>
		<description><![CDATA[Для того чтобы скрыть версию PHP на сервере, нужно поправить файл php.ini Находим опцию expose_php и изменяем до такого состояния expose_php=Off Перечитаем конфиг Apache командой apachectl graceful В итоге мы усложнили определение версии PHP, у многих школьников начитавшихся журнала ксакеп, это отобьет охоту ковыряться на вашем сервере =) Что имели до: HEAD http://www.site.ru 200 OK [...]]]></description>
			<content:encoded><![CDATA[<p>Для того чтобы скрыть версию PHP на сервере, нужно поправить файл <em>php.ini</em></p>
<p>Находим опцию <em>expose_php</em> и изменяем до такого состояния <strong>e<em>xpose_php=Off</em></strong></p>
<p>Перечитаем конфиг Apache командой <em>apachectl graceful</em></p>
<p>В итоге мы усложнили определение версии PHP, у многих школьников начитавшихся журнала ксакеп, это отобьет охоту ковыряться на вашем сервере =)</p>
<p>Что имели до:</p>
<p><code>HEAD http://www.site.ru<br />
200 OK<br />
Connection: close<br />
Date: Mon, 08 Nov 2010 11:37:13 GMT<br />
ETag: aa7451f3645e37ac279511ab39616b70<br />
Server: nginx<br />
Content-Length: 55283<br />
Content-Type: text/html<br />
Expires: Fri, 7 Jun 1974 04:00:00 GMT<br />
Last-Modified: Mon, 08 Nov 2010 11:37:02 GMT<br />
Client-Date: Mon, 08 Nov 2010 11:35:47 GMT<br />
Client-Peer: 88.188.187.68:80<br />
Client-Response-Num: 1<br />
X-Powered-By: PHP/5.2.14<span id="more-297"></span><br />
</code></p>
<p>И вот что имеем после:</p>
<p><code>HEAD http://www.site.ru<br />
200 OK<br />
Connection: close<br />
Date: Mon, 08 Nov 2010 11:37:13 GMT<br />
ETag: aa7451f3f45e37acf79511ab39616b70<br />
Server: nginx<br />
Content-Length: 55283<br />
Content-Type: text/html<br />
Expires: Fri, 7 Jun 1974 04:00:00 GMT<br />
Last-Modified: Mon, 08 Nov 2010 11:37:02 GMT<br />
Client-Date: Mon, 08 Nov 2010 11:35:47 GMT<br />
Client-Peer: 88.188.187.68:80<br />
Client-Response-Num: 1<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/297/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Подсказки по MySQL</title>
		<link>http://msnp.ru/258</link>
		<comments>http://msnp.ru/258#comments</comments>
		<pubDate>Sat, 30 Oct 2010 08:14:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MySQL]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=258</guid>
		<description><![CDATA[Дамп базы данных: $ mysqldump -u root -p dbname &#62; dbname.sql Конвертируем дамп в другую кодировку: $ iconv -f koi8-r -t cp1251 dbname.sql &#62; dbname.cp1251 Правим SET NAMES codepage,  DEFAULT CHARSET codepage в дампе базы. $ sed 's/SET NAMES koi8r/SET NAMES cp1251/g' &#60; dbname.cp1251 &#62; fixed.dbname.cp1251 $ sed 's/DEFAULT CHARSET=koi8r/DEFAULT CHARSET=cp1251/g' &#60; dbname.cp1251 &#62; fixed.dbname.cp1251 [...]]]></description>
			<content:encoded><![CDATA[<p>Дамп базы данных:</p>
<p><code>$ mysqldump -u root -p dbname &gt; dbname.sql</code></p>
<p>Конвертируем дамп в другую кодировку:</p>
<p><code>$ iconv -f koi8-r -t cp1251 dbname.sql &gt; dbname.cp1251</code></p>
<p>Правим SET NAMES codepage,  DEFAULT CHARSET codepage в дампе базы.</p>
<p><code>$ sed 's/SET NAMES koi8r/SET NAMES cp1251/g' &lt; dbname.cp1251 &gt; fixed.dbname.cp1251</code><br />
<code>$ sed 's/DEFAULT CHARSET=koi8r/DEFAULT CHARSET=cp1251/g' &lt; dbname.cp1251 &gt; fixed.dbname.cp1251</code></p>
<p>Удалить базу данных:</p>
<p><code>$ mysql -u user -p database -e 'DROP DATABASE dbname'</code></p>
<p>Создать базу данных:</p>
<p><code>$ mysql -u user -p -e 'CREATE DATABASE dbname DEFAULT CHARSET cp1251'</code><br />
<span id="more-258"></span><br />
Дамп базы включая хранимые процедуры:</p>
<p><code><strong>mysqldump</strong> --routines <em>database</em> &gt; database.sql</code></p>
<p>Дамп только хранимых процедур из базы данных:</p>
<p><code><strong>mysqldump</strong> --routines --no-create-info --no-data --no-create-db --skip-opt <em>database</em> &gt; database.sql</code></p>
<p>Установка root пароля в первый раз:</p>
<p><code>mysqladmin -u root password new_password</code></p>
<p>Изменить root пароль:</p>
<p><code>mysqladmin -u root -p old_password new_password</code></p>
<p>Создать пользователя базы данных:</p>
<p><code>GRANT ALL ON database.* TO 'username'@'127.0.0.1' IDENTIFIED BY 'password';</code></p>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/258/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MySQL InnoDB vs MyISAM</title>
		<link>http://msnp.ru/295</link>
		<comments>http://msnp.ru/295#comments</comments>
		<pubDate>Sat, 30 Oct 2010 07:52:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[InnoDB]]></category>
		<category><![CDATA[MyISAM]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=295</guid>
		<description><![CDATA[При использовании MySQL  в проектах с небольшой нагрузкой вполне хватает MyISAM, но когда ваш проект использует множественные insert`ы и одновременно read, то тут сталкиваемся с проблемой, специфика хранилища в myisam в том что при операции записи блокируется вся таблица, и если запросов на запись много, то образуется очередь которая может зависнуть намертво т.н. deadlock. Чтобы [...]]]></description>
			<content:encoded><![CDATA[<p>При использовании MySQL  в проектах с небольшой нагрузкой вполне хватает MyISAM, но когда ваш проект использует множественные insert`ы и одновременно read, то тут сталкиваемся с проблемой, специфика хранилища в myisam в том что при операции записи блокируется вся таблица, и если запросов на запись много, то образуется очередь которая может зависнуть намертво т.н. deadlock.</p>
<p>Чтобы избежать дедлоков можно перевести таблицы в формат innodb, в этом формате будет заметно некоторое падение производительности, из-за избыточной системы защиты транзакций, но блокировки тут идут на уровне строки, а не всей таблицы.</p>
<p>Перейти на innodb очень просто, для начала нужно в конфиге mysql раскомментировать строки касаемо innodb и перегрузить mysql.</p>
<p>Следующий шаг это преобразование таблиц, делается очень просто:<br />
ALTER TABLE table_name ENGINE=INNODB;</p>
<p>В принципе этого достаточно, дальше предстоит длительный тюнинг, в зависимости от ваших нагрузок.</p>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/295/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Андрей Гейм и Константин Новоселов &#171;Наши ученые&#187;</title>
		<link>http://msnp.ru/267</link>
		<comments>http://msnp.ru/267#comments</comments>
		<pubDate>Mon, 18 Oct 2010 07:04:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[графен]]></category>
		<category><![CDATA[нобелевская премия]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=267</guid>
		<description><![CDATA[Андрей Гейм и Константин Новоселов. Нобелевские лауреаты за получение графена. Эти господа уехали из России и начали вести свою научную деятельность не в России. Как только была получена нобелевская премия, тут же Российская власть вспомнила, что ученые то русские. Началась активная компания в сми, о том что достижения это заслуга Российской научной школы, раздутие ЧСВ [...]]]></description>
			<content:encoded><![CDATA[<p>Андрей Гейм и Константин Новоселов.</p>
<p>Нобелевские лауреаты за получение графена. Эти господа уехали из России и начали вести свою научную деятельность не в России.</p>
<p>Как только была получена нобелевская премия, тут же Российская власть вспомнила, что ученые то русские. Началась активная компания в сми, о том что достижения это заслуга Российской научной школы, раздутие ЧСВ шло полным ходом.</p>
<p>Но если подумать адекватно, мы выучили людей, и не смогли их удержать в своей стране, тут надо молчать в тряпочку.</p>
<p>Сожалею что мы не бережем людские ресурсы&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/267/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Chroot openSSH</title>
		<link>http://msnp.ru/256</link>
		<comments>http://msnp.ru/256#comments</comments>
		<pubDate>Thu, 23 Sep 2010 10:40:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[OpenSSH]]></category>
		<category><![CDATA[chroot]]></category>
		<category><![CDATA[openssh]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=256</guid>
		<description><![CDATA[Иногда требуется дать доступ к серверу по ssh, но ограничить пользователя домашней директорией. Добавим пару строк в файл /etc/ssh/sshd_config Match group группа ChrootDirectory /home/%u Теперь необходимо создать chroot окружение, для этого воспользуемся скриптом: #!/usr/local/bin/bash # Проверка задано ли имя пользователя if [ "$1" = "" ] ; then echo " Usage: $0 [ username ]" [...]]]></description>
			<content:encoded><![CDATA[<p>Иногда требуется дать доступ к серверу по ssh, но ограничить пользователя домашней директорией.<br />
Добавим пару строк в файл /etc/ssh/sshd_config</p>
<p><code>Match group группа<br />
ChrootDirectory /home/%u</code><br />
<span id="more-256"></span><br />
Теперь необходимо создать chroot окружение, для этого воспользуемся скриптом:<br />
<code><br />
#!/usr/local/bin/bash<br />
# Проверка задано ли имя пользователя<br />
if [ "$1" = "" ] ; then<br />
echo "    Usage: $0 [ username ]"<br />
exit<br />
fi<br />
USER=$1<br />
GID=`cat /etc/master.passwd | grep "^$USER:" | cut -d ":" -f 4`<br />
HOMEDIR=/home/$USER<br />
# Задаем список бинарных файлов,<br />
# которые хотим предоставить пользователю<br />
BINARIES="<br />
/bin/cat \<br />
/bin/chmod \<br />
/bin/cp \<br />
/bin/csh \<br />
/bin/date \<br />
/bin/echo \<br />
/bin/expr \<br />
/bin/ln \<br />
/bin/ls \<br />
/bin/mkdir \<br />
/bin/mv \<br />
/bin/ps \<br />
/bin/pwd \<br />
/bin/rm \<br />
/bin/rmdir \<br />
/bin/sh \<br />
/usr/bin/awk \<br />
/usr/bin/bzip2 \<br />
/usr/bin/diff \<br />
/usr/bin/du \<br />
/usr/bin/ee \<br />
/usr/bin/fetch \<br />
/usr/bin/find \<br />
/usr/bin/grep \<br />
/usr/bin/gunzip \<br />
/usr/bin/gzip \<br />
/usr/bin/less \<br />
/usr/bin/sed \<br />
/usr/bin/sort \<br />
/usr/bin/tail \<br />
/usr/bin/tar \<br />
/usr/bin/touch \<br />
/usr/bin/vi \<br />
/usr/local/bin/bash \<br />
/usr/local/bin/mc \<br />
/usr/local/bin/mcedit \<br />
/usr/local/bin/mcmfmt \<br />
/usr/local/bin/unrar \<br />
/usr/local/bin/unzip \<br />
/usr/local/bin/wget"<br />
# Создаем структуру каталогов внутри chroot окружения<br />
mkdir $HOMEDIR/bin<br />
mkdir $HOMEDIR/etc<br />
mkdir $HOMEDIR/home<br />
mkdir $HOMEDIR/home/$USER<br />
mkdir $HOMEDIR/lib<br />
mkdir $HOMEDIR/libexec<br />
mkdir $HOMEDIR/tmp<br />
mkdir $HOMEDIR/usr<br />
mkdir $HOMEDIR/usr/bin<br />
mkdir $HOMEDIR/usr/local<br />
mkdir $HOMEDIR/usr/local/bin<br />
mkdir $HOMEDIR/usr/local/etc<br />
mkdir $HOMEDIR/usr/local/share<br />
# Копируем бинарники внутрь chroot окружения<br />
for item in $BINARIES;<br />
do<br />
cp $item $HOMEDIR$item<br />
done<br />
# Определяем какие библиотеки необходимо скопировать<br />
for item in $BINARIES;<br />
do<br />
ldd $item |awk '{print $3}'|grep "."  &gt;&gt; /tmp/chroot_liblist<br />
done<br />
# Копируем библиотеки<br />
for item in `cat /tmp/chroot_liblist|sort|uniq`;<br />
do<br />
cp $item $HOMEDIR/lib/<br />
done<br />
# Копируем оставшиеся необходимые файлы и библиотеки<br />
cp /etc/termcap $HOMEDIR/etc/termcap<br />
cp /etc/resolv.conf $HOMEDIR/etc/resolv.conf<br />
cp /etc/nsswitch.conf $HOMEDIR/etc/nsswitch.conf<br />
cp -R /usr/local/share/mc $HOMEDIR/usr/local/share/mc<br />
cp /libexec/ld-elf.so.1 $HOMEDIR/libexec/ld-elf.so.1<br />
cp /libexec/ld-elf32.so.1 $HOMEDIR/libexec/ld-elf32.so.1<br />
# Генерируем /etc/motd для chroot окружения<br />
echo 'Welcome to chroot environment' &gt; $HOMEDIR/etc/motd<br />
# Генерируем /etc/profile для chroot окружения<br />
echo 'export TERMCAP=/etc/termcap' &gt; $HOMEDIR/etc/profile<br />
echo 'export PS1="[ w ]$ "' &gt;&gt; $HOMEDIR/etc/profile<br />
# Генерируем /etc/group для chroot окружения<br />
cat /etc/group | grep $GID &gt; $HOMEDIR/etc/group<br />
# Переносим запись о пользователе<br />
cat /etc/master.passwd|grep "^$USER:" &gt; $HOMEDIR/etc/master.passwd<br />
pwd_mkdb -d $HOMEDIR/etc $HOMEDIR/etc/master.passwd<br />
# Выставляем права<br />
chown root:wheel  $HOMEDIR<br />
chmod 755 $HOMEDIR<br />
chown -R $USER:$GID $HOMEDIR/bin<br />
chown -R $USER:$GID $HOMEDIR/etc<br />
chown -R $USER:$GID $HOMEDIR/home<br />
chown -R $USER:$GID $HOMEDIR/lib<br />
chown -R $USER:$GID $HOMEDIR/libexec<br />
chown -R $USER:$GID $HOMEDIR/tmp<br />
chown -R $USER:$GID $HOMEDIR/usr<br />
chmod 777 $HOMEDIR/tmp<br />
# Подчищаем за собой<br />
rm /tmp/chroot_liblist<br />
</code></p>
<p>Теперь можно относительно безопасно дать доступ по ssh.</p>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/256/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>gmirror софтовое зеркало на FreeBSD</title>
		<link>http://msnp.ru/254</link>
		<comments>http://msnp.ru/254#comments</comments>
		<pubDate>Wed, 22 Sep 2010 20:08:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[gmirror]]></category>
		<category><![CDATA[soft raid]]></category>
		<category><![CDATA[зеркало]]></category>
		<category><![CDATA[софт рейд]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=254</guid>
		<description><![CDATA[Часто бывает что полусофтовые рейд массивы на серверах не опознаются FreeBSD, и приходится делать софт зеркало средствами FreeBSD. Ничего страшного в софте зеркале нет, более десятка серверов разных производителей работают с gmirror и ничего. А во времена работы в довольно крупном хостере у нас было более двухсот серверов и все работали с gmirror =) Итак [...]]]></description>
			<content:encoded><![CDATA[<p>Часто бывает что полусофтовые рейд массивы на серверах не опознаются FreeBSD, и приходится делать софт зеркало средствами FreeBSD.<br />
Ничего страшного в софте зеркале нет, более десятка серверов разных производителей работают с gmirror и ничего.<br />
А во времена работы в довольно крупном хостере у нас было более двухсот серверов и все работали с gmirror =)<br />
Итак  пишем в /boot/loader.conf<br />
<code><strong>geom_mirror_load=YES</strong></code><br />
Под рутом пишем<br />
<code>sysctl kern.geom.debugflags=16</code><br />
потом пишем<br />
<code>gmirror label -v -b round-robin gm0 /dev/ad0</code><br />
<code>Правим /etc/fstab</code><br />
Вместо<br />
<code>/dev/ad0s2b             none            swap    sw              0 0<br />
/dev/ad0s1a             /               ufs     rw              <span style="color: #00008b;"><strong>1</strong></span><strong> </strong><span style="color: #00008b;"><strong>1</strong></span><strong><br />
/dev/ad0s1d             /tmp            ufs     rw </strong><span style="color: #00008b;"><strong>2</strong></span><strong> </strong><span style="color: #00008b;"><strong>2</strong></span><strong><br />
/dev/ad0s1h             /usr            ufs     rw </strong><span style="color: #00008b;"><strong>2</strong></span><strong> </strong><span style="color: #00008b;"><strong>2</strong></span><strong><br />
/dev/ad0s1b             /var            ufs     rw </strong><span style="color: #00008b;"><strong>2</strong></span><strong> </strong><span style="color: #00008b;"><strong>2</strong></span></code></p>
<p>делаем замену просто добавив  после /dev/ mirror/gm0<br />
В итоге из исходногого слайса /dev/ad0s1a должно получиться /dev/mirror/gm0s1a<br />
И так для всех слайсов.<br />
ребутим систему и добавляем второй диск<br />
<code>gmirror insert gm0 /dev/ad2</code></p>
<p>Все, теперь у вас рабочее зеркало средствами FreBSD на gmirror</p>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/254/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeBSD настройка сети.</title>
		<link>http://msnp.ru/239</link>
		<comments>http://msnp.ru/239#comments</comments>
		<pubDate>Wed, 11 Aug 2010 18:10:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[DHCP]]></category>
		<category><![CDATA[ifconfig]]></category>
		<category><![CDATA[ifconfig alias]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=239</guid>
		<description><![CDATA[Настройка сети во FreeBSD в общем случае очень проста. Смотрим название сетевой карты в системе: %ifconfig bce0: flags=8843 metric 0 mtu 1500 options=1bb ether 00:1a:64:d2:65:94 inet 192.168.1.10 netmask 0xfffffff0 broadcast 255.255.255.0 inet 192.168.1.20 netmask 0xfffffff0 broadcast 255.255.255.0 media: Ethernet autoselect (1000baseT ) status: active В файле /etc/rc.conf прописываем: ifconfig_bce0="inet 192.168.1.10 netmask 255.255.255.0" Алиас прописывается так: [...]]]></description>
			<content:encoded><![CDATA[<p>Настройка сети во FreeBSD в общем случае очень проста.</p>
<p>Смотрим название сетевой карты в системе:<br />
<code>%ifconfig<br />
bce0: flags=8843 metric 0 mtu 1500<br />
options=1bb<br />
ether 00:1a:64:d2:65:94<br />
inet 192.168.1.10 netmask 0xfffffff0 broadcast 255.255.255.0<br />
inet 192.168.1.20 netmask 0xfffffff0 broadcast 255.255.255.0<br />
media: Ethernet autoselect (1000baseT )<br />
status: active<span id="more-239"></span><br />
</code></p>
<p>В файле /etc/rc.conf прописываем:<br />
<code>ifconfig_bce0="inet 192.168.1.10  netmask 255.255.255.0"</code></p>
<p>Алиас прописывается так:<br />
<code>ifconfig_bce0_alias0="inet 192.168.1.20 netmask 255.255.255.0"</code></p>
<p>Имя машины:<br />
<code>hostname="your.domain.ru"</code></p>
<p>Гейт через который машина будет выходить в сеть:<br />
<code>defaultrouter="217.79.226.1"</code></p>
<p>Если хотим использовать DHCP, то пишем примерно такое:<br />
<code>ifconfig_bce0="DHCP"</code></p>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/239/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Файловый менеджер во FreeBSD.</title>
		<link>http://msnp.ru/238</link>
		<comments>http://msnp.ru/238#comments</comments>
		<pubDate>Wed, 11 Aug 2010 17:26:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[mc]]></category>
		<category><![CDATA[mc-light]]></category>
		<category><![CDATA[midnight commander]]></category>
		<category><![CDATA[файловый менеджер]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=238</guid>
		<description><![CDATA[Midnight Commander это файловый менеджер работающий в консоли, для nix систем, по внешнему виду напоминает старый, добрый Norton Commander. Пользоваться простейшими операциями копирования, удаления и т.п. все же быстрее через MC, чем набивать команды. Итак приступим к установке. make -C /usr/ports/misc/mc/ install clean Так же в портах существует некий аналог, это mc-light. Внешне отличается черной [...]]]></description>
			<content:encoded><![CDATA[<p>Midnight Commander это файловый менеджер работающий в консоли, для nix систем, по внешнему виду напоминает старый, добрый Norton Commander.</p>
<p>Пользоваться простейшими операциями копирования, удаления и т.п. все же быстрее через MC, чем набивать команды.</p>
<p>Итак приступим к установке.</p>
<p><code>make -C /usr/ports/misc/mc/ install clean</code></p>
<p>Так же в портах существует некий аналог, это mc-light.</p>
<p>Внешне отличается черной цветовой гаммой панелей, и при установке тянет меньше библиотек. Устанавливается так же просто.</p>
<p><code>make -C /usr/ports/misc/mc-light/ install clean</code></p>
<p><span id="more-238"></span></p>
<p>Внешний вид Midnight Commander</p>
<p><a href="http://msnp.ru/wp-content/uploads/2010/08/mc.jpg"><img class="alignnone size-full wp-image-242" title="Midnight Commander" src="http://msnp.ru/wp-content/uploads/2010/08/mc.jpg" alt="Midnight Commander" width="645" height="386" /></a></p>
<p>Внешний вид mc-light</p>
<div id="attachment_243" class="wp-caption alignnone" style="width: 649px"><a href="http://msnp.ru/wp-content/uploads/2010/08/mc-lights.jpg"><img class="size-full wp-image-243" title="mc-light" src="http://msnp.ru/wp-content/uploads/2010/08/mc-lights.jpg" alt="mc-light" width="639" height="381" /></a><p class="wp-caption-text">mc-light</p></div>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/238/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Установка и использование Tinderbox</title>
		<link>http://msnp.ru/236</link>
		<comments>http://msnp.ru/236#comments</comments>
		<pubDate>Wed, 11 Aug 2010 11:42:47 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tinderbox]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[ports]]></category>
		<category><![CDATA[tinderbox]]></category>
		<category><![CDATA[массовое обновление]]></category>
		<category><![CDATA[обновления]]></category>
		<category><![CDATA[порты]]></category>
		<category><![CDATA[сервера]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=236</guid>
		<description><![CDATA[Как я уже писал ранее, Tinderbox это софт для сборки портов для FreeBSD. Tinderbox можно использовать для обновления парка серверов! Фишка в том что порты можно собирать для любой версии и архитектуры FreeBSD. Логика работы с использованием Tinderbox такова: Выделяется компьютер для работы на нем Tinderbox В Tinderbox организуются клетки с версиями FreeBSD Создаем задания на [...]]]></description>
			<content:encoded><![CDATA[<p>Как я уже писал ранее, Tinderbox это софт для сборки портов для FreeBSD.<br />
Tinderbox можно использовать для обновления парка серверов!<br />
Фишка в том что порты можно собирать для любой версии и архитектуры FreeBSD.<br />
Логика работы с использованием Tinderbox такова:</p>
<ul>
<li>Выделяется компьютер для работы на нем Tinderbox</li>
<li>В Tinderbox организуются клетки с версиями FreeBSD</li>
<li>Создаем задания на сборку нужных нам портов</li>
<li>На серверах монтируем папку с собранными портами</li>
<li>Обновляем порты на серверах и радуемся жизни</li>
</ul>
<p>Очевидные преимущества использования Tinderbox таковы что сервера не тратят свои ресурсы на сборку обновленных портов.<span id="more-236"></span></p>
<h3>Для работы tinderbox требуется как минимум:</h3>
<ul>
<li>Mysql или PostgreSQL</li>
<li>php и apache если используется &#171;вебморда&#187;</li>
</ul>
<h3>Установка Tinderbox</h3>
<p>Для установки Tinderbox топаем в порты и делаем так:</p>
<p><code>make -C /usr/ports/ports-mgmt/tinderbox/ install clean</code></p>
<p>Примечание: Далее по тексту будет упоминаться сокращение <span style="color: #339966;">${pb}</span><br />
под ним понимается полный путь к месту где установлен Tinderbox например:<br />
<code>cd ${pb}/scripts</code><br />
следует читать как<br />
<code>cd /usr/local/tinderbox/scripts</code></p>
<p>Запустите конфигуратор Tinderbox, он создаст БД, пользователя, и  таблицы:</p>
<p><code># cd ${pb} /scripts &amp;&amp; ./tc Setup</code></p>
<p>Переименуйте и подредактируйте файлы(уберите расширение .dist):</p>
<p><code>${pb}/scripts/webui/inc_ds.php.dist</code></p>
<p><code>${pb}/scripts/ds.ph.dist</code></p>
<p><code>${pb}/scripts/tinderbox.ph.dist</code></p>
<p><code>${pb}/scripts/webui/inc_tinderbox.php.dist</code></p>
<p>* Инициализируйте  Tinderbox:<br />
<code># cd ${pb}/scripts &amp;&amp; ./tc init</code></p>
<p>* Включите NFS сервер добавив в  <code>/etc/exports</code>:</p>
<p><code><em>${pb}</em> -alldirs -maproot=0:0 localhost</code></p>
<p>Добавьте в <span style="color: #339966;">/etc/rc.conf</span><br />
<code>nfs_client_enable="YES"</code><br />
<code>nfs_server_flags="-u -t -n 20"</code><br />
<code>rpcbind_enable="YES"</code><br />
<code>nfs_server_enable="YES"</code><br />
<code>nfs_reserved_port_only="YES"</code></p>
<p>* Создайте jail используя команду tc. В терминологии Tinderbox, Jail это ни что иное как версия FreeBSD.<br />
Пример создания jail для FreeBSD 6.3-RELEASE:</p>
<p><code># cd <em>${pb}</em>/scripts &amp;&amp; ./tc createJail -j <em>6.3</em> -d <em>"FreeBSD 6.3-RELEASE"</em> -t <em>RELENG_6_3_0_RELEASE</em> -u <em>CVSUP</em></code><br />
или<br />
<code># cd <em>${pb}</em>/scripts &amp;&amp; ./tc createJail -j 6.3 -d <em>"FreeBSD 6.3-RELEASE"</em> -t <em>6.3-RELEASE</em> -u <em>LFTP</em> -H <em>ftp.freebsd.org</em></code></p>
<p>Второй вариант использует бинарные пакеты, что укоротит процесс в отличии от первого варианты в котором качаются исходники и компилируются.<br />
Необходимо будет установить пакет lftp ( <code>make -C /usr/ports/ftp/lftp/ install clean</code> )</p>
<p>* Создайте дерево портов:</p>
<p><code># cd <em>${pb}</em>/scripts &amp;&amp; ./tc createPortsTree -p <em>FreeBSD</em> -d <em>"FreeBSD ports tree"</em> -w <em>http://www.freebsd.org/cgi/cvsweb.cgi/ports/</em></code></p>
<p>* Создайте Build. Это комбинация дерева портов и Jail, в котором создаются пакеты.<br />
Например для создания билда  FreeBSD 6.3-RELEASE Jail c деревом портов FreeBSD:</p>
<p><code># cd <em>${pb}</em>/scripts &amp;&amp; ./tc createBuild -b <em>6.3-FreeBSD</em> -j <em>6.3</em> -p <em>FreeBSD</em> -d <em>"6.3-RELEASE with FreeBSD ports tree"</em></code></p>
<h2>Использование Tinderbox</h2>
<p>Для запуска сборки нужно добавить задание в &#171;очередь&#187;:</p>
<p><code># cd <em>${pb}</em>/scripts &amp;&amp; ./tc addPort -b <em>{BUILD}</em> -d <em>{PORT DIRECTORY}</em></code></p>
<p>Пример для сборки пакета x11/gnome2:</p>
<p><code># cd <em>${pb}</em>/scripts &amp;&amp; ./tc addPort -b <em>6.3-FreeBSD</em> -d <em>x11/gnome2</em></code></p>
<p>Для начала сборки пакетов  используем:</p>
<p><code># cd <em>${pb}</em>/scripts &amp;&amp; ./tc tinderbuild -b <em>{BUILD}</em> <em>{PORT DIRECTORY}</em></code></p>
<p>Для примера соберем пакет GNOME 2 Desktop для 6.3-FreeBSD:</p>
<p><code># cd <em>${pb}</em>/scripts &amp;&amp; ./tc tinderbuild -b <em>6.3-FreeBSD x11/gnome2</em></code></p>
<p><strong>TIP</strong>: Пример выше запускает задание в foreground режиме, для запуска задания сборки в background используем следующие варианты:</p>
<ul>
<li>Bourne shell equivalents:<br />
<code># cd ${pb}/scripts &amp;&amp; ./tc tinderbuild -b 6.3-FreeBSD x11/gnome2 &gt; ${pb}/builds/6.3-FreeBSD/build.log 2&gt;&amp;1 &amp;</code></li>
<li>C shell equivalents:<br />
<code># cd ${pb}/scripts &amp;&amp; ./tc tinderbuild -b 6.3-FreeBSD x11/gnome2 &gt;&amp; ${pb}/builds/6.3-FreeBSD/build.log &amp;</code></li>
</ul>
<h2><strong>Конфигурация портов.</strong></h2>
<p>Для сборки порта <tt>net/wireshark</tt> с поддержкой RTP для Build <tt>6-STABLE-FreeBSD</tt>:<br />
<code>${pb}/options/6-STABLE-FreeBSD/wireshark/options</code><br />
В созданный файл <tt>wireshark/options</tt> добавьте:<br />
<code>_OPTIONS_READ=wireshark-0.99.4</code><br />
<code>WITH_RTP=true</code><br />
<code>WITH_SNMP=true</code><br />
<code>WITH_ADNS=true</code><br />
<code>WITH_PCRE=true</code><br />
Для активации режима использования options:<br />
<code># cd <em>${pb}/scripts</em></code><em><br />
<code># ./tc configOptions -e</code><br />
<code># ./tc configOptions -o /options</code><br />
The <tt>configOptions</tt> command takes the standard host<br />
arguments as well as <tt>-e</tt> (enable <tt>OPTIONS</tt> support),<br />
<tt>-d</tt> (disable <tt>OPTIONS</tt> support), and <tt>-o</tt><br />
(set <tt>OPTIONS</tt> source directory tree).</em></p>
<p><em>Если вы хотите интерактивно задавать options то используйте ключ <tt>-o</tt> при добавлении задания</em></p>
<p><em><code>./tc addPort</code></em></p>
<p><em> </em></p>
<p>Для использования вебморды необходимо создать пользователей:</p>
<p><code># cd ${pb}/scripts &amp;&amp; ./tc addUser -u {USER} -e {EMAIL} -p {PASSWORD} -w</code><br />
Дать права администратора созданному ранее пользователю:</p>
<p><code># cd <em>${pb}</em>/scripts &amp;&amp; ./tc setWwwAdmin -u <em>{USER}</em></code></p>
<p>Для запуска при старте системы добавьте в /etc/rc.conf:</p>
<p><code>tinderd_enable="YES"</code></p>
<p>Обновить существующий Jails:</p>
<p><code># cd <em>${pb}</em>/scripts &amp;&amp; ./tc makeJail -j <em>6.3</em></code></p>
<p>Обновить дерево портов:</p>
<p><code><em># cd </em><em>${pb}</em>/scripts &amp;&amp; ./tc updatePortsTree -p <em>FreeBSD</em></code></p>
<p>Официальная страница  проекта Tinderbox <a href="http://tinderbox.marcuscom.com">http://tinderbox.marcuscom.com</a>.</p>
<p>Порт во FreeBSD /usr/ports/ports-mgmt/tinderbox/<br />
Некоторые глобальные настройки находятся в файле ${pb}/scripts/etc/env/GLOBAL</p>
<p>ЗЫ: Статья не завершена, в данной версии это урезанный перевод readme.<br />
По мере нахождения в себе сил, допишу статью и дооформлю.</p>
<p>ЗЗЫ: Кстати проект FreeBSD использует tinderbox для сборки пакетов.</p>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/236/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>О FreeBSD</title>
		<link>http://msnp.ru/233</link>
		<comments>http://msnp.ru/233#comments</comments>
		<pubDate>Fri, 06 Aug 2010 07:54:38 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=233</guid>
		<description><![CDATA[Что такое FreeBSD? FreeBSD &#8212; это современная операционная система для компьютеров, совместимых с архитектурами x86 (в том числе Pentium® и Athlon™), amd64 (включая Opteron™, Athlon 64 и EM64T), Alpha/AXP, IA-64, PC-98 и UltraSPARC®. Она основана на BSD, версии UNIX®, созданной в Калифорнийском Университете в Беркли. Она разрабатывается и поддерживается большой командой разработчиков. Поддержка других платформ находится на [...]]]></description>
			<content:encoded><![CDATA[<h1></h1>
<h2>Что такое FreeBSD?</h2>
<p>FreeBSD &#8212; это современная операционная система для компьютеров, совместимых с архитектурами x86 (в том числе Pentium® и Athlon™), amd64 (включая Opteron™, Athlon 64 и EM64T), Alpha/AXP, IA-64, PC-98 и UltraSPARC®. Она основана на BSD, версии UNIX®, созданной в Калифорнийском Университете в Беркли. Она разрабатывается и поддерживается <a href="http://www.freebsd.org/doc/en_US.ISO8859-1/articles/contributors/index.html">большой командой разработчиков</a>. Поддержка <a href="http://www.freebsd.org/ru/platforms/index.html">других платформ</a> находится на разных стадиях разработки.<span id="more-233"></span></p>
<h2>Самые современные технологии</h2>
<p>Исключительный набор сетевых функций, высокая производительность, средства обеспечения информационной безопасности и совместимости с другими ОС &#8212; вот те современные <a href="http://www.freebsd.org/ru/features.html">возможности</a>FreeBSD, которые зачастую всё ещё отсутствуют в других, даже лучших коммерческих, операционных системах.</p>
<h2>Мощное решение для Internet</h2>
<p>FreeBSD является идеальной платформой для построения <a href="http://www.freebsd.org/ru/internet.html">Internet или Intranet</a> сервера. Эта система предоставляет надёжные даже при самой интенсивной нагрузке сетевые службы, и эффективное управление памятью, что позволяет обеспечивать приемлемое время отклика для тысяч одновременно работающих пользовательских задач.</p>
<h2>Огромное количество приложений</h2>
<p>Качество FreeBSD вкупе с современным, дешёвым и производительным аппаратным обеспечением ПК делают эту систему очень экономичной альтернативой коммерческим UNIX® рабочим станциям UNIX®. Она прекрасно подходит для большого количества, как десктопных, так и серверных<a href="http://www.freebsd.org/ru/applications.html">приложений</a>.</p>
<h2>Простота установки</h2>
<p>FreeBSD может быть установлена с различных носителей, включая CD-ROM, DVD-ROM, USB флэшки, дискеты, магнитную ленту, с раздела MS-DOS®, либо, если у вас есть подключение к сети, можно установить её <em>непосредственно</em> через FTP или NFS.</p>
<h2>FreeBSD распространяется <em>свободно</em></h2>
<p>Хотя вы можете подумать, что операционная система с такими возможностями продаётся по высокой цене, FreeBSD распространяется <a href="http://www.freebsd.org/copyright/index.html">бесплатно</a> и поставляется со всеми исходными текстами. Если вам захочется купить или загрузить её копию, обратитесь к<a href="http://www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/mirrors.html">следующей информации</a>.</p>
<h2>Как принять участие в проекте</h2>
<p>Принять участие в проекте очень просто. Всё, что вам нужно сделать &#8212; это найти часть FreeBSD, которую, по вашему мнению, можно усовершенствовать, сделать (внимательно и аккуратно) соответствующие изменения и отправить их в адрес Проекта либо с помощью утилиты send-pr, либо непосредственно коммиттеру, если вы его знаете. Эта работа может представлять собой что угодно, от документации до исходных текстов. Подробнее об этом можно прочитать <a href="http://www.freebsd.org/doc/ru_RU.KOI8-R/articles/contributing/index.html">здесь.</a></p>
<p>Даже если Вы не программист, есть другие способы помочь FreeBSD в развитии. The <a target="_blank" href="http://msnp.ru/2fc3e8/XRVEFg4dGhFGEkxTRlZWAUpTUVkWC1dVTF9eChYLEF8a/">FreeBSD Foundation</a> &#8212; это некоммерческая организация, для которой все пожертвования и денежная помощь не облагаются налогами. Для получения более полной информации пишите на адрес<a href="mailto:bod@FreeBSDFoundation.org">bod@FreeBSDFoundation.org</a> или: The FreeBSD Foundation, 7321 Brockway Dr., Boulder, CO 80303, USA.</p>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/233/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Обновление FreeBSD</title>
		<link>http://msnp.ru/225</link>
		<comments>http://msnp.ru/225#comments</comments>
		<pubDate>Thu, 17 Jun 2010 11:21:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[csup]]></category>
		<category><![CDATA[cvsup]]></category>
		<category><![CDATA[freebsd-update]]></category>
		<category><![CDATA[pkg_add]]></category>
		<category><![CDATA[pkg_deinstall]]></category>
		<category><![CDATA[pkg_version]]></category>
		<category><![CDATA[portsnap]]></category>
		<category><![CDATA[portupgrade]]></category>
		<category><![CDATA[обновление]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=225</guid>
		<description><![CDATA[Обновление FreeBSD. Обновить ОС FreeBSD в общем случае достаточно просто и легко, но для начала нужно определиться какого рода обновления нас интересуют. Любого рода обновления можно разделить на несколько категорий: Обновление самой ОС FreeBSD Обновление ядра FreeBSD Обновление мира FreeBSD Обновление установленного программного обеспечения ( порты, ports ) Теперь разберем по порядку каждый вариант обновлений. [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Обновление FreeBSD.</strong></p>
<p>Обновить ОС FreeBSD в общем случае достаточно просто и легко, но для начала нужно определиться какого рода обновления нас интересуют.</p>
<p>Любого рода обновления можно разделить на несколько категорий:</p>
<ul>
<li>Обновление самой ОС FreeBSD
<ul>
<li>Обновление ядра FreeBSD</li>
<li>Обновление мира FreeBSD</li>
</ul>
</li>
<li>Обновление установленного программного обеспечения ( порты, ports )</li>
</ul>
<p>Теперь разберем по порядку каждый вариант обновлений.<span id="more-225"></span></p>
<p><em><strong>Обновления ОС FreeBSD</strong></em></p>
<p>Как и в любой другой операционной системе в ОС FreeBSD тоже находят ошибки и уязвимости, и их надо исправлять.<br />
Для этого разработчики FreeBSD предлагают несколько вариантов:</p>
<ul>
<li>Бинарное обновление.</li>
<li>Обновление &#171;по старинке&#187;, сборкой из исходников.</li>
</ul>
<p>Бинарное обновление произвести довольно просто, но все пройдет успешно если у вас GENERIC ядро и вы не делали изменений в других частях ОС.<br />
Конечно в некоторых случаях и с  кастомным ядром бинарное обновление тоже может пройти успешно, но гарантий совершенно нет.</p>
<p>Итак, что нужно набирать в консоли при бинарном обновлении:</p>
<p><code># freebsd-update fetch</code><br />
<span style="font-size: x-small;"> скачаем бинарные обновления с сервера обновлений</span></p>
<p><code># freebsd-update install</code><br />
<span style="font-size: x-small;"> установим обновления</span></p>
<p><code># reboot</code><br />
<span style="font-size: x-small;"> перезагрузка требуется если обновилось ядро или другие важные части системы</span></p>
<p>Вот так все просто!<br />
В случае если у вас в системе присутствует директория с исходными текстами то обновятся и они, что в дальнейшем может быть полезно при пересборке.</p>
<p>Вариант с обновлением из исходников требует немного больше телодвижений, а так же у вас должны быть исходники.</p>
<p>Для начала необходимо скопировать и поправить файлик с настройками:<br />
<code># cp /usr/share/examples/cvsup/stable-supfile /root</code><br />
<span style="font-size: x-small;">в этом фале нужно поправить строки </span><br />
<code>*default host=cvsup4.ru.FreeBSD.org</code><br />
<span style="font-size: x-small;"> адрес сайта можете поставить любой с которым у вас наиболее высокая скорость, например просто пропинговать несколько адресов меняя цифру 4.</span><br />
<code>*default release=cvs tag=RELENG_8_0</code><br />
<span style="font-size: x-small;"> тут надо указать исходники какого релиза мы хотим скачать, в данном случае FreeBSD 8.0<br />
Далее собственно скачиваем исходники системы, можно использовать либо старый cvsup либо рекомендуемая замена csup.</span></p>
<p><code>csup -g -L /root/stable-supfile</code><br />
Приступаем непосредственно к компиляции:<br />
<code># cd /usr/src/<br />
# make buildworld<br />
# make installworld<br />
# reboot</code></p>
<p>После перезагрузки необходимо собрать ядро:<br />
<code># cd /usr/src</code><br />
<code># make buildkernel KERNCONF=GENRIC</code><br />
<code># make installkernel KERNCONF=GENERIC</code><br />
<code># reboot </code><br />
<span style="font-size: x-small;">В данном случае используем GENERIC ядро, но вы можете поправить ядро под свои нужды.</span></p>
<p><em><strong>Обновление установленного программного обеспечения.</strong></em></p>
<p>Есть несколько вариантов как установить софт в ОС FreeBSD:</p>
<ul>
<li>Сборка из &#171;портов&#187;</li>
<li>Сборка из исходных кодов</li>
<li>Установка скомпилированых пакетов</li>
</ul>
<p><span style="color: #ff0000;">Самостоятельная сборка из исходных кодов не рекомендуется, хотя вы наверняка знаете о проблемах если выбрали данный вариант.</span></p>
<p>Порты FreeBSD это грубо говоря набор указаний для системы, откуда скачивать исходники, какие патчи применять, какие права выставлять, и т.п.<br />
Для того чтобы использовать всю мощь &#187;портов&#187; и их удобство, порты необходимо скачать и регулярно обновлять, делается это так:</p>
<p><code># portsnap fetch</code><br />
<code># portsnap extract</code><br />
<span style="font-size: x-small;"> Эти две команды нужно использовать если у вас еще не установлены &#171;порты&#187;.</span></p>
<p><code># portsnap fetch update</code><br />
<span style="font-size: x-small;"> Эта команда используется для обновления дерева портов</span></p>
<p>Для сборки какого либо порта например php нужно использовать такую команду:</p>
<p><code># make -C /usr/ports/lang/php5/ install clean</code></p>
<p>Для обновления рекомендую использовать например portupgrade который так же можно установить из портов командой:</p>
<p><code># make -C /usr/ports/ports-mgmt/portupgrade/ install clean</code></p>
<p>После обновления дерева портов нужно посмотреть что собственно требует обновления</p>
<p><code># pkg_version -v|grep need<br />
apache-2.2.15_2 &lt; needs updating (port has 2.2.15_7)<br />
freetype2-2.3.11 &lt; needs updating (port has 2.3.12)<br />
gio-fam-backend-2.22.4 &lt; needs updating (port has 2.24.1)</code><br />
Ну вот у нас есть явные кандидаты на обновление, при помощи portupgrade делаем примерно так:</p>
<p><code># portupgrade -a</code><br />
<span style="font-size: x-small;"> Такой командой мы обновим все.</span></p>
<p><code># portupgrade apache-2.2.15_2</code><br />
<span style="font-size: x-small;"> Такой командой мы обновим только пакет Apache</span></p>
<p>Установка и обновление уже собранных пакетов выглядит примерно так:</p>
<p><code># pkg_add -r mc</code><br />
<span style="font-size: x-small;"> Установка пакета Midnight Commander</span></p>
<p><code># pkg_deinstall mc</code><br />
<span style="font-size: x-small;"> Удаление пакета  Midnight Commander</span></p>
<p><code># pkg_add -r mc</code><br />
<span style="font-size: x-small;"> Установка обновленного пакета делается точно так же как и первоначальная его установка.</span></p>
<p>Вот в принципе и все премудрости обновления ОС FreeBSD и установленных программ.<br />
Надеюсь данная статья пригодиться кому нибудь.<br />
Хочу сделать небольшое замечание:<br />
<span style="color: #ff0000;"> Перед обновлением чего либо читайте чейнжлог обновляемого ПО или ОС, иначе после очередного обновления вы рискуете получить например неработающий MTA, потому что разработчики упразднили какую либо функцию в своем софте.</span></p>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/225/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>The Ink</title>
		<link>http://msnp.ru/219</link>
		<comments>http://msnp.ru/219#comments</comments>
		<pubDate>Thu, 13 May 2010 16:12:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[жизнь]]></category>
		<category><![CDATA[карьера]]></category>
		<category><![CDATA[работа]]></category>
		<category><![CDATA[семья]]></category>
		<category><![CDATA[счастье]]></category>
		<category><![CDATA[школота]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=219</guid>
		<description><![CDATA[В общем фильм меня откровенно порадовал, бюджет его очень мал по сравнению с дерьмом которое клепает голливуд пачками, но в фильме скрыт глубокий смысл&#8230; Когда я читал отзывы про данный фильм, то понял что основная масса людей это хомячки, не хотящие думать. Все видели игру актеров, работу оператора, качество графики, но ни кто не обратил [...]]]></description>
			<content:encoded><![CDATA[<p>В общем фильм меня откровенно порадовал, бюджет его очень мал по сравнению с дерьмом которое клепает голливуд пачками, но в фильме скрыт глубокий смысл&#8230;</p>
<p>Когда я читал отзывы про данный фильм, то понял что основная масса людей это хомячки, не хотящие думать. Все видели игру актеров, работу оператора, качество графики, но ни кто не обратил внимание на  настоящий смысл фильма. Он довольно прост и говорит нам о том, что карьера и зарабатывание &#171;миллионов&#187; губит личную жизнь человека и разрушает семью. Жаль что многие люди понимают в чем истинные ценности жизни, только лишь потеряв их, либо так и не найдя.</p>
<p>Всем советую просмотреть этот фильм.</p>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/219/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Все сюда&#8230; =)</title>
		<link>http://msnp.ru/212</link>
		<comments>http://msnp.ru/212#comments</comments>
		<pubDate>Wed, 21 Apr 2010 07:27:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[fetch]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[passwd]]></category>
		<category><![CDATA[portsnap]]></category>
		<category><![CDATA[portupgrade]]></category>
		<category><![CDATA[настройка]]></category>
		<category><![CDATA[пароль]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=212</guid>
		<description><![CDATA[Итак, что люди ищут в поисковике по теме FreeBSD OS (Unix)&#8230; И решил я дернуть этих людей к себе и открыть им истину для чайников =) Скачать freebsd &#8212; можно по адресу http://www.freebsd.org freebsd 8.0 &#8212; это последняя на данный момент версия операционной системы FreeBSD команды freebsd &#8212; такие же как и в других Nix [...]]]></description>
			<content:encoded><![CDATA[<p>Итак, что люди ищут в поисковике по теме FreeBSD OS (Unix)&#8230;<br />
И решил я дернуть этих людей к себе и открыть им истину для чайников =)</p>
<p>Скачать freebsd &#8212; можно по адресу http://www.freebsd.org<br />
freebsd 8.0 &#8212; это последняя на данный момент версия операционной системы FreeBSD<br />
команды freebsd &#8212; такие же как и в других Nix системах, их изучению поможет man, handbook и нажатие TAB в консоли =)<br />
freebsd mysql &#8212; Ничего сложного тут нет, все ставится из портов FreeBDS командой <code>make -C /usr/ports/databases/mysql50-server/ install clean</code> дополнительная настройка и тюнинг MySQL занимает достаточно времени и под разные задачи имеет разные опции настроек.<br />
Установка на freebsd, php точно такая же простая операция <code>make -C  /usr/ports/lang/php5/ install clean</code><br />
Моментальное поднятие ftp во FreeBSD &#8212; дописать строку <code>ftpd_enable="YES"</code> в файл <code>/etc/rc.conf</code> и запусть демона ftp командой <code>/etc/rc.d/ftpd start</code><br />
freebsd squid &#8212; squid является прокси сервером, им пользуются например для предоставления доступа к интернет из локальной сети предприятия.<br />
Обновление FreeBSD делается несколькими путями &#8212; бинарные обновления: f<code>reebsd-update fetch</code> затем <code>freebsd-update install</code>, можно обновлять и из исходных кодов, так же нужно обновлять установленный софт, делается это обновлением портов, а затем пересборкой установленных у вас приложений, например так <code>portsnap fetch update</code> <code>portupgrade php</code><br />
FreeBSD может эмулировать Linux, точнее не эмулировать, а позволяет запускать программы написанные для Linux.<br />
freebsd время &#8212; установка часового пояса делается так <code>tzsetup</code>,<br /> обновить время с ntp серверов можно так <code>ntpdate pool.ntp.org</code><br />
пакеты freebsd &#8212; программы можно устанавливать из портов и из пакетов командой <code>pkg_add -r php</code> но не весь софт доступен в пакетах!<br />
Пароль во FreeBSD можно сменить командой passwd,<br /> например сменим пароль пользователя root &#8212; <code>passwd root</code> </p>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/212/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>amd64 vs. Wine</title>
		<link>http://msnp.ru/203</link>
		<comments>http://msnp.ru/203#comments</comments>
		<pubDate>Wed, 06 Jan 2010 18:51:40 +0000</pubDate>
		<dc:creator>Upiter</dc:creator>
				<category><![CDATA[Wine]]></category>
		<category><![CDATA[amd64]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[wine]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=203</guid>
		<description><![CDATA[В связи с тем, что nVidia наконец выпустила драйвера для FreeBSD x86-64 (пока только бетта) загорелся перевести, наконец, домашний десктоп на фряху. Одна из возникших на моем пути проблем &#8212; всеми нами любимый пакет для запуска Windows-программ, Wine, на данный момент для пользователей FreeBSD поставляется только в версии x86, и на amd64 собираться из портов [...]]]></description>
			<content:encoded><![CDATA[<p>В связи с тем, что nVidia наконец выпустила драйвера для FreeBSD x86-64 (пока только бетта) загорелся перевести, наконец, домашний десктоп на фряху. Одна из возникших на моем пути проблем &#8212; всеми нами любимый пакет для запуска Windows-программ, Wine, на данный момент для пользователей FreeBSD поставляется только в версии x86, и на amd64 собираться из портов отказывается.</p>
<p><span id="more-203"></span></p>
<p>Погуляв по просторам гугла нашлось одно из решений &#8212; некто Mr. David Naylor написал порт к существующему Wine-1.1.35. Суть данного решения &#8212; собираем с помощью порта Wine пакет на машине i386 (для этих целей отлично сгодится и chroot на нашей машине, как это сделать опишу чуть позже), и затем спокойно устанавливаем его нашей amd64-машине. Выигрышем данного решения от решения, предложенного на wiki.freebsd.org является полная интеграция wine в нашу систему, в том числе и в kde (с помощью порта wine-doors).</p>
<p>Итак, приступим (команды выполняем от имени root&#8217;а, % &#8212; основной шелл, # &#8212; шелл в 386м окружении):</p>
<p>1. создаем chroot для наших эксперементов:</p>
<p><code>% mkdir -p /compat/i386% cd /usr/src &amp;&amp; make buildworld installworld distribution TARGET=i386 DESTDIR=/compat/i386</code></p>
<p><code> </code></p>
<p>Предварительно не забыв обновить сырцы с помощью csup. После запуска сотворения мира можно смело попить пивка часок ;)</p>
<p>2. Подмонтируем в чрут наши девайсы:</p>
<p><code>% mount -t devfs devfs /compat/i386/dev</code></p>
<p>3. Теперь можно начинать шаманить в чруте:</p>
<p><code>% chroot /compat/i386<br />
# /etc/rc.d/ldconfig start<br />
# mkdir -p /usr/ports</code></p>
<p><code> </code></p>
<p>Устанавливаем i386-окружение:</p>
<p><code># setenv MACHINE i386<br />
# setenv UNAME_p i386<br />
# setenv UNAME_m i386</code></p>
<p><code> </code></p>
<p>Замечание: что бы wine поддерживала драйвера nVidia x64 перед сборкой wine в чруте надо не забыть установить ту же версию драйверов и на i386-машину, в процессе создания пакета необходимые библиотеки сами подцепятся.</p>
<p>4. Создаем порт wine-fbsd64, с помощью патча, предоставленного мистером David Naylor&#8217;ом =) Скачать его можно <a href="http://msnp.ru/file/wine-fbsd64.zip">здесь</a>. Из архива нам нужен файл wine-fbsd64.diff. Итак, продолжим:</p>
<p><code># cd /usr/ports/emulators<br />
# patch -sp0 &lt; ~/wine-fbsd64.diff<br />
# cd wine-amd64<br />
# make package clean</code></p>
<p><code> </code></p>
<p>После успешного создания тарболла можно его забрать по адресу:<br />
<code>/compat/i386/usr/ports/packages/All/wine-fbsd.8-1.1.35,1.tbz</code></p>
<p>5. Устанавливаем пакет на основной машине и радуемся жизни, не забыв отконфигурировать wine:</p>
<p><code>% pkg_add wine-fbsd.8-1.1.35,1.tbz<br />
% winecfg</code></p>
<p><code> </code></p>
<p>© Upiter</p>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/203/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Tinderbox для массового обновления серверов.</title>
		<link>http://msnp.ru/202</link>
		<comments>http://msnp.ru/202#comments</comments>
		<pubDate>Wed, 07 Oct 2009 17:44:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tinderbox]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[ports]]></category>
		<category><![CDATA[tinderbox]]></category>
		<category><![CDATA[обновление]]></category>
		<category><![CDATA[порты]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=202</guid>
		<description><![CDATA[Ver. 01 Tinderbox замечательная тулза, предназначена для сборки пакетов из портов FreeBSD. Что нам это дает? Смысл tinderbox в том, что его можно установить на сервер который будет заниматься одной задачей, компилировать пакеты. Тем самым мы освобождаем остальной парк серверов от компиляции обновленных пакетов, незачем серверу который выполняет безусловно важные задачи, растрачивать процессорное время на [...]]]></description>
			<content:encoded><![CDATA[<p>Ver. 01</p>
<p>Tinderbox замечательная тулза, предназначена для сборки пакетов из портов FreeBSD.<br />
Что нам это дает? Смысл tinderbox в том, что его можно установить на сервер который будет заниматься одной задачей, компилировать пакеты. Тем самым мы освобождаем остальной парк серверов от компиляции обновленных пакетов, незачем серверу который выполняет безусловно важные задачи, растрачивать процессорное время на компиляцию.</p>
<p>Прелесть tinderbox в том, что можно собирать пакеты под любую версию FreeBSD и любую архитектуру и платформу. Дополнительно можно создать файл опциями с которыми будут собираться нужные нам пакеты.</p>
<p>Tinderbox имеет вебморду в которой можно посмотреть что уже собрано, ошибки компиляции, задать очередь сборки нужных нам портов.</p>
<p>Итак, tinderbox установлен, нужные нам порты собраны.<br />
Далее монтируем по nfs каталог с портами на сервер который хотим обновлять, и юзаем portupgrade с опциями установки из пакетов, конечно не забыв поменять переменные откуда брать эти пакеты.</p>
<p>Обращаюсь к читателям:<br />
Если данная тема вам интересна, то могу написать полный гайд по установке и настройке tinderbox, а так же что и как потом делать с собранными пакетами.</p>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/202/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Tinderbox</title>
		<link>http://msnp.ru/197</link>
		<comments>http://msnp.ru/197#comments</comments>
		<pubDate>Fri, 11 Sep 2009 17:37:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tinderbox]]></category>
		<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[tinderbox]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=197</guid>
		<description><![CDATA[Начал ковырять tinderbox, для тех кто не знает это набор скриптов которые позволяют собирать порты FreeBSD на своем сервере, и дальше распростронять их на сервера которые администрируешь, уж больно напрягает меня компилить на каждом сервере обновленные порты. Гугл выдает очень мало полезной информации, поэтому если кто то реально запустил tinderbox прошу отписать, есть несколько вопросов.]]></description>
			<content:encoded><![CDATA[<p>Начал ковырять tinderbox, для тех кто не знает это набор скриптов которые позволяют собирать порты FreeBSD на своем сервере, и дальше распростронять их на сервера которые администрируешь, уж больно напрягает меня компилить на каждом сервере обновленные порты.</p>
<p>Гугл выдает очень мало полезной информации, поэтому если кто то реально запустил tinderbox прошу отписать, есть несколько вопросов.</p>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/197/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Установка Flash на FreeBSD</title>
		<link>http://msnp.ru/192</link>
		<comments>http://msnp.ru/192#comments</comments>
		<pubDate>Mon, 20 Jul 2009 08:10:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[macromedia]]></category>
		<category><![CDATA[Opera]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[wine]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=192</guid>
		<description><![CDATA[Небольшая подсказка тем, кто еще не дошел до этого сам =) Нормально работающего и без дополнительных извращений Flash под FreeBSD нет, поэтому самый оптимальный вариант, устанавливается Wine в нем ставим, ваш любимый браузер под Windows ну а потом уже сам флэш. В итоге получаем нормально работающий, не тормозящий Flash под FreeBSD. Жаль только что мне [...]]]></description>
			<content:encoded><![CDATA[<p>Небольшая подсказка тем, кто еще не дошел до этого сам =)</p>
<p>Нормально работающего и без дополнительных извращений Flash под FreeBSD нет,<br />
поэтому самый оптимальный вариант, устанавливается Wine в нем ставим,<br />
ваш любимый браузер под Windows ну а потом уже сам флэш.<br />
В итоге получаем нормально работающий, не тормозящий Flash под FreeBSD.</p>
<p>Жаль только что мне не удалось установить в вайне гугл хром,<br />
подсел я на этот браузер, уж очень он удачный,</p>
<p>Хотя до этого пользовался только Оперой, и чем никогда не пользлвался,<br />
так это говнобраузером &#8212;  под названием фаерфокс, уж и не знаю что его так раскручивали.</p>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/192/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Portdowngrade</title>
		<link>http://msnp.ru/189</link>
		<comments>http://msnp.ru/189#comments</comments>
		<pubDate>Fri, 17 Jul 2009 06:49:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[amiro]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[portdowngrade]]></category>
		<category><![CDATA[ports]]></category>
		<category><![CDATA[откат]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=189</guid>
		<description><![CDATA[Возникла тут проблема с движком amiro,  версия двигла не совсем новая, и посему он отказывался работать с версией выше php 5.2.9. Ну что ж, пришлось откатываться на php 5.2.9 вместо актуальной на данный момент php 5.2.10. Для этого нам понадобится : - portdowngrade - пиво =) Устанавливаем программу portdowngrade: cd /usr/ports/ports-mgmt/portdowngrade/ make DEFAULT_CVS_SERVER="anoncvs@anoncvs1.FreeBSD.org:/home/ncvs" make install [...]]]></description>
			<content:encoded><![CDATA[<p>Возникла тут проблема с движком amiro,  версия двигла не совсем новая,<br />
и посему он отказывался работать с версией выше php 5.2.9.<br />
Ну что ж, пришлось откатываться на php 5.2.9 вместо актуальной<br />
на данный момент php 5.2.10.</p>
<p>Для этого нам понадобится :<br />
- portdowngrade<br />
- пиво =)</p>
<p>Устанавливаем программу portdowngrade:<br />
<code>cd /usr/ports/ports-mgmt/portdowngrade/<br />
make DEFAULT_CVS_SERVER="anoncvs@anoncvs1.FreeBSD.org:/home/ncvs"<br />
make install</code></p>
<p>Затем пишем:<br />
<code>portdowngrade php </code></p>
<p>Тут может понадобиться создать файл <code>.cvspass</code> в вашей домашней директории.</p>
<p>Результатом работы portdowngrade будет список из всех портов в котором есть php,<br />
выбираем нужное нам название порта.<br />
Далее в следующем списке выбираем до какой версии откатывать порт.<br />
Ну а дальше все просто и привычно,<br />
собираем и ставим порт который мы только что откатили.</p>
<p>Выпиваем заготовленное заранее пиво и наслаждаемся проделанной работой =)</p>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/189/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Полезные команды</title>
		<link>http://msnp.ru/167</link>
		<comments>http://msnp.ru/167#comments</comments>
		<pubDate>Tue, 20 Jan 2009 07:02:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[bsd]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[архивы]]></category>
		<category><![CDATA[команды]]></category>
		<category><![CDATA[подсказки]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=167</guid>
		<description><![CDATA[Работа с архивами: Запаковать папку /test в архив archive.tar.gz tar zcvf archive.tar.gz /test Распаковать архив archive.zip unzip archive.zip Распаковать архив archive.tar.gz tar zxvf archive.tar.gz Распаковать архив archive.tar.bz2 tar jxvf archive.tar.gz Копирование между серверами при помощи SCP: Копируем на сервер scp Source user@host:directory/Target Скачиваем с сервера scp user@host:directory/Source Target Базовые операции с MySQL: Бэкап базы mysqldump [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Работа с архивами:</strong></p>
<p>Запаковать папку /test в архив archive.tar.gz<br />
<code>tar zcvf archive.tar.gz /test</code><br />
Распаковать архив archive.zip<br />
<code>unzip archive.zip</code><br />
Распаковать архив archive.tar.gz<br />
<code>tar zxvf archive.tar.gz</code><br />
Распаковать архив archive.tar.bz2<br />
<code>tar jxvf archive.tar.gz</code></p>
<p><strong>Копирование между серверами при помощи SCP:</strong></p>
<p>Копируем на сервер<br />
<code>scp Source user@host:directory/Target</code><br />
Скачиваем с сервера<br />
<code>scp user@host:directory/Source Target</code></p>
<p><strong>Базовые операции с MySQL:</strong></p>
<p>Бэкап базы<br />
<code>mysqldump --all --add-drop-table -h hostname -u username -ppassword databasename &gt; dump.sql</code><br />
Заливка бекапа<br />
<code>mysql -h hostname -u username -ppassword databasename &lt; dump.sql</code></p>
<p><code>&gt; create database название БД;</code><br />
<code>&gt; drop database название БД;</code></p>
<p><span id="more-167"></span><strong>RPM: </strong></p>
<p><code>rpm -Uhv url://</code></p>
<p><strong>Работа с системными учетными записями пользователей:</strong></p>
<p><code># adduser</code> Создать пользователя<br />
<code># rmuser</code> Удалить пользователя<br />
<code># pw lock name</code> Заблокировать пользователя<br />
<code># pw unlock name</code> Разблокировать пользователя<br />
<code># pw groupmod www -m имя-пользователя</code> Добавить в группу www пользователя с логином &#171;имя-пользователя&#187;</p>
<p><code>find /home -type f |xargs chmod 440</code> chmod на файлы<br />
<code>find /home -type d |xargs chmod 440</code> chmod на директории<br />
<code>find /home -type d |xargs chown user</code> chown на директории<br />
<code>find /home -type f |xargs chown user</code> chown на файлы</p>
<p>Посмотреть занимаемое место, суммирует место по папкам:<br />
<code>du -sch /var/*</code></p>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/167/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>FreeBSD 7.1 дождались.</title>
		<link>http://msnp.ru/166</link>
		<comments>http://msnp.ru/166#comments</comments>
		<pubDate>Thu, 08 Jan 2009 12:55:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Release]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=166</guid>
		<description><![CDATA[Длительное ожидание выхода релиза FreeBSD 7.1 завершилось, 8 января 2009 года анонсирован релиз. В релизи много нововведений с которыми можно ознакомиться по адресу http://www.FreeBSD.org/releases/7.1R/relnotes.html]]></description>
			<content:encoded><![CDATA[<p>Длительное ожидание выхода релиза FreeBSD 7.1 завершилось, 8 января 2009 года анонсирован релиз.<br />
В релизи много нововведений с которыми можно ознакомиться по адресу <a href="http://www.FreeBSD.org/releases/7.1R/relnotes.html">http://www.FreeBSD.org/releases/7.1R/relnotes.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/166/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Редактор SED</title>
		<link>http://msnp.ru/160</link>
		<comments>http://msnp.ru/160#comments</comments>
		<pubDate>Mon, 29 Dec 2008 17:38:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[SED]]></category>
		<category><![CDATA[подсказки]]></category>
		<category><![CDATA[редактор]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=160</guid>
		<description><![CDATA[Однострочные скрипты SED Пространство между строками: Двойное пространство между строками: sed G Двойное пространство между строками исключая пустые строки (на выходе содержатся не больше одной пустой строки между двумя строками с текстом): sed ‘/^$/d;G’ Тройное пространство между строками: sed ‘G;G’ Удалить каждую вторую строку: sed ‘n;d’ Вставить пустую строку перед каждой строкой соответствующей регулярному выражению [...]]]></description>
			<content:encoded><![CDATA[<p>Однострочные скрипты SED<span id="more-160"></span></p>
<p>Пространство между строками:</p>
<p>Двойное пространство между строками:<br />
sed G<br />
Двойное пространство между строками исключая пустые строки (на выходе содержатся не больше одной пустой строки между двумя строками с текстом):<br />
sed ‘/^$/d;G’<br />
Тройное пространство между строками:<br />
sed ‘G;G’<br />
Удалить каждую вторую строку:<br />
sed ‘n;d’<br />
Вставить пустую строку перед каждой строкой соответствующей регулярному выражению “regex”:<br />
sed ‘/regex/{x;p;x;}’<br />
Вставить пустую строку после каждой строки соответствующей регулярному выражению “regex”:<br />
sed ‘/regex/G’<br />
Вставить пустую строку перед и после каждой строки соответствующей регулярному выражению “regex”:<br />
sed ‘/regex/{x;p;x;G;}’<br />
Нумерация:</p>
<p>Нумерация каждой стоки в файле filename. Используя отступ (tab) (смотрите примечание по ‘\t’ в конце документа) вместо пустой строки:<br />
sed = filename | sed ‘N;s/\n/\t/’<br />
Нумерация каждой строки в файле filename (номер слева, выравненый по правому краю):<br />
sed = filename | sed ‘N; s/^/ /; s/ *\(.\{6,\}\)\n/\1 /’<br />
Нумерация каждой строки в файле filename, с выводом номера только для не пустых строк:<br />
sed ‘/./=’ filename | sed ‘/./N; s/\n/ /’<br />
Подсчет строк (эмуляция “wc -l”):<br />
sed -n ‘$=’<br />
Преобразование и замена текста:</p>
<p>В UNIX окружении: преобразование окончания строк из формата DOS (CR/LF) в формат Unix (LF):<br />
sed ’s/.$//’ (подразумевается что все строки заканчиваются с CR/LF)<br />
sed ’s/^M$//’ (в bash/tcsh, нажмите Ctrl-V затем Ctrl-M)<br />
sed ’s/\x0D$//’ (работает в ssed, gsed 3.02.80 или выше)<br />
В UNIX окружении: преобразование разрыва строк Unix (LF) в формат DOS:<br />
sed “s/$/`echo -e \\\r`/” (команда в ksh)<br />
sed ’s/$’”/`echo \\\r`/” (команда под bash)<br />
sed “s/$/`echo \\\r`/” (команда под zsh)<br />
sed ’s/$/\r/’ (команда под gsed 3.02.80 или выше)<br />
В DOS окружении: преобразование разрыва строк Unix (LF) в формат DOS:<br />
Версия 1: sed “s/$//”<br />
Версия 2: sed -n p<br />
В DOS окружении: преобразование разрыва строк DOS (CR/LF) в формат Unix. Работоет только с sed версии 4.0.7 или выше. Версию в Unix окружении можно узнать, вызвав SED с параметром “–version”. В версии ниже, в DOS окружении такой фокус не пройдет. Использвйте взамен комманду “tr”:<br />
sed “s/\r//” infile &gt;outfile (sed v4.0.7 или выше)<br />
tr -d \r &lt;infile &gt;outfile (GNU tr версии 1.22 или выше)<br />
Удалить все пробелы и символы табуляции в начале каждой строки файла (смотрите примечание по табуляции в конце документа):<br />
sed ’s/^[ \t]*//’<br />
Удалить все пробелы и символы табуляции в конце каждой строки файла (смотрите примечание по табуляции в конце документа):<br />
sed ’s/[ \t]*$//’<br />
Удалить все пробелы и символы табуляции в начале и конце каждой строки файла (смотрите примечание по табуляции в конце документа):<br />
sed ’s/^[ \t]*//;s/[ \t]*$//’<br />
Вставить 5 пробелов в начале каждой строки (создать смещение страницы):<br />
sed ’s/^/ /’<br />
Расположить весь текст по правому краю столбца шириной в 79 символов:<br />
sed -e :a -e ’s/^.\{1,78\}$/ &amp;/;ta’ (устанавливает как 78 плюс 1 пробельный символ)<br />
Центрировать весь текст посередине столбца шириной 79 символов. В версии 1, пробелы добовляются в начало и конец строки. В версии 2, пробелы добовляются только в начало строки:<br />
Версия 1: sed -e :a -e ’s/^.\{1,77\}$/ &amp; /;ta’<br />
Версия 2: sed -e :a -e ’s/^.\{1,77\}$/ &amp;/;ta’ -e ’s/\( *\)\1/\1/’<br />
Поиск и замеа “foo” на “bar” в каждой строке:<br />
sed ’s/foo/bar/’ (замена только первого совпадения в строке)<br />
sed ’s/foo/bar/4? (замена первых 4рех совпадений в строке)<br />
sed ’s/foo/bar/g’ (замена ВСЕХ совпадений в строке)<br />
sed ’s/\(.*\)foo\(.*foo\)/\1bar\2/’ (замена предпоследнего совпадения)<br />
sed ’s/\(.*\)foo/\1bar/’ (замена только последнего совпадения)<br />
Замена “foo” на “bar” ТОЛЬКО для строк содержащих “baz”:<br />
sed ‘/baz/s/foo/bar/g’<br />
Замена “foo” на “bar” ИСКЛЮЧАЯ строки содержащие “baz”:<br />
sed ‘/baz/!s/foo/bar/g’<br />
Замена “scarlet” или “ruby”, или “puce” на “red”:<br />
sed ’s/scarlet/red/g;s/ruby/red/g;s/puce/red/g’ (большинство sed-ов)<br />
gsed ’s/scarlet\|ruby\|puce/red/g’ (только GNU sed)<br />
Перевернуть последовательность строк (эмуляция “tac”) (ошибка/особеннось в HHsed v1.5 причина удалению пустой строки):<br />
Версия 1: sed ‘1!G;h;$!d’<br />
Версия 2: sed -n ‘1!G;h;$p’<br />
Перевернуть каждую строку в файле задом наперед (эмуляция “rev”):<br />
sed ‘/\n/!G;s/\(.\)\(.*\n\)/&amp;\2\1/;//D;s/.//’<br />
Соеденить каждую пару строк бок о бок (подобно “paste”):<br />
sed ‘$!N;s/\n/ /’<br />
Если линия заканчивается обратной косой чертой “\”, то присоеденить следующую линию:<br />
sed -e :a -e ‘/\\$/N; s/\\\n//; ta’<br />
Если линия начинается с знака “=”, то присоеденить ее к предыдущей линии и заменить “=” пробелом:<br />
sed -e :a -e ‘$!N;s/\n=/ /;ta’ -e ‘P;D’<br />
Добавить запятые к строке из чисел, изменяя “1234567? на “1,234,567?:<br />
gsed ‘:a;s/\B[0-9]\{3\}\&gt;/,&amp;/;ta’ (GNU sed)<br />
sed -e :a -e ’s/\(.*[0-9]\)\([0-9]\{3\}\)/\1,\2/;ta’ (другие sed-ы)<br />
Добавить запятые к числу с десятичной частью и знаком минуса (GNU sed):<br />
gsed -r ‘:a;s/(^|[^0-9.])([0-9]+)([0-9]{3})/\1\2,\3/g;ta’<br />
Добавить пустую строку через каждые 5 строк (после строк 5, 10, 15, 20, и т.д.):<br />
gsed ‘0~5G’ (только GNU sed)<br />
sed ‘n;n;n;n;G;’ (другие sed-ы)<br />
Выборочная печать некоторых строк:</p>
<p>Печатать первые 10 линий файла (эмуляция “head”):<br />
sed 10q<br />
Печатать первую строку файла (эмуляция “head -1?):<br />
sed q<br />
Печатать последние 10 строк файла (эмуляция “tail”):<br />
sed -e :a -e ‘$q;N;11,$D;ba’<br />
Печатать последние 2 строки файла (эмуляция “tail -2?):<br />
sed ‘$!N;$!D’<br />
Печатать последнюю строку файла (эмуляция “tail -1?):<br />
Версия 1: sed ‘$!d’<br />
Версия 2: sed -n ‘$p’<br />
Печатать предпоследнюю строку в файле:<br />
sed -e ‘$!{h;d;}’ -e x (для однострочного файла печатать пустую строку)<br />
sed -e ‘1{$q;}’ -e ‘$!{h;d;}’ -e x (для однострочного файла печатать эту строку)<br />
sed -e ‘1{$d;}’ -e ‘$!{h;d;}’ -e x (для однострочного файла ничего не печатать)<br />
Печатать только те строки, которые совпадают с регулярным выражением (эмуляция “grep”):<br />
Версия 1: sed -n ‘/regexp/p’<br />
Версия 2: sed ‘/regexp/!d’<br />
Печатать только те строки, которые НЕ совпадают с регулярным выражением (эмуляция “grep -v”):<br />
sed -n ‘/regexp/!p’ &#8212; Версия 1, corresponds to above<br />
sed ‘/regexp/d’ &#8212; Версия 2, simpler syntax<br />
Печатать строку непосредственно перед регулярным выражением, но не печатать строку содержащую регулярное выражение:<br />
sed -n ‘/regexp/{g;1!p;};h’<br />
Печатать строку непосредственно после регулярного выражения, но не печатать строку содержащую регулярное выражение:<br />
sed -n ‘/regexp/{n;p;}’<br />
Печатать по одной строке перед и после регулярного выражения, с указанием номера строки совпадающей с регулярным выражением (симуляция “grep -A1 -B1?):<br />
sed -n -e ‘/regexp/{=;x;1!p;g;$!N;p;D;}’ -e h<br />
Печать строк, совпадающих с регулярными выражениями AAA, BBB и CCC одновременно (в любой последовательности):<br />
sed ‘/AAA/!d; /BBB/!d; /CCC/!d’<br />
Печать строк, совпадающих с регулярными выражениями AAA, BBB и CCC одновременно (в конкретной последовательности):<br />
sed ‘/AAA.*BBB.*CCC/!d’<br />
Печать строк, совпадающих с любым регулярным выражением AAA или BBB, или CCC (эмуляция “egrep”):<br />
sed -e ‘/AAA/b’ -e ‘/BBB/b’ -e ‘/CCC/b’ -e d (большинство sed’ов)<br />
gsed ‘/AAA\|BBB\|CCC/!d’ (только GNU sed)<br />
Печатать абзац если он содержит AAA (пустая строка разделяет абзацы) (в HHsed v1.5 необходимо вставить ‘G;’ после ‘x;’):<br />
sed -e ‘/./{H;$!d;}’ -e ‘x;/AAA/!d;’<br />
Печатать абзац если он содержит AAA, BBB и CCC (в любой последовательности) (в HHsed v1.5 необходимо вставить ‘G;’ после ‘x;’):<br />
sed -e ‘/./{H;$!d;}’ -e ‘x;/AAA/!d;/BBB/!d;/CCC/!d’<br />
Печатать абзац если он содержит AAA или BBB, или CCC (в HHsed v1.5 необходимо вставить ‘G;’ после ‘x;’):<br />
sed -e ‘/./{H;$!d;}’ -e ‘x;/AAA/b’ -e ‘/BBB/b’ -e ‘/CCC/b’ -e d<br />
gsed ‘/./{H;$!d;};x;/AAA\|BBB\|CCC/b;d’ (только GNU sed)<br />
Печатать строки длиной равной или большей 65 символов:<br />
sed -n ‘/^.\{65\}/p’<br />
Печатать строки длиной меньше или равной 65 символов:<br />
sed -n ‘/^.\{65\}/!p’ &#8212; Версия 1, отвечает условию<br />
sed ‘/^.\{65\}/d’ &#8212; Версия 2, более простой синтаксис<br />
Печатать часть файла начиная от совпадения с регулярным выражением и до конца файла:<br />
sed -n ‘/regexp/,$p’<br />
Печатать часть файла основываясь на номерах строк (строки 8-12, включительно):<br />
Версия 1: sed -n ‘8,12p’<br />
Версия 2: sed ‘8,12!d’<br />
Печатать строку под номером 52:<br />
sed -n ‘52p’ &#8212; Версия 1<br />
sed ‘52!d’ &#8212; Версия 2<br />
sed ‘52q;d’ &#8212; Версия 3, эффективен на больших файлах<br />
Начиная с 3ей строки печатать каждую седьмую строку в файле:<br />
gsed -n ‘3~7p’ (только GNU sed)<br />
sed -n ‘3,${p;n;n;n;n;n;n;}’ (другие sed-ы)<br />
Печатать часть файла между двумя регулярными выражениями (включительно):<br />
sed -n ‘/Iowa/,/Montana/p’ (регистро зависимый)<br />
Избирательное удаление определенных строк:</p>
<p>Печатать все линии ИСКЛЮЧАЯ часть между двумя регулярными выражениями:<br />
sed ‘/Iowa/,/Montana/d’<br />
Удалить дубликаты последовательных строк в файле (эмуляция “uniq”). Первая строка в наборе дубликатах строк удерживается от удаления:<br />
sed ‘$!N; /^\(.*\)\n\1$/!P; D’<br />
Удалить дубликаты непоследовательных строк в файле. Остерегайтесь переполнения буфера или используйте GNU sed:<br />
sed -n ‘G; s/\n/&amp;&amp;/; /^\([ -~]*\n\).*\n\1/d; s/\n//; h; P’<br />
Печатать только дубликаты строк (эмуляция “uniq -d”):<br />
sed ‘$!N; s/^\(.*\)\n\1$/\1/; t; D’<br />
Удалить первые 10 строк в файле:<br />
sed ‘1,10d’<br />
Удалить последнюю строку в файле:<br />
sed ‘$d’<br />
Удалить 2 последние строки файла:<br />
sed ‘N;$!P;$!D;$d’<br />
Удалить последние 10 строк файла:<br />
Версия 1: sed -e :a -e ‘$d;N;2,10ba’ -e ‘P;D’<br />
Версия 2: sed -n -e :a -e ‘1,10!{P;N;D;};N;ba’<br />
Удалить каждую восьмую строку в файле:<br />
gsed ‘0~8d’ (только GNU sed)<br />
sed ‘n;n;n;n;n;n;n;d;’ (другие sed-ы)<br />
Удалить строки совпадающие с регулярным выражением:<br />
sed ‘/pattern/d’<br />
Удалить ВСЕ пустрые строки из файла (эмуляция “grep ‘.’ “):<br />
Версия 1: sed ‘/^$/d’<br />
Версия 2: sed ‘/./!d’<br />
Удалить все последовательности пустых строк из файла исключая первую. Также удалить все пустые строки в начале и в конце файла (эмуляция “cat -s”):<br />
sed ‘/./,/^$/!d’ (Версия 1, допускается 0 пустых строк в начале и 1 в конце файла)<br />
sed ‘/^$/N;/\n$/D’ (Версия 2, допускается 1 пустая строка в начале и 0 в конце файла)<br />
Оставить последовательность пустых строк не более двух одновременно:<br />
sed ‘/^$/N;/\n$/N;//D’<br />
Удалить все пустые строки в начале файла:<br />
sed ‘/./,$!d’<br />
Удалить все пустые строки в конце файла:<br />
sed -e :a -e ‘/^\n*$/{$d;N;ba’ -e ‘}’ (для всех sed-ов)<br />
sed -e :a -e ‘/^\n*$/N;/\n$/ba’ (для всех, кроме gsed 3.02.*)<br />
Удалить последнюю непустую строку в каждом абзаце:<br />
sed -n ‘/^$/{p;h;};/./{x;/./p;}’<br />
Специальные приложения:</p>
<p>Получить заголовок Usenet/e-mail сообщения:<br />
sed ‘/^$/q’ (удаляет все после первой пустой строки)<br />
Получить тело Usenet/e-mail сообщений:<br />
sed ‘1,/^$/d’ (удаляет все до первой пустой строки)<br />
Получить заголовок Subject (тема Usenet/e-mail сообщения), без удаления части “Subject: “:<br />
sed ‘/^Subject: */!d; s///;q’<br />
Получить заголовок обратный адрес:<br />
sed ‘/^Reply-To:/q; /^From:/h; /./d;g;q’<br />
Анализировать правильный исходящий адрес. # Pulls out the e-mail address by itself from the 1-line return address header (see preceding script):<br />
sed ’s/ *(.*)//; s/&gt;.*//; s/.*[:&lt;] *//’<br />
Добавить скобку и пробел в начало каждой строки (цитирование сообщения):<br />
sed ’s/^/&gt; /’<br />
Удалить скобку и пробел в начале каждой строки (unquote a message):<br />
sed ’s/^&gt; //’<br />
Удалить большинство HTML тегов (включая теги состоящие из несколько строк):<br />
sed -e :a -e ’s/&lt;[^&gt;]*&gt;//g;/&lt;/N;//ba’<br />
Извлечение закодированных (uuencoded) двоичных данных из нескольких частей, удаление внешней заголовочной информации. Итак это только часть закодированного остатка. Файлы пропущенные через sed должны быть пропущены в правильной последовательности. Версия 1 может быть введена из командной строки, версия 2 может быть встроена в исполняемый скрипт оболочки Unix. (Модифицированна из скрипта Rahul Dhesi):<br />
Версия 1: sed ‘/^end/,/^begin/d’ file1 file2 … fileX | uudecode<br />
Версия 2: sed ‘/^end/,/^begin/d’ “$@” | uudecode<br />
Отсортировать абзацы файла в алфавитном порядке. Абзацы разделены пустой строкой. GNU sed использует \v для вертикального выравнивания, или это может быть любой уникальный символ:<br />
sed ‘/./{H;d;};x;s/\n/={NL}=/g’ file | sort | sed ‘1s/={NL}=//;s/={NL}=/\n/g’<br />
gsed ‘/./{H;d};x;y/\n/\v/’ file | sort | sed ‘1s/\v//;y/\v/\n/’<br />
Удалить конкретный символ (к примеру: символ возврата) из man страницы. Для использования команды ‘echo’ может потребоваться указать параметр -e (если вы используете Unix System V или оболочку bash):<br />
sed “s/.`echo \\\b`//g” (двойные кавычки необходимы в Unix окружении)<br />
sed ’s/.^H//g’ (в bash/tcsh, нажмите Ctrl-V и затем Ctrl-H)<br />
sed ’s/.\x08//g’ (hex выражение для sed 1.5, GNU sed, ssed)<br />
В DOS окружении: создаем коммандный файл, который запаковывает каждый txt-файл в каталоге (в две команды):<br />
echo @echo off &gt;zipup.bat<br />
dir /b *.txt | sed “s/^\(.*\)\.TXT/pkzip -mo \1 \1.TXT/” &gt;&gt;zipup.bat<br />
Типичное использование:</p>
<p>sed берет одну или более команд редактирования и в результате примеяет их все к каждой входящей строке. После этого все команды будут применены к первой входящей строке, эта строка выводится, а следующая входящая строка берется для обработки и цикл повтаряется.<br />
Предшествующий пример предполагает что данные поступают с устройства стандартного ввода (например, консоль &#8212; стандартный канал ввода). Один или больше имен файлом могут быть присоеденены к командной строке если вход идет не из stdin. Вывод отсылается на стандартный вывод (stdout &#8212; обычно экран).</p>
<p>Так:</p>
<p>cat filename | sed ‘10q’ (используется ввод из конвеера)<br />
sed ‘10q’ filename (тот же эффект, исключая использование “cat”)<br />
sed ‘10q’ filename &gt; newfile (перенаправление вывода в файл)<br />
Для дополнительных синтаксических инструкций, включая метод применения команд редактирования из файла, взамен командной строки, посмотрите книги Dale Dougherty и Arnold Robbins “sed &amp; awk, 2nd Edition,”, “UNIX Text Processing,” by Dale Dougherty и Tim O’Reilly (Hayden Books, 1987) или учебники Mike Arst distributed in U-SEDIT2.ZIP (many sites).</p>
<p>Для использование всех возможностей sed-а вы должны понимать “регулярные выражения”. Для этого смотрите “Mastering Regular Expressions” by Jeffrey Friedl (O’Reilly, 1997).</p>
<p>Могут пригодиться страницы руководства (”man”) в системе Unix (Используйте “man sed”, “man regexp”, или раздел по регулярным выраженям в “man sed”), но страницы руководства, как правило, трудны. Они не написаны для обучения пользователей использования sed-а или регулярных выражений с нуля, а написаны как справочник для тех кто уже умеет работать с этими инструментами.</p>
<p>Цитирование правил (Quoting syntax):</p>
<p>Предшествующий пример использует одинарные кавычки (’…’) вместо двойных кавычек (”…”) для окружения редактируемой команды, с тех пор как sed в основном исользуется на платформах Unix. Одинарные кавычки предотращают оболочку Unix от интерпретации знака доллара ($) и обратных кавычек (`…`), которые расширяют оболочку если они заключены в двойные кавычки. Пользователи “csh” shell и происходящие от нее оболочки, также нуждаются в взятие в кавычки знака восклицания (!). С обратной косой чертой (\!) правильно запускает пример указанные выше, даже внутри одинарных кавычек.</p>
<p>Версии sed написанные для DOS обязательно требуют заключение редактируемых команд в двойные кавычки (”…”) взамен одинарных.</p>
<p>Исользование ‘\t’ в скриптах SED:</p>
<p>Для ясности документации, мы можем использовать выражение ‘\t’ для обозначения символа табуляции (0?09) в скриптах.</p>
<p>Однако большинство версий sed-а не понимают сокращение ‘\t’, чтобы ввести этот символ из командной строки, введите его клавишей “TAB“.</p>
<p>‘\t’ поддерживается как метасимвол регулярнго выражения в awk, perl, HHsed, sedmod, и GNU sed v3.02.80.</p>
<p>Версии sed:</p>
<p>Разные версии sed-а, различаются незначителными переменами. Большинство версий не поддерживает меток (:name) или ветвление инструкций (b,t) внутри команд редактирования. Хотя поддерживают их в конце команд. Желательно использовать синтаксис исключая метки и ветвления инструкций, несмотря на популярность GNU версии sed-а, позволяющий более краткий и красивый синтаксис.</p>
<p>Когда читатель смотрит GNU версию sed-а, поддерживающего боле лаконичный синтаксис и видит такую длинную команду, как эту:</p>
<p>sed -e ‘/AAA/b’ -e ‘/BBB/b’ -e ‘/CCC/b’ -e d<br />
это подбивает к изученю GNU версию sed-а, для укорачивания команды:</p>
<p>sed ‘/AAA/b;/BBB/b;/CCC/b;d’<br />
sed ‘/AAA\|BBB\|CCC/b;d’<br />
В дополнение запомните: многие версии sed-а принимают команду, типа “/one/ s/RE1/RE2/”, но не принимают типа “/one/! s/RE1/RE2/” &#8212; содержащую пробел перед “s”.</p>
<p>Оптимизация по скорости:</p>
<p>Для необходимого ускорения выполнения программы (к примеру на больший файлах, медленном процессоре или медленном носителе), замена будет более быстрой если искомое условие будет продублированно перед инструкцией “s/…/…/”. Пример:</p>
<p>sed ’s/foo/bar/g’ filename (стандартная команда замены)<br />
sed ‘/foo/ s/foo/bar/g’ filename (выполняется быстрее)<br />
sed ‘/foo/ s//bar/g’ filename (укороченный синтаксис предыдущей команды)<br />
В однострочном выводе на печать или удалении строк (при неполной обработке файла), используйте команду выхода “quit” (q) в скрипте &#8212; это резко сократит время обработки больших файлов. Пример:</p>
<p>sed -n ‘45,50p’ filename (вывести на печатать линии с 45 по 50)<br />
sed -n ‘51q;45,50p’ filename (тоже самое, но работает быстрее)<br />
Если Вы хотите добавить свой скрипт или нашли ошибку в этом документе, пожалуйста отправьте e-mail составителю. Также укажите составителю используемую Вами версию sed-а, операционную систему составителю и обозначьте проблему. Чтобы охарактеризовать скрипт как одно-строковый, команда должна содержать не больше 65 символов.</p>
<p>Разнообразные скрипты в этом документе были написаны (или содействовали):</p>
<p>Al Aab &#8212; founder of “seders” list<br />
Edgar Allen &#8212; various<br />
Yiorgos Adamopoulos &#8212; various<br />
Dale Dougherty &#8212; author of “sed &amp; awk”<br />
Carlos Duarte &#8212; author of “do it with sed”<br />
Eric Pement &#8212; author of this document<br />
Ken Pizzini &#8212; author of GNU sed v3.02<br />
S.G. Ravenhall &#8212; great de-html script<br />
Greg Ubben &#8212; many contributions &amp; much help</p>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/160/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Редактор VI</title>
		<link>http://msnp.ru/158</link>
		<comments>http://msnp.ru/158#comments</comments>
		<pubDate>Mon, 29 Dec 2008 07:18:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[vi]]></category>
		<category><![CDATA[сила убожества]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=158</guid>
		<description><![CDATA[Я ненавижу данный редактор, и не представляю кому в голову могла прийти такая идиотская мысль по созданию этого убожества &#8212; редактора vi (хотя и не отрицаю его возможностей), но я привык комфорту! Но т.к. к сожалению его приходится использовать в работе то надо бы написать подсказки. Итак, у этого чуда есть три режима: режим редактирования [...]]]></description>
			<content:encoded><![CDATA[<p>Я ненавижу данный редактор, и не представляю кому в голову могла прийти такая идиотская мысль по созданию этого убожества &#8212; редактора vi (хотя и не отрицаю его возможностей), но я привык комфорту!</p>
<p>Но т.к. к сожалению его приходится использовать в работе то надо бы написать подсказки.<span id="more-158"></span></p>
<p>Итак, у этого чуда есть три режима:<br />
режим редактирования<br />
режим командный<br />
а вот третий я не помню, ибо сделать простейшие правки вполне хватит первых двух</p>
<p>ESC  Перейти из режима ввода в командный режим<br />
i   вставить символ<br />
Shift : переход в режим ввода команд<br />
:q!  выход без сохранения<br />
:wq выход с сохранением изменений<br />
dd  удалить строку<br />
D    удалить строку справа от курсора<br />
r     заменить символ<br />
.     повторить команду<br />
x &#8212; удалить символ</p>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/158/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>FreeBSD. Энциклопедия пользователя.</title>
		<link>http://msnp.ru/155</link>
		<comments>http://msnp.ru/155#comments</comments>
		<pubDate>Mon, 29 Dec 2008 04:37:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[ebook]]></category>
		<category><![CDATA[книги]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=155</guid>
		<description><![CDATA[Небольшой сборник книг в электронном виде по FreeBSD. FreeBSD. Энциклопедия пользователя. (Майкл Эбен, Брайан Таймэн) Скачать FreeBSD. Подробное руководство (Майкл Лукас) Скачать Полный справочник FreeBSD (Родерик Смит) Скачать]]></description>
			<content:encoded><![CDATA[<p>Небольшой сборник книг в электронном виде по FreeBSD.</p>
<p>FreeBSD. Энциклопедия пользователя. (Майкл Эбен, Брайан Таймэн)<br />
<a title="Скачать" href="http://msnp.ru/files/eben.djvu">Скачать</a></p>
<p>FreeBSD. Подробное руководство (Майкл Лукас)<br />
<a title="Скачать" href="http://msnp.ru/files/FreeBSD.lukas.djvu">Скачать</a></p>
<p>Полный справочник FreeBSD (Родерик Смит)<br />
<a title="Скачать" href="http://msnp.ru/files/freebsd.smit.djvu">Скачать</a></p>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/155/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Версии FreeBSD</title>
		<link>http://msnp.ru/148</link>
		<comments>http://msnp.ru/148#comments</comments>
		<pubDate>Mon, 24 Nov 2008 10:04:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[версии]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=148</guid>
		<description><![CDATA[Список всех версий FreeBSD. FreeBSD 7.0 (February 2008) FreeBSD 6.3 (January 2008) FreeBSD 6.2 (January 2007) FreeBSD 6.1 (May 2006) FreeBSD 6.0 (November 2005) FreeBSD 5.5 (May 2006) FreeBSD 5.4 (May 2005) FreeBSD 5.3 (November 2004) FreeBSD 5.2.1 (February 2004) FreeBSD 5.2 (January 2004) FreeBSD 5.1 (June, 2003) FreeBSD 5.0 (January, 2003) FreeBSD 4.11 (Jan, [...]]]></description>
			<content:encoded><![CDATA[<p>Список всех версий FreeBSD.</p>
<p>FreeBSD 7.0 (February 2008)<br />
FreeBSD 6.3 (January 2008)<br />
FreeBSD 6.2 (January 2007)<br />
FreeBSD 6.1 (May 2006)<br />
FreeBSD 6.0 (November 2005)<br />
FreeBSD 5.5 (May 2006)<br />
FreeBSD 5.4 (May 2005)<br />
FreeBSD 5.3 (November 2004)<br />
FreeBSD 5.2.1 (February 2004)<br />
FreeBSD 5.2 (January 2004)<br />
FreeBSD 5.1 (June, 2003)<br />
FreeBSD 5.0 (January, 2003)<br />
FreeBSD 4.11 (Jan, 2005)<br />
FreeBSD 4.10 (May, 2004)<br />
FreeBSD 4.9 (October, 2003)<br />
FreeBSD 4.8 (April, 2003)<br />
FreeBSD 4.7 (October, 2002)<br />
FreeBSD 4.6.2 (August, 2002)<br />
FreeBSD 4.6 (June, 2002)<br />
FreeBSD 4.5 (January, 2002)<br />
FreeBSD 4.4 (September, 2001)<br />
FreeBSD 4.3 (April, 2001)<br />
FreeBSD 4.2 (November, 2000)<br />
FreeBSD 4.1.1 (September, 2000)<br />
FreeBSD 4.1 (July, 2000)<br />
FreeBSD 4.0 (March, 2000)<span id="more-148"></span><br />
FreeBSD 3.5 (June, 2000)<br />
FreeBSD 3.4 (December, 1999)<br />
FreeBSD 3.3 (September, 1999)<br />
FreeBSD 3.2 (May, 1999)<br />
FreeBSD 3.1 (February, 1999)<br />
FreeBSD 3.0 (October, 1998)<br />
FreeBSD 2.2.8 (December, 1998)<br />
FreeBSD 2.2.7 (July, 1998)<br />
FreeBSD 2.2.6 (March, 1998)<br />
FreeBSD 2.2.5 (October, 1997)<br />
FreeBSD 2.2.2 (May, 1997)<br />
FreeBSD 2.2.1 (April, 1997)<br />
FreeBSD 2.2 (March, 1997)<br />
FreeBSD 2.1.7 (February, 1997)<br />
FreeBSD 2.1.6 (December, 1996)<br />
FreeBSD 2.1.5 (July, 1996)<br />
FreeBSD 2.1 (November, 1995)<br />
FreeBSD 2.0.5 (June, 1995)<br />
FreeBSD 2.0 (November, 1994)<br />
FreeBSD 1.1.5.1 (July, 1994)<br />
FreeBSD 1.1.5<br />
FreeBSD 1.1 (May, 1994)<br />
FreeBSD 1.0 (November, 1993)</p>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/148/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Русифицируем консоль во FreeBSD</title>
		<link>http://msnp.ru/141</link>
		<comments>http://msnp.ru/141#comments</comments>
		<pubDate>Wed, 12 Nov 2008 19:33:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[koi8-r]]></category>
		<category><![CDATA[Консоль]]></category>
		<category><![CDATA[русификация]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=141</guid>
		<description><![CDATA[Для русификации консоли во FreeBSD KOI8-R нужно проделать несолько нехитрых действий. После чего вы будете видеть системные сообщения на русском из тех приложений которые это поддерживают. Дописываем в файл /etc/rc.conf font8x8="cp866-8x8" font8x14="cp866-8x14" font8x16="cp866b-8x16" scrnmap="koi8-r2cp866" keymap="ru.koi8-r" В файле /etc/ttys меняем cons25 на cons25r выполняем vipw и дописываем класс russian между двумя двоеточиями Kid:$1$opgjvkDk$h0qc/Pg1PvxaF7D/MeHim1:1001:1001::0:0:User &#38;:/home/kid:/bin/csh Kid:$1$opgjvkDk$h0qc/Pg1PvxaF7D/MeHim1:1001:1001:russian:0:0:User &#38;:/home/kid:/bin/csh [...]]]></description>
			<content:encoded><![CDATA[<p>Для русификации консоли во FreeBSD KOI8-R нужно проделать несолько нехитрых действий.<br />
После чего вы будете видеть системные сообщения на русском из тех приложений которые это поддерживают.</p>
<p><span id="more-141"></span> Дописываем в файл /etc/rc.conf<br />
<code>font8x8="cp866-8x8"<br />
font8x14="cp866-8x14"<br />
font8x16="cp866b-8x16"<br />
scrnmap="koi8-r2cp866"<br />
keymap="ru.koi8-r"</code></p>
<p>В файле /etc/ttys меняем cons25 на cons25r</p>
<p>выполняем vipw и дописываем класс russian между двумя двоеточиями<br />
<code>Kid:$1$opgjvkDk$h0qc/Pg1PvxaF7D/MeHim1:1001:1001::0:0:User &amp;:/home/kid:/bin/csh<br />
Kid:$1$opgjvkDk$h0qc/Pg1PvxaF7D/MeHim1:1001:1001:russian:0:0:User &amp;:/home/kid:/bin/csh</code></p>
<p>Перелогиниваемся.</p>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/141/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Установка MySQL на FreeBSD</title>
		<link>http://msnp.ru/138</link>
		<comments>http://msnp.ru/138#comments</comments>
		<pubDate>Wed, 12 Nov 2008 16:12:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[FreeBSD]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=138</guid>
		<description><![CDATA[Установка MySQL на FreeBSD происходит очень просто! # make -C /usr/ports/databases/mysql50-server/ install Иногда нужно собрать MySQL с конкретной кодировкой, для этого допишем опции сборки в файл /etc/make.conf .if ${.CURDIR} == ${PORTSDIR}/databases/mysql50-server WITH_CHARSET=cp1251 WITH_COLLATION=cp1251_bin .endif .if ${.CURDIR} == ${PORTSDIR}/databases/mysql50-client WITH_CHARSET=cp1251 WITH_COLLATION=cp1251_bin .endif Для тестовых задач вполне хватит установок MySQL по умолчанию, но можно взять за основу [...]]]></description>
			<content:encoded><![CDATA[<p>Установка MySQL на FreeBSD происходит очень просто!</p>
<p><code># make -C /usr/ports/databases/mysql50-server/ install</code></p>
<p>Иногда нужно собрать MySQL с конкретной кодировкой, для этого допишем опции сборки в файл /etc/make.conf<br />
<code>.if ${.CURDIR} == ${PORTSDIR}/databases/mysql50-server<br />
WITH_CHARSET=cp1251<br />
WITH_COLLATION=cp1251_bin<br />
.endif<br />
.if ${.CURDIR} == ${PORTSDIR}/databases/mysql50-client<br />
WITH_CHARSET=cp1251<br />
WITH_COLLATION=cp1251_bin<br />
.endif</code></p>
<p>Для тестовых задач вполне хватит установок MySQL по умолчанию, но можно взять за основу один из файлов .cnf которые лежат /usr/local/share/mysql/ и внести нужные опции и скопировать его в /etc/my.cnf</p>
<p>Не забываем добавить строку mysql_enable=&#187;YES&#187; в файл /etc/rc.conf</p>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/138/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Сборка ядра FreeBSD</title>
		<link>http://msnp.ru/126</link>
		<comments>http://msnp.ru/126#comments</comments>
		<pubDate>Tue, 11 Nov 2008 17:19:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[оптимизация]]></category>
		<category><![CDATA[Ядро]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=126</guid>
		<description><![CDATA[Для сборки ядра необходимы исходные тексты. # cd /usr/src/sys/i386/conf/ # cp GENERIC mykernel # cd /usr/src/ Редактируем под свои нужды файл mykernel затем собираем и инсталлируем ядро: # make buildkernel KERNCONF=mykernel # make installkernel KERNCONF=mykernel]]></description>
			<content:encoded><![CDATA[<p>Для сборки ядра необходимы исходные тексты.</p>
<p><code># cd /usr/src/sys/i386/conf/<br />
# cp GENERIC mykernel<br />
# cd /usr/src/</code></p>
<p>Редактируем под свои нужды файл mykernel затем собираем и инсталлируем ядро:<br />
<code># make buildkernel KERNCONF=mykernel<br />
# make installkernel KERNCONF=mykernel</code></p>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/126/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Sudo добавляем себя в sudoers</title>
		<link>http://msnp.ru/120</link>
		<comments>http://msnp.ru/120#comments</comments>
		<pubDate>Tue, 11 Nov 2008 15:10:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[sudo]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=120</guid>
		<description><![CDATA[Sudo во FreeBSD, да и вообще sudo очень удобная вещь. Если кратко то sudo позволяет дать ограниченный доступ к выполнению команд su. В конфигурационном фале sudo можно указывать логин юзера, список команд которые ему доступны и спрашивать ли его пароль при запуске какой либо команды через sudo. Если пакет SUDO у вас еще не установлен, [...]]]></description>
			<content:encoded><![CDATA[<p>Sudo во FreeBSD, да и вообще sudo очень удобная вещь.<br />
Если кратко то sudo позволяет дать ограниченный доступ к выполнению команд su.<br />
В конфигурационном фале sudo можно указывать логин юзера, список команд которые ему доступны и спрашивать ли его пароль при запуске какой либо команды через sudo.</p>
<p>Если пакет SUDO у вас еще не установлен, то делается это просто:<br />
<code># make -C /usr/ports/security/sudo/ install</code></p>
<p>Для добавления себя в список sudoer выполняем</p>
<p><code>#visudo</code></p>
<p>и дописываем такую строку, заменив %user на свое имя в системе.</p>
<p><code>%user ALL=(ALL) NOPASSWD: ALL</code></p>
<p>Такая запись позволяет выполнять sudo без запроса пароля root,<br />
что аналогично su без пароля для конкретного пользователя.</p>
<p>P.S.  В Ubuntu Linux себя надо дописывать обязательно в конец файла, иначе работать не будет.</p>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/120/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Установка FreeBSD на ноутбук Amilo Pa2548</title>
		<link>http://msnp.ru/76</link>
		<comments>http://msnp.ru/76#comments</comments>
		<pubDate>Tue, 11 Nov 2008 10:07:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[AMILO]]></category>
		<category><![CDATA[Fujitsu-Siemens]]></category>
		<category><![CDATA[Notebook]]></category>
		<category><![CDATA[настройка]]></category>
		<category><![CDATA[установка]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=76</guid>
		<description><![CDATA[Установка и настройка FreeBSD на ноутбук Amilo Pa2548 В наличии ноутбук Fujitsu-Siemens AMILO Pa2548 и диск с FreeBSD 7.1 Beta2 Начинаем со стандартной установки FreeBSD. Необходимый софт: Xorg Linux Binary support KDE Nvidia-Driver Nvidia-Xconfig Nvidia-Settings Для более комфортной работы с FreeBSD делаем следующие вещи: Добавляем строки в файл /etc/rc.conf powerd_enable="YES" powerd_option="-a adaptive -b adaptive" linux_enable="YES" [...]]]></description>
			<content:encoded><![CDATA[<p>Установка и настройка FreeBSD на ноутбук Amilo Pa2548</p>
<p>В наличии ноутбук Fujitsu-Siemens AMILO Pa2548 и диск с FreeBSD 7.1 Beta2</p>
<p>Начинаем со стандартной установки FreeBSD.<span id="more-76"></span><br />
Необходимый софт:<br />
Xorg<br />
Linux Binary support<br />
KDE<br />
Nvidia-Driver<br />
Nvidia-Xconfig<br />
Nvidia-Settings</p>
<p>Для более комфортной работы с FreeBSD делаем следующие вещи:<br />
Добавляем строки в файл <em>/etc/rc.conf</em><br />
<code>powerd_enable="YES"<br />
powerd_option="-a adaptive -b adaptive"<br />
linux_enable="YES"<br />
hald_enable="YES"<br />
</code></p>
<p>Собираем KDE3, руссификатор KDE, драйвера nvidia<br />
<code>make -C /usr/ports/x11/kdebase3/ install<br />
make -C /usr/ports/russian/kde3-i18n/ install<br />
make -C /usr/ports/x11/nvidia-driver/ install<br />
make -C /usr/ports/x11/nvidia-xconfig/ install</code></p>
<p>Создаем конфиг Xorg<br />
<code># Xorg -configure</code><br />
тестируем, если все хорошо то видим черно-белую сетку и курсор мыши в виде крестика.<br />
<code># X -config xorg.conf.new</code><br />
Для переключения языка в секции InputDevice файла /etc/X11/xorg.conf должны быть строки.<code><br />
Section "InputDevice"<br />
Option "XkbLayout" "us,ru"<br />
Option "XkbVariant" "basic,winkeys"<br />
Option "XkbOptions" "grp:ctrl_shift_toggle,numpad:microsoft"<br />
EndSection<br />
</code></p>
<p>Дописываем в /boot/loader.conf<br />
<code>nvidia_load="YES"<br />
выполняем команду nvidia-xconfig</code></p>
<p>В своей домашней директории выполняем команду<br />
<code>echo exec startkde &gt; .xinitrc</code></p>
<p>После чего можно загружать KDE командой <code>startx</code><br />
Чтобы кеды стартовали автоматически меняем в файле <em>/etc/ttys<br />
<code>ttyv8</code></em><code> "/usr/local/bin/xdm -nodaemon"  xterm off secure</code><br />
на<br />
<code>ttyv8  "/usr/local/bin/kdm -nodaemon"  xterm on secure</code></p>
<p>Все работает отлично, кроме wi-fi, а это немного напрягает, гугление дало несколько вариантов madwifi или ndisgen, оба варианта не сработали, либо у меня руки кривоваты =)</p>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/76/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Обновление портов и установленного софта в FreeBSD</title>
		<link>http://msnp.ru/59</link>
		<comments>http://msnp.ru/59#comments</comments>
		<pubDate>Wed, 05 Nov 2008 17:30:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[portsnap]]></category>
		<category><![CDATA[portupgrade]]></category>
		<category><![CDATA[обновление]]></category>
		<category><![CDATA[порты]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=59</guid>
		<description><![CDATA[Для поддержания в актуальном состоянии программ нужно проделать несколько несложных действий. Обновляем порты, в FreeBSD 6.0 и выше, используем команды: portsnap fetch ## Если запускается впервые portsnap extract ## Распаковываем дерево портов portsnap fetch update ## При последующих обновлениях дерева портов Для обновления установленного программного обеспечения я использую portupgrade для начала проверим что требуется обновить: [...]]]></description>
			<content:encoded><![CDATA[<p>Для поддержания в актуальном состоянии программ нужно проделать несколько несложных действий.</p>
<p>Обновляем порты, в FreeBSD 6.0 и выше, используем команды:</p>
<p><code>portsnap fetch</code> ## Если запускается впервые<br />
<code>portsnap extract</code> ## Распаковываем дерево портов<br />
<code>portsnap fetch update</code> ## При последующих обновлениях дерева портов</p>
<p>Для обновления установленного программного обеспечения я использую <em>portupgrade</em></p>
<p>для начала проверим что требуется обновить:<br />
<code>pkg_version -v | grep need</code></p>
<p>обновляем:<br />
<code>portupgrade</code> <em><code>название пакета</code></em> для обновления конкретного пакета<br />
<code>portupgrade -a</code> для обновления всех устаревших пакетов</p>
<p>UPD:<br />
Для ежедневного обновления упакованного снэпшота и индексного файла при помощи <tt class="COMMAND">portsnap</tt> и последующего отчета почтой об устаревших установленных пакетах добавьте в ваш файл <tt class="FILENAME"><span style="color: #00ff00;"><span style="color: #339966;">/etc/crontab</span></span></tt> строку<br />
<code>0 3 * * * root portsnap -I cron update &amp;&amp; pkg_version -vIL=</code></p>
<p>Подробности можно почитать <a href="http://www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/portsnap.html" target="_blank">тут</a></p>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/59/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>FreeBSD</title>
		<link>http://msnp.ru/4</link>
		<comments>http://msnp.ru/4#comments</comments>
		<pubDate>Mon, 20 Oct 2008 12:23:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[описание]]></category>
		<category><![CDATA[скачать]]></category>

		<guid isPermaLink="false">http://msnp.ru/?p=4</guid>
		<description><![CDATA[FreeBSD — свободная UNIX-подобная операционная система, потомок AT&#38;T Unix по линии BSD, созданной в университете Беркли. FreeBSD работает на PC-совместимых системах семейства Intel x86 (IA-32) (включая Microsoft Xbox), а также на DEC Alpha, Sun UltraSPARC, IA-64, AMD64, PowerPC, NEC PC-98, ARM. Готовится поддержка архитектуры MIPS. FreeBSD разрабатывается как целостная операционная система. Исходный код ядра, драйверов [...]]]></description>
			<content:encoded><![CDATA[<p>FreeBSD — свободная UNIX-подобная операционная система, потомок AT&amp;T Unix по линии BSD, созданной в университете Беркли. FreeBSD работает на PC-совместимых системах семейства Intel x86 (IA-32) (включая Microsoft Xbox), а также на DEC Alpha, Sun UltraSPARC, IA-64, AMD64, PowerPC, NEC PC-98, ARM. Готовится поддержка архитектуры MIPS.</p>
<p>FreeBSD разрабатывается как целостная операционная система. Исходный код ядра, драйверов устройств и базовых пользовательских программ (т. н. userland), таких как командные оболочки и т. п., содержится в одном дереве системы управления версиями (CVS до 31 мая 2008, сейчас SVN). Это отличает FreeBSD от GNU/Linux — другой свободной UNIX-подобной операционной системы — в которой ядро разрабатывается одной группой разработчиков, а набор пользовательских программ — другими (например, проект GNU), а многочисленные группы собирают это все в единое целое и выпускают в виде различных дистрибутивов GNU/Linux.</p>
<p>FreeBSD хорошо зарекомендовала себя как система для построения интернет- и интранет-серверов. Она предоставляет достаточно надёжные сетевые службы и эффективное управление памятью. FreeBSD широко представлена в списке веб-серверов с наибольшим временем непрерывной работы</p>
]]></content:encoded>
			<wfw:commentRss>http://msnp.ru/4/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

